/* =====================================================
   WooCommerce — Propulsion Revenue Institute™ skin
   Inherits tokens from main.css
   ===================================================== */

.woo-section { padding-top: 56px; }

/* store notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border:1px solid var(--line); border-top:3px solid var(--ember);
  background:var(--panel); border-radius:12px;
  padding:16px 20px 16px 52px; /* room for the icon so it can't overlap text */
  color:var(--ink); font-size:14.5px; list-style:none; margin-bottom:24px;
  position:relative;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  left:20px; top:17px; color:var(--c5);
}
.woocommerce-error::before { color:var(--c3); }
.woocommerce-info::before { color:var(--c4); }
.woocommerce-error { border-top-color:var(--c3); }
.woocommerce-message { border-top-color:var(--c5); }

/* product grid */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0; padding:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product {
  width:auto !important; margin:0 !important; float:none !important;
  border:1px solid var(--line); border-top:3px solid var(--ember);
  border-radius:var(--radius); background:var(--panel);
  box-shadow:var(--shadow-sm); padding:24px; text-align:left;
  transition:transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family:var(--serif); font-size:20px; font-weight:400; color:var(--ink);
  padding:0; margin:0 0 8px;
}
.woocommerce ul.products li.product .price {
  font-family:var(--serif); font-size:24px; color:var(--ember-deep); margin-bottom:12px; display:block;
}
.woocommerce ul.products li.product .price del { color:var(--ink-faint); font-size:17px; margin-right:8px; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }

/* buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  font-family:var(--sans); font-size:14.5px; font-weight:600; letter-spacing:.02em;
  padding:13px 26px; border-radius:999px; border:none;
  color:#16203A; background:linear-gradient(135deg,var(--ember-2),var(--ember));
  box-shadow:0 6px 20px rgba(200,150,50,.30); transition:transform .15s, box-shadow .15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  transform:translateY(-1px); box-shadow:0 8px 26px rgba(200,150,50,.4); color:#16203A;
}
.woocommerce a.button.added::after { display:none; }

/* placeholder images — products are digital, so show the mark instead of a grey box */
.woocommerce ul.products li.product img.woocommerce-placeholder,
.woocommerce div.product img.woocommerce-placeholder { display:none; }
.woocommerce ul.products li.product a img { border-radius:10px; }
.woocommerce ul.products li.product .pri-ph {
  height:120px; border-radius:10px; margin-bottom:16px;
  background:
    radial-gradient(circle at center, transparent 34%, var(--bg-2) 35%),
    linear-gradient(135deg, color-mix(in srgb, var(--ember) 18%, #fff), var(--bg-2));
  display:flex; align-items:center; justify-content:center;
}

/* block-based cart & checkout (WooCommerce Blocks) */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link) {
  font-family:var(--sans) !important; font-size:15px !important; font-weight:600 !important;
  border-radius:999px !important; border:none !important;
  color:#16203A !important;
  background:linear-gradient(135deg,var(--ember-2),var(--ember)) !important;
  box-shadow:0 6px 20px rgba(200,150,50,.30);
  padding:15px 28px !important; transition:transform .15s, box-shadow .15s;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  transform:translateY(-1px); box-shadow:0 8px 26px rgba(200,150,50,.4);
}
.wc-block-components-product-name { font-family:var(--serif) !important; color:var(--ink) !important; }
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount { font-family:var(--serif); color:var(--ink); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color:var(--ember-deep); }
.wc-block-components-title, .wp-block-woocommerce-cart h2 { font-family:var(--serif) !important; color:var(--ink) !important; }
.wc-block-components-text-input input,
.wc-block-components-address-form input {
  border:1px solid var(--line) !important; border-radius:10px !important; background:var(--bg) !important;
}
.wc-block-components-sidebar-layout .wc-block-components-sidebar {
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:24px;
}

/* single product */
.woocommerce div.product .product_title {
  font-family:var(--serif); font-weight:300; font-size:clamp(28px,4vw,42px); color:var(--ink);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family:var(--serif); font-size:34px; color:var(--ember-deep);
}
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--ink-dim); font-size:16px; }
.woocommerce div.product form.cart { margin-top:24px; }
.woocommerce div.product .quantity input { padding:11px; border:1px solid var(--line); border-radius:8px; }
.woocommerce-tabs ul.tabs { border-bottom:1px solid var(--line) !important; padding:0 !important; }
.woocommerce-tabs ul.tabs::before { display:none !important; }
.woocommerce-tabs ul.tabs li { background:transparent !important; border:none !important; border-radius:0 !important; }
.woocommerce-tabs ul.tabs li a { color:var(--ink-dim) !important; font-weight:600 !important; font-size:13px !important; letter-spacing:.06em; text-transform:uppercase; }
.woocommerce-tabs ul.tabs li.active a { color:var(--ember-deep) !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display:none !important; }

