/* ================================================================
   PRIME NUTRITION — WooCommerce Complete Styles
   Covers: cart, checkout, single product, reviews, notices
   ================================================================ */

/* ── Reset WC defaults ──────────────────────────────────────────── */
.woocommerce-page .entry-content,
.woocommerce-page .hentry { margin:0; }

/* ── WooCommerce notices ─────────────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background:var(--white); border-left:4px solid var(--blue);
  border-radius:0 8px 8px 0; padding:14px 20px; margin-bottom:20px;
  font-size:14px; list-style:none; display:flex; align-items:center; gap:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.woocommerce-error { border-left-color:var(--accent); }
.woocommerce-message a.button, .woocommerce-info a.button {
  background:var(--blue); color:#fff; border:none; border-radius:7px;
  padding:8px 18px; font-size:13px; font-weight:700;
  font-family:'Outfit',sans-serif; transition:background .18s; margin-left:auto; flex-shrink:0;
}
.woocommerce-message a.button:hover { background:#152f75; }

/* ── Star ratings ────────────────────────────────────────────────── */
.star-rating { color:#e5a812; font-size:14px; }
.star-rating span::before { color:#e5a812; }
.woocommerce-product-rating .woocommerce-review-link { font-size:13px; color:var(--mid); margin-left:6px; }

/* ── Sale flash ──────────────────────────────────────────────────── */
.woocommerce span.onsale {
  background:var(--accent); color:#fff; border-radius:4px;
  font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em;
  padding:3px 9px; min-height:auto; line-height:1.6; top:10px; left:10px; margin:0;
}

/* ================================================================
   CART — both block and classic
================================================================ */
.woocommerce-cart main > h1,
.woocommerce-cart .entry-title,
.woocommerce-cart h1 {
  font-family:'Outfit',sans-serif; font-weight:900;
  font-size:clamp(28px,4vw,42px); letter-spacing:-.03em;
  padding:32px 0 24px; border-bottom:1px solid var(--lighter); margin-bottom:28px;
}

/* Layout: cart table left, totals right */
.woocommerce-cart .woocommerce {
  display:grid; grid-template-columns:1fr 360px; gap:32px; align-items:start;
  max-width:1200px; margin:0 auto; padding:0 24px 60px;
}
.woocommerce-cart .woocommerce-cart-form { grid-column:1; }
.woocommerce-cart .cart-collaterals      { grid-column:2; }

/* Cart table */
table.shop_table, table.woocommerce-cart-totals {
  width:100%; border-collapse:collapse;
  background:var(--white); border:1px solid var(--lighter);
  border-radius:12px; overflow:hidden;
}
table.shop_table thead th {
  background:var(--bg); padding:13px 18px; font-size:11px;
  font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  color:var(--mid); border-bottom:1px solid var(--lighter); text-align:left;
}
table.shop_table td {
  padding:18px; border-bottom:1px solid var(--lighter);
  vertical-align:middle; font-size:14px; color:var(--ink);
}
table.shop_table tr:last-child td { border-bottom:none; }

/* Product image in cart */
.woocommerce-cart-form .product-thumbnail { width:90px; }
.woocommerce-cart-form .product-thumbnail img {
  width:80px; height:80px; object-fit:contain;
  border-radius:8px; background:var(--bg); padding:4px;
}

/* Product name */
.woocommerce-cart-form .product-name a {
  font-weight:700; font-size:15px; color:var(--ink);
  text-decoration:none; transition:color .18s;
}
.woocommerce-cart-form .product-name a:hover { color:var(--blue); }
.woocommerce-cart-form .product-name .variation { font-size:12px; color:var(--mid); margin-top:4px; }

/* Price */
.woocommerce-cart-form .product-price .amount,
.woocommerce-cart-form .product-subtotal .amount { font-size:15px; font-weight:700; }

/* Quantity stepper */
.woocommerce-cart-form input.qty {
  width:60px; height:40px; text-align:center;
  border:1.5px solid var(--lighter); border-radius:8px;
  font-family:'Outfit',sans-serif; font-size:15px; font-weight:700;
  outline:none; padding:0;
}
.woocommerce-cart-form input.qty:focus { border-color:var(--blue-m); }

/* Remove button */
.woocommerce-cart-form a.remove {
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:7px;
  background:var(--bg); color:var(--mid) !important;
  font-size:20px; line-height:1; text-decoration:none;
  transition:all .18s;
}
.woocommerce-cart-form a.remove:hover { background:#fee2e2; color:var(--accent) !important; }

/* Update cart button */
.woocommerce-cart-form .actions { padding:14px 18px; display:flex; justify-content:flex-end; background:var(--bg); }
.woocommerce-cart-form button[name=update_cart] {
  background:transparent; color:var(--blue); border:1.5px solid var(--blue-m);
  border-radius:8px; padding:9px 20px; font-family:'Outfit',sans-serif;
  font-size:13px; font-weight:700; cursor:pointer; transition:all .18s;
}
.woocommerce-cart-form button[name=update_cart]:hover { background:var(--blue-l); }

/* Cart totals / collaterals */
.cart-collaterals .cart_totals { }
.cart_totals, .woocommerce-shipping-calculator {
  background:var(--white); border:1px solid var(--lighter);
  border-radius:12px; padding:24px; margin-bottom:16px;
}
.cart_totals h2, .woocommerce-shipping-calculator h2 {
  font-family:'Outfit',sans-serif; font-weight:800; font-size:18px;
  letter-spacing:-.02em; margin-bottom:16px; color:var(--ink);
  padding-bottom:14px; border-bottom:1px solid var(--lighter);
}
.cart_totals table { width:100%; border-collapse:collapse; }
.cart_totals table th { font-size:13px; font-weight:600; color:var(--mid); padding:10px 0; text-align:left; border-bottom:1px solid var(--bg); }
.cart_totals table td { font-size:14px; font-weight:600; color:var(--ink); padding:10px 0; text-align:right; border-bottom:1px solid var(--bg); }
.cart_totals .order-total th,
.cart_totals .order-total td { border-bottom:none; font-size:18px; font-weight:800; padding-top:14px; }
.cart_totals .order-total td .amount { color:var(--blue); font-size:22px; font-weight:900; }

/* Proceed button */
.wc-proceed-to-checkout { margin-top:16px; }
.wc-proceed-to-checkout a.checkout-button {
  display:block; width:100%; text-align:center;
  background:var(--blue); color:#fff; border:none; border-radius:10px;
  padding:16px; font-family:'Outfit',sans-serif; font-size:15px; font-weight:700;
  text-decoration:none; transition:all .2s;
  box-shadow:0 4px 18px rgba(26,58,143,.25);
}
.wc-proceed-to-checkout a.checkout-button:hover { background:#152f75; transform:translateY(-1px); }

/* Coupon */
.coupon { display:flex; gap:10px; align-items:center; margin-bottom:16px; }
.coupon #coupon_code {
  flex:1; border:1.5px solid var(--lighter); border-radius:8px;
  padding:10px 14px; font-family:'Outfit',sans-serif; font-size:14px; outline:none;
}
.coupon #coupon_code:focus { border-color:var(--blue-m); }
.coupon .button {
  background:var(--bg); border:1.5px solid var(--light); border-radius:8px;
  padding:10px 18px; font-size:13px; font-weight:600; cursor:pointer;
  font-family:'Outfit',sans-serif; white-space:nowrap; transition:all .18s;
}
.coupon .button:hover { background:var(--blue-l); border-color:var(--blue-m); color:var(--blue); }

/* WooCommerce block cart (Gutenberg cart) */
.wc-block-cart { padding:32px 0 60px; }
.wc-block-cart__main-heading { font-family:'Outfit',sans-serif; font-weight:900; font-size:clamp(28px,4vw,42px); letter-spacing:-.03em; margin-bottom:28px; }
.wc-block-cart-items { background:var(--white); border:1px solid var(--lighter); border-radius:12px; overflow:hidden; margin-bottom:24px; }
.wc-block-cart-item__product-name a { font-weight:700; color:var(--ink); text-decoration:none; }
.wc-block-cart-item__product-name a:hover { color:var(--blue); }
.wp-block-woocommerce-cart-totals-block { background:var(--white); border:1px solid var(--lighter); border-radius:12px; padding:24px; }
.wc-block-components-totals-item { border-bottom:1px solid var(--lighter); padding:12px 0; }
.wc-block-components-checkout-place-order-button {
  background:var(--blue) !important; border-radius:10px !important;
  font-family:'Outfit',sans-serif !important; font-size:15px !important; font-weight:700 !important;
}

/* ================================================================
   CHECKOUT
================================================================ */
.woocommerce-checkout main > h1,
.woocommerce-checkout .entry-title {
  font-family:'Outfit',sans-serif; font-weight:900;
  font-size:clamp(26px,4vw,38px); letter-spacing:-.03em;
  padding:32px 0 24px; margin-bottom:28px; border-bottom:1px solid var(--lighter);
}

/* Two-column layout */
.woocommerce-checkout #customer_details { float:none; width:auto; }
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { float:none; width:auto; }
.woocommerce-checkout #order_review_heading { margin:28px 0 16px; }

/* Overall checkout grid */
.woocommerce-checkout .woocommerce > form.checkout {
  display:grid; grid-template-columns:1fr 380px;
  gap:32px; align-items:start;
}
.woocommerce-checkout .col2-set { grid-column:1; }
.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; margin-top:0; }
.woocommerce-checkout #order_review { grid-column:2; grid-row:2; }

/* Section headings */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout h3.woocommerce-checkout__billing-title,
.woocommerce-checkout h3 {
  font-family:'Outfit',sans-serif; font-weight:800; font-size:18px;
  letter-spacing:-.02em; color:var(--ink);
  margin:24px 0 16px; padding-top:20px; border-top:1px solid var(--lighter);
}
.woocommerce-checkout h3:first-child { border-top:none; margin-top:0; padding-top:0; }
.woocommerce-checkout #order_review_heading { border-top:none; margin-top:0; padding-top:0; }

/* Form fields */
.woocommerce-checkout .form-row { margin:0 0 14px; }
.woocommerce-checkout .form-row label {
  font-weight:600; font-size:13px; color:var(--ink);
  display:block; margin-bottom:6px;
}
.woocommerce-checkout .form-row .required { color:var(--accent); }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width:100%; border:1.5px solid var(--lighter); border-radius:8px;
  padding:11px 14px; font-family:'Outfit',sans-serif; font-size:14px;
  color:var(--ink); outline:none; transition:all .18s; background:var(--white);
  -webkit-appearance:none; appearance:none;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,58,143,.08);
}
.woocommerce-checkout .form-row.woocommerce-invalid input { border-color:var(--accent); }

