/* ==========================================================================
   ElypseCloud — Order Form (Standard Cart)
   Same design tokens as the client area theme. This file only restyles
   colors/typography/spacing on top of WHMCS's own structural CSS
   (css/style.css) — no layout logic is touched, so the checkout flow's
   markup and JS keep working exactly as shipped by WHMCS.
   ========================================================================== */

@font-face{
  font-family:"Inter";
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  src:url(../fonts/inter-variable.woff2) format("woff2");
}
@font-face{
  font-family:"Manrope";
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  src:url(../fonts/manrope-variable.woff2) format("woff2");
}

:root{
  --ec-bg:#f5f7fa;
  --ec-card:#ffffff;
  --ec-border:rgba(15,23,42,.09);
  --ec-border-strong:rgba(15,23,42,.16);
  --ec-blue:#2e5f9e;
  --ec-blue-dark:#1c3c63;
  --ec-blue-light:#3b6fb0;
  --ec-blue-tint:rgba(46,95,158,.09);
  --ec-text:#182230;
  --ec-text-muted:#5b6b80;
  --ec-text-faint:#8695a8;
  --ec-green:#1a8a54;
  --ec-orange:#b35900;
  --ec-red:#c4342a;
  --ec-radius-lg:16px;
  --ec-radius-md:10px;
  --ec-radius-sm:7px;
  --ec-font-display:"Manrope",sans-serif;
  --ec-font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
}

#order-standard_cart{
  font-family:var(--ec-font-body);
  color:var(--ec-text);
  font-size:14px;
}
#order-standard_cart h1,#order-standard_cart h2,#order-standard_cart h3,#order-standard_cart h4{
  font-family:var(--ec-font-display);color:var(--ec-text);font-weight:800;
}
#order-standard_cart a{color:var(--ec-blue-light);}
#order-standard_cart a:hover{color:var(--ec-blue-dark);}
#order-standard_cart label,
#order-standard_cart p.domain-renewal-desc{color:var(--ec-text-muted);font-weight:500;}

/* section titles ("header-lined" underlines a page/section heading) */
#order-standard_cart .header-lined{border-bottom:1px solid var(--ec-border);padding-bottom:14px;margin-bottom:22px;}
#order-standard_cart .header-lined h1{font-size:1.5em;margin:0;}
#order-standard_cart .sub-heading,
#order-standard_cart .sub-heading-borderless{color:var(--ec-text-muted);}
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading-borderless span{background:var(--ec-bg);color:var(--ec-text-muted);}
#order-standard_cart .sub-heading-borderless{border-top-color:var(--ec-border);}

/* category sidebar */
#order-standard_cart .cart-sidebar h3,
#order-standard_cart .sidebar-collapsed h3{color:var(--ec-text);font-family:var(--ec-font-display);}
#order-standard_cart .cart-sidebar .list-group-item{
  border-color:var(--ec-border);color:var(--ec-text-muted);font-weight:500;
}
#order-standard_cart .cart-sidebar .list-group-item.active,
#order-standard_cart .cart-sidebar .list-group-item:hover{
  background:var(--ec-blue-tint);color:var(--ec-blue-dark);
}
#order-standard_cart .cart-sidebar .card,
#order-standard_cart .sidebar-collapsed .card{border-radius:var(--ec-radius-lg);}