/* cart & checkout */
.woocommerce table.shop_table {
  border:1px solid var(--line); border-radius:var(--radius);
  border-collapse:separate; overflow:hidden; background:var(--panel);
}
.woocommerce table.shop_table th {
  background:var(--bg-2); color:var(--ink-faint);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  padding:14px 16px; border-bottom:2px solid var(--line);
}
.woocommerce table.shop_table td { padding:16px; border-top:1px solid var(--line-soft); color:var(--ink-dim); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 {
  font-family:var(--serif); font-weight:400; color:var(--ink);
}
.woocommerce form .form-row label { font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
  padding:12px 14px; border:1px solid var(--line); border-radius:10px;
  font-family:var(--sans); font-size:15px; color:var(--ink); background:var(--bg);
  height:auto;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  outline:none; border-color:var(--ember); box-shadow:0 0 0 3px rgba(232,176,75,.2);
}
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius);
}
.woocommerce-checkout #payment div.payment_box { background:var(--panel); border:1px solid var(--line); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--panel); }

/* breadcrumb */
.woocommerce .woocommerce-breadcrumb { color:var(--ink-faint); font-size:12px; margin-bottom:20px; }
.woocommerce .woocommerce-breadcrumb a { color:var(--ember-deep); }

/* results / ordering */
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { color:var(--ink-faint); font-size:13.5px; }

@media (max-width:980px){ .woocommerce ul.products { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .woocommerce ul.products { grid-template-columns:1fr; } }

/* =====================================================
   PRI commerce components
   ===================================================== */

.woo-section{padding-top:56px}
.shop-note{
  max-width:52em;margin:0 0 26px;font-size:15px;color:var(--ink-dim);
  padding:16px 20px;border-left:3px solid var(--ember);background:var(--panel);border-radius:0 12px 12px 0;
}
.shop-note strong{color:var(--ink)}

/* single product — two column: summary + sticky buy card */
.woocommerce div.product{display:block}
.woocommerce div.product div.summary{
  float:none !important;width:auto !important;margin:0 !important;
  max-width:none;
  border:1px solid var(--line);border-top:4px solid var(--ember);
  border-radius:var(--radius);background:var(--panel);
  box-shadow:var(--shadow-md);padding:32px 36px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{display:block;margin-bottom:6px}
.woocommerce div.product form.cart{margin:20px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.woocommerce div.product form.cart div.quantity{margin-right:12px}

/* assurance list */
.woo-assurance{list-style:none;margin:22px 0 0;padding:0}
.woo-assurance li{
  display:flex;gap:10px;align-items:flex-start;
  padding:8px 0;font-size:14px;color:var(--ink-dim);
}
.woo-assurance .ic{color:var(--c5);font-weight:700;flex:none}
.woo-hx{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);
}

/* what's included */
.woo-includes{margin-top:44px}
.woo-includes h2{
  font-family:var(--serif);font-weight:300;font-size:clamp(24px,3vw,32px);
  color:var(--ink);margin-bottom:18px;
}

/* next step */
.woo-next{margin-top:34px}
.woo-next-inner{
  display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  border:1px solid var(--line);border-left:5px solid var(--c4);
  border-radius:var(--radius);background:var(--bg-2);padding:26px 30px;
}
.woo-next-inner .tag{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--c4)}
.woo-next-inner h3{font-family:var(--serif);font-size:22px;color:var(--ink);margin-top:6px}
.woo-next-inner p{margin-top:6px;color:var(--ink-dim);font-size:14.5px;max-width:34em}
.woo-next-buy{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.woo-next-buy .price-now{font-family:var(--serif);font-size:28px;color:var(--c4)}

/* thank you */
.woo-thanks{
  margin:0 0 40px;padding:34px 0 0;border-top:1px solid var(--line);
}
.woo-thanks h2{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.4vw,36px);margin-top:8px}

/* empty cart */
.cart-empty-help{
  text-align:center;max-width:40em;margin:0 auto;padding:40px 24px;
  border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel);
}
.cart-empty-help h3{font-family:var(--serif);font-size:26px;color:var(--ink)}
.cart-empty-help p{margin-top:10px;color:var(--ink-dim);font-size:15.5px}

