/* Vidyanik Cart 1.4.86
 * Plugin-owned cart presentation. Intentionally avoids WooCommerce's generic
 * .cart_item/.remove classes so Kadence/Woo hover/table rules cannot leak in.
 */

/* Geometry of the shared Woo root is owned only by transaction-base-1486.css. */
body.vidyanik-cart-page .woocommerce{
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
}
body.vidyanik-cart-has-items .vid-cart-v4__head{margin-bottom:22px}

.vid-cart-custom{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  width:100%;
  margin:0 auto;
}
.vid-cart-custom__main,
.vid-cart-custom__summary{min-width:0}
.vid-cart-custom__extensions{grid-column:1/-1}
.vid-cart-custom__extensions:empty{display:none}

/* Both transaction columns are first-class cards. */
.vid-cart-custom__main,
.vid-cart-custom__summary{
  box-sizing:border-box;
  border:1px solid var(--vid-tx-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(8,41,83,.055);
}
.vid-cart-custom__main{padding:20px}
.vid-cart-custom__summary{padding:20px}

.vid-cart-custom__section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
  padding:0 1px 13px;
  border-bottom:1px solid #e5edf3;
}
.vid-cart-custom__section-head h2,
.vid-cart-custom__summary-head h2{
  margin:5px 0 0;
  color:var(--vid-tx-deep);
  font-size:1.18rem;
  line-height:1.22;
  letter-spacing:-.02em;
  font-weight:900;
}
.vid-cart-custom__form{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  float:none !important;
}
.vid-cart-custom__items{display:grid;gap:12px}