/* Half-width fields */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last { width:auto; float:none; }

/* Order review box */
#order_review {
  background:var(--white); border:1px solid var(--lighter);
  border-radius:12px; padding:24px; position:sticky; top:88px;
}
#order_review h3 { border-top:none !important; margin-top:0 !important; padding-top:0 !important; }

#order_review table.shop_table { border:none; border-radius:0; margin-bottom:0; }
#order_review table.shop_table th,
#order_review table.shop_table td { padding:10px 0; font-size:14px; border-bottom:1px solid var(--lighter); background:transparent; }
#order_review table.shop_table th { color:var(--mid); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
#order_review table.shop_table .order-total th,
#order_review table.shop_table .order-total td { border-bottom:none; font-size:17px; font-weight:800; padding-top:14px; }
#order_review table.shop_table .order-total td { color:var(--blue); }

/* Payment box */
#payment { background:var(--bg); border-radius:10px; padding:20px; margin-top:16px; }
#payment .payment_methods { list-style:none; margin:0 0 16px; padding:0; }
#payment .payment_methods li { padding:12px 0; border-bottom:1px solid var(--lighter); display:flex; align-items:center; gap:10px; }
#payment .payment_methods li:last-child { border-bottom:none; }
#payment .payment_methods li label { font-weight:600; font-size:14px; cursor:pointer; }
#payment .payment_methods .wc_payment_method input[type=radio] { margin:0; }
#payment .payment_box { background:var(--blue-l); border-radius:8px; padding:12px 16px; margin-top:10px; font-size:13px; color:var(--mid); }