/* product boxes */
#order-standard_cart .products .product{
  background:var(--ec-card);border:1px solid var(--ec-border);
  border-radius:var(--ec-radius-lg);box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:.15s;overflow:hidden;
}
#order-standard_cart .products .product:hover{border-color:var(--ec-border-strong);box-shadow:0 8px 20px rgba(15,23,42,.08);}
#order-standard_cart .products .product header{background:rgba(15,23,42,.02);border-bottom:1px solid var(--ec-border);}
#order-standard_cart .products .product header span{color:var(--ec-text);font-family:var(--ec-font-display);font-weight:700;}
#order-standard_cart .products .product header .qty{color:var(--ec-text-faint);}
#order-standard_cart .products .product div.product-desc{color:var(--ec-text-muted);}
#order-standard_cart .products .product span.feature-value{color:var(--ec-blue-dark);}
#order-standard_cart .products .product div.product-pricing span.price{
  font-family:var(--ec-font-display);color:var(--ec-text);font-weight:800;
}
#order-standard_cart .products .product .btn-order-now{
  background:var(--ec-blue);border-color:var(--ec-blue);border-radius:var(--ec-radius-sm);font-weight:600;
}
#order-standard_cart .products .product .btn-order-now:hover{background:var(--ec-blue-dark);border-color:var(--ec-blue-dark);}

/* form fields (.field / .prepend-icon is WHMCS's own icon-prefixed input pattern) */
#order-standard_cart .field,
#order-standard_cart .form-control{
  background-color:#fff;border:1px solid var(--ec-border-strong);
  color:var(--ec-text);border-radius:var(--ec-radius-sm);
}
#order-standard_cart .field:focus,
#order-standard_cart .form-control:focus{
  border-color:var(--ec-blue-light);box-shadow:0 0 0 3px rgba(46,95,158,.15);
}
#order-standard_cart .field-icon i{color:var(--ec-text-faint);}
#order-standard_cart .field-help-text{color:var(--ec-text-faint);}
#order-standard_cart .field-error-msg{color:var(--ec-red);}
#order-standard_cart .field[disabled],
#order-standard_cart .field[readonly],
#order-standard_cart .form-control[disabled],
#order-standard_cart .form-control[readonly]{background-color:rgba(15,23,42,.03);}

/* cart / checkout totals + line items */
#order-standard_cart .cart-body .card,
#order-standard_cart .cart-body .panel{
  border-radius:var(--ec-radius-lg);border-color:var(--ec-border);box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#order-standard_cart .bordered-totals,
#order-standard_cart .order-summary{border-color:var(--ec-border);}
#order-standard_cart .item{border-bottom:1px solid var(--ec-border);}
#order-standard_cart .item-domain,#order-standard_cart .item-group{color:var(--ec-text-faint);}
#order-standard_cart .item-price,#order-standard_cart .cost,#order-standard_cart .amt{
  font-family:var(--ec-font-display);font-weight:700;color:var(--ec-text);
}
#order-standard_cart .empty-cart{color:var(--ec-text-muted);}
#order-standard_cart .empty-cart .fa-3x{color:var(--ec-border-strong);}

/* express checkout / payment methods */
#order-standard_cart .express-checkout-buttons .separator{color:var(--ec-text-faint);}
#order-standard_cart .express-checkout-buttons .separator::before,
#order-standard_cart .express-checkout-buttons .separator::after{background:var(--ec-border);}
#order-standard_cart .account-select-container div.account{
  border-color:var(--ec-border);border-radius:var(--ec-radius-md);
}
#order-standard_cart .account-select-container div.account.active{
  border-color:var(--ec-blue);background:var(--ec-blue-tint);
}
#order-standard_cart .existing-cc-grid .card{border-radius:var(--ec-radius-md);border-color:var(--ec-border);}
#order-standard_cart .checkout-security-msg{color:var(--ec-text-faint);}

/* domain checker */
#order-standard_cart .domain-checker-bg{background:var(--ec-blue-dark);}
#order-standard_cart .domain-checker-container .field,
#order-standard_cart .domain-checker-container .form-control{border-radius:var(--ec-radius-sm) 0 0 var(--ec-radius-sm);}
#order-standard_cart .domain-checker-result-headline{color:var(--ec-text);}
#order-standard_cart .domain-checker-available{color:var(--ec-green);}
#order-standard_cart .domain-checker-unavailable,
#order-standard_cart .domain-checker-invalid{color:var(--ec-red);}

