/* Portal Cart Branding 3.0 — brand purple cart, checkout, order received and My Account.
   Classic WooCommerce shortcodes. Mobile-first: works from 320px, no horizontal scroll,
   44px tap targets, 16px form inputs (no iOS zoom). */
:root{
  --pur:#7C3AED; --pur-d:#6D28D9; --pur-2:#8B5CF6; --pur-t:#F3EEFE;
  --ink:#160B2E; --body:#4B4563; --muted:#6F6884;
  --line:#ECE9F5; --bg:#F6F4FC; --white:#fff;
}
body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account{ background:var(--bg)!important; overflow-x:hidden; }
body.woocommerce-cart .woocommerce, body.woocommerce-checkout .woocommerce, body.woocommerce-account .woocommerce,
body.woocommerce-cart .woocommerce *, body.woocommerce-checkout .woocommerce *, body.woocommerce-account .woocommerce *{
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif!important; box-sizing:border-box;
}
body.woocommerce-cart .woocommerce, body.woocommerce-checkout .woocommerce, body.woocommerce-account .woocommerce{
  font-size:15px!important; line-height:1.55; max-width:1120px; margin:0 auto; color:var(--body);
}
body.woocommerce-cart .entry-title, body.woocommerce-checkout .entry-title{ display:none; } /* the branded header names the step */