/* Place order button */
#place_order {
  display:block; width:100%; background:var(--blue); color:#fff;
  border:none; border-radius:10px; padding:16px;
  font-family:'Outfit',sans-serif; font-size:15px; font-weight:700;
  cursor:pointer; transition:all .2s;
  box-shadow:0 4px 18px rgba(26,58,143,.25); margin-top:16px;
}
#place_order:hover { background:#152f75; transform:translateY(-1px); }

/* Terms */
.woocommerce-terms-and-conditions-wrapper { font-size:13px; color:var(--mid); margin:12px 0; }
.woocommerce-terms-and-conditions-wrapper a { color:var(--blue); text-decoration:underline; }

/* ================================================================
   SINGLE PRODUCT — polished layout
================================================================ */
.single-product-page {
  padding:0 0 60px;
  background:var(--bg);
}

/* Breadcrumb */
.single-product-page .woocommerce-breadcrumb {
  padding:20px 0 0;
  font-size:13px; color:var(--mid);
}
.single-product-page .woocommerce-breadcrumb a { color:var(--mid); transition:color .18s; }
.single-product-page .woocommerce-breadcrumb a:hover { color:var(--blue); }

/* Main grid */
.single-product-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:56px; align-items:start;
  background:var(--white); border-radius:16px;
  padding:40px; margin-top:20px;
  box-shadow:0 2px 16px rgba(0,0,0,.04);
}

/* Gallery */
.single-gallery-col { position:sticky; top:88px; }
.single-main-img-wrap {
  background:var(--bg); border-radius:12px; overflow:hidden;
  aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  margin-bottom:12px;
}
.single-main-img {
  width:100%; height:100%; object-fit:contain;
  padding:16px; transition:opacity .2s ease;
  display:block;
}
.single-no-img {
  width:100%; aspect-ratio:1; background:var(--bg);
  border-radius:12px; display:flex; align-items:center;
  justify-content:center; color:var(--light); margin-bottom:12px;
}
.single-thumbs { display:flex; gap:8px; flex-wrap:wrap; }
.single-thumb {
  width:68px; height:68px; border-radius:8px; overflow:hidden;
  border:2px solid var(--lighter); cursor:pointer;
  transition:all .18s; background:var(--bg);
  display:flex; align-items:center; justify-content:center;
}
.single-thumb img { width:100%; height:100%; object-fit:contain; padding:4px; }
.single-thumb.active, .single-thumb:hover { border-color:var(--blue); }

/* Summary */
.single-summary-col { padding:8px 0; }

