/**
 * Quescol — WooCommerce shop & checkout styles.
 */

/* Vertical only — .wrap.qc-shop keeps side gutter from theme.css */
.qc-shop{padding-top:36px;padding-bottom:72px}
.qc-shop-hero{margin-bottom:20px;max-width:720px}
.qc-shop-hero .lead{margin-bottom:0}
.qc-shop-layout{display:block}
.qc-shop-main{min-width:0}
/* Hide Woo's duplicate archive title — theme hero already has Shop h1 */
.qc-shop .woocommerce-products-header{display:none!important}

/* Toolbar */
.woocommerce-result-count,
.woocommerce-ordering{
  margin:0 0 20px;font-size:14px;color:var(--ink-mute);
}
.woocommerce-ordering select{
  padding:10px 12px;border:1.5px solid var(--hairline-strong);
  border-radius:10px;background:var(--card);font:inherit;color:var(--ink);
}

/* Product grid */
.qc-product-grid,
.woocommerce ul.products.qc-product-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px;list-style:none;margin:0 0 28px;padding:0;
}
.qc-product-grid li,
.woocommerce ul.products.qc-product-grid li{
  margin:0!important;padding:0;width:auto!important;float:none!important;
}

.qc-product-card-wrap{
  display:flex;flex-direction:column;background:var(--card);
  border:1px solid var(--hairline);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;transition:.18s;
}
.qc-product-card-wrap:hover{
  transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--hairline-strong);
}
.qc-product-card{
  display:flex;flex-direction:column;flex:1;color:inherit;
}
.qc-product-card__media{
  position:relative;aspect-ratio:4/3;background:var(--paper);
  overflow:hidden;border-bottom:1px solid var(--hairline);
}
.qc-product-card__media img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.qc-product-card__badge{
  position:absolute;left:12px;top:12px;
  font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  background:var(--ink-solid);color:var(--on-ink);padding:5px 9px;border-radius:6px;
}
.qc-product-card__body{padding:18px 18px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.qc-product-card__title{
  font-family:var(--display);font-size:18px;line-height:1.25;margin:0;font-weight:600;
}
.qc-product-card__meta{margin:0;font-size:13px;color:var(--ink-mute)}
.qc-product-card__foot{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:12px;border-top:1px solid var(--hairline);
}
.qc-product-card__price{font-family:var(--display);font-size:18px;font-weight:700;color:var(--pen)}
.qc-product-card__price del{color:var(--ink-mute);font-size:14px;font-weight:500;margin-right:6px}
.qc-product-card__actions{
  padding:0 18px 18px;
  display:flex;flex-direction:column;gap:10px;
}
.qc-product-card__actions .button,
.qc-product-card__actions .add_to_cart_button{
  width:100%;justify-content:center;align-items:center;display:inline-flex!important;
  background:var(--ink-solid)!important;color:var(--on-ink)!important;border:0!important;
  border-radius:10px!important;padding:11px 16px!important;font-weight:600!important;
  margin:0!important;box-sizing:border-box;text-decoration:none!important;
}
.qc-product-card__actions .button:hover,
.qc-product-card__actions .add_to_cart_button:hover{background:var(--pen)!important}
.qc-product-card__actions .added_to_cart,
.qc-product-card__actions a.added_to_cart.wc-forward{
  width:100%;justify-content:center;align-items:center;display:inline-flex!important;
  background:var(--card)!important;color:var(--ink)!important;
  border:1.5px solid var(--hairline-strong)!important;
  border-radius:10px!important;padding:11px 16px!important;font-weight:600!important;
  margin:0!important;box-sizing:border-box;text-decoration:none!important;gap:8px;
}
.qc-product-card__actions .added_to_cart:hover{
  border-color:var(--pen)!important;color:var(--pen)!important;background:var(--pen-wash)!important;
}

/* Single product */
.qc-single-product{margin-top:8px}
.qc-single-product__grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:36px;align-items:start;
}
.qc-single-product__gallery .woocommerce-product-gallery{
  background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:16px;box-shadow:var(--shadow);
}
.qc-single-product__summary .product_title{
  font-size:clamp(26px,3vw,36px);margin:0 0 12px;
}
.qc-single-product__summary .price{
  font-family:var(--display);font-size:28px;font-weight:700;color:var(--pen);margin:0 0 18px;
}
.qc-single-product__summary .price del{color:var(--ink-mute);font-size:18px;font-weight:500}
.qc-single-product__summary .woocommerce-product-details__short-description{
  color:var(--ink-mute);font-size:15px;margin-bottom:20px;
}
.qc-single-product__summary form.cart{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0 0;
}
.qc-single-product__summary .quantity .qty{
  width:72px;padding:10px;border:1.5px solid var(--hairline-strong);border-radius:10px;
}
.qc-single-product__summary .single_add_to_cart_button,
.qc-single-product__summary button.button.alt{
  background:var(--pen)!important;color:#fff!important;border:0!important;
  border-radius:10px!important;padding:13px 22px!important;font-weight:600!important;
  box-shadow:0 10px 22px -12px var(--pen);
}
.qc-single-product__summary .single_add_to_cart_button:hover{background:var(--pen-deep)!important}