/* ---------- branded header + steps ---------- */
.pcb-head{ grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px;
  background:#fff; border:1px solid var(--line); border-radius:20px; padding:16px 20px; margin:0 0 20px; box-shadow:0 24px 50px -40px rgba(109,40,217,.45); }
.pcb-brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.pcb-logo img{ display:block; width:40px; height:40px; border-radius:11px; }
.pcb-brand-name{ font-weight:700; color:var(--ink); font-size:16px; line-height:1.2; }
.pcb-brand-name small{ display:block; font-weight:500; color:var(--muted); font-size:13.5px; margin-top:2px; }
.pcb-back{ display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:100px; border:1px solid #DCCFF9;
  color:var(--pur-d)!important; font-weight:600; font-size:14px; text-decoration:none!important; background:#fff; }
.pcb-back:hover{ background:var(--pur-t); }
.pcb-steps{ list-style:none; margin:0; padding:0; display:flex; gap:6px; width:100%; counter-reset:none; }
.pcb-steps li{ flex:1; min-width:0; display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--muted); padding:8px 10px; border-radius:12px; background:#FAF8FE; margin:0!important; }
.pcb-steps li span{ display:inline-grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border-radius:50%; background:#EAE4F8; color:var(--pur-d); font-weight:700; font-size:13px; }
.pcb-steps li.is-current{ background:var(--pur-t); color:var(--ink); font-weight:600; }
.pcb-steps li.is-current span, .pcb-steps li.is-done span{ background:linear-gradient(135deg,var(--pur-d),var(--pur)); color:#fff; }

/* ---------- trust line ---------- */
.pcb-trust{ list-style:none!important; margin:14px 0 0!important; padding:0!important; display:block!important; width:100%; float:none!important; clear:both; }
.pcb-trust li{ display:block; position:relative; padding-left:24px; font-size:13.5px; line-height:1.45; color:var(--body); margin:0 0 6px!important; list-style:none!important; }
.pcb-trust li:before{ content:""; position:absolute; left:2px; top:4px; width:14px; height:14px; border-radius:50%;
  background:var(--pur-t) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236D28D9' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/10px no-repeat; }

/* ---------- buttons ---------- */
.pcb-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border-radius:100px;
  background:linear-gradient(95deg,var(--pur-d),var(--pur)); color:#fff!important; font-weight:600; font-size:15px; text-decoration:none!important;
  box-shadow:0 14px 26px -14px var(--pur); border:0; }
.pcb-btn:hover{ filter:brightness(1.06); color:#fff!important; }
.pcb-btn-ghost{ background:#fff; color:var(--pur-d)!important; border:1px solid #DCCFF9; box-shadow:none; }
.pcb-btn-ghost:hover{ background:var(--pur-t); color:var(--pur-d)!important; }
.pcb-link{ display:inline-flex; align-items:center; min-height:44px; padding:0 6px; color:var(--pur-d)!important; font-weight:600; }
.pcb-next-actions{ display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin:14px 0 0!important; }
.woocommerce a:focus-visible, .woocommerce button:focus-visible, .woocommerce input:focus-visible, .woocommerce select:focus-visible{ outline:3px solid #C4B5FD!important; outline-offset:2px; }

/* ============================= CART ============================= */
@media(min-width:900px){
  body.woocommerce-cart .woocommerce{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:24px; align-items:start; }
  body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, body.woocommerce-cart .woocommerce > .pcb-head,
  body.woocommerce-cart .woocommerce > .cart-empty, body.woocommerce-cart .woocommerce > .return-to-shop, body.woocommerce-cart .woocommerce > .pcb-empty,
  body.woocommerce-cart .woocommerce > .wc-empty-cart-message{ grid-column:1 / -1; }
  body.woocommerce-cart .woocommerce-cart-form{ grid-column:1; margin:0!important; min-width:0; }
  body.woocommerce-cart .cart-collaterals{ grid-column:2; width:auto!important; float:none!important; margin:0!important; padding:0!important; }
  body.woocommerce-cart .cart-collaterals .cart_totals{ width:auto!important; float:none!important; position:sticky; top:24px; }
}
body.woocommerce-cart .cart-collaterals .cross-sells{ display:none!important; }
body.woocommerce-cart .cart-collaterals{ width:100%!important; }
body.woocommerce-cart .cart-collaterals .cart_totals{ width:100%!important; float:none!important; }

/* items card */
body.woocommerce-cart table.shop_table.cart{ border:1px solid var(--line)!important; border-radius:18px!important; overflow:hidden; background:var(--white)!important;
  border-collapse:separate!important; border-spacing:0!important; box-shadow:0 24px 50px -38px rgba(109,40,217,.4); margin:0!important; width:100%; }
body.woocommerce-cart table.cart thead th{ background:#FBFAFE!important; color:var(--muted)!important; font-weight:600!important; font-size:12px!important;
  letter-spacing:.05em; text-transform:uppercase; border:0!important; border-bottom:1px solid var(--line)!important; padding:14px 16px!important; }
body.woocommerce-cart table.cart td{ border:0!important; border-bottom:1px solid var(--line)!important; padding:16px!important; vertical-align:middle!important; background:transparent!important; font-size:15px!important; }
body.woocommerce-cart table.cart tr:last-child td{ border-bottom:0!important; }
body.woocommerce-cart td.product-name a{ color:var(--ink)!important; font-weight:600!important; font-size:15.5px!important; text-decoration:none!important; line-height:1.4; }
body.woocommerce-cart td.product-name a:hover{ color:var(--pur-d)!important; }
body.woocommerce-cart td.product-price, body.woocommerce-cart td.product-subtotal{ color:var(--ink)!important; font-weight:600!important; }
body.woocommerce-cart td.product-price{ color:var(--body)!important; }
body.woocommerce-cart .quantity input.qty{ border:1px solid var(--line)!important; border-radius:10px!important; padding:10px!important; min-height:44px; width:64px!important; color:var(--ink)!important; font-weight:600!important; background:#fff!important; font-size:16px!important; }
body.woocommerce-cart td.product-remove a.remove{ color:var(--muted)!important; background:#F4F2FA!important; width:44px!important; height:44px!important; line-height:42px!important; border-radius:100px!important; font-size:20px!important; display:inline-block; text-align:center; }
body.woocommerce-cart td.product-remove a.remove:hover{ color:#fff!important; background:#DC2626!important; }
body.woocommerce-cart td.product-thumbnail{ width:80px; }
.portal-course-avatar{ display:inline-flex; width:52px; height:52px; border-radius:14px; overflow:hidden; box-shadow:0 10px 20px -12px rgba(109,40,217,.7); }
.portal-course-avatar img{ display:block; width:52px!important; height:52px!important; max-width:none!important; }
.portal-course-pill{ display:block; width:fit-content; max-width:100%; margin-top:8px; font-size:13px!important; font-weight:600; color:var(--pur-d); background:#F1EAFE; border-radius:100px; padding:4px 11px; line-height:1.4; }

/* coupon + update */
body.woocommerce-cart .cart .actions{ padding:16px!important; }
body.woocommerce-cart .coupon{ display:flex; flex-wrap:wrap; gap:10px; }
body.woocommerce-cart .coupon label{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
body.woocommerce-cart .coupon input#coupon_code{ flex:1 1 160px; width:auto!important; min-height:46px; border:1px solid var(--line)!important; border-radius:12px!important; padding:11px 14px!important; font-size:16px!important; color:var(--ink)!important; background:#fff!important; margin:0!important; }
body.woocommerce-cart .button[name="apply_coupon"], body.woocommerce-cart .button[name="update_cart"]{
  min-height:46px; background:#fff!important; color:var(--pur-d)!important; border:1px solid #D9CCF7!important; border-radius:100px!important;
  font-weight:600!important; font-size:14.5px!important; padding:11px 20px!important; box-shadow:none!important; text-transform:none!important; }
body.woocommerce-cart .button[name="apply_coupon"]:hover, body.woocommerce-cart .button[name="update_cart"]:hover{ background:#F3EEFE!important; }
body.woocommerce-cart .button[name="update_cart"]:disabled{ opacity:.55; }

/* totals card */
body.woocommerce-cart .cart_totals{ background:var(--white)!important; border:1px solid var(--line)!important; border-radius:20px!important; padding:22px!important; box-shadow:0 30px 60px -40px rgba(109,40,217,.45); }
body.woocommerce-cart .cart_totals h2{ color:var(--ink)!important; font-weight:700!important; font-size:18px!important; margin:0 0 12px!important; text-transform:none!important; }
body.woocommerce-cart .cart_totals table{ border:0!important; margin:0!important; width:100%; }
body.woocommerce-cart .cart_totals th, body.woocommerce-cart .cart_totals td{ border:0!important; border-bottom:1px solid var(--line)!important; padding:12px 0!important; color:var(--body)!important; font-size:15px!important; font-weight:500!important; background:transparent!important; }
body.woocommerce-cart .cart_totals tr.order-total th, body.woocommerce-cart .cart_totals tr.order-total td{ border-bottom:0!important; padding-top:16px!important; color:var(--ink)!important; font-weight:700!important; }
body.woocommerce-cart .cart_totals tr.order-total td .woocommerce-Price-amount{ font-size:24px!important; letter-spacing:-.02em; }
body.woocommerce-cart .portal-offer-nudge{ background:linear-gradient(135deg,#F3EEFE,#FBF5FF); border:1px dashed #C9B6F5; border-radius:14px; padding:13px 15px; margin:0 0 16px; font-size:13.5px!important; color:var(--pur-d); font-weight:500; line-height:1.5; }
body.woocommerce-cart .portal-offer-nudge b{ color:var(--pur-d); font-weight:700; }
body.woocommerce-cart .wc-proceed-to-checkout{ padding:8px 0 0!important; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ display:flex!important; align-items:center; justify-content:center; min-height:52px;
  background:linear-gradient(95deg,var(--pur-d),var(--pur))!important; color:#fff!important; font-weight:600!important; font-size:16px!important;
  border:0!important; border-radius:100px!important; padding:14px 22px!important; text-transform:none!important; box-shadow:0 14px 26px -14px var(--pur)!important; margin:0!important; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ color:#fff!important; filter:brightness(1.06); }

/* empty cart */
.pcb-empty{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px 20px; margin:16px 0; }
.pcb-empty p{ margin:0; }
body.woocommerce-cart .return-to-shop{ margin:12px 0 0; }
body.woocommerce-cart .return-to-shop a.button{ min-height:48px; display:inline-flex!important; align-items:center; background:linear-gradient(95deg,var(--pur-d),var(--pur))!important; color:#fff!important; border-radius:100px!important; padding:12px 24px!important; border:0!important; }

/* product grids */
body.woocommerce ul.products li.product{ background:#fff!important; border:1px solid var(--line)!important; border-radius:16px!important; padding:14px!important; }
body.woocommerce ul.products li.product .price{ color:var(--pur-d)!important; font-weight:700!important; }
body.woocommerce ul.products li.product a.button{ background:linear-gradient(95deg,var(--pur-d),var(--pur))!important; color:#fff!important; border-radius:100px!important; }

/* block cart / checkout fallback */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,.wp-block-woocommerce-cart .wc-block-components-button.contained,.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{ background:linear-gradient(95deg,var(--pur-d),var(--pur))!important; color:#fff!important; border:0!important; border-radius:100px!important; }

/* ============================= CHECKOUT ============================= */
body.woocommerce-checkout form.checkout{ display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:24px; align-items:start; }
body.woocommerce-checkout form.checkout > *{ min-width:0; }
body.woocommerce-checkout form.checkout #order_review_heading{ grid-column:2; grid-row:1; margin:0!important; }
body.woocommerce-checkout form.checkout #customer_details{ grid-column:1; grid-row:1 / span 2; }
body.woocommerce-checkout form.checkout #order_review{ grid-column:2; grid-row:2; }
body.woocommerce-checkout #customer_details{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px; box-shadow:0 24px 50px -38px rgba(109,40,217,.4); width:auto!important; }
body.woocommerce-checkout #customer_details .col-1, body.woocommerce-checkout #customer_details .col-2{ width:100%!important; float:none!important; max-width:none!important; padding:0!important; }
body.woocommerce-checkout #customer_details .col-2:empty{ display:none; }
body.woocommerce-checkout h3, body.woocommerce-checkout #order_review_heading{ color:var(--ink)!important; font-weight:700!important; font-size:18px!important; margin:0 0 12px!important; }
body.woocommerce-checkout .form-row{ padding:0!important; margin:0 0 14px!important; }
body.woocommerce-checkout .form-row label{ color:var(--body)!important; font-weight:500!important; font-size:14px!important; margin-bottom:6px; display:block; line-height:1.4; }
body.woocommerce-checkout .form-row .required{ color:var(--pur)!important; text-decoration:none; }
body.woocommerce-checkout .form-row .description{ font-size:13px!important; color:var(--muted)!important; margin-top:6px; background:none!important; padding:0!important; }
body.woocommerce-checkout .form-row .description:before{ display:none!important; }
body.woocommerce-checkout .form-row input.input-text, body.woocommerce-checkout .form-row select:not(.select2-hidden-accessible),
body.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%!important; border:1px solid #DED8EC!important; border-radius:12px!important; padding:12px 14px!important; min-height:48px!important; height:auto!important;
  font-size:16px!important; color:var(--ink)!important; background:#fff!important; box-shadow:none!important; }
body.woocommerce-checkout .select2-container{ width:100%!important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:1.5!important; padding:0!important; color:var(--ink); }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:46px!important; right:8px!important; }
body.woocommerce-checkout .form-row input.input-text:focus, body.woocommerce-checkout .form-row select:focus{ border-color:var(--pur-2)!important; outline:none!important; box-shadow:0 0 0 3px rgba(124,58,237,.15)!important; }
body.woocommerce-checkout #order_review{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px; box-shadow:0 30px 60px -40px rgba(109,40,217,.45); position:sticky; top:24px; width:auto!important; float:none!important; }
body.woocommerce-checkout #order_review table.shop_table{ border:0!important; margin:0 0 16px!important; width:100%; }
body.woocommerce-checkout #order_review table.shop_table th, body.woocommerce-checkout #order_review table.shop_table td{ border:0!important; border-bottom:1px solid var(--line)!important; padding:12px 0!important; color:var(--body)!important; font-size:15px!important; background:transparent!important; vertical-align:top; }
body.woocommerce-checkout #order_review td.product-name{ color:var(--ink)!important; font-weight:600; padding-right:10px!important; }
body.woocommerce-checkout #order_review td.product-total, body.woocommerce-checkout #order_review tfoot td{ text-align:right; white-space:nowrap; }
body.woocommerce-checkout #order_review .order-total th, body.woocommerce-checkout #order_review .order-total td{ color:var(--ink)!important; font-weight:700!important; border-bottom:0!important; }
body.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount{ font-size:22px!important; }
body.woocommerce-checkout #payment{ background:#FBFAFE!important; border-radius:14px!important; }
body.woocommerce-checkout #payment ul.payment_methods{ border:0!important; padding:8px 12px!important; }
body.woocommerce-checkout #payment ul.payment_methods li{ padding:6px 0; font-size:15px; }
body.woocommerce-checkout #payment ul.payment_methods li label{ display:inline-flex; align-items:center; min-height:44px; cursor:pointer; }
body.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{ width:20px; height:20px; accent-color:var(--pur); margin-right:8px!important; vertical-align:middle; }
body.woocommerce-checkout #payment .payment_box{ background:#F3EEFE!important; border-radius:12px!important; font-size:14px!important; color:var(--body)!important; }
body.woocommerce-checkout #payment .payment_box::before{ border-bottom-color:#F3EEFE!important; }
body.woocommerce-checkout #payment div.form-row.place-order{ padding:14px!important; margin:0!important; }
body.woocommerce-checkout .woocommerce-privacy-policy-text, body.woocommerce-checkout .woocommerce-privacy-policy-text p, body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p{ font-size:13.5px!important; line-height:1.55!important; color:var(--body)!important; margin:0 0 12px!important; }
body.woocommerce-checkout #place_order, body.woocommerce #payment #place_order{
  background:linear-gradient(95deg,var(--pur-d),var(--pur))!important; color:#fff!important; border:0!important; border-radius:100px!important;
  font-weight:600!important; font-size:16px!important; padding:15px 22px!important; min-height:52px; width:100%!important; float:none!important;
  box-shadow:0 14px 26px -14px var(--pur)!important; text-transform:none!important; }
body.woocommerce-checkout #place_order:hover{ color:#fff!important; filter:brightness(1.06); }

/* notices (replace the theme's blue boxes) */
body.woocommerce .woocommerce-info, body.woocommerce .woocommerce-message, body.woocommerce .woocommerce-error,
body.woocommerce-checkout .woocommerce-info, body.woocommerce-cart .woocommerce-info, body.woocommerce-cart .woocommerce-message{
  background:#F7F5FD!important; color:var(--ink)!important; border:0!important; border-left:4px solid var(--pur)!important;
  border-radius:12px!important; box-shadow:none!important; font-weight:500; font-size:14.5px!important; line-height:1.5; padding:14px 16px 14px 46px!important; margin:0 0 16px!important; list-style:none; }
body.woocommerce .woocommerce-error{ border-left-color:#DC2626!important; background:#FEF2F2!important; }
body.woocommerce .woocommerce-info::before, body.woocommerce .woocommerce-message::before{ color:var(--pur)!important; left:16px!important; top:14px!important; }
body.woocommerce .woocommerce-message .button, body.woocommerce .woocommerce-info .button{ float:none!important; display:inline-flex!important; margin:8px 0 0!important; min-height:40px; align-items:center;
  background:#fff!important; color:var(--pur-d)!important; border:1px solid #D9CCF7!important; border-radius:100px!important; }

/* ============================= ORDER RECEIVED ============================= */
body.woocommerce-order-received .woocommerce-order{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px; box-shadow:0 24px 50px -38px rgba(109,40,217,.4); }
body.woocommerce-order-received .woocommerce-thankyou-order-received{ font-size:17px; font-weight:600; color:var(--ink); background:var(--pur-t); border-radius:14px; padding:14px 16px; }
body.woocommerce-order-received ul.woocommerce-order-overview{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; padding:0!important; margin:16px 0!important; }
body.woocommerce-order-received ul.woocommerce-order-overview li{ border:1px solid var(--line)!important; border-radius:12px; padding:10px 12px!important; margin:0!important; float:none!important; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); overflow-wrap:anywhere; }
body.woocommerce-order-received ul.woocommerce-order-overview li strong{ display:block; text-transform:none; letter-spacing:0; font-size:15px; color:var(--ink); margin-top:4px; }
body.woocommerce-order-received .pcb-next{ border:1px solid #DCCFF9; background:linear-gradient(135deg,#F7F3FF,#fff); border-radius:16px; padding:18px; margin:16px 0; }
body.woocommerce-order-received .pcb-next h2{ font-size:19px!important; margin:0 0 6px!important; color:var(--ink)!important; }
body.woocommerce-order-received .pcb-next p{ margin:0; }
body.woocommerce-order-received .woocommerce-order-details, body.woocommerce-order-received .woocommerce-customer-details{ margin-top:20px; }
body.woocommerce-order-received table.shop_table, body.woocommerce-account table.shop_table{ width:100%; border:1px solid var(--line)!important; border-radius:14px!important; border-collapse:separate!important; border-spacing:0; overflow:hidden; }
body.woocommerce-order-received table.shop_table th, body.woocommerce-order-received table.shop_table td,
body.woocommerce-account table.shop_table th, body.woocommerce-account table.shop_table td{ border:0!important; border-bottom:1px solid var(--line)!important; padding:12px 14px!important; font-size:14.5px; }
body.woocommerce-order-received h2, body.woocommerce-account h2{ font-size:19px!important; color:var(--ink)!important; }
body.woocommerce-order-received address{ border:1px solid var(--line)!important; border-radius:14px; padding:14px!important; overflow-wrap:anywhere; }

/* ============================= MY ACCOUNT ============================= */
body.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0 0 20px; padding:8px; background:#fff; border:1px solid var(--line); border-radius:16px; }
body.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0!important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:flex; align-items:center; min-height:44px; padding:10px 14px; border-radius:11px; color:var(--body)!important; font-weight:500; text-decoration:none!important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--pur-t); color:var(--pur-d)!important; }
body.woocommerce-account .woocommerce-MyAccount-content{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; min-width:0; overflow-wrap:anywhere; }
body.woocommerce-account .woocommerce-MyAccount-content a{ color:var(--pur-d); }
body.woocommerce-account .woocommerce form .form-row input.input-text, body.woocommerce-account .woocommerce form .form-row select{ width:100%; min-height:48px; border:1px solid #DED8EC; border-radius:12px; padding:12px 14px; font-size:16px; }
body.woocommerce-account .woocommerce .button{ min-height:46px; border-radius:100px!important; background:linear-gradient(95deg,var(--pur-d),var(--pur))!important; color:#fff!important; border:0!important; padding:12px 22px!important; font-weight:600!important; }
body.woocommerce-account .woocommerce-orders-table .button{ min-height:40px; padding:9px 16px!important; }
body.woocommerce-account .woocommerce-form-login, body.woocommerce-account .woocommerce-form-register{ background:#fff; border:1px solid var(--line)!important; border-radius:18px!important; padding:22px!important; }

/* ============================= MOBILE ============================= */
@media(max-width:899px){
  body.woocommerce-checkout form.checkout{ grid-template-columns:minmax(0,1fr); gap:16px; }
  body.woocommerce-checkout form.checkout #customer_details, body.woocommerce-checkout form.checkout #order_review_heading, body.woocommerce-checkout form.checkout #order_review{ grid-column:1; grid-row:auto; }
  body.woocommerce-checkout #order_review{ position:static; }
  body.woocommerce-cart .cart-collaterals{ margin-top:16px!important; }
}
@media(max-width:768px){
  .pcb-head{ padding:14px; border-radius:16px; }
  .pcb-back{ order:3; }
  .pcb-steps li{ font-size:12px; padding:7px 8px; gap:6px; }
  /* WooCommerce turns cart rows into stacked cards on small screens */
  body.woocommerce-cart table.shop_table_responsive.cart tr{ display:block; padding:12px 14px; border-bottom:1px solid var(--line); position:relative; }
  body.woocommerce-cart table.shop_table_responsive.cart tr:last-child{ border-bottom:0; }
  body.woocommerce-cart table.shop_table_responsive.cart td{ display:flex!important; justify-content:space-between; align-items:center; gap:12px; text-align:right!important; padding:8px 0!important; border:0!important; }
  body.woocommerce-cart table.shop_table_responsive.cart td::before{ font-weight:600; color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.04em; float:none!important; }
  body.woocommerce-cart table.shop_table_responsive.cart td.product-remove{ position:absolute; top:10px; right:10px; padding:0!important; }
  body.woocommerce-cart table.shop_table_responsive.cart td.product-remove::before{ display:none; }
  body.woocommerce-cart table.shop_table_responsive.cart td.product-name{ display:block!important; text-align:left!important; padding-right:44px!important; }
  body.woocommerce-cart table.shop_table_responsive.cart td.product-name::before{ display:none; }
  body.woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail{ display:none!important; }
  body.woocommerce-cart table.shop_table_responsive.cart td.actions{ display:block!important; padding:12px 0 0!important; }
  body.woocommerce-cart table.shop_table_responsive.cart td.actions::before{ display:none; }
  body.woocommerce-cart .cart .actions .button[name="update_cart"]{ width:100%; margin-top:10px!important; }
  body.woocommerce-cart .coupon .button{ flex:1 1 120px; }
  body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review{ padding:18px; border-radius:16px; }
  body.woocommerce-checkout .form-row-first, body.woocommerce-checkout .form-row-last{ width:100%!important; float:none!important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation, body.woocommerce-account .woocommerce-MyAccount-content{ width:100%!important; float:none!important; }
  body.woocommerce-account table.shop_table_responsive tr{ display:block; border-bottom:1px solid var(--line); padding:8px 12px; }
  body.woocommerce-account table.shop_table_responsive td{ display:flex!important; justify-content:space-between; gap:10px; text-align:right!important; border:0!important; padding:6px 0!important; }
  body.woocommerce-account table.shop_table_responsive thead{ display:none; }
}
@media(max-width:400px){
  .pcb-steps li{ flex-direction:column; text-align:center; gap:4px; font-size:12.5px; line-height:1.25; padding:8px 4px; }
  .pcb-brand-name{ font-size:15px; }
}

/* 3.0 polish */
body.woocommerce-order-received ul.woocommerce-order-overview{ list-style:none!important; }
body.woocommerce-order-received ul.woocommerce-order-overview li::marker{ content:""; }
body.woocommerce-account .woocommerce-MyAccount-content p, body.woocommerce-account .woocommerce-MyAccount-content{ font-size:15.5px!important; line-height:1.6!important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a{ font-size:15.5px!important; }
body.woocommerce-order-received .woocommerce-order p, body.woocommerce-order-received .woocommerce-order li{ font-size:15px; }
@media(max-width:768px){
  body.woocommerce-cart table.shop_table_responsive.cart td.product-quantity:not(:has(input.qty)){ display:none!important; }
  body.woocommerce-cart .coupon input#coupon_code{ flex:1 1 100%; }
  body.woocommerce-cart .coupon .button{ flex:1 1 100%; }
}

/* ============ 3.0.2: proceed button + express checkout (Stripe / WooPayments / PayPal) ============ */
body.woocommerce-cart .wc-proceed-to-checkout{ display:flex!important; flex-direction:column!important; align-items:stretch!important; justify-content:flex-start!important; flex-wrap:nowrap!important; gap:10px; width:100%!important; float:none!important; padding:8px 0 0!important; }
body.woocommerce-cart .wc-proceed-to-checkout > *{ width:100%!important; max-width:100%!important; min-width:0!important; float:none!important; margin-left:0!important; margin-right:0!important; flex:0 0 auto!important; box-sizing:border-box; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ order:-2!important; display:flex!important; width:100%!important; min-height:52px!important; height:auto!important; aspect-ratio:auto!important; white-space:nowrap!important; overflow:hidden; text-overflow:ellipsis; border-radius:100px!important; margin:0!important; line-height:1.2!important; }
body.woocommerce-cart .wc-proceed-to-checkout .pcb-or{ order:-1!important; display:flex; align-items:center; gap:12px; margin:4px 0 0!important; font-size:13px!important; color:var(--muted); text-transform:lowercase; }
body.woocommerce-cart .wc-proceed-to-checkout .pcb-or[hidden]{ display:none!important; }
body.woocommerce-cart .wc-proceed-to-checkout .pcb-or:before, body.woocommerce-cart .wc-proceed-to-checkout .pcb-or:after{ content:""; flex:1; height:1px; background:var(--line); }
/* our divider replaces the gateways' own "— OR —" separators */
#wc-stripe-express-checkout-button-separator, #wc-stripe-payment-request-button-separator, #wcpay-express-checkout-button-separator, #wcpay-payment-request-button-separator{ display:none!important; }
#wc-stripe-express-checkout-element, #wc-stripe-payment-request-wrapper, .wc-stripe-payment-request-wrapper, #wcpay-express-checkout-element, #wcpay-payment-request-wrapper, #wcpay-express-checkout-wrapper, .ppc-button-wrapper{ width:100%!important; margin:0!important; clear:both; }
/* Cart block */
.wp-block-woocommerce-cart .wc-block-cart__submit-container{ width:100%; }
.wp-block-woocommerce-cart .wc-block-cart__submit-button{ width:100%!important; min-height:52px!important; white-space:nowrap!important; border-radius:100px!important; display:flex!important; align-items:center; justify-content:center; }
.wp-block-woocommerce-cart .wc-block-cart__payment-options, .wp-block-woocommerce-cart .wc-block-components-express-payment{ width:100%!important; }

/* ============ 3.0.2: clean 56px logo tile instead of a stretched/blurred thumbnail ============ */
body.woocommerce-cart td.product-thumbnail{ width:88px!important; min-width:88px; }
.portal-course-avatar{ display:inline-flex!important; width:56px!important; height:56px!important; min-width:56px; border-radius:14px!important; overflow:hidden; flex:0 0 56px; vertical-align:middle; }
.portal-course-avatar picture, .portal-course-avatar .pcb-logo{ display:block!important; width:56px!important; height:56px!important; }
.portal-course-avatar img, body.woocommerce-cart td.product-thumbnail .portal-course-avatar img{ display:block!important; width:56px!important; height:56px!important; max-width:56px!important; min-width:56px!important; object-fit:contain!important; border-radius:14px!important; margin:0!important; padding:0!important; box-shadow:none!important; image-rendering:auto; }
/* notices on cart/checkout pages (body has .woocommerce-page, not always .woocommerce) */
body.woocommerce-page .woocommerce-message, body.woocommerce-page .woocommerce-info{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
body.woocommerce-page .woocommerce-message .button, body.woocommerce-page .woocommerce-info .button{ order:2; float:none!important; display:inline-flex!important; align-items:center; min-height:40px; margin:0!important; padding:8px 16px!important; white-space:nowrap; background:#fff!important; color:var(--pur-d)!important; border:1px solid #D9CCF7!important; border-radius:100px!important; font-size:14px!important; line-height:1.2!important; }
body.woocommerce-cart table.cart td.product-name{ text-align:left!important; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-cart *{ font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }
.wp-block-woocommerce-cart .wc-block-cart__submit-button, .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover{ text-decoration:none!important; font-weight:600!important; font-size:16px!important; }
.wp-block-woocommerce-cart .wc-block-cart__payment-options{ margin-top:14px!important; }
.wp-block-woocommerce-cart .wc-block-components-express-payment__event-buttons > li{ width:100%!important; }