.single-cat-badge {
  display:inline-block; background:var(--blue-l); color:var(--blue);
  border:1px solid var(--blue-m); border-radius:4px;
  padding:3px 10px; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px;
  text-decoration:none;
}
.single-title {
  font-family:'Outfit',sans-serif; font-weight:900;
  font-size:clamp(22px,3vw,32px); letter-spacing:-.03em;
  color:var(--ink); margin-bottom:12px; line-height:1.15;
}
.single-rating-row { display:flex; align-items:center; gap:8px; margin-bottom:18px; }
.single-stars { color:#e5a812; font-size:18px; letter-spacing:2px; line-height:1; }
.single-rating-num { font-weight:700; font-size:15px; color:var(--ink); }
.single-rating-count { font-size:13px; color:var(--mid); }

.single-price { margin-bottom:20px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.single-price del .woocommerce-Price-amount { font-size:18px; color:var(--mid); font-weight:400; text-decoration:line-through; }
.single-price ins { text-decoration:none; }
.single-price ins .woocommerce-Price-amount,
.single-price .woocommerce-Price-amount { font-size:34px; font-weight:900; color:var(--ink); letter-spacing:-.03em; line-height:1; }

.single-short-desc { font-size:15px; color:var(--mid); line-height:1.7; margin-bottom:24px; }

/* Stock */
.single-stock {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:#15803d;
  background:#f0fdf4; border:1px solid #86efac;
  border-radius:6px; padding:5px 12px; margin-bottom:20px;
}
.single-stock::before { content:'●'; font-size:8px; }

/* Attr chips */
.single-attrs { margin-bottom:24px; }
.single-attr-group { margin-bottom:16px; }
.single-attr-label { font-size:12px; font-weight:700; color:var(--mid); text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px; }
.single-attr-chips { display:flex; flex-wrap:wrap; gap:8px; }
.attr-chip {
  padding:7px 16px; border:1.5px solid var(--lighter); border-radius:8px;
  font-size:13px; font-weight:500; color:var(--ink); cursor:pointer;
  transition:all .18s; background:var(--white);
}
.attr-chip:hover { border-color:var(--blue-m); color:var(--blue); background:var(--blue-l); }
.attr-chip.active { border-color:var(--blue); background:var(--blue); color:#fff; }

/* Add to cart */
.woocommerce div.product form.cart {
  display:flex; gap:12px; align-items:center;
  margin-bottom:24px; flex-wrap:wrap;
}
.woocommerce div.product form.cart .quantity { display:flex; align-items:center; gap:0; }
.woocommerce div.product form.cart .quantity input.qty {
  height:48px; width:70px; border:1.5px solid var(--lighter);
  border-radius:8px; text-align:center;
  font-family:'Outfit',sans-serif; font-size:16px; font-weight:700;
  outline:none; -webkit-appearance:none; appearance:none;
}
.woocommerce div.product form.cart .quantity input.qty:focus { border-color:var(--blue); }
.woocommerce div.product form.cart button.single_add_to_cart_button {
  flex:1; height:48px; padding:0 28px;
  background:var(--blue); color:#fff; border:none; border-radius:8px;
  font-family:'Outfit',sans-serif; font-size:15px; font-weight:700;
  cursor:pointer; transition:all .2s;
  box-shadow:0 4px 18px rgba(26,58,143,.22); white-space:nowrap;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover { background:#152f75; transform:translateY(-1px); }
.woocommerce div.product form.cart button.single_add_to_cart_button.loading { opacity:.7; }
.woocommerce div.product form.cart button.single_add_to_cart_button.added { background:#15803d; }

/* Trust row */
.single-trust-row {
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
  margin-bottom:22px;
}
.single-trust-item {
  display:flex; align-items:center; gap:7px;
  font-size:12px; font-weight:600; color:var(--blue);
  background:var(--blue-l); border-radius:8px; padding:10px 12px;
}

/* Single meta */
.single-meta { font-size:13px; color:var(--mid); display:flex; gap:16px; flex-wrap:wrap; padding-top:16px; border-top:1px solid var(--lighter); }
.single-meta-item a { color:var(--blue); text-decoration:none; }
.single-meta-item a:hover { text-decoration:underline; }

/* Tabs */
.single-tabs-section { margin-top:40px; }
.woocommerce-tabs { background:var(--white); border-radius:12px; padding:28px; }
.woocommerce-tabs ul.tabs {
  display:flex; border-bottom:2px solid var(--lighter); margin-bottom:24px;
  gap:0; padding:0; list-style:none;
}
.woocommerce-tabs ul.tabs li {
  list-style:none; border:none !important; background:none !important;
  padding:0 !important; margin:0 !important; border-radius:0 !important;
}
.woocommerce-tabs ul.tabs li::before { display:none; }
.woocommerce-tabs ul.tabs li a {
  display:block; padding:11px 22px; font-size:14px; font-weight:600;
  color:var(--mid); border-bottom:2.5px solid transparent;
  margin-bottom:-2px; transition:all .18s; text-decoration:none;
}
.woocommerce-tabs ul.tabs li a:hover { color:var(--ink); }
.woocommerce-tabs ul.tabs li.active a { color:var(--blue); border-bottom-color:var(--blue); }
.woocommerce-tabs .panel { }
.woocommerce-tabs .panel h2 { font-family:'Outfit',sans-serif; font-weight:800; font-size:20px; margin-bottom:16px; letter-spacing:-.02em; }
.woocommerce-tabs .panel p { font-size:15px; color:var(--mid); line-height:1.7; margin-bottom:12px; }

/* ================================================================
   REVIEWS TAB — styled comment list
================================================================ */
#reviews { }

#reviews h2#reviews-title {
  font-family:'Outfit',sans-serif; font-weight:800; font-size:20px;
  letter-spacing:-.02em; margin-bottom:20px;
}

#reviews ol.commentlist { list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:16px; }

#reviews ol.commentlist li.review {
  background:var(--bg); border:1px solid var(--lighter);
  border-radius:12px; padding:20px 22px;
}

#reviews ol.commentlist .comment_container { display:flex; gap:14px; }

#reviews ol.commentlist img.avatar {
  width:44px; height:44px; border-radius:50%;
  object-fit:cover; flex-shrink:0; border:2px solid var(--lighter);
}

#reviews ol.commentlist .comment-text { flex:1; }

#reviews ol.commentlist p.meta {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin-bottom:10px;
}

#reviews ol.commentlist p.meta strong.woocommerce-review__author {
  font-weight:700; font-size:14px; color:var(--ink);
}

#reviews ol.commentlist p.meta time {
  font-size:12px; color:var(--mid);
}

