/* The Ved Science — customizable bookstore theme */
:root { --tvs-accent:#ef4b23; --tvs-accent-hover:#d83b16; --tvs-text:#252525; --tvs-muted:#686868; --tvs-border:#e5e5e5; --tvs-soft:#f8f7f5; --tvs-radius:10px; --tvs-content:1200px; --tvs-mobile-spacing:16px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--tvs-text); background:#fff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.6; }
a { color:var(--tvs-accent); text-decoration:none; } a:hover { color:var(--tvs-accent-hover); }
img { max-width:100%; height:auto; }
.container { width:min(var(--tvs-content),calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:absolute; left:-9999px; top:auto; } .skip-link:focus { left:16px; top:16px; z-index:9999; background:#fff; padding:12px; }
.site-header { background:#fff; border-bottom:1px solid var(--tvs-border); position:relative; z-index:20; }
.header-inner { max-width:var(--tvs-content); width:calc(100% - 48px); margin:auto; min-height:82px; display:flex; align-items:center; gap:26px; }
.site-branding { min-width:0; } .custom-logo { max-height:62px; width:auto; } .site-title { font-size:23px; font-weight:750; color:var(--tvs-text); }
.primary-navigation { flex:1; } .primary-navigation ul,.site-footer ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.primary-navigation a { color:var(--tvs-text); font-size:14px; font-weight:600; }
.header-actions { display:flex; align-items:center; gap:14px; white-space:nowrap; } .header-link { color:var(--tvs-text); font-weight:600; }
.header-cart { display:inline-flex; gap:7px; align-items:center; background:var(--tvs-accent); color:#fff; padding:9px 15px; border-radius:7px; font-weight:700; } .header-cart:hover { color:#fff; background:var(--tvs-accent-hover); }
.cart-count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 5px; background:#fff; color:var(--tvs-accent); border-radius:20px; font-size:12px; }
.menu-toggle { display:none; }
.site-main { min-height:55vh; padding-top:34px; padding-bottom:52px; }
h1 { font-size:clamp(26px,3vw,38px); line-height:1.25; letter-spacing:-.5px; } .page-header { margin-bottom:24px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.post-card { border:1px solid var(--tvs-border); border-radius:var(--tvs-radius); padding:18px; background:#fff; overflow:hidden; }
.post-card img { display:block; border-radius:7px; } .post-card h2 { font-size:20px; } .post-card h2 a { color:var(--tvs-text); }
.entry-content { overflow-wrap:anywhere; }
button,input[type=submit],.button,.wp-block-button__link { border:1px solid var(--tvs-accent); background:var(--tvs-accent); color:#fff; border-radius:7px; padding:11px 18px; font-weight:700; cursor:pointer; }
button:hover,input[type=submit]:hover,.button:hover,.wp-block-button__link:hover { background:var(--tvs-accent-hover); border-color:var(--tvs-accent-hover); color:#fff; }
input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea { max-width:100%; border:1px solid #d8d8d8; border-radius:6px; padding:11px 12px; min-height:44px; }
.site-footer { border-top:1px solid var(--tvs-border); background:var(--tvs-soft); padding:28px 0; } .footer-inner { width:calc(100% - 48px); max-width:var(--tvs-content); margin:auto; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.site-footer ul { gap:16px; } .site-footer a { color:var(--tvs-muted); }
.woocommerce .woocommerce-breadcrumb { color:var(--tvs-muted); font-size:13px; margin-bottom:18px; }
.woocommerce ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product { width:auto !important; margin:0 !important; float:none !important; padding:14px !important; border:1px solid var(--tvs-border); border-radius:var(--tvs-radius); background:#fff; display:flex; flex-direction:column; }
.woocommerce ul.products li.product a img { border-radius:6px; margin-bottom:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:16px; font-weight:650; color:var(--tvs-text); padding:0; }
.woocommerce ul.products li.product .price { color:var(--tvs-text); font-weight:700; font-size:16px; margin:8px 0 12px; }
.woocommerce span.onsale { background:var(--tvs-accent); min-height:auto; min-width:auto; padding:5px 10px; line-height:1.3; border-radius:5px; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.added_to_cart { background:var(--tvs-accent); color:#fff; border-radius:7px; font-weight:700; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover { background:var(--tvs-accent-hover); color:#fff; }
.woocommerce div.product div.images img { border-radius:var(--tvs-radius); } .woocommerce div.product .product_title { font-size:clamp(25px,3vw,36px); }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--tvs-text); font-size:24px; font-weight:750; }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.woocommerce table.shop_table { border:1px solid var(--tvs-border); border-radius:8px; border-collapse:separate; border-spacing:0; overflow:hidden; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:13px; }
.woocommerce .cart-collaterals .cart_totals { border:1px solid var(--tvs-border); border-radius:10px; padding:18px; }
.woocommerce .cart_totals h2 { font-size:22px; }
.woocommerce form.checkout,.woocommerce form.login,.woocommerce form.register { border:1px solid var(--tvs-border); border-radius:10px; padding:20px; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { width:100%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { list-style:none; margin:0 0 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:10px 12px; border:1px solid var(--tvs-border); border-radius:6px; color:var(--tvs-text); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:var(--tvs-accent); border-color:var(--tvs-accent); color:#fff; }
.woocommerce-message,.woocommerce-info { border-top-color:var(--tvs-accent); } .woocommerce-message::before,.woocommerce-info::before { color:var(--tvs-accent); }
.woocommerce form .form-row { margin-bottom:14px; }

/* Cart: show the book thumbnail and compact each product row */
.woocommerce-cart .woocommerce table.cart td.product-thumbnail { display:table-cell !important; width:92px; }
.woocommerce-cart .woocommerce table.cart td.product-thumbnail img { width:76px !important; max-width:76px !important; height:auto !important; border-radius:5px; }
.tvs-cart-product-name { display:flex; align-items:center; gap:10px; }
.tvs-cart-product-image { display:inline-flex; flex:0 0 56px; width:56px; }
.tvs-cart-product-image img { width:56px !important; max-width:56px !important; height:auto !important; }
.tvs-cart-product-title { min-width:0; }
@media (max-width:900px) { .header-inner { gap:14px; } .primary-navigation ul { gap:12px; } .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) {
  .container,.header-inner,.footer-inner { width:calc(100% - (var(--tvs-mobile-spacing) * 2)); }
  .header-inner { min-height:70px; display:flex; flex-wrap:wrap; padding:10px 0; }
  .site-branding { flex:1; } .custom-logo { max-height:48px; } .site-title { font-size:19px; }
  .menu-toggle { display:inline-flex; padding:8px 12px; }
  .primary-navigation { display:none; flex:0 0 100%; order:5; } .primary-navigation.is-open { display:block; }
  .primary-navigation ul { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .primary-navigation li a { display:block; padding:10px 4px; border-top:1px solid var(--tvs-border); }
  .header-actions { gap:9px; } .header-link { display:none; } .header-cart { padding:8px 11px; }
  .site-main { padding-top:22px; padding-bottom:34px; } .post-grid { grid-template-columns:1fr; gap:16px; }
  .footer-inner { flex-direction:column; align-items:flex-start; } .site-footer ul { flex-direction:column; align-items:flex-start; gap:8px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .woocommerce ul.products li.product { padding:9px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; }
  .woocommerce ul.products li.product .price { font-size:14px; }
  .woocommerce ul.products li.product a.button { font-size:12px; padding:9px 10px; }
  .woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item { display:grid !important; grid-template-columns:72px minmax(0,1fr); grid-template-areas:"thumb name" "thumb price" "thumb quantity" "thumb subtotal"; gap:5px 10px; position:relative; padding:14px 10px !important; margin:0 0 12px !important; border:1px solid var(--tvs-border) !important; border-radius:10px; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-remove { position:absolute !important; top:7px; right:7px; padding:0 !important; border:0 !important; z-index:4; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-remove a.remove { display:flex !important; align-items:center; justify-content:center; width:28px; height:28px; line-height:28px; font-size:22px; color:var(--tvs-accent) !important; background:#fff; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-thumbnail { grid-area:thumb; display:block !important; padding:0 !important; border:0 !important; align-self:start; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-thumbnail img { width:72px !important; max-width:72px !important; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-name { grid-area:name; display:block !important; padding:2px 28px 4px 0 !important; border:0 !important; font-weight:650; overflow-wrap:anywhere; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-price { grid-area:price; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-quantity { grid-area:quantity; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-subtotal { grid-area:subtotal; font-weight:700; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-price,.woocommerce-cart .woocommerce table.shop_table_responsive td.product-quantity,.woocommerce-cart .woocommerce table.shop_table_responsive td.product-subtotal { display:flex !important; justify-content:space-between; align-items:center; gap:8px; padding:3px 0 !important; border:0 !important; text-align:right !important; min-width:0; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-price::before { content:"Price"; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-quantity::before { content:"Qty"; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-subtotal::before { content:"Subtotal"; }
  .woocommerce-cart .woocommerce table.shop_table_responsive td.product-name::before,.woocommerce-cart .woocommerce table.shop_table_responsive td.product-thumbnail::before,.woocommerce-cart .woocommerce table.shop_table_responsive td.product-remove::before { display:none !important; }
  .woocommerce-cart .quantity input.qty { min-width:44px !important; max-width:54px !important; }
  .woocommerce-cart .coupon { display:flex; flex-wrap:wrap; gap:8px; }
  .woocommerce-cart .coupon input.input-text { width:100% !important; float:none !important; }
  .woocommerce-cart .coupon button { width:100%; float:none !important; }
  .woocommerce-cart .cart-collaterals,.woocommerce-cart .cart_totals { width:100% !important; float:none !important; }
  .woocommerce-cart .cart_totals { padding:13px; border:1px solid var(--tvs-border); border-radius:10px; }
  .woocommerce .wc-proceed-to-checkout a.checkout-button { width:100%; box-sizing:border-box; text-align:center; border-radius:8px; padding:15px !important; }
  .woocommerce form.checkout,.woocommerce form.login,.woocommerce form.register { padding:14px; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:20px; }
}



/* v1.2 mobile cart layout corrections: prevent product fields and totals from collapsing */
@media (max-width: 767px) {
  body.woocommerce-cart .woocommerce table.shop_table_responsive {
    width: 100% !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    grid-template-areas:
      "thumb name"
      "thumb price"
      "thumb quantity"
      "thumb subtotal" !important;
    align-items: start !important;
    gap: 8px 12px !important;
    padding: 14px 12px !important;
    margin: 0 0 12px !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item > td {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-thumbnail {
    grid-area: thumb !important;
    display: block !important;
    padding: 0 !important;
    align-self: start !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-thumbnail img {
    display: block !important;
    width: 76px !important;
    max-width: 76px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-name {
    grid-area: name !important;
    display: block !important;
    padding: 0 28px 2px 0 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-price {
    grid-area: price !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-quantity {
    grid-area: quantity !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-subtotal {
    grid-area: subtotal !important;
    font-weight: 700 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-price,
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-quantity,
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-subtotal {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 2px 0 !important;
    text-align: right !important;
    border: 0 !important;
    line-height: 1.4 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-price::before,
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-quantity::before,
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-subtotal::before {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    text-align: left !important;
    font-weight: 500 !important;
    color: #666 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-name::before,
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-thumbnail::before,
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-remove::before {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-remove {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    left: auto !important;
    width: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    z-index: 5 !important;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-remove a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    line-height: 28px !important;
    color: var(--tvs-accent) !important;
    background: #fff !important;
  }

  /* Coupon controls should never become narrow vertical columns */
  body.woocommerce-cart .woocommerce table.shop_table_responsive td.actions {
    display: block !important;
    width: 100% !important;
    padding: 12px !important;
  }
 
  body.woocommerce-cart .woocommerce table.shop_table_responsive td.actions .coupon input.input-text,
  body.woocommerce-cart .woocommerce table.shop_table_responsive td.actions .coupon button,
  body.woocommerce-cart .woocommerce table.shop_table_responsive td.actions > button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Keep Cart Totals as a real two-column table, not stacked narrow cells */
  body.woocommerce-cart .woocommerce .cart-collaterals,
  body.woocommerce-cart .woocommerce .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart .woocommerce .cart_totals table.shop_table {
    display: table !important;
    width: 100% !important;
    table-layout: auto !important;
  }
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table tbody {
    display: table-row-group !important;
    width: 100% !important;
  }
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table tr {
    display: table-row !important;
    width: auto !important;
  }
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table th,
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    padding: 12px 10px !important;
    vertical-align: top !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table th {
    text-align: left !important;
  }
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {
    text-align: right !important;
  }
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table td::before {
    content: none !important;
    display: none !important;
  }
  body.woocommerce-cart .woocommerce .cart_totals .shipping-calculator-form,
  body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-destination {
    text-align: left !important;
  }
}