/* order details table on thank-you / account */
.woocommerce .woocommerce-order-details__title,
.woocommerce .woocommerce-column__title,
.woocommerce-order h2{font-family:var(--serif);font-weight:400;color:var(--ink)}
.woocommerce ul.order_details{
  list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0 0 28px;padding:0;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);
}
.woocommerce ul.order_details li{
  flex:1 1 auto;min-width:160px;padding:16px 20px;border-right:1px solid var(--line-soft);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);
}
.woocommerce ul.order_details li:last-child{border-right:none}
.woocommerce ul.order_details li strong{
  display:block;margin-top:6px;font-family:var(--serif);font-size:19px;
  letter-spacing:0;text-transform:none;color:var(--ink);
}

/* my account */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line-soft)}
.woocommerce-MyAccount-navigation li a{
  display:block;padding:12px 4px;color:var(--ink-dim);text-decoration:none;font-size:14.5px;
}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--ember-deep);font-weight:600}

@media (min-width:900px){
  .woocommerce div.product div.summary{max-width:none}
}

.woo-desc{
  margin-top:32px;max-width:52em;color:var(--ink-dim);font-size:16.5px;
}
.woo-desc p{margin-bottom:14px}

/* =====================================================
   Cart / Checkout / Account pages (block-based)
   ===================================================== */

.woo-page{padding-top:52px}
.woo-page-content{max-width:none}

/* full-width two-column layout for cart & checkout blocks */
.wc-block-components-sidebar-layout{
  display:grid !important;grid-template-columns:1.55fr .95fr;gap:36px;align-items:start;
}
.wc-block-components-main{width:auto !important;padding:0 !important;float:none !important}
.wc-block-components-sidebar{width:auto !important;padding:0 !important;float:none !important}
@media (max-width:900px){
  .wc-block-components-sidebar-layout{grid-template-columns:1fr}
}

/* line items */
.wc-block-cart-items{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}
.wc-block-cart-items__header{
  background:var(--bg-2);border-bottom:2px solid var(--line);
}
.wc-block-cart-items__header th{
  font-size:11px !important;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint) !important;font-weight:600 !important;padding:14px 20px !important;
}
.wc-block-cart-items__row{border-bottom:1px solid var(--line-soft)}
.wc-block-cart-items__row td{padding:20px !important}

/* Products are digital — the block ships its own broken placeholder,
   so replace the thumbnail with the Institute mark. */
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img{
  display:none !important;
}
td.wc-block-cart-item__image a,
.wc-block-components-order-summary-item__image{
  display:block !important;
  width:64px !important;height:64px !important;
  border-radius:10px !important;
  border:1px solid var(--line) !important;
  background-color:#FBF7EC !important;
  background-image:url(../img/pri-icon.png) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:28px auto !important;
}
td.wc-block-cart-item__image{width:80px !important;padding-right:0 !important}

.wc-block-components-product-name{
  font-family:var(--serif) !important;font-size:18px !important;color:var(--ink) !important;
  text-decoration:none !important;
}
.wc-block-cart-item__prices .wc-block-components-product-price{color:var(--ink-dim)}
.wc-block-components-product-metadata__description p{color:var(--ink-faint);font-size:13px}

/* totals panel */
.wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-components-sidebar .wc-block-components-totals-wrapper{
  background:transparent;
}
.wc-block-components-sidebar{
  background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--ember);
  border-radius:var(--radius);padding:26px 28px !important;box-shadow:var(--shadow-sm);
}
.wc-block-components-totals-item{padding:10px 0 !important}
.wc-block-components-totals-footer-item{
  border-top:1px solid var(--line);margin-top:8px;padding-top:16px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:var(--serif);font-size:18px;color:var(--ink);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--serif);font-size:26px;color:var(--ember-deep);
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{width:100%;justify-content:center}

/* coupon toggle */
.wc-block-components-panel__button{
  font-size:13.5px !important;color:var(--ink-dim) !important;font-weight:500 !important;
}

/* checkout form */
.wc-block-checkout__form .wc-block-components-checkout-step{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);
  padding:26px 28px;margin-bottom:18px;
}
.wc-block-components-checkout-step__title{
  font-family:var(--serif) !important;font-weight:400 !important;
  font-size:21px !important;color:var(--ink) !important;
}
.wc-block-components-checkout-step__description{color:var(--ink-faint);font-size:13.5px}
.wc-block-components-text-input label{color:var(--ink-dim) !important}
.wc-block-components-text-input.is-active label{color:var(--ember-deep) !important}