#reviews ol.commentlist p.meta .star-rating {
  margin-left:auto; font-size:14px;
}
#reviews ol.commentlist p.meta .star-rating::before,
#reviews ol.commentlist p.meta .star-rating span::before {
  color:#e5a812;
}

#reviews ol.commentlist .description p {
  font-size:14px; color:var(--mid); line-height:1.65; margin:0;
  font-style:italic;
}

/* Review form */
#review_form_wrapper { margin-top:28px; padding-top:28px; border-top:1px solid var(--lighter); }
#review_form h3 { font-family:'Outfit',sans-serif; font-weight:800; font-size:18px; margin-bottom:16px; }
#review_form .comment-form { display:grid; gap:16px; }
#review_form .comment-form label { font-weight:600; font-size:13px; color:var(--ink); display:block; margin-bottom:5px; }
#review_form .comment-form input[type=text],
#review_form .comment-form input[type=email],
#review_form .comment-form textarea {
  width:100%; border:1.5px solid var(--lighter); border-radius:8px;
  padding:11px 14px; font-family:'Outfit',sans-serif; font-size:14px;
  color:var(--ink); outline:none; transition:border-color .18s;
}
#review_form .comment-form input:focus,
#review_form .comment-form textarea:focus { border-color:var(--blue); }
#review_form #submit {
  background:var(--blue); color:#fff; border:none; border-radius:8px;
  padding:12px 24px; font-family:'Outfit',sans-serif; font-size:14px;
  font-weight:700; cursor:pointer; transition:background .18s; width:auto;
}
#review_form #submit:hover { background:#152f75; }

/* Star rating picker */
.stars span a { font-size:20px; color:var(--light); transition:color .15s; }
.stars span a:hover, .stars span a.active { color:#e5a812; }
.stars .star-rating { display:inline-flex; }

/* Related products */
.single-related { margin-top:0; padding-bottom:0; }
.single-related-title {
  font-family:'Outfit',sans-serif; font-weight:800;
  font-size:22px; letter-spacing:-.03em; margin-bottom:20px;
}
.single-related .products-flex { padding-bottom:8px; }

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width:900px) {
  .woocommerce-cart .woocommerce { grid-template-columns:1fr; padding:0 16px 40px; }
  .woocommerce-cart .cart-collaterals { grid-column:1; }
  .cart_totals { max-width:100%; }

  .woocommerce-checkout .woocommerce > form.checkout { grid-template-columns:1fr; }
  .woocommerce-checkout #order_review_heading { grid-column:1; grid-row:auto; }
  .woocommerce-checkout #order_review { grid-column:1; grid-row:auto; position:static; }
  .woocommerce-checkout .col2-set { grid-column:1; }

  .single-product-grid { grid-template-columns:1fr; gap:28px; padding:20px 16px; margin-top:12px; }
  .single-gallery-col { position:static; }
  .single-main-img-wrap { aspect-ratio:4/3; }
  .single-price ins .woocommerce-Price-amount,
  .single-price .woocommerce-Price-amount { font-size:28px; }
  .single-trust-row { grid-template-columns:1fr 1fr; }
  .woocommerce-tabs { padding:20px 16px; }
  .woocommerce-tabs ul.tabs { overflow-x:auto; scrollbar-width:none; white-space:nowrap; }
}

@media (max-width:480px) {
  .single-trust-row { grid-template-columns:1fr; }
  .woocommerce div.product form.cart { flex-direction:column; align-items:stretch; }
  .woocommerce div.product form.cart .quantity input.qty { width:100%; }
  .woocommerce div.product form.cart button.single_add_to_cart_button { width:100%; }
  #reviews ol.commentlist .comment_container { flex-direction:column; }
}