/* TLD spotlight tiles */
#order-standard_cart .spotlight-tld{
  border:1px solid var(--ec-border);border-radius:var(--ec-radius-md);background:var(--ec-card);
}
#order-standard_cart .spotlight-tld-hot,
#order-standard_cart .spotlight-tld-sale{color:var(--ec-orange);}
#order-standard_cart .spotlight-tld-new{color:var(--ec-green);}

/* misc */
#order-standard_cart .well,
#order-standard_cart .domain-bulk-domain-well,
#order-standard_cart .domain-bulk-options-box{
  background:rgba(15,23,42,.02);border:1px solid var(--ec-border);border-radius:var(--ec-radius-md);
}
#order-standard_cart .mc-promo{border-radius:var(--ec-radius-lg);border-color:var(--ec-border);}

/* categories sidebar removed — content takes the full width */
#order-standard_cart .ec-cart-body-full{width:100% !important;float:none !important;}

/* ---------- progress steps ---------- */
#order-standard_cart .ec-steps{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:0;margin:0 0 26px;padding:16px;background:#fff;border:1px solid var(--ec-border);
  border-radius:var(--ec-radius-lg);box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#order-standard_cart .ec-step{
  display:flex;align-items:center;gap:9px;font-size:.85em;font-weight:600;color:var(--ec-text-faint);
}
#order-standard_cart .ec-step-dot{
  width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:.8em;font-weight:700;background:rgba(15,23,42,.05);color:var(--ec-text-faint);flex-shrink:0;
}
#order-standard_cart .ec-step.done{color:var(--ec-text-muted);}
#order-standard_cart .ec-step.done .ec-step-dot{background:var(--ec-green);color:#fff;}
#order-standard_cart .ec-step.done .ec-step-dot .icon{width:12px;height:12px;}
#order-standard_cart .ec-step.active{color:var(--ec-text);}
#order-standard_cart .ec-step.active .ec-step-dot{background:var(--ec-blue);color:#fff;}
#order-standard_cart .ec-step-line{width:44px;height:1.5px;background:var(--ec-border-strong);margin:0 14px;}

/* ---------- configure product ---------- */
#order-standard_cart .ec-config-header{
  background:#fff;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
  padding:22px 24px;margin-bottom:20px;box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#order-standard_cart .ec-config-header h1{font-size:1.3em;margin:0 0 4px;}
#order-standard_cart .ec-config-header p{color:var(--ec-text-muted);margin:0;}

/* Product description spec list — admin-authored HTML (<ul class="list-unstyled"><li
   class="d-flex justify-content-between">). This targets the classes it always uses,
   so it works for every product/offer that follows the same pattern, with no per-
   product code. */
#order-standard_cart .ec-config-desc{margin-top:16px;contain:layout paint;}
#order-standard_cart .ec-config-desc .list-unstyled{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:10px 16px !important;
  list-style:none !important;margin:0 !important;padding:0 !important;
}
@media (max-width:1000px){#order-standard_cart .ec-config-desc .list-unstyled{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:600px){#order-standard_cart .ec-config-desc .list-unstyled{grid-template-columns:minmax(0,1fr) !important;}}
/* Admins paste multi-line HTML into the description field, and WHMCS's editor
   turns the blank lines between each <li> into stray <br>/text nodes that land
   as direct children of the <ul>. On a grid those become invisible extra cells
   that shove every real item sideways (the checkerboard bug) — so anything
   that isn't an <li> is dropped from layout entirely. */
#order-standard_cart .ec-config-desc .list-unstyled > *:not(li){display:none !important;}
#order-standard_cart .ec-config-desc .list-unstyled > li br{display:none !important;}
#order-standard_cart .ec-config-desc .list-unstyled > li{
  display:flex !important;align-items:center;justify-content:space-between !important;
  min-width:0 !important;
  gap:10px;border:none !important;background:rgba(15,23,42,.025);
  border-radius:var(--ec-radius-md) !important;padding:11px 14px !important;margin:0 !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li .text-primary,
#order-standard_cart .ec-config-desc .list-unstyled > li .text-success,
#order-standard_cart .ec-config-desc .list-unstyled > li [class*="text-"]{
  display:flex !important;align-items:center;gap:9px;flex-shrink:0;
  color:var(--ec-text) !important;font-size:.85em;font-weight:600 !important;
  white-space:nowrap;
}
/* Font Awesome glyphs don't render in the order-form context (no icon font
   loaded here) — swap each known spec icon for an emoji via ::before, keyed
   off the specific fa-* class the admin's description HTML uses. This is
   generic across every product: any li following the pattern gets an icon
   chip automatically, defaulting to a neutral bullet for unmapped classes. */