.qc-course-product-panel{
  margin:18px 0 8px;padding:18px 20px;
  background:linear-gradient(180deg,var(--card),var(--pen-wash));
  border:1px solid #f0c7c2;border-radius:14px;
}
.qc-course-product-panel__badge{
  font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--pen);
}
.qc-course-product-panel__lead{margin:8px 0 12px;color:var(--ink-mute);font-size:14.5px}
.qc-course-product-panel__stats{
  display:flex;flex-wrap:wrap;gap:14px;list-style:none;margin:0 0 14px;padding:0;
}
.qc-course-product-panel__stats li{font-size:13.5px;color:var(--ink-mute)}
.qc-course-product-panel__stats strong{color:var(--ink);font-weight:600}
.qc-course-product-panel__link{margin-top:4px}

.qc-product-meta{margin-top:16px;font-size:13.5px;color:var(--ink-mute)}
.qc-product-meta .label{font-weight:600;color:var(--ink);margin-right:6px}

.qc-single-product__below{margin-top:40px;padding-top:32px;border-top:1px solid var(--hairline)}
.qc-single-product__below .related.products h2,
.qc-single-product__below .woocommerce-tabs h2{
  font-size:22px;margin-bottom:18px;
}
.woocommerce-tabs ul.tabs{
  display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0;border:0;
}
.woocommerce-tabs ul.tabs li{
  margin:0;padding:0;background:none;border:0;
}
.woocommerce-tabs ul.tabs li a{
  display:inline-flex;padding:10px 14px;border:1.5px solid var(--hairline-strong);
  border-radius:10px;background:var(--paper);font-weight:600;font-size:14px;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover{
  border-color:var(--pen);color:var(--pen);background:var(--pen-wash);
}
.woocommerce-Tabs-panel{
  background:var(--card);border:1px solid var(--hairline);border-radius:14px;
  padding:22px;color:var(--ink-mute);
}

/* Cart / checkout */
.woocommerce-cart .wrap,
.woocommerce-checkout .wrap{padding-top:36px;padding-bottom:72px}
.qc-wc-page > h1{margin:0 0 22px}

/* Restore real table layout if cart ever sits under .qc-answer */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.qc-answer table.shop_table{
  display:table!important;
  margin:0!important;
  overflow:hidden;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.qc-answer table.shop_table th,
.qc-answer table.shop_table td{
  white-space:normal;
}

/* Kill Woo float layout — full native fill */
.woocommerce-cart .woocommerce,
.woocommerce-page.woocommerce-cart .woocommerce{
  width:100%;
  max-width:100%;
}
.woocommerce-cart form.woocommerce-cart-form{
  width:100%!important;float:none!important;margin:0!important;
}
.woocommerce-cart .cart-collaterals,
.woocommerce-page .cart-collaterals{
  width:100%!important;float:none!important;clear:both;margin:24px 0 0;
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals{
  float:none!important;width:100%!important;max-width:100%;
  background:var(--card);border:1px solid var(--hairline);border-radius:14px;padding:22px;
}
.woocommerce-checkout #order_review{
  background:var(--card);border:1px solid var(--hairline);border-radius:14px;padding:22px;
}

@media(min-width:960px){
  .woocommerce-cart .woocommerce{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,360px);
    gap:28px;
    align-items:start;
  }
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce > .woocommerce-form-coupon-toggle,
  .woocommerce-cart .woocommerce > .cart-empty,
  .woocommerce-cart .woocommerce > .return-to-shop{
    grid-column:1 / -1;
  }
  .woocommerce-cart form.woocommerce-cart-form{grid-column:1;grid-row:2}
  .woocommerce-cart .cart-collaterals{
    grid-column:2;grid-row:2;margin-top:0;
  }
  .woocommerce-cart .cart-collaterals .cart_totals{
    position:sticky;top:88px;
  }
}

.woocommerce table.shop_table{
  width:100%!important;max-width:100%;border-collapse:collapse;background:var(--card);
  border:1px solid var(--hairline);border-radius:14px;overflow:hidden;
  table-layout:auto;
}
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart table.woocommerce-cart-form__contents{
  width:100%!important;
  table-layout:fixed;
}
.woocommerce-cart table.cart thead,
.woocommerce-cart table.cart tbody,
.woocommerce-cart table.cart tr{
  width:100%;
}
.woocommerce-cart table.cart .product-remove{width:44px}
.woocommerce-cart table.cart .product-thumbnail{width:88px}
.woocommerce-cart table.cart .product-name{width:auto}
.woocommerce-cart table.cart .product-price{width:110px}
.woocommerce-cart table.cart .product-quantity{width:120px}
.woocommerce-cart table.cart .product-subtotal{width:120px}
.woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal{
  padding-left:16px;padding-right:16px;text-align:right;
  white-space:nowrap;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  padding:14px 16px;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:middle;
}
.woocommerce table.shop_table tr:last-child td{border-bottom:0}
.woocommerce table.cart .product-thumbnail img{width:64px;height:auto;border-radius:8px}
.woocommerce table.cart .product-remove a{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px;color:var(--pen);font-size:18px;text-decoration:none;
}
.woocommerce table.cart .product-quantity .qty{
  width:72px;max-width:100%;padding:10px 12px;
  border:1.5px solid var(--hairline-strong);border-radius:10px;
  background:var(--card);font:inherit;color:var(--ink);box-sizing:border-box;
}

/* Coupon + Update row */
.woocommerce table.cart td.actions{
  text-align:left!important;padding:16px;
}
.woocommerce table.cart td.actions::after{
  content:"";display:table;clear:both;
}
.woocommerce table.cart td.actions .coupon{
  float:none!important;display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  margin:0 0 12px;width:100%;
}
.woocommerce table.cart td.actions .coupon .input-text{
  width:auto!important;flex:1;min-width:160px;max-width:280px;
  padding:11px 14px;border:1.5px solid var(--hairline-strong);border-radius:10px;
  background:var(--paper);font:inherit;
}
.woocommerce table.cart td.actions .button,
.woocommerce .cart_totals .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  background:var(--ink-solid)!important;color:var(--on-ink)!important;border:0!important;
  border-radius:10px!important;padding:12px 18px!important;font-weight:600!important;
  float:none!important;display:inline-flex!important;align-items:center;justify-content:center;
}
.woocommerce .cart_totals .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  width:100%;background:var(--pen)!important;padding:14px 18px!important;
  box-shadow:0 10px 22px -12px var(--pen);
}
.woocommerce .cart_totals .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{background:var(--pen-deep)!important}
.woocommerce table.cart td.actions .button:hover{background:var(--pen)!important}
.woocommerce .cart_totals h2{
  font-family:var(--display);font-size:20px;margin:0 0 14px;
}
.woocommerce .cart_totals table,
.woocommerce .cart_totals table.shop_table{
  border:0!important;margin:0 0 16px;width:100%!important;table-layout:fixed;
  background:transparent;border-radius:0;overflow:visible;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td{
  padding:12px 0!important;border-bottom:1px solid var(--hairline);background:transparent;
  vertical-align:middle;
}
/* Keep label and price from touching (Subtotal₹29) */
.woocommerce .cart_totals table th{
  width:55%;padding-right:16px!important;text-align:left!important;font-weight:600;
}
.woocommerce .cart_totals table td{
  width:45%;padding-left:16px!important;text-align:right!important;
}
.woocommerce .cart_totals table td .woocommerce-Price-amount,
.woocommerce .cart_totals table td .amount{
  display:inline-block;margin-left:4px;
}
.woocommerce .wc-proceed-to-checkout{padding:0!important}

.woocommerce #payment{
  background:var(--card);border:1px solid var(--hairline);border-radius:14px;padding:18px;
}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  position:relative;
  border-radius:12px;
  /* Left padding clears WC ::before icon (absolute at left ~1.5em) */
  padding:14px 16px 14px 48px;
  margin-bottom:18px;
  list-style:none;
  width:auto;
  word-wrap:break-word;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
  position:absolute!important;
  top:50%!important;
  left:16px!important;
  transform:translateY(-50%);
  margin:0!important;
}
.woocommerce-message{background:var(--pen-wash);border:1px solid #f0c7c2}
.woocommerce-info{background:var(--paper);border:1px solid var(--hairline-strong)}
.woocommerce-error{background:#fff0f0;border:1px solid #f0c7c2}

/* Digital-only checkout: tighter form */
body.qc-checkout-digital .woocommerce-billing-fields h3{margin-bottom:12px}
body.qc-checkout-digital #ship-to-different-address,
body.qc-checkout-digital .woocommerce-shipping-fields{display:none!important}

/* Hide legacy WooCommerce sidebar widgets (Pages / Archives / Categories dump) */
.qc-shop .widget,
.qc-shop #secondary,
.qc-shop .woocommerce-sidebar,
.woocommerce-page .widget_pages,
.woocommerce-page .widget_archive,
.woocommerce-page .widget_categories,
.woocommerce-page #secondary,
.woocommerce-page .woocommerce-sidebar{display:none!important}

@media(max-width:960px){
  .qc-single-product__grid{grid-template-columns:1fr}
  .qc-product-grid,.woocommerce ul.products.qc-product-grid{grid-template-columns:repeat(2,1fr)}
  .woocommerce-cart .woocommerce{display:block}
  .woocommerce-cart .cart-collaterals{margin-top:20px}
}

/* Mobile cart — stacked product cards (avoid table + horizontal scroll) */
@media(max-width:768px){
  .woocommerce-cart .woocommerce-cart-form{
    display:block;width:100%;overflow:visible;
  }

  .woocommerce-cart table.shop_table.cart,
  .woocommerce-cart table.woocommerce-cart-form__contents{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    table-layout:auto!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  .woocommerce-cart table.cart thead{display:none!important}

  .woocommerce-cart table.cart tbody{
    display:block!important;
    width:100%;
  }

  .woocommerce-cart table.cart tr.cart_item{
    display:block!important;
    position:relative;
    width:100%;
    background:var(--card);
    border:1px solid var(--hairline);
    border-radius:14px;
    padding:14px 14px 6px;
    margin:0 0 14px;
    box-shadow:var(--shadow);
  }

  .woocommerce-cart table.cart tr.cart_item td{
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    width:100%!important;
    padding:10px 0!important;
    border-bottom:1px dashed var(--hairline)!important;
    text-align:right!important;
    white-space:normal!important;
  }

  .woocommerce-cart table.cart tr.cart_item td::before{
    content:attr(data-title);
    font-weight:600;
    font-size:13px;
    color:var(--ink-mute);
    text-align:left;
    flex:0 0 auto;
    margin-right:auto;
  }

  .woocommerce-cart table.cart tr.cart_item td.product-remove{
    position:absolute;
    top:10px;
    right:10px;
    width:auto!important;
    padding:0!important;
    border:0!important;
    justify-content:flex-end;
  }
  .woocommerce-cart table.cart tr.cart_item td.product-remove::before{display:none!important}

  .woocommerce-cart table.cart tr.cart_item td.product-thumbnail{
    justify-content:flex-start;
    padding-top:0!important;
    border-bottom:1px solid var(--hairline)!important;
  }
  .woocommerce-cart table.cart tr.cart_item td.product-thumbnail::before{display:none!important}
  .woocommerce-cart table.cart tr.cart_item td.product-thumbnail img{width:72px}

  .woocommerce-cart table.cart tr.cart_item td.product-name{
    flex-direction:column;
    align-items:flex-start;
    text-align:left!important;
    padding-right:36px!important;
    font-weight:600;
    font-size:15px;
    line-height:1.35;
    border-bottom:1px solid var(--hairline)!important;
  }
  .woocommerce-cart table.cart tr.cart_item td.product-name::before{display:none!important}

  .woocommerce-cart table.cart tr.cart_item td.product-price,
  .woocommerce-cart table.cart tr.cart_item td.product-quantity,
  .woocommerce-cart table.cart tr.cart_item td.product-subtotal{
    padding-left:0!important;
    padding-right:0!important;
  }

  .woocommerce-cart table.cart tr.cart_item td.product-quantity .qty{
    width:64px;
    text-align:center;
  }

  .woocommerce-cart table.cart tr:last-child td.actions{
    display:block!important;
    padding:0!important;
    border:0!important;
    background:transparent;
  }
  .woocommerce-cart table.cart tr:last-child td.actions::before{display:none!important}

  .woocommerce-cart table.cart td.actions{
    margin-top:4px;
    padding:0!important;
    border:0!important;
    background:var(--card);
    border:1px solid var(--hairline)!important;
    border-radius:14px!important;
    padding:16px!important;
  }

  .woocommerce-cart table.cart td.actions .coupon{
    flex-direction:column;
    align-items:stretch;
    margin-bottom:12px;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text{
    max-width:none;
    width:100%!important;
    min-width:0;
  }
  .woocommerce-cart table.cart td.actions .button{
    width:100%;
    justify-content:center;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    padding:18px;
  }
}

@media(max-width:600px){
  .qc-product-grid,.woocommerce ul.products.qc-product-grid{grid-template-columns:1fr}
}