/* ================================================================
   CUSTOM CART TEMPLATE
================================================================ */
.woocommerce-cart .entry-content { max-width:1200px; margin:0 auto; padding:0 24px 60px; }

/* Cart page title */
.woocommerce-cart h1.entry-title,
.woocommerce-cart .entry-header h1 {
  font-family:'Outfit',sans-serif; font-weight:900;
  font-size:clamp(28px,4vw,40px); letter-spacing:-.03em; color:var(--ink);
  padding:32px 0 24px; margin-bottom:28px; border-bottom:1px solid var(--lighter);
}

.prime-cart-wrap {
  display:grid; grid-template-columns:1fr 360px;
  gap:28px; align-items:start; margin-top:24px;
}

/* Cart items list */
.prime-cart-main { }
.prime-cart-items { background:var(--white); border:1px solid var(--lighter); border-radius:12px; overflow:hidden; margin-bottom:16px; }
.prime-cart-item {
  display:grid; grid-template-columns:88px 1fr auto auto 40px;
  gap:16px; align-items:center; padding:18px;
  border-bottom:1px solid var(--lighter);
}
.prime-cart-item:last-child { border-bottom:none; }

.pci-thumb img {
  width:80px; height:80px; object-fit:contain;
  border-radius:8px; background:var(--bg); padding:4px; display:block;
}
.pci-info { min-width:0; }
.pci-name { }
.pci-name a { font-weight:700; font-size:15px; color:var(--ink); text-decoration:none; line-height:1.3; display:block; }
.pci-name a:hover { color:var(--blue); }
.pci-price { font-size:13px; color:var(--mid); margin-top:5px; }
.pci-qty input.qty {
  width:60px; height:40px; text-align:center; border:1.5px solid var(--lighter);
  border-radius:8px; font-family:'Outfit',sans-serif; font-size:15px; font-weight:700; outline:none;
}
.pci-qty input.qty:focus { border-color:var(--blue); }
.pci-subtotal { font-size:17px; font-weight:800; color:var(--ink); white-space:nowrap; }
.pci-remove a {
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:8px; background:var(--bg);
  color:var(--mid) !important; font-size:16px; text-decoration:none; transition:all .18s;
}
.pci-remove a:hover { background:#fee2e2; color:var(--accent) !important; }

/* Cart actions (coupon + update) */
.prime-cart-actions {
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  padding:14px 18px; background:var(--bg); border-radius:10px;
}
.prime-cart-actions .coupon { display:flex; gap:8px; flex:1; }
.prime-cart-actions .coupon input {
  flex:1; min-width:0; border:1.5px solid var(--lighter); border-radius:8px;
  padding:9px 14px; font-family:'Outfit',sans-serif; font-size:14px; outline:none;
}
.prime-cart-actions .coupon input:focus { border-color:var(--blue); }
.prime-cart-actions .coupon .button,
.prime-cart-actions button.prime-update-cart {
  background:var(--white); border:1.5px solid var(--lighter); border-radius:8px;
  padding:9px 18px; font-family:'Outfit',sans-serif;
  font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap;
  transition:all .18s; color:var(--ink);
}
.prime-cart-actions .coupon .button:hover,
.prime-cart-actions button.prime-update-cart:hover { border-color:var(--blue-m); color:var(--blue); background:var(--blue-l); }

/* Cart sidebar / totals */
.prime-cart-sidebar { }
.prime-cart-totals-box { background:var(--white); border:1px solid var(--lighter); border-radius:12px; padding:24px; position:sticky; top:88px; }
.prime-cart-totals-box h2 {
  font-family:'Outfit',sans-serif; font-weight:800; font-size:18px;
  letter-spacing:-.02em; margin-bottom:16px; padding-bottom:14px;
  border-bottom:1px solid var(--lighter); color:var(--ink);
}
.prime-cart-totals-box table { width:100%; border-collapse:collapse; }
.prime-cart-totals-box table th { font-size:13px; font-weight:600; color:var(--mid); padding:10px 0; border-bottom:1px solid var(--bg); text-align:left; }
.prime-cart-totals-box table td { font-size:14px; font-weight:600; padding:10px 0; border-bottom:1px solid var(--bg); text-align:right; }
.prime-cart-totals-box .order-total th,
.prime-cart-totals-box .order-total td { border-bottom:none; padding-top:14px; font-size:18px; font-weight:900; }
.prime-cart-totals-box .order-total td { color:var(--blue); font-size:22px; }
.prime-cart-totals-box .wc-proceed-to-checkout { margin-top:16px; }
.prime-cart-totals-box .wc-proceed-to-checkout a {
  display:block; text-align:center; background:var(--blue); color:#fff;
  border-radius:10px; padding:16px; font-family:'Outfit',sans-serif;
  font-size:15px; font-weight:700; text-decoration:none; transition:all .2s;
  box-shadow:0 4px 18px rgba(26,58,143,.25);
}
.prime-cart-totals-box .wc-proceed-to-checkout a:hover { background:#152f75; transform:translateY(-1px); }

@media(max-width:760px) {
  .prime-cart-wrap { grid-template-columns:1fr; }
  .prime-cart-item { grid-template-columns:70px 1fr auto; grid-template-rows:auto auto; }
  .pci-thumb img { width:60px; height:60px; }
  .pci-qty { grid-column:2; }
  .pci-subtotal { font-size:15px; }
  .pci-remove { grid-column:3; grid-row:1; }
  .prime-cart-totals-box { position:static; }
}

/* ================================================================
   PN-CART — Custom cart template styles (pn- prefix)
================================================================ */

/* Cart page wrapper — set by WooCommerce page template */
.woocommerce-cart .woocommerce { max-width:none; }
.woocommerce-cart .entry-content,
.woocommerce-cart main { padding:0; }

/* Main layout: two columns */
.pn-cart-layout {
  display:grid;
  grid-template-columns:1fr 380px;
  gap:28px;
  align-items:start;
  padding:28px 0 60px;
}

/* Cart item list */
.pn-cart-list {
  background:var(--white);
  border:1px solid var(--lighter);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:14px;
}

.pn-cart-row {
  display:grid;
  grid-template-columns:84px 1fr auto auto 36px;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid var(--lighter);
}
.pn-cart-row:last-child { border-bottom:none; }

/* Thumbnail */
.pn-cr-img img {
  width:76px; height:76px; object-fit:contain;
  border-radius:8px; background:var(--bg);
  padding:4px; display:block;
}
.pn-cr-img a { display:block; }

/* Name + unit price */
.pn-cr-name a {
  font-weight:700; font-size:14px; color:var(--ink);
  text-decoration:none; line-height:1.35;
  display:block; margin-bottom:4px;
}
.pn-cr-name a:hover { color:var(--blue); }
.pn-cr-unit { font-size:13px; color:var(--mid); }
.pn-cr-unit .woocommerce-Price-amount { font-size:13px; font-weight:500; }

/* Qty input */
.pn-cr-qty input.qty {
  width:56px; height:40px; text-align:center;
  border:1.5px solid var(--lighter); border-radius:8px;
  font-family:'Outfit',sans-serif; font-size:15px;
  font-weight:700; outline:none;
  -webkit-appearance:none; appearance:none;
}
.pn-cr-qty input.qty:focus { border-color:var(--blue); }

/* Subtotal */
.pn-cr-subtotal {
  font-size:17px; font-weight:800; color:var(--ink);
  white-space:nowrap; text-align:right;
}
.pn-cr-subtotal .woocommerce-Price-amount { font-size:17px; font-weight:800; }

/* Remove button */
.pn-cr-remove a {
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:7px;
  background:var(--bg); color:var(--mid) !important;
  font-size:20px; text-decoration:none; font-weight:300;
  line-height:1; transition:all .18s;
}
.pn-cr-remove a:hover { background:#fee2e2; color:var(--accent) !important; }

/* Actions row */
.pn-cart-actions {
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  padding:14px 18px;
  background:var(--bg); border-radius:10px;
  border:1px solid var(--lighter);
}
.pn-coupon { display:flex; gap:8px; flex:1; min-width:0; }
.pn-coupon input {
  flex:1; min-width:0; border:1.5px solid var(--lighter);
  border-radius:8px; padding:9px 13px;
  font-family:'Outfit',sans-serif; font-size:14px; outline:none;
}
.pn-coupon input:focus { border-color:var(--blue); }

.pn-btn-secondary {
  background:var(--white); border:1.5px solid var(--lighter);
  border-radius:8px; padding:9px 18px;
  font-family:'Outfit',sans-serif; font-size:13px; font-weight:700;
  cursor:pointer; white-space:nowrap; color:var(--ink);
  transition:all .18s;
}
.pn-btn-secondary:hover { border-color:var(--blue-m); color:var(--blue); background:var(--blue-l); }

/* Totals box */
.pn-cart-right { }
.pn-totals-box {
  background:var(--white);
  border:1px solid var(--lighter);
  border-radius:14px;
  padding:24px;
  position:sticky; top:84px;
}
.pn-totals-box h2 {
  font-family:'Outfit',sans-serif; font-weight:800;
  font-size:18px; letter-spacing:-.02em; color:var(--ink);
  margin-bottom:18px; padding-bottom:14px;
  border-bottom:1px solid var(--lighter);
}
/* WooCommerce cart_totals table inside pn-totals-box */
.pn-totals-box table.shop_table {
  border:none; border-radius:0; overflow:visible;
}
.pn-totals-box table.shop_table th { font-size:13px; font-weight:600; color:var(--mid); padding:10px 0; border-bottom:1px solid var(--bg); text-align:left; background:none; }
.pn-totals-box table.shop_table td { font-size:14px; font-weight:600; padding:10px 0; border-bottom:1px solid var(--bg); text-align:right; background:none; }
.pn-totals-box .order-total th,
.pn-totals-box .order-total td { border-bottom:none; font-size:18px; font-weight:900; padding-top:14px; }
.pn-totals-box .order-total td .woocommerce-Price-amount { color:var(--blue); font-size:22px; font-weight:900; }

/* Proceed to checkout */
.pn-totals-box .wc-proceed-to-checkout { margin-top:16px; }
.pn-totals-box .wc-proceed-to-checkout .checkout-button {
  display:block; width:100%; text-align:center;
  background:var(--blue); color:#fff;
  border:none; border-radius:10px;
  padding:16px; font-family:'Outfit',sans-serif;
  font-size:15px; font-weight:700; text-decoration:none;
  transition:all .2s;
  box-shadow:0 4px 18px rgba(26,58,143,.25);
}
.pn-totals-box .wc-proceed-to-checkout .checkout-button:hover { background:#152f75; transform:translateY(-1px); }

/* Responsive cart */
@media (max-width:800px) {
  .pn-cart-layout { grid-template-columns:1fr; padding:20px 0 40px; }
  .pn-cart-row { grid-template-columns:68px 1fr auto; grid-template-rows:auto auto; gap:12px; padding:14px 16px; }
  .pn-cr-img img { width:60px; height:60px; }
  .pn-cr-subtotal { grid-column:3; grid-row:1; align-self:start; font-size:15px; }
  .pn-cr-qty { grid-column:2; grid-row:2; }
  .pn-cr-remove { grid-column:3; grid-row:2; }
  .pn-totals-box { position:static; }
  .pn-coupon { flex-wrap:wrap; }
}

/* ================================================================
   WOOCOMMERCE BLOCK CART & CHECKOUT
   Targets the new Gutenberg block-based cart/checkout
================================================================ */

/* ── Block Cart page ── */
.wp-block-woocommerce-cart,
.wc-block-cart {
  max-width:1200px !important;
  margin:0 auto;
  padding:0 24px 60px;
}

/* Main heading */
.wc-block-cart h1,
.wc-block-checkout h1,
.woocommerce-cart h1,
.woocommerce-checkout h1 {
  font-family:'Outfit',sans-serif !important;
  font-weight:900 !important;
  font-size:clamp(26px,4vw,40px) !important;
  letter-spacing:-.03em !important;
  color:var(--ink) !important;
  border-bottom:1px solid var(--lighter);
  padding-bottom:20px;
  margin-bottom:28px !important;
}

/* Block cart grid */
.wc-block-cart__main-heading { margin-bottom:24px !important; }
.wc-block-cart .wc-block-cart__product-name a,
.wc-block-components-product-name { font-weight:700 !important; color:var(--ink) !important; }
.wc-block-components-product-name:hover { color:var(--blue) !important; }

/* Block cart items container */
.wc-block-cart-items {
  background:var(--white) !important;
  border:1px solid var(--lighter) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  margin-bottom:16px !important;
}
.wc-block-cart-items__row {
  border-bottom:1px solid var(--lighter) !important;
  padding:18px 20px !important;
}
.wc-block-cart-items__row:last-child { border-bottom:none !important; }

/* Totals block */
.wp-block-woocommerce-cart-totals-block,
.wc-block-cart__sidebar {
  background:var(--white) !important;
  border:1px solid var(--lighter) !important;
  border-radius:14px !important;
  padding:24px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax-value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
  font-size:20px !important; font-weight:900 !important; color:var(--blue) !important;
}

/* Proceed / Place order buttons (block) */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit .wc-block-cart__submit-button {
  background:var(--blue) !important;
  border:none !important;
  border-radius:10px !important;
  font-family:'Outfit',sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  padding:16px 24px !important;
  box-shadow:0 4px 18px rgba(26,58,143,.25) !important;
  transition:all .2s !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background:#152f75 !important;
  transform:translateY(-1px) !important;
}

/* Block checkout form fields */
.wc-block-components-text-input input,
.wc-block-components-country-input input,
.wc-block-components-address-form input,
.wc-block-components-combobox input,
.wc-block-components-select select {
  border:1.5px solid var(--lighter) !important;
  border-radius:8px !important;
  font-family:'Outfit',sans-serif !important;
  font-size:14px !important;
  padding:11px 14px !important;
  outline:none !important;
  transition:border-color .18s !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus {
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px rgba(26,58,143,.07) !important;
}
.wc-block-components-label {
  font-weight:600 !important; font-size:13px !important; color:var(--ink) !important;
}

/* Payment methods (block) */
.wc-block-components-payment-method-label { font-weight:600 !important; font-size:14px !important; }

/* Coupon (block) */
.wc-block-components-totals-coupon__button {
  color:var(--blue) !important; font-weight:600 !important;
}

/* Order summary in block checkout */
.wc-block-components-order-summary { background:var(--bg) !important; border-radius:10px !important; }
.wc-block-components-order-summary-item__individual-prices { font-size:13px !important; color:var(--mid) !important; }

/* ── Classic cart page if blocks not used ── */
.woocommerce-cart .entry-content { padding:0; }