#order-standard_cart .ec-config-desc .list-unstyled > li i.fas,
#order-standard_cart .ec-config-desc .list-unstyled > li i.far{
  display:inline-flex !important;align-items:center;justify-content:center;
  width:28px;height:28px;flex-shrink:0;border-radius:8px;
  background:var(--ec-blue-tint);color:var(--ec-blue);
  font-size:0;line-height:1;margin:0 !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fas::before,
#order-standard_cart .ec-config-desc .list-unstyled > li i.far::before{
  font-size:13px;font-style:normal;content:"\2022";
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-microchip::before{content:"\2699\FE0F";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-memory::before{content:"\1F4BE";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-hdd::before{content:"\1F4BF";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-database::before{content:"\1F4BF";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-network-wired::before{content:"\1F310";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-wifi::before{content:"\1F310";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-map-marker-alt::before{content:"\1F4CD";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-shield-alt::before{content:"\1F6E1\FE0F";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-lock::before{content:"\1F512";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-check::before,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-check-circle::before{content:"\2705";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-server::before{content:"\1F5A5\FE0F";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-globe::before,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-globe-americas::before{content:"\1F30D";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-bolt::before{content:"\26A1";}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-cloud::before{content:"\2601\FE0F";}
#order-standard_cart .ec-config-desc .list-unstyled > li .text-success i::before{content:"\2705";}
#order-standard_cart .ec-config-desc .list-unstyled > li .text-success i{
  background:rgba(26,138,84,.12);color:var(--ec-green);
}
#order-standard_cart .ec-config-desc .list-unstyled > li .badge{
  background:transparent !important;border:none !important;
  color:var(--ec-text) !important;font-weight:700 !important;
  font-size:.9em !important;padding:0 !important;
  flex:1 1 auto;min-width:0;text-align:right;white-space:normal;
  overflow-wrap:break-word;
}
#order-standard_cart .ec-config-desc .list-unstyled > li .badge-success{color:var(--ec-green) !important;}
#order-standard_cart .ec-config-desc .list-unstyled > li .badge i{
  width:auto;height:auto;background:none !important;color:inherit !important;
  border-radius:0;font-size:1em;margin-right:4px !important;
}
#order-standard_cart .ec-section-label{
  font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--ec-text-faint);margin:22px 2px 10px;
}
#order-standard_cart .ec-config-card{
  background:#fff;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
  padding:20px 22px;margin-bottom:6px;box-shadow:0 1px 2px rgba(15,23,42,.04);
}

#order-standard_cart .ec-option-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:22px 28px !important;
  background:none !important;border:none !important;padding:4px 2px !important;
}
@media (max-width:1100px){#order-standard_cart .ec-option-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:600px){#order-standard_cart .ec-option-grid{grid-template-columns:1fr !important;}}
#order-standard_cart .ec-option-card{
  display:flex !important;gap:13px;align-items:center;
  background:none !important;border:none !important;
  border-radius:0 !important;padding:0 !important;
}
#order-standard_cart .ec-option-card-full{grid-column:1/-1 !important;}
#order-standard_cart .ec-option-icon{
  width:38px;height:38px;min-width:38px;border-radius:10px;flex-shrink:0;
  background:var(--ec-blue-tint) !important;color:var(--ec-blue) !important;
  display:flex !important;align-items:center;justify-content:center;
}
#order-standard_cart .ec-option-icon .icon{width:18px;height:18px;}
#order-standard_cart .ec-option-body{flex:1;min-width:0;display:flex;flex-direction:column-reverse;}
#order-standard_cart .ec-option-body label{
  display:block !important;font-size:.85em !important;font-weight:400 !important;
  text-transform:none !important;letter-spacing:0 !important;
  color:var(--ec-text-faint) !important;margin:2px 0 0 !important;
}
#order-standard_cart .ec-option-body select.form-control,
#order-standard_cart .ec-option-body input.form-control{
  -webkit-appearance:none;appearance:none;
  background:none !important;border:none !important;box-shadow:none !important;
  padding:0 !important;height:auto !important;line-height:1.3 !important;
  font-size:1.15em !important;font-weight:700 !important;color:var(--ec-text) !important;
  border-radius:0 !important;
}
#order-standard_cart .ec-option-body select.form-control:focus,
#order-standard_cart .ec-option-body input.form-control:focus{box-shadow:none !important;}
#order-standard_cart .ec-option-radios{display:flex;flex-wrap:wrap;gap:6px;}
#order-standard_cart .ec-radio-pill{
  display:inline-flex;align-items:center;gap:6px;background:rgba(15,23,42,.03);
  border:1px solid var(--ec-border-strong);border-radius:999px;padding:5px 12px;
  font-size:.83em;font-weight:500;color:var(--ec-text-muted);cursor:pointer;margin:0;
}
#order-standard_cart .ec-radio-pill input{accent-color:var(--ec-blue);}
#order-standard_cart .ec-toggle-label{
  display:flex;align-items:center;gap:8px;font-size:.9em;font-weight:600;color:var(--ec-text);margin:0;
}
#order-standard_cart .ec-toggle-label input{accent-color:var(--ec-green);width:16px;height:16px;}