.vid-cart-custom__item{
  position:relative;
  display:grid;
  grid-template-columns:100px minmax(0,1fr) 118px;
  grid-template-areas:"cover copy actions";
  align-items:center;
  gap:18px;
  min-height:154px;
  border:1px solid #dbe7ef;
  border-radius:15px;
  background:#f8fbfd;
  padding:16px;
  box-shadow:none;
}
.vid-cart-custom__cover{
  grid-area:cover;
  width:96px;
  aspect-ratio:3/4;
  overflow:hidden;
  border:1px solid #d5e2eb;
  border-radius:9px;
  background:#fff;
  box-shadow:0 8px 18px rgba(8,41,83,.09);
}
.vid-cart-custom__cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.vid-cart-custom__copy{
  grid-area:copy;
  display:grid;
  min-width:0;
  align-content:center;
  gap:8px;
}
.vid-cart-custom__identity,
.vid-cart-custom__facts{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.vid-cart-custom__course-code{
  color:var(--vid-tx-blue);
  font-size:.76rem;
  line-height:1.2;
  font-weight:950;
}
.vid-cart-custom__material-type,
.vid-cart-custom__facts span{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  border-radius:999px;
  background:#eaf3f8;
  color:#416077;
  padding:4px 8px;
  font-size:.65rem;
  line-height:1.15;
  font-weight:800;
}
.vid-cart-custom__product-title{
  display:block;
  margin:0;
  color:var(--vid-tx-deep);
  font-size:1.04rem;
  line-height:1.28;
  letter-spacing:-.015em;
  font-weight:900;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.vid-cart-custom__product-title:hover{color:var(--vid-tx-blue)}
.vid-cart-custom__actions{
  grid-area:actions;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
.vid-cart-custom__price,
.vid-cart-custom__mobile-price{
  color:var(--vid-tx-deep);
  font-size:.96rem;
  line-height:1.2;
  font-weight:950;
  white-space:nowrap;
}
.vid-cart-custom__mobile-price{display:none}

/* No generic Woo .remove class: icon geometry is completely owned here. */
.vid-cart-custom__remove,
.vid-cart-custom__remove:hover,
.vid-cart-custom__remove:focus{
  box-sizing:border-box !important;
  display:inline-grid !important;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  place-items:center !important;
  margin:0 !important;
  border:1px solid #efc5c0 !important;
  border-radius:50% !important;
  background:#fff7f5 !important;
  color:#c92f25 !important;
  padding:0 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transform:none !important;
  transition:background .16s ease,border-color .16s ease,color .16s ease !important;
}
.vid-cart-custom__remove svg{
  display:block;
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
}
.vid-cart-custom__remove:hover,
.vid-cart-custom__remove:focus-visible{
  border-color:#e8a9a2 !important;
  background:#ffecea !important;
  color:#a9251d !important;
}
.vid-cart-custom__remove.is-removing{pointer-events:none;opacity:.45}

.vid-cart-custom__summary-head{
  margin:0 0 9px;
  padding:0 0 13px;
  border-bottom:1px solid #e4edf3;
}
.vid-cart-custom__summary-head p{
  margin:7px 0 0;
  color:var(--vid-tx-muted);
  font-size:.72rem;
  line-height:1.5;
}
.vid-cart-custom__summary .cart_totals{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.vid-cart-custom__summary .cart_totals > h2{display:none}
.vid-cart-custom__summary .cart_totals table{
  width:100% !important;
  margin:0 !important;
  border:0 !important;
  border-collapse:collapse !important;
}
.vid-cart-custom__summary .cart_totals :where(th,td){
  border:0 !important;
  border-bottom:1px solid #e4edf3 !important;
  padding:11px 0 !important;
  color:#526a7d;
  font-size:.78rem;
  line-height:1.35;
}
.vid-cart-custom__summary .cart_totals th{
  text-align:left !important;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.vid-cart-custom__summary .cart_totals td{
  text-align:right !important;
  color:var(--vid-tx-deep);
  font-weight:850;
}
.vid-cart-custom__summary .cart_totals .order-total :where(th,td){
  color:var(--vid-tx-deep);
  font-size:.92rem;
  font-weight:950;
}
.vid-cart-custom__summary .wc-proceed-to-checkout{padding:16px 0 0 !important}
.vid-cart-custom__summary .wc-proceed-to-checkout a.checkout-button{
  display:flex !important;
  width:100% !important;
  min-height:50px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:0 !important;
  border-radius:11px !important;
  background:var(--vid-tx-blue) !important;
  color:#fff !important;
  padding:11px 15px !important;
  font-size:.86rem !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 9px 20px rgba(11,110,168,.13) !important;
}
.vid-cart-custom__summary .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--vid-tx-blue-hover) !important;
  color:#fff !important;
}
body.vidyanik-cart-page .return-to-shop{display:none !important}

/* Empty cart remains the accepted centered state. */
body.vidyanik-cart-is-empty .woocommerce{background:transparent !important;padding:0 !important}
.vid-cart-empty-shell{
  display:grid;
  width:100%;
  min-height:clamp(380px,52vh,540px);
  place-items:center;
  padding:22px 0 34px;
}
.vid-cart-empty-shell .vid-cart-v4__empty{
  box-sizing:border-box;
  width:min(560px,100%);
  margin:0 auto;
  border:1px solid var(--vid-tx-border);
  border-radius:22px;
  background:#fff;
  padding:36px 30px;
  text-align:center;
  box-shadow:0 18px 46px rgba(8,41,83,.07);
}
.vid-cart-empty-shell .vid-cart-v4__empty-icon{
  display:inline-grid;
  width:48px;
  height:48px;
  place-items:center;
  margin:0 0 11px;
  border-radius:14px;
  background:var(--vid-tx-soft);
  color:var(--vid-tx-blue);
}
.vid-cart-empty-shell .vid-cart-v4__empty-icon svg{width:24px;height:24px}
.vid-cart-empty-shell .vid-cart-v4__empty h1{
  margin:5px 0 8px;
  color:var(--vid-tx-deep);
  font-size:clamp(1.65rem,4vw,1.95rem);
  line-height:1.15;
  letter-spacing:-.03em;
  font-weight:900;
}
.vid-cart-empty-shell .vid-cart-v4__empty p:not(.vid-kicker){
  max-width:450px;
  margin:0 auto;
  color:var(--vid-tx-muted);
  font-size:.86rem;
  line-height:1.55;
}
.vid-cart-empty-shell .vid-cart-v4__empty-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
  margin-top:19px;
}
.vid-cart-empty-shell .vid-cart-v4__empty-actions a,
body.vidyanik-cart-page .vid-button{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  padding:10px 15px;
  font-size:.82rem;
  line-height:1.2;
  font-weight:900;
  text-decoration:none;
}
body.vidyanik-cart-page .vid-button--primary{border:1px solid var(--vid-tx-navy);background:var(--vid-tx-navy);color:#fff}
body.vidyanik-cart-page .vid-button--secondary{border:1px solid var(--vid-tx-border-strong);background:#fff;color:var(--vid-tx-deep)}

/* Desktop: balanced product + summary cards. */
@media (min-width:60rem){
  .vid-cart-custom{
    grid-template-columns:minmax(0,1fr) minmax(300px,324px);
    column-gap:22px;
    align-items:start;
  }
  .vid-cart-custom__summary{position:sticky;top:92px}
}

/* Tablet: one clean column, full-width cards. */
@media (min-width:48rem) and (max-width:59.99rem){
  .vid-cart-custom{max-width:760px}
}

/* Mobile-first calibration for 320/360/390/430 widths. */
@media (max-width:47.99rem){
  body.vidyanik-cart-has-items .vid-cart-v4__head{margin-bottom:17px}
  .vid-cart-custom{gap:14px}
  .vid-cart-custom__main,
  .vid-cart-custom__summary{border-radius:15px;padding:15px}
  .vid-cart-custom__section-head{margin-bottom:11px;padding-bottom:11px}
  .vid-cart-custom__section-head h2,
  .vid-cart-custom__summary-head h2{font-size:1.08rem}
  .vid-cart-custom__item{
    grid-template-columns:74px minmax(0,1fr);
    grid-template-areas:"cover copy";
    align-items:start;
    gap:13px;
    min-height:124px;
    border-radius:13px;
    padding:12px 48px 12px 12px;
  }
  .vid-cart-custom__cover{width:72px;border-radius:8px}
  .vid-cart-custom__copy{gap:7px;padding-top:1px}
  .vid-cart-custom__product-title{font-size:.92rem;line-height:1.27}
  .vid-cart-custom__actions{
    position:absolute;
    top:9px;
    right:9px;
    display:block;
  }
  .vid-cart-custom__actions .vid-cart-custom__price{display:none}
  .vid-cart-custom__mobile-price{display:block;margin-top:1px;font-size:.88rem}
  .vid-cart-custom__remove,
  .vid-cart-custom__remove:hover,
  .vid-cart-custom__remove:focus{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
  }
  .vid-cart-custom__remove svg{width:16px;height:16px}
  .vid-cart-empty-shell{min-height:clamp(350px,50vh,470px);padding:12px 0 28px}
  .vid-cart-empty-shell .vid-cart-v4__empty{width:100%;padding:29px 18px}
  .vid-cart-empty-shell .vid-cart-v4__empty-actions{display:grid;grid-template-columns:1fr}
}

@media (max-width:23.75rem){
  .vid-cart-custom__main,
  .vid-cart-custom__summary{padding:12px}
  .vid-cart-custom__digital-label{display:none}
  .vid-cart-custom__item{
    grid-template-columns:64px minmax(0,1fr);
    gap:10px;
    padding:11px 44px 11px 11px;
  }
  .vid-cart-custom__cover{width:62px}
  .vid-cart-custom__course-code{font-size:.7rem}
  .vid-cart-custom__material-type,
  .vid-cart-custom__facts span{font-size:.6rem;padding:3px 6px}
  .vid-cart-custom__product-title{font-size:.87rem}
}

/* Core 1.5.20: course/material identity on compact cart book covers. */
.vid-cart-custom__cover{position:relative;overflow:hidden}
.vid-cart-custom__cover-overlay{position:absolute;inset:auto 7px 8px;display:grid;gap:2px;padding:5px 6px;border-radius:6px;background:rgba(255,255,255,.9);color:#0a315d;text-align:center;line-height:1.05;box-shadow:0 2px 8px rgba(8,41,83,.12)}
.vid-cart-custom__cover-overlay strong{font-size:.6rem;font-weight:900;letter-spacing:.02em}
.vid-cart-custom__cover-overlay span{font-size:.48rem;font-weight:800;text-transform:uppercase}
@media(max-width:767px){.vid-cart-custom__cover-overlay{inset:auto 5px 6px;padding:4px}.vid-cart-custom__cover-overlay strong{font-size:.53rem}.vid-cart-custom__cover-overlay span{font-size:.43rem}}