/* ---------- order summary sidebar ---------- */
#order-standard_cart .ec-summary-card{
  background:#fff;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
  padding:22px;margin-bottom:14px;box-shadow:0 1px 2px rgba(15,23,42,.04);position:relative;
}
#order-standard_cart .ec-summary-card h2{font-size:1.05em;margin:0 0 14px;}
#order-standard_cart .ec-summary-cta{border-radius:var(--ec-radius-sm);font-weight:600;}
#order-standard_cart #orderSummaryLoader{position:absolute;top:20px;right:20px;color:var(--ec-blue);}
#order-standard_cart .product-name{display:block;font-family:var(--ec-font-display);font-weight:700;color:var(--ec-text);font-size:1.02em;}
#order-standard_cart .product-group{display:block;color:var(--ec-text-faint);font-size:.8em;margin-bottom:12px;}
#order-standard_cart #producttotal .clearfix{
  display:flex;justify-content:space-between;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--ec-border);font-size:.87em;color:var(--ec-text-muted);
}
#order-standard_cart #producttotal .clearfix .pull-left,
#order-standard_cart #producttotal .clearfix .pull-right{float:none;}
#order-standard_cart .summary-totals{margin-top:6px;}
#order-standard_cart .summary-totals .clearfix{color:var(--ec-text);}
#order-standard_cart .total-due-today{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-top:14px;padding-top:14px;border-top:2px solid var(--ec-border);
}
#order-standard_cart .total-due-today .amt{
  font-family:var(--ec-font-display);font-size:1.6em;font-weight:800;color:var(--ec-text);
}
#order-standard_cart .total-due-today span:not(.amt){color:var(--ec-text-muted);font-size:.83em;}

@media (max-width:700px){
  #order-standard_cart .ec-steps{gap:6px 0;}
  #order-standard_cart .ec-step span:not(.ec-step-dot){display:none;}
  #order-standard_cart .ec-step-line{width:20px;margin:0 6px;}
}

/* ---------- cart: configured-offer recap card ---------- */
#order-standard_cart .ec-cart-items{display:flex;flex-direction:column;gap:14px;}
#order-standard_cart .ec-offer-card{
  background:#fff;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
  padding:20px 22px;box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#order-standard_cart .ec-offer-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--ec-border);
}
#order-standard_cart .ec-offer-card-head h3{font-size:1.15em;margin:0;}
#order-standard_cart .ec-offer-domain{color:var(--ec-text-muted);font-weight:500;font-size:.7em;margin-left:8px;}
#order-standard_cart .ec-offer-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
#order-standard_cart .ec-offer-card-actions .item-price{text-align:right;}
#order-standard_cart .ec-offer-price{
  display:block;font-family:var(--ec-font-display);font-weight:800;font-size:1.15em;color:var(--ec-text);
}
#order-standard_cart .ec-offer-card-actions .cycle{color:var(--ec-text-faint);font-size:.78em;}
#order-standard_cart .ec-offer-card-actions .btn-remove-from-cart{color:var(--ec-text-faint);}
#order-standard_cart .ec-offer-card-actions .btn-remove-from-cart:hover{color:var(--ec-red);}

#order-standard_cart .ec-offer-spec-grid{
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:16px 20px;
}
@media (max-width:900px){#order-standard_cart .ec-offer-spec-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:560px){#order-standard_cart .ec-offer-spec-grid{grid-template-columns:1fr !important;}}
#order-standard_cart .ec-spec-tile{display:flex !important;align-items:center;gap:12px;}
#order-standard_cart .ec-spec-value{font-weight:700;color:var(--ec-text);font-size:.95em;}
#order-standard_cart .ec-spec-label{color:var(--ec-text-faint);font-size:.78em;}

#order-standard_cart .ec-offer-qty{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-offer-qty label{margin:0;}
#order-standard_cart .ec-offer-qty .form-control{width:80px;}
#order-standard_cart .ec-offer-note{color:var(--ec-text-faint);font-size:.8em;margin:12px 0 0;}

#order-standard_cart .ec-continue-link{display:block;text-align:center;margin-top:10px;color:var(--ec-text-muted);}
#order-standard_cart .btn-checkout{border-radius:var(--ec-radius-sm);font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;}

/* ---------- shop: step 1 — pick a category ---------- */
#order-standard_cart .header-lined p{color:var(--ec-text-muted);margin:6px 0 0;}
#order-standard_cart .ec-cat-grid{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px;
}
@media (max-width:900px){#order-standard_cart .ec-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:560px){#order-standard_cart .ec-cat-grid{grid-template-columns:minmax(0,1fr) !important;}}
#order-standard_cart .ec-cat-card{
  display:flex !important;align-items:center;gap:14px;
  background:#fff;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
  padding:20px 20px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:.15s;
}
#order-standard_cart .ec-cat-card:hover,
#order-standard_cart .ec-cat-card.active{border-color:var(--ec-blue);box-shadow:0 8px 20px rgba(15,23,42,.08);}
#order-standard_cart .ec-cat-icon{
  width:44px;height:44px;flex-shrink:0;border-radius:var(--ec-radius-md);
  display:flex;align-items:center;justify-content:center;
  background:var(--ec-blue-tint);font-size:1.3em;
}
#order-standard_cart .ec-cat-label{flex:1;min-width:0;font-family:var(--ec-font-display);font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-cat-label .badge{margin-left:8px;background:var(--ec-blue-tint);color:var(--ec-blue);font-weight:600;}
#order-standard_cart .ec-cat-arrow{width:14px;height:14px;flex-shrink:0;color:var(--ec-text-faint);}

/* ---------- shop: step 2 — category switcher dropdown + offer cards ---------- */
#order-standard_cart .ec-cat-switcher{margin-bottom:22px;}
#order-standard_cart .ec-cat-switcher-btn{
  display:inline-flex;align-items:center;gap:12px;
  background:#fff;border:1px solid var(--ec-border-strong);border-radius:var(--ec-radius-md);
  padding:11px 16px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:.15s;cursor:pointer;
}
#order-standard_cart .ec-cat-switcher-btn:hover,
#order-standard_cart .ec-cat-switcher-btn[aria-expanded="true"]{
  border-color:var(--ec-blue);box-shadow:0 4px 12px rgba(15,23,42,.08);
}
#order-standard_cart .ec-cat-switcher-icon{
  width:34px;height:34px;flex-shrink:0;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ec-blue-tint);font-size:1.1em;
}
#order-standard_cart .ec-cat-switcher-label{
  display:flex;flex-direction:column;align-items:flex-start;line-height:1.25;
  font-family:var(--ec-font-display);font-weight:700;color:var(--ec-text);font-size:.95em;
}
#order-standard_cart .ec-cat-switcher-eyebrow{
  font-family:var(--ec-font-body);font-size:.7em;font-weight:600;text-transform:uppercase;
  letter-spacing:.05em;color:var(--ec-text-faint);
}
#order-standard_cart .ec-cat-switcher-chevron{width:12px;height:12px;color:var(--ec-text-faint);margin-left:2px;}
#order-standard_cart .ec-cat-menu{padding:8px;min-width:260px;}
#order-standard_cart .ec-cat-menu-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border-radius:var(--ec-radius-sm);padding:10px 12px;font-weight:600;
}
#order-standard_cart .ec-cat-menu-item.active{background:var(--ec-blue-tint);color:var(--ec-blue-dark);}
#order-standard_cart .ec-cat-menu-item .icon{width:13px;height:13px;color:var(--ec-blue);flex-shrink:0;}

#order-standard_cart .ec-offer-grid{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px;
}
@media (max-width:1000px){#order-standard_cart .ec-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:640px){#order-standard_cart .ec-offer-grid{grid-template-columns:minmax(0,1fr) !important;}}
#order-standard_cart .ec-shop-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
  padding:22px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:.15s;
}
#order-standard_cart .ec-shop-card:hover{border-color:var(--ec-border-strong);box-shadow:0 8px 20px rgba(15,23,42,.08);}
#order-standard_cart .ec-shop-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px;}
#order-standard_cart .ec-shop-card-head h3{font-size:1.1em;margin:0;}
#order-standard_cart .ec-shop-stock{flex-shrink:0;color:var(--ec-text-faint);font-size:.75em;font-weight:600;white-space:nowrap;}

/* the offer card is a narrow 1/3-width column, so the description's spec
   list (normally 3 columns on the wide configure page) is forced to a
   single stacked column here — same rows, same icons, just narrower. */
#order-standard_cart .ec-shop-desc{flex:1;margin-top:14px !important;}
#order-standard_cart .ec-shop-desc .list-unstyled{grid-template-columns:1fr !important;}

#order-standard_cart .ec-shop-card-foot{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--ec-border);
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
#order-standard_cart .ec-shop-price{display:flex;flex-direction:column;line-height:1.3;}
#order-standard_cart .ec-shop-price-label{color:var(--ec-text-faint);font-size:.75em;font-weight:600;}
#order-standard_cart .ec-shop-price-amt{font-family:var(--ec-font-display);font-size:1.35em;font-weight:800;color:var(--ec-text);}
#order-standard_cart .ec-shop-price-cycle{color:var(--ec-text-faint);font-size:.78em;}
#order-standard_cart .ec-shop-setup{display:block;color:var(--ec-text-faint);font-size:.72em;}
#order-standard_cart .ec-shop-cta{
  display:inline-flex;align-items:center;gap:8px;border-radius:var(--ec-radius-sm);font-weight:600;
  background:var(--ec-blue);border-color:var(--ec-blue);
}
#order-standard_cart .ec-shop-cta:hover{background:var(--ec-blue-dark);border-color:var(--ec-blue-dark);}
#order-standard_cart .ec-shop-cta .icon{width:14px;height:14px;}
