/* ==========================================================================
   ElypseCloud - Order Form (Standard Cart)
   Couleurs, polices et arrondis : ceux de l'espace client (--ec-* de css/custom.css et
   css/contrast.css du thème), qui charge ses feuilles avant celle-ci. Ce fichier ne les
   redéfinit plus : avant le 02/11/2026, ses propres valeurs, chargées après, annulaient le
   contraste renforcé sur toutes les pages de commande.
   Première partie : retouches des pages WHMCS d'origine (boutons, champs, noms de domaine...).
   Seconde partie : le tunnel refait (boutique, configuration, panier, paiement).
   ========================================================================== */

/* thème sombre : lavis clairs à la place des lavis sombres prévus pour un fond clair */
:root[data-theme="dark"] #order-standard_cart .products .product header,
:root[data-theme="dark"] #order-standard_cart .well,
:root[data-theme="dark"] #order-standard_cart .domain-bulk-domain-well,
:root[data-theme="dark"] #order-standard_cart .domain-bulk-options-box,
:root[data-theme="dark"] #order-standard_cart table th{background-color:rgba(255,255,255,.04);}
:root[data-theme="dark"] #order-standard_cart .btn-default:hover,
:root[data-theme="dark"] #order-standard_cart .btn-default:focus,
:root[data-theme="dark"] #order-standard_cart .form-control[readonly],
:root[data-theme="dark"] #order-standard_cart .form-control[disabled],
:root[data-theme="dark"] #order-standard_cart .field[readonly],
:root[data-theme="dark"] #order-standard_cart .field[disabled]{background-color:rgba(255,255,255,.06);}

#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);}

/* ---------- base button system ----------
   WHMCS's stock cart markup uses plain .btn/.btn-default/.btn-primary/.btn-link
   all over (edit, remove, update qty, apply promo, continue shopping, modal
   confirm/cancel...) but only a handful of bespoke buttons (checkout, order-
   now) were ever restyled - everything else fell back to WHMCS's unstyled
   defaults, which is what reads as low-contrast next to the rest of the page. */
#order-standard_cart .btn{border-radius:var(--ec-radius-sm);font-weight:600;}
#order-standard_cart .btn-primary{background-color:var(--ec-blue);border-color:var(--ec-blue);color:#fff;}
#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-primary:focus{background-color:var(--ec-blue-dark);border-color:var(--ec-blue-dark);color:#fff;}
#order-standard_cart .btn-default{background-color:var(--ec-card);border-color:var(--ec-border-strong);color:var(--ec-text);}
#order-standard_cart .btn-default:hover,
#order-standard_cart .btn-default:focus{background-color:rgba(15,23,42,.03);border-color:var(--ec-border-strong);color:var(--ec-text);}
#order-standard_cart .btn-link{color:var(--ec-blue-light);font-weight:600;}
#order-standard_cart .btn-link:hover,
#order-standard_cart .btn-link:focus{color:var(--ec-blue-dark);text-decoration:none;}
#order-standard_cart .btn:focus,
#order-standard_cart .btn.focus{outline:none;box-shadow:0 0 0 3px rgba(46,95,158,.15);}
#order-standard_cart .btn.disabled,
#order-standard_cart .btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none;}

/* "remove from cart" buttons: icon-only, discreet by default, red on hover.
   Not scoped to one section - this same class is reused for every product/
   addon/domain/renewal/upgrade row in the cart. */
#order-standard_cart .btn-remove-from-cart{
  padding:6px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;
  color:var(--ec-text-faint);background:transparent;border:none;
}
#order-standard_cart .btn-remove-from-cart:hover,
#order-standard_cart .btn-remove-from-cart:focus{background:rgba(196,52,42,.08);color:var(--ec-red);}

/* form fields (.field / .prepend-icon is WHMCS's own icon-prefixed input pattern) */
#order-standard_cart .field,
#order-standard_cart .form-control{
  background-color:var(--ec-card);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 .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;}

/* ---------- configure product ---------- */
#order-standard_cart .ec-config-header{
  background:var(--ec-card);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;color:var(--ec-text-muted);line-height:1.65;font-size:.92em;}

/* Generic typography for whatever an admin actually typed into the
   description field - a plain paragraph, a basic bullet/numbered list, bold
   text, links - so descriptions look polished even when they don't follow
   the specific spec-list markup pattern targeted below. */
#order-standard_cart .ec-config-desc p{margin:0 0 12px;}
#order-standard_cart .ec-config-desc p:last-child{margin-bottom:0;}
#order-standard_cart .ec-config-desc strong,
#order-standard_cart .ec-config-desc b{color:var(--ec-text);font-weight:700;}
#order-standard_cart .ec-config-desc a{color:var(--ec-blue-light);font-weight:600;}
#order-standard_cart .ec-config-desc a:hover{color:var(--ec-blue-dark);}
#order-standard_cart .ec-config-desc ul:not(.list-unstyled){margin:0 0 12px;padding-left:0;list-style:none;}
#order-standard_cart .ec-config-desc ul:not(.list-unstyled) li{position:relative;padding-left:20px;margin-bottom:7px;}
#order-standard_cart .ec-config-desc ul:not(.list-unstyled) li::before{
  content:"";position:absolute;left:2px;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--ec-blue);
}
#order-standard_cart .ec-config-desc ol:not(.list-unstyled){margin:0 0 12px;padding-left:0;list-style:none;counter-reset:ecdesc;}
#order-standard_cart .ec-config-desc ol:not(.list-unstyled) li{position:relative;padding-left:24px;margin-bottom:7px;}
#order-standard_cart .ec-config-desc ol:not(.list-unstyled) li::before{
  content:counter(ecdesc) ".";counter-increment:ecdesc;
  position:absolute;left:0;top:0;font-weight:700;color:var(--ec-blue);font-size:.95em;
}
#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;background:var(--ec-card) !important;border:1px solid var(--ec-border) !important;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  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 a real SVG (the exact same
   shapes as the site's icon sprite, baked in as data-URIs since a CSS
   background-image can't reference a <symbol> by id) via background-image,
   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 dot for unmapped classes.
   Colors are hardcoded to match --ec-blue/--ec-green - custom properties
   aren't readable from inside a data-URI's own SVG markup. */
#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-color:var(--ec-blue-tint);
  background-repeat:no-repeat !important;background-position:center !important;background-size:16px !important;
  font-size:0;line-height:1;margin:0 !important;color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='2.5' fill='%232e5f9e'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-microchip{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5h3l2-5 4 9 2-6h3'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-memory,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-server{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='3' y='3' width='14' height='6' rx='1.4' fill='none' stroke='%232e5f9e' stroke-width='1.6'/%3E%3Crect x='3' y='11' width='14' height='6' rx='1.4' fill='none' stroke='%232e5f9e' stroke-width='1.6'/%3E%3Ccircle cx='6.2' cy='6' r='.9' fill='%232e5f9e'/%3E%3Ccircle cx='6.2' cy='14' r='.9' fill='%232e5f9e'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-hdd,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-database{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M10 2.8 17 6.5v7L10 17.2 3 13.5v-7Z'/%3E%3Cpath d='M3 6.5 10 10l7-3.5M10 10v7.2'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-network-wired,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-wifi,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-globe,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-globe-americas{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.6'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M3 10h14M10 3c2.2 2 2.2 12 0 14M10 3c-2.2 2-2.2 12 0 14'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-map-marker-alt{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M10 17.5S15.5 12.4 15.5 8a5.5 5.5 0 0 0-11 0c0 4.4 5.5 9.5 5.5 9.5Z'/%3E%3Ccircle cx='10' cy='8' r='2'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-shield-alt{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2.5 16 5v5c0 4.2-2.7 6.6-6 8-3.3-1.4-6-3.8-6-8V5Z'/%3E%3Cpath d='m7.3 10 1.9 1.9L13 8'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-lock{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.6'%3E%3Crect x='4.5' y='9' width='11' height='7.5' rx='1.6'/%3E%3Cpath d='M6.5 9V6.5a3.5 3.5 0 0 1 7 0V9'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-check,
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-check-circle{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 10.5 3.5 3.5 7.5-8'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-bolt{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M11 2.5 4.5 11h4.2L8 17.5 15.5 9h-4.2L11 2.5Z' fill='%232e5f9e'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li i.fa-cloud{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232e5f9e' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M6.5 14.5a3.3 3.3 0 0 1-.5-6.56 4 4 0 0 1 7.74-1.2A3.3 3.3 0 0 1 13.5 14.5Z'/%3E%3C/svg%3E") !important;
}
#order-standard_cart .ec-config-desc .list-unstyled > li .text-success i{
  background-color:rgba(26,138,84,.12);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%231a8a54' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 10.5 3.5 3.5 7.5-8'/%3E%3C/svg%3E") !important;
}
#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-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;}


/* ---------- domain register/transfer page - restyle only, stock domainregister.tpl ----------
   No template override here (deliberately - see conversation: a full rewrite risked
   guessing WHMCS's internal Smarty variables wrong on a live purchase flow). Same
   idea as the .domain-checker-*/.spotlight-tld rules above: target WHMCS's own
   real markup/classes so the page keeps using WHMCS's stock search + availability
   logic untouched, only the visuals change. */

/* sidebar removed. products.tpl/viewcart.tpl achieve this by simply not rendering
   the sidebar markup at all (see .ec-cart-body-full above) - this page still uses
   WHMCS's stock template, which does render it, so it's hidden via CSS instead.
   Confirmed via live page source: WHMCS renders BOTH a desktop version
   (.cart-sidebar, containing the "Catégories"/"Actions" panels directly) AND a
   separate mobile-breakpoint version nested inside .cart-body itself
   (.sidebar-collapsed, same panels as a <select> dropdown) - both must be hidden. */
#order-standard_cart .cart-sidebar,
#order-standard_cart .sidebar-collapsed{display:none !important;}
#order-standard_cart .cart-body{width:100% !important;float:none !important;}

/* search hero: give the existing dark banner (.domain-checker-bg is WHMCS's own
   class, already dark-blue via the rule above) a proper card treatment instead of
   a flat full-bleed rectangle, and center the search form inside it. border/outline
   reset in case the odd corner highlight seen in testing comes from a stock
   validation-state border (e.g. .has-warning) landing on this container. */
#order-standard_cart .domain-checker-bg{
  border-radius:var(--ec-radius-lg);padding:36px 28px;margin-bottom:28px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  border:none !important;outline:none !important;
}
#order-standard_cart .domain-checker-bg h1,
#order-standard_cart .domain-checker-bg h2,
#order-standard_cart .domain-checker-bg h3,
#order-standard_cart .domain-checker-bg p{color:#fff;}
#order-standard_cart .domain-checker-container{max-width:640px;margin:0 auto;}
#order-standard_cart .domain-checker-container .btn{
  border-radius:0 var(--ec-radius-sm) var(--ec-radius-sm) 0 !important;
}

/* TLD category filter pills ("Popular"/"Other") - WHMCS renders these as
   Bootstrap badges (badge/badge-secondary, badge-success for the active one) */
#order-standard_cart .badge-secondary{
  display:inline-flex;align-items:center;background:var(--ec-card) !important;
  border:1px solid var(--ec-border-strong);border-radius:999px;
  padding:8px 16px;font-family:var(--ec-font-display);font-weight:700;font-size:.85em;
  color:var(--ec-text-muted) !important;box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#order-standard_cart .badge-success{
  background:var(--ec-blue) !important;border-color:var(--ec-blue) !important;color:#fff !important;
}

/* TLD pricing table: round it into a card and clean up the header/row styling */
#order-standard_cart table{
  background:var(--ec-card);border-collapse:separate;border-spacing:0;width:100%;
  border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);overflow:hidden;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#order-standard_cart table th{
  background:rgba(15,23,42,.02);font-family:var(--ec-font-display);font-weight:700;
  color:var(--ec-text);border-color:var(--ec-border) !important;
}
#order-standard_cart table td{border-color:var(--ec-border) !important;color:var(--ec-text-muted);}
#order-standard_cart table tr:hover td{background:rgba(15,23,42,.015);}
#order-standard_cart table td strong,
#order-standard_cart table td b{font-family:var(--ec-font-display);color:var(--ec-text);}

/* ==========================================================================
   Tunnel de commande (02/11/2026) : boutique, configuration, panier, paiement.
   Présentation de la maquette validée ; couleurs, polices et arrondis de l'espace client
   (css/custom.css et css/contrast.css du thème, lus via --ec-*).
   ========================================================================== */

/* ---------- cases et boutons radio de WHMCS (iCheck) ----------
   WHMCS habille chaque case du panier avec iCheck. On garde le script (l'ajout d'options et le
   choix du moyen de paiement en dépendent), mais on redessine la case. Les cartes de choix
   portent la classe no-icheck : elles dessinent leur propre indicateur. */
#order-standard_cart .iradio_square-blue,
#order-standard_cart .icheckbox_square-blue{
  display:inline-block;position:relative;flex-shrink:0;vertical-align:-4px;
  width:18px;height:18px;margin:0 8px 0 0;box-sizing:border-box;cursor:pointer;
  background:var(--ec-card) !important;border:1.5px solid var(--ec-input-border,var(--ec-border-strong));
  border-radius:50%;transition:border-color .15s,border-width .15s,background-color .15s;
}
#order-standard_cart .icheckbox_square-blue{border-radius:5px;}
#order-standard_cart .iradio_square-blue.hover,
#order-standard_cart .icheckbox_square-blue.hover{border-color:var(--ec-blue);}
#order-standard_cart .iradio_square-blue.checked{border:5.5px solid var(--ec-blue);}
#order-standard_cart .icheckbox_square-blue.checked{
  border-color:var(--ec-blue);
  background:var(--ec-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10.5 3.2 3.2L15 6.8'/%3E%3C/svg%3E") center/13px no-repeat !important;
}
#order-standard_cart .iradio_square-blue.focus,
#order-standard_cart .icheckbox_square-blue.focus{box-shadow:0 0 0 3px var(--ec-focus-ring,var(--ec-blue-tint));}
#order-standard_cart .iradio_square-blue.disabled,
#order-standard_cart .icheckbox_square-blue.disabled{opacity:.45;cursor:not-allowed;}
#order-standard_cart input[type=checkbox].ec-check{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ec-blue);cursor:pointer;}
/* champ masqué mais atteignable au clavier : la carte autour dessine le choix */
#order-standard_cart .ec-sr{position:absolute !important;opacity:0;width:1px;height:1px;margin:0;pointer-events:none;}

/* ---------- mise en page : contenu + récapitulatif ----------
   Grille au lieu des flottants de WHMCS : son script, qui fait glisser le récapitulatif au
   défilement, s'arrête quand le conteneur n'est plus flottant ; position:sticky le remplace. */
#order-standard_cart .ec-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;margin:0;}
#order-standard_cart .ec-layout > .secondary-cart-body,
#order-standard_cart .ec-layout > .secondary-cart-sidebar{float:none;width:auto;max-width:none;padding:0;margin:0;}
#order-standard_cart .ec-layout > .secondary-cart-sidebar{position:sticky;top:96px;}
@media (max-width:991px){
  #order-standard_cart .ec-layout{grid-template-columns:minmax(0,1fr);}
  #order-standard_cart .ec-layout > .secondary-cart-sidebar{position:static;}
}

/* ---------- étapes ---------- */
#order-standard_cart .ec-steps{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 10px;
  list-style:none;margin:0 0 24px;padding:0;background:none;border:0;box-shadow:none;
}
#order-standard_cart .ec-step{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ec-text-faint);}
#order-standard_cart .ec-step-dot{
  width:24px;height:24px;flex-shrink:0;box-sizing:border-box;display:grid;place-items:center;
  border-radius:50%;border:1.5px solid var(--ec-border-strong);background:transparent;
  color:var(--ec-text-faint);font-size:12px;font-weight:700;
}
#order-standard_cart .ec-step.done,
#order-standard_cart .ec-step.active{color:var(--ec-text);}
#order-standard_cart .ec-step.done .ec-step-dot{background:var(--ec-green);border-color: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 .ec-step-dot{background:var(--ec-blue);border-color:var(--ec-blue);color:#fff;}
#order-standard_cart .ec-step-line{width:36px;height:2px;border-radius:2px;background:var(--ec-border);}
#order-standard_cart .ec-step-line.done{background:var(--ec-green);}
@media (max-width:640px){
  #order-standard_cart .ec-step:not(.active) .ec-step-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  #order-standard_cart .ec-step-line{width:16px;}
}

/* ---------- cartes ---------- */
#order-standard_cart .ec-card{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:22px 24px;margin-bottom:16px;}
#order-standard_cart .ec-card > h2,
#order-standard_cart .ec-card-title{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-muted{color:var(--ec-text-muted);}
#order-standard_cart .ec-link-btn{
  display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0;border:0;background:none;
  color:var(--ec-blue);font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;
}
#order-standard_cart .ec-link-btn:hover{color:var(--ec-blue-dark);text-decoration:underline;text-underline-offset:3px;}
#order-standard_cart .ec-link-btn.is-quiet{color:var(--ec-text-muted);}
#order-standard_cart .ec-link-btn.is-danger:hover{color:var(--ec-red);}
#order-standard_cart .ec-link-btn .icon{width:15px;height:15px;}

/* ---------- boutique : familles, catégories, offres ---------- */
#order-standard_cart .ec-fam-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin:0 0 12px;background:var(--ec-hover-2);border-radius:10px;}
#order-standard_cart .ec-fam-tab{
  display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:8px;
  color:var(--ec-text-muted) !important;font-size:14px;font-weight:600;text-decoration:none !important;
}
#order-standard_cart .ec-fam-tab .icon{width:16px;height:16px;}
#order-standard_cart .ec-fam-tab:hover{color:var(--ec-text) !important;}
#order-standard_cart .ec-fam-tab.active{background:var(--ec-card);color:var(--ec-text) !important;font-weight:700;box-shadow:var(--ec-shadow-1);}
#order-standard_cart .ec-fam-tab.active .icon{color:var(--ec-blue);}
#order-standard_cart .ec-sub-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;}
#order-standard_cart .ec-sub-pill{
  display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:8px;
  border:1px solid var(--ec-border-strong);background:var(--ec-card);
  color:var(--ec-text) !important;font-size:14px;font-weight:600;text-decoration:none !important;
}
#order-standard_cart .ec-sub-pill:hover{border-color:var(--ec-blue);}
#order-standard_cart .ec-sub-pill.active{background:var(--ec-blue);border-color:var(--ec-blue);color:#fff !important;}
#order-standard_cart .ec-sub-pill .badge{margin-left:6px;}
#order-standard_cart .ec-shop-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;margin:0 0 18px;}
#order-standard_cart .ec-shop-head h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.01em;}
#order-standard_cart .ec-shop-head p{margin:4px 0 0;color:var(--ec-text-muted);font-size:15px;}
#order-standard_cart .ec-save-chip{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:8px;
  background:color-mix(in srgb,var(--ec-green) 11%,transparent);color:var(--ec-green);font-size:14px;font-weight:700;
}
#order-standard_cart .ec-save-chip .icon{width:16px;height:16px;}
#order-standard_cart .ec-included{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 26px;margin:0 0 16px;padding:14px 18px;
  background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);font-size:14px;
}
#order-standard_cart .ec-included-title{color:var(--ec-text-muted);font-size:13px;font-weight:600;}
#order-standard_cart .ec-included-item{display:inline-flex;align-items:center;gap:7px;color:var(--ec-text);font-weight:600;}
#order-standard_cart .ec-included-item .icon{width:16px;height:16px;color:var(--ec-green);}
#order-standard_cart .ec-included-item span{font-weight:500;color:var(--ec-text-muted);}
#order-standard_cart .ec-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:stretch;}
#order-standard_cart .ec-plan{
  display:flex;flex-direction:column;gap:14px;padding:20px;min-width:0;
  background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
}
#order-standard_cart .ec-plan.is-featured{border:2px solid var(--ec-blue);padding:19px;}
#order-standard_cart .ec-plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px;}
#order-standard_cart .ec-plan-badge{display:inline-block;padding:2px 9px;border-radius:6px;background:var(--ec-blue);color:#fff;font-size:12px;font-weight:700;}
#order-standard_cart .ec-plan-stock{color:var(--ec-text-muted);font-size:12px;font-weight:600;}
#order-standard_cart .ec-plan h2{margin:0;font-size:21px;font-weight:700;overflow-wrap:anywhere;}
#order-standard_cart .ec-plan-intro{margin:3px 0 0;color:var(--ec-text-muted);font-size:13px;}
#order-standard_cart .ec-plan-specs{margin:0;}
#order-standard_cart .ec-plan-specs > div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-plan-specs > div:last-child{border-bottom:1px solid var(--ec-border);}
#order-standard_cart .ec-plan-specs dt{font-size:13px;font-weight:500;color:var(--ec-text-muted);}
#order-standard_cart .ec-plan-specs dd{margin:0;font-weight:700;color:var(--ec-text);text-align:right;overflow-wrap:anywhere;}
#order-standard_cart .ec-plan-specs dd.is-ok{color:var(--ec-green);}
#order-standard_cart .ec-plan > .ec-config-desc{margin:0;flex:1;}
#order-standard_cart .ec-plan-foot{margin-top:auto;}
#order-standard_cart .ec-plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;}
#order-standard_cart .ec-plan-from{width:100%;color:var(--ec-text-muted);font-size:12px;font-weight:600;}
#order-standard_cart .ec-plan-amount{font-family:var(--ec-font-display);font-size:27px;font-weight:800;letter-spacing:-.01em;color:var(--ec-text);font-variant-numeric:tabular-nums;}
#order-standard_cart .ec-plan-cycle{color:var(--ec-text-muted);font-size:13px;}
#order-standard_cart .ec-plan-note{margin:3px 0 14px;color:var(--ec-text-muted);font-size:13px;}
#order-standard_cart .ec-plan-note.is-save{color:var(--ec-green);font-weight:600;}
#order-standard_cart .ec-plan-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:8px;
  border:1px solid var(--ec-blue);background:transparent;color:var(--ec-blue) !important;
  font-weight:700;text-decoration:none !important;transition:background-color .15s,border-color .15s;
}
#order-standard_cart .ec-plan-cta:hover{background:var(--ec-blue-tint);}
#order-standard_cart .ec-plan.is-featured .ec-plan-cta{background:var(--ec-blue);color:#fff !important;}
#order-standard_cart .ec-plan.is-featured .ec-plan-cta:hover{background:var(--ec-blue-dark);border-color:var(--ec-blue-dark);}
#order-standard_cart .ec-faq{display:flex;flex-wrap:wrap;gap:20px 40px;margin-top:34px;padding-top:26px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-faq-head{flex:1 1 240px;}
#order-standard_cart .ec-faq-head h2{margin:0;font-size:20px;font-weight:700;}
#order-standard_cart .ec-faq-head p{margin:6px 0 0;color:var(--ec-text-muted);font-size:14px;}
#order-standard_cart .ec-faq-list{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:8px;}
#order-standard_cart .ec-faq details{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);}
#order-standard_cart .ec-faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 16px;
  font-weight:600;color:var(--ec-text);cursor:pointer;list-style:none;
}
#order-standard_cart .ec-faq summary::-webkit-details-marker{display:none;}
#order-standard_cart .ec-faq summary .icon{width:16px;height:16px;flex-shrink:0;color:var(--ec-text-faint);transition:transform .2s var(--ec-ease);}
#order-standard_cart .ec-faq details[open] summary .icon{transform:rotate(180deg);}
#order-standard_cart .ec-faq details p{margin:0;padding:0 16px 16px;color:var(--ec-text-muted);font-size:14px;}
/* accueil de la boutique (aucune catégorie choisie) : une carte par famille */
#order-standard_cart .ec-fam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;}
#order-standard_cart .ec-fam-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);}
#order-standard_cart .ec-fam-card h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;}
#order-standard_cart .ec-fam-card h2 .icon{width:20px;height:20px;color:var(--ec-blue);}
#order-standard_cart .ec-fam-card ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}

/* ---------- configuration : en-tête du produit ---------- */
#order-standard_cart .ec-config-header{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:22px 24px;margin-bottom:16px;box-shadow:none;}
#order-standard_cart .ec-config-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
#order-standard_cart .ec-config-eyebrow{margin:0;color:var(--ec-text-muted);font-size:13px;font-weight:600;}
#order-standard_cart .ec-config-header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.2;}
#order-standard_cart .ec-config-intro{margin:4px 0 0;color:var(--ec-text-muted);font-size:14px;}
/* chaque caractéristique prend sa largeur (« 2 x Xeon E5-2620 v4 » sur une ligne), retour à la ligne s'il faut */
#order-standard_cart .ec-config-specs{display:flex;flex-wrap:wrap;gap:14px 36px;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-config-specs > div{flex:0 1 auto;min-width:0;}
@media (max-width:520px){#order-standard_cart .ec-config-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;}}
#order-standard_cart .ec-config-specs dt{font-size:13px;font-weight:500;color:var(--ec-text-muted);}
#order-standard_cart .ec-config-specs dd{margin:0;font-weight:700;color:var(--ec-text);overflow-wrap:anywhere;}
#order-standard_cart .ec-config-specs dd.is-ok{color:var(--ec-green);}

/* ---------- configuration : sections ---------- */
#order-standard_cart .ec-cfg-section{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:22px 24px;margin-bottom:16px;box-shadow:none;}
#order-standard_cart .ec-cfg-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
#order-standard_cart .ec-cfg-num{
  width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;
  background:var(--ec-text);color:var(--ec-card);font-family:var(--ec-font-body);font-size:13px;font-weight:700;
}
#order-standard_cart .ec-cfg-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:0;}
#order-standard_cart .ec-cfg-head p{margin:2px 0 0;color:var(--ec-text-muted);font-size:14px;line-height:1.5;}
#order-standard_cart .ec-cfg-subtitle{margin:22px 0 10px;font-family:var(--ec-font-body);font-size:14px;font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-cfg-subtitle:first-child{margin-top:0;}
#order-standard_cart .ec-cfg-subtitle span{font-weight:500;color:var(--ec-text-muted);}

/* ---------- durée ---------- */
#order-standard_cart .ec-cycle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;padding:0;}
#order-standard_cart .ec-cycle-card{
  position:relative;display:flex;flex-direction:column;gap:5px;margin:0;padding:14px;cursor:pointer;
  background:var(--ec-card);border:1px solid var(--ec-border-strong);border-radius:var(--ec-radius-lg);
  font-weight:400;transition:border-color .15s,background-color .15s,box-shadow .15s;
}
#order-standard_cart .ec-cycle-card:hover{border-color:var(--ec-text-faint);}
#order-standard_cart .ec-cycle-card:has(input:checked){border-color:var(--ec-blue);box-shadow:0 0 0 1px var(--ec-blue);background:color-mix(in srgb,var(--ec-blue) 6%,var(--ec-card));}
#order-standard_cart .ec-cycle-card:has(input:focus-visible){outline:2px solid var(--ec-blue);outline-offset:2px;}
#order-standard_cart .ec-cycle-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--ec-text);white-space:nowrap;}
#order-standard_cart .ec-cycle-name::before,
#order-standard_cart .ec-choice-radio{
  content:"";width:18px;height:18px;flex-shrink:0;box-sizing:border-box;border-radius:50%;
  border:1.5px solid var(--ec-input-border,var(--ec-border-strong));background:var(--ec-card);transition:border .15s;
}
#order-standard_cart .ec-cycle-card:has(input:checked) .ec-cycle-name::before{border:6px solid var(--ec-blue);}
#order-standard_cart .ec-cycle-price{display:flex;align-items:baseline;gap:4px;margin-top:4px;}
#order-standard_cart .ec-cycle-price strong{font-family:var(--ec-font-display);font-size:24px;font-weight:800;letter-spacing:-.01em;color:var(--ec-text);font-variant-numeric:tabular-nums;}
#order-standard_cart .ec-cycle-price small{color:var(--ec-text-muted);font-size:13px;font-weight:500;}
#order-standard_cart .ec-cycle-billed{color:var(--ec-text-muted);font-size:13px;line-height:1.4;}
#order-standard_cart .ec-cycle-save{color:var(--ec-green);font-size:13px;font-weight:600;line-height:1.4;}
#order-standard_cart .ec-cycle-save.is-neutral{color:var(--ec-text-muted);font-weight:500;}
#order-standard_cart .ec-cycle-best{
  position:absolute;top:12px;right:12px;padding:2px 7px;border-radius:6px;
  background:color-mix(in srgb,var(--ec-green) 12%,transparent);color:var(--ec-green);font-size:11.5px;font-weight:700;
}

/* ---------- options ---------- */
#order-standard_cart .ec-opt-list{display:flex;flex-direction:column;}
#order-standard_cart .ec-opt-row{display:block;padding:18px 0 0;margin-top:18px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-opt-row:first-child{padding-top:0;margin-top:0;border-top:0;}
#order-standard_cart .ec-opt-label,
#order-standard_cart .ec-opt-label label{display:block;margin:0 0 10px;font-size:14px;font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-opt-control{min-width:0;}
#order-standard_cart .ec-seg{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;background:var(--ec-hover-2);border:0;border-radius:10px;}
#order-standard_cart .ec-seg-item{position:relative;margin:0;cursor:pointer;font-weight:400;}
#order-standard_cart .ec-seg-item span{display:block;min-height:38px;line-height:38px;padding:0 15px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ec-text-muted);white-space:nowrap;}
#order-standard_cart .ec-seg-item:hover span{color:var(--ec-text);}
#order-standard_cart .ec-seg-item:has(input:checked) span{background:var(--ec-card);color:var(--ec-text);box-shadow:var(--ec-shadow-1);}
#order-standard_cart .ec-seg-item:has(input:focus-visible) span{outline:2px solid var(--ec-blue);outline-offset:1px;}
#order-standard_cart .ec-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;}
#order-standard_cart .ec-choice-card{
  position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:12px;cursor:pointer;
  background:var(--ec-card);border:1px solid var(--ec-border-strong);border-radius:var(--ec-radius-lg);
  font-weight:400;transition:border-color .15s,background-color .15s,box-shadow .15s;
}
#order-standard_cart .ec-choice-card:hover{border-color:var(--ec-text-faint);}
#order-standard_cart .ec-choice-card:has(input:checked){border-color:var(--ec-blue);box-shadow:0 0 0 1px var(--ec-blue);background:color-mix(in srgb,var(--ec-blue) 6%,var(--ec-card));}
#order-standard_cart .ec-choice-card:has(input:focus-visible){outline:2px solid var(--ec-blue);outline-offset:2px;}
#order-standard_cart .ec-choice-card:has(input:checked) .ec-choice-radio{border:6px solid var(--ec-blue);}
#order-standard_cart .ec-choice-logo{
  width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;background:#fff;color:#1d1d1f;border:1px solid var(--ec-border);
}
#order-standard_cart .ec-choice-logo svg{width:22px;height:22px;}
#order-standard_cart .ec-choice-logo.is-generic{background:var(--ec-hover-2);color:var(--ec-text-muted);border-color:transparent;}
#order-standard_cart .ec-choice-logo.is-plesk svg,
#order-standard_cart .ec-choice-logo.is-cpanel svg{width:30px;height:30px;}
:root[data-theme="dark"] #order-standard_cart .ec-choice-logo:not(.is-generic){background:#f3f5f9;border-color:transparent;}
#order-standard_cart .ec-choice-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
#order-standard_cart .ec-choice-name{font-size:15px;font-weight:700;color:var(--ec-text);line-height:1.3;overflow-wrap:normal;word-break:normal;hyphens:manual;}
#order-standard_cart .ec-choice-desc{font-size:13px;color:var(--ec-text-muted);line-height:1.4;}
#order-standard_cart .ec-choice-price{font-size:13px;font-weight:600;color:var(--ec-text-muted);}
#order-standard_cart .ec-choice-tag{
  align-self:flex-start;margin-top:2px;padding:1px 6px;border-radius:5px;
  background:var(--ec-blue-tint);color:var(--ec-blue);font-size:11.5px;font-weight:700;
}
/* système : une carte par distribution, la version dans une liste */
#order-standard_cart .ec-os-card select{
  max-width:160px;min-height:32px;margin-top:4px;padding:0 28px 0 8px;font-size:13px;
  border:1px solid var(--ec-border-strong);border-radius:6px;background-color:var(--ec-card);color:var(--ec-text);cursor:pointer;
}
#order-standard_cart .ec-os-card .ec-choice-desc{margin-top:2px;}
/* option seule (un seul choix possible) : affichée, pas choisie */
#order-standard_cart .ec-opt-static{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);background:var(--ec-card-alt,var(--ec-card));}
#order-standard_cart .ec-opt-static strong{font-weight:700;color:var(--ec-text);}
/* option « aucune / payante » : un interrupteur */
#order-standard_cart .ec-opt-toggle{
  display:flex;align-items:center;gap:14px;padding:14px;margin:0;cursor:pointer;font-weight:400;
  border:1px solid var(--ec-border-strong);border-radius:var(--ec-radius-lg);background:var(--ec-card);
  transition:border-color .15s,background-color .15s,box-shadow .15s;
}
#order-standard_cart .ec-opt-toggle:has(.ec-toggle-input:checked){border-color:var(--ec-blue);box-shadow:0 0 0 1px var(--ec-blue);background:color-mix(in srgb,var(--ec-blue) 6%,var(--ec-card));}
#order-standard_cart .ec-opt-toggle:has(.ec-toggle-input:focus-visible){outline:2px solid var(--ec-blue);outline-offset:2px;}
#order-standard_cart .ec-opt-toggle-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:9px;background:var(--ec-blue-tint);color:var(--ec-blue);}
#order-standard_cart .ec-opt-toggle-icon .icon{width:18px;height:18px;}
#order-standard_cart .ec-opt-toggle-text{flex:1;min-width:0;display:flex;flex-direction:column;}
#order-standard_cart .ec-opt-toggle-text strong{font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-opt-toggle-text span{font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-opt-toggle-price{font-weight:700;color:var(--ec-text);white-space:nowrap;}
#order-standard_cart .ec-switch-track{position:relative;width:46px;height:28px;flex-shrink:0;border-radius:999px;background:var(--ec-border-strong);transition:background-color .2s;}
#order-standard_cart .ec-switch-track::after{
  content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.3);transition:transform .2s var(--ec-ease);
}
#order-standard_cart :checked ~ .ec-switch-track,
#order-standard_cart .ec-switch:has(input:checked) .ec-switch-track{background:var(--ec-blue);}
#order-standard_cart :checked ~ .ec-switch-track::after,
#order-standard_cart .ec-switch:has(input:checked) .ec-switch-track::after{transform:translateX(18px);}
#order-standard_cart .ec-switch{display:inline-flex;align-items:center;gap:10px;margin:0;cursor:pointer;font-weight:500;color:var(--ec-text);position:relative;}
#order-standard_cart .ec-switch:has(input:focus-visible) .ec-switch-track{outline:2px solid var(--ec-blue);outline-offset:2px;}
#order-standard_cart .ec-switch-text{font-size:14px;}
/* quantité : boutons − et + autour du nombre */
#order-standard_cart .ec-stepper{display:inline-flex;align-items:center;border:1px solid var(--ec-input-border,var(--ec-border-strong));border-radius:8px;overflow:hidden;background:var(--ec-card);}
#order-standard_cart .ec-stepper button{width:44px;height:44px;border:0;background:none;color:var(--ec-text);font-size:20px;line-height:1;cursor:pointer;}
#order-standard_cart .ec-stepper button:hover{background:var(--ec-hover-2);}
#order-standard_cart .ec-stepper button:disabled{color:var(--ec-text-faint);cursor:not-allowed;background:none;}
#order-standard_cart .ec-stepper input{
  width:64px;height:44px;border:0;border-left:1px solid var(--ec-border);border-right:1px solid var(--ec-border);
  border-radius:0;text-align:center;font-weight:700;background:none;color:var(--ec-text);-moz-appearance:textfield;appearance:textfield;
}
#order-standard_cart .ec-stepper input::-webkit-outer-spin-button,
#order-standard_cart .ec-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
#order-standard_cart .ec-qty-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;}
#order-standard_cart .ec-qty-note{color:var(--ec-text-muted);font-size:13px;}

/* ---------- configuration : accès au serveur, informations, options ---------- */
#order-standard_cart .ec-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;}
#order-standard_cart .ec-form-grid-1{grid-template-columns:minmax(0,1fr);}
#order-standard_cart .ec-form-field label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--ec-text);}
#order-standard_cart .ec-form-field .form-control,
#order-standard_cart .ec-field .form-control{height:44px;}
#order-standard_cart .ec-form-field textarea.form-control,
#order-standard_cart .ec-field textarea.form-control{height:auto;min-height:44px;}
#order-standard_cart .ec-form-field .field-help-text,
#order-standard_cart .ec-field .field-help-text{display:block;margin-top:6px;color:var(--ec-text-muted);font-size:13px;line-height:1.45;}
#order-standard_cart .ec-pass{display:flex;gap:6px;}
#order-standard_cart .ec-pass .form-control{flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;}
#order-standard_cart .ec-pass-btn{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:44px;padding:0 12px;cursor:pointer;
  background:var(--ec-card);border:1px solid var(--ec-border-strong);border-radius:8px;color:var(--ec-text);font-size:14px;font-weight:600;
}
#order-standard_cart .ec-pass-btn:hover{border-color:var(--ec-blue);}
#order-standard_cart .ec-pass-btn:focus-visible{outline:2px solid var(--ec-blue);outline-offset:2px;}
#order-standard_cart .ec-pass-btn .icon{width:17px;height:17px;color:var(--ec-text-muted);}
#order-standard_cart .ec-advanced{margin-top:18px;padding-top:14px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-advanced summary{display:inline-flex;align-items:center;gap:8px;min-height:36px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;color:var(--ec-text-muted);}
#order-standard_cart .ec-advanced summary::-webkit-details-marker{display:none;}
#order-standard_cart .ec-advanced summary::before{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);transition:transform .15s;}
#order-standard_cart .ec-advanced[open] summary::before{transform:rotate(45deg);}
#order-standard_cart .ec-advanced[open] summary{margin-bottom:14px;}
#order-standard_cart .ec-addon-list .panel-addon{background:var(--ec-card);border:1px solid var(--ec-border-strong);border-radius:var(--ec-radius-lg);box-shadow:none;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
#order-standard_cart .ec-addon-list .panel-addon:hover{border-color:var(--ec-text-faint);}
#order-standard_cart .ec-addon-list .panel-addon-selected{border-color:var(--ec-blue);box-shadow:0 0 0 1px var(--ec-blue);}
#order-standard_cart .ec-addon-list .panel-addon label{display:flex;align-items:center;color:var(--ec-text);font-weight:700;}
#order-standard_cart .ec-addon-list .panel-addon .panel-body{color:var(--ec-text-muted);font-size:14px;}
#order-standard_cart .ec-addon-list .panel-price{font-family:var(--ec-font-display);font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-addon-list .panel-add{background:var(--ec-blue-tint);color:var(--ec-blue);font-weight:600;}
#order-standard_cart .ec-addon-list .panel-addon-selected .panel-add{background:var(--ec-blue);color:#fff;}
#order-standard_cart .ec-help-line{margin:20px 0 6px;text-align:center;color:var(--ec-text-muted);font-size:14px;}

/* ---------- récapitulatif (configuration, panier, paiement) ---------- */
#order-standard_cart #orderSummary,
#order-standard_cart .secondary-cart-sidebar{background:transparent !important;border:none !important;box-shadow:none !important;}
#order-standard_cart .ec-summary-card{
  position:relative;margin-bottom:10px;padding:20px;color:var(--ec-text);
  background:var(--ec-card) !important;border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);box-shadow:none;
}
#order-standard_cart .ec-summary-card h2{margin:0 0 14px;font-size:18px;font-weight:700;}
#order-standard_cart #orderSummaryLoader{position:absolute;top:20px;right:20px;color:var(--ec-blue);}
#order-standard_cart #producttotal{background:transparent !important;color:var(--ec-text);}
#order-standard_cart .ec-sum-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
#order-standard_cart .ec-sum-item strong{display:block;font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-sum-item span{font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-sum-item b{font-weight:700;white-space:nowrap;}
#order-standard_cart .ec-sum-lines{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--ec-border);display:flex;flex-direction:column;gap:6px;font-size:14px;}
#order-standard_cart .ec-sum-lines li{display:flex;justify-content:space-between;gap:12px;color:var(--ec-text-muted);}
#order-standard_cart .ec-sum-lines li span:last-child{white-space:nowrap;text-align:right;}
#order-standard_cart .ec-sum-lines li.is-paid span:last-child{color:var(--ec-text);font-weight:600;}
#order-standard_cart .ec-sum-totals{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--ec-border);display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ec-text-muted);}
#order-standard_cart .ec-sum-totals > div{display:flex;justify-content:space-between;gap:12px;}
/* Ligne masquée par l'attribut hidden (ex. « Crédit appliqué », affichée par le script de checkout.tpl). */
#order-standard_cart .ec-sum-totals > div[hidden]{display:none;}
#order-standard_cart .ec-sum-totals dd{margin:0;white-space:nowrap;}
#order-standard_cart .ec-sum-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-sum-total span{font-weight:600;color:var(--ec-text);}
#order-standard_cart .ec-sum-total strong{font-family:var(--ec-font-display);font-size:26px;font-weight:800;letter-spacing:-.01em;color:var(--ec-text);font-variant-numeric:tabular-nums;white-space:nowrap;}
#order-standard_cart .ec-sum-renew{margin:2px 0 0;font-size:13px;color:var(--ec-text-muted);text-align:right;}
#order-standard_cart .ec-summary-cta,
#order-standard_cart .btn-checkout{
  display:flex !important;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:16px;
  border-radius:8px;font-size:16px;font-weight:700;
}
#order-standard_cart .ec-summary-cta .icon,
#order-standard_cart .btn-checkout .icon{width:16px;height:16px;}
#order-standard_cart .ec-trust{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-trust li{display:flex;align-items:center;gap:8px;}
#order-standard_cart .ec-trust .icon{width:15px;height:15px;flex-shrink:0;color:var(--ec-green);}
#order-standard_cart .ec-promo{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);}
#order-standard_cart .ec-promo summary{display:flex;align-items:center;min-height:48px;padding:0 16px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;color:var(--ec-blue);}
#order-standard_cart .ec-promo summary::-webkit-details-marker{display:none;}
#order-standard_cart .ec-promo-form{display:flex;gap:8px;padding:0 16px 16px;margin:0;}
#order-standard_cart .ec-promo-form .form-control{flex:1;min-width:0;height:44px;text-transform:uppercase;}
#order-standard_cart .ec-promo-form .btn{flex-shrink:0;height:44px;}
#order-standard_cart .ec-promo-applied{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;font-size:14px;}
#order-standard_cart .ec-promo-applied strong{color:var(--ec-green);}

/* barre du bas sur mobile : le total et « Continuer » restent visibles */
#order-standard_cart .ec-mbar{display:none;}
@media (max-width:991px){
  #order-standard_cart .ec-mbar{
    position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;gap:12px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--ec-card);
    border-top:1px solid var(--ec-border);box-shadow:0 -6px 16px -8px rgba(15,23,42,.18);
  }
  #order-standard_cart .ec-mbar-total{flex:1;min-width:0;line-height:1.25;}
  #order-standard_cart .ec-mbar-total span{display:block;font-size:12.5px;color:var(--ec-text-muted);}
  #order-standard_cart .ec-mbar-total strong{font-family:var(--ec-font-display);font-size:20px;font-weight:800;color:var(--ec-text);white-space:nowrap;}
  #order-standard_cart .ec-mbar .btn{flex-shrink:0;min-height:48px;padding:0 22px;border-radius:8px;font-size:16px;font-weight:700;}
  /* réserve sous le pied de page (et non avant) pour que la barre ne le recouvre pas ;
     sur .app-main et non sur body, qui a height:100% dans theme.css */
  .app-main:has(#order-standard_cart.has-mbar){padding-bottom:calc(84px + env(safe-area-inset-bottom));}
  /* liens du pied de page, sur tout le tunnel : zone tactile de 32 px par un padding
     vertical sur le lien en ligne, qui ne change ni la hauteur de ligne ni l'apparence */
  .app-main > footer a{padding:9px 0;}
}
/* navigateurs sans :has() : on garde l'ancienne réserve, posée sur le panier */
@media (max-width:991px){
  @supports not selector(:has(*)){
    #order-standard_cart.has-mbar{padding-bottom:84px;}
  }
}

/* ---------- panier ---------- */
#order-standard_cart .ec-page-title{margin:0 0 16px;font-size:28px;font-weight:700;letter-spacing:-.01em;}
#order-standard_cart .ec-cart-list{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);margin-bottom:16px;}
#order-standard_cart .ec-cart-item{display:flex;gap:16px;padding:20px 22px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-cart-item:first-child{border-top:0;}
#order-standard_cart .ec-cart-icon{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:var(--ec-blue-tint);color:var(--ec-blue);}
#order-standard_cart .ec-cart-icon .icon{width:20px;height:20px;}
#order-standard_cart .ec-cart-icon.is-neutral{background:var(--ec-hover-2);color:var(--ec-text-muted);}
#order-standard_cart .ec-cart-main{flex:1;min-width:0;}
#order-standard_cart .ec-cart-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px 14px;flex-wrap:wrap;}
#order-standard_cart .ec-cart-row h2,
#order-standard_cart .ec-cart-row h3{margin:0;font-family:var(--ec-font-body);font-size:17px;font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-cart-row h2 small{margin-left:6px;font-size:.8em;font-weight:500;color:var(--ec-text-muted);}
#order-standard_cart .ec-cart-price{text-align:right;}
#order-standard_cart .ec-cart-price strong{font-family:var(--ec-font-display);font-size:19px;font-weight:800;color:var(--ec-text);}
#order-standard_cart .ec-cart-price span{margin-left:4px;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-cart-sub{margin:2px 0 0;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-cart-details{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:10px 0 0;font-size:14px;}
#order-standard_cart .ec-cart-details dt{font-weight:500;color:var(--ec-text-muted);}
#order-standard_cart .ec-cart-details dd{margin:0;color:var(--ec-text);}
#order-standard_cart .ec-cart-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 18px;margin-top:10px;}
#order-standard_cart .ec-cart-qty{display:flex;align-items:center;gap:10px;margin-top:12px;}
#order-standard_cart .ec-cart-qty label{margin:0;font-weight:600;color:var(--ec-text);}
#order-standard_cart .ec-cart-qty .form-control{width:80px;height:40px;}
#order-standard_cart .ec-cart-note{margin:8px 0 0;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-cart-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 22px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-cart-foot .empty-cart{margin:0;padding:0;text-align:right;}
#order-standard_cart .ec-empty{padding:40px 24px;text-align:center;}
#order-standard_cart .ec-empty-icon{width:56px;height:56px;margin:0 auto 14px;display:grid;place-items:center;border-radius:14px;background:var(--ec-hover-2);color:var(--ec-text-muted);}
#order-standard_cart .ec-empty-icon .icon{width:26px;height:26px;}
#order-standard_cart .ec-empty h2{margin:0;font-size:20px;font-weight:700;}
#order-standard_cart .ec-empty p{margin:6px auto 18px;max-width:380px;color:var(--ec-text-muted);}
#order-standard_cart .ec-empty .btn{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 20px;}
#order-standard_cart .ec-xsell{display:flex;align-items:center;flex-wrap:wrap;gap:14px 16px;}
#order-standard_cart .ec-xsell-text{flex:1 1 220px;}
#order-standard_cart .ec-xsell-text h2{margin:0;font-family:var(--ec-font-body);font-size:15px;font-weight:700;}
#order-standard_cart .ec-xsell-text p{margin:2px 0 0;font-size:14px;color:var(--ec-text-muted);}
#order-standard_cart .ec-xsell form{display:flex;gap:8px;flex:1 1 300px;margin:0;}
#order-standard_cart .ec-xsell .form-control{flex:1;min-width:0;height:44px;}
#order-standard_cart .ec-xsell .btn{height:44px;flex-shrink:0;}
/* lignes standard de WHMCS (options, domaines, renouvellements) dans la liste du panier */
#order-standard_cart .ec-cart-list .item{margin:0;padding:14px 22px;border-top:1px solid var(--ec-border);border-bottom:0;}
#order-standard_cart .ec-cart-list .item-title{font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-cart-list .item-price span:first-child{font-weight:700;color:var(--ec-text);}
#order-standard_cart .view-cart-tabs{display:none;}
#order-standard_cart .ec-tax-estimate{margin-top:10px;}

/* ---------- paiement ---------- */
#order-standard_cart .ec-co-intro{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
#order-standard_cart .ec-co-intro h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.01em;}
#order-standard_cart .ec-co-intro p{margin:0;font-size:14px;color:var(--ec-text-muted);}
#order-standard_cart .ec-co-intro .btn-link{padding:0;font-weight:700;vertical-align:baseline;}
#order-standard_cart .ec-co-card{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:22px 24px;margin-bottom:16px;}
#order-standard_cart .ec-co-card > h2{margin:0 0 16px;font-size:18px;font-weight:700;}
#order-standard_cart .ec-co-card > h2 + p{margin:-12px 0 14px;font-size:14px;color:var(--ec-text-muted);}
#order-standard_cart .ec-co-card .sub-heading{display:none;}
#order-standard_cart .ec-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 16px;}
#order-standard_cart .ec-grid > .ec-field{grid-column:span 3;}
#order-standard_cart .ec-grid > .ec-field.is-full{grid-column:1 / -1;}
#order-standard_cart .ec-grid > .ec-field.is-2{grid-column:span 2;}
#order-standard_cart .ec-grid > .ec-field.is-4{grid-column:span 4;}
@media (max-width:640px){#order-standard_cart .ec-grid > .ec-field{grid-column:1 / -1 !important;}}
#order-standard_cart .ec-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;}
#order-standard_cart .ec-field > label,
#order-standard_cart .ec-field-label{margin:0;font-size:14px;font-weight:600;color:var(--ec-text);}
#order-standard_cart .ec-field > label span,
#order-standard_cart .ec-field-label span{font-weight:500;color:var(--ec-text-muted);}
#order-standard_cart .ec-field .form-control,
#order-standard_cart .ec-field .field{height:44px;padding:0 12px;border-radius:8px;}
#order-standard_cart .ec-field select.form-control{padding-right:30px;}
#order-standard_cart .ec-field .intl-tel-input,
#order-standard_cart .ec-field .iti{width:100%;}
#order-standard_cart .ec-field .intl-tel-input .form-control,
#order-standard_cart .ec-field .iti .form-control{padding-left:52px;}
/* champ SIREN : texte d'une ligne, même s'il est réglé en zone de texte dans l'admin */
#order-standard_cart .ec-company textarea.form-control{height:44px !important;min-height:44px;padding:10px 12px;resize:none;overflow:hidden;}
#order-standard_cart .ec-toggle-line{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;cursor:pointer;font-weight:400;color:var(--ec-text);}
#order-standard_cart .ec-toggle-line strong{display:block;font-weight:600;}
#order-standard_cart .ec-toggle-line span span{display:block;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-company{margin-top:14px;}
#order-standard_cart .ec-or{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-or::before,
#order-standard_cart .ec-or::after{content:"";flex:1;height:1px;background:var(--ec-border);}
#order-standard_cart .ec-co-card .social-signin-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;}
#order-standard_cart .ec-co-card .providerPreLinking + .ec-or{margin-top:18px;}
#order-standard_cart .ec-co-card p.small.text-center.text-muted{display:none;}
#order-standard_cart .ec-pw-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px;}
#order-standard_cart .ec-pw-row .password-strength-meter{flex:1 1 220px;}
#order-standard_cart .ec-pw-row .progress{height:6px;margin:0 0 4px;border-radius:999px;background:var(--ec-hover-3);}
#order-standard_cart .ec-pw-row #passwordStrengthTextLabel{margin:0;text-align:left !important;}
/* ---------- paiement : moyens en onglets, bloc carte Stripe ---------- */
#order-standard_cart .ec-pay-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;margin:0 0 18px;}
#order-standard_cart .ec-pay-head p{grid-column:1 / -1;}
#order-standard_cart .ec-pay-head h2{margin:0;}
#order-standard_cart .ec-pay-head p{margin:0;font-size:14px;color:var(--ec-text-muted);}
#order-standard_cart .ec-pay-head p strong{color:var(--ec-text);font-weight:700;}
#order-standard_cart .ec-pay-secure{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--ec-green) 12%,transparent);color:var(--ec-green);font-size:13px;font-weight:600;white-space:nowrap;}
#order-standard_cart .ec-pay-secure .icon{width:14px;height:14px;}
#order-standard_cart #paymentGatewaysContainer{margin:0;}
#order-standard_cart #paymentGatewaysContainer > p:not(.ec-pm-note){display:none;}
/* les onglets : la case iCheck couvre tout l'onglet, invisible, et reçoit le clic */
#order-standard_cart .ec-pm-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:4px;padding:4px;text-align:center;background:var(--ec-hover-2,var(--ec-hover-1));border:1px solid var(--ec-border);border-radius:10px;}
#order-standard_cart .ec-pm-tab{
  position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:0 10px;
  border-radius:7px;font-size:14px;font-weight:600;color:var(--ec-text-muted);cursor:pointer;white-space:nowrap;
  transition:background-color .15s,box-shadow .15s,color .15s;
}
#order-standard_cart .ec-pm-tab .iradio_square-blue{position:absolute;inset:0;width:auto;height:auto;margin:0;background:none;opacity:0;}
#order-standard_cart .ec-pm-tab:hover{color:var(--ec-text);}
#order-standard_cart .ec-pm-tab.is-active,
#order-standard_cart .ec-pm-tab:has(.checked){background:var(--ec-card);color:var(--ec-text);box-shadow:0 1px 2px rgba(15,23,42,.12),0 0 0 1px var(--ec-border);}
#order-standard_cart .ec-pm-tab:has(input:focus-visible){outline:2px solid var(--ec-blue);outline-offset:2px;}
#order-standard_cart .ec-pm-tab .icon{width:18px;height:18px;flex:none;color:var(--ec-blue);}
#order-standard_cart .ec-pm-short{display:none;}
#order-standard_cart .ec-paypal{font-family:Arial,sans-serif;font-size:15px;font-weight:800;font-style:italic;color:#003087;}
#order-standard_cart .ec-paypal span{color:#009cde;}
[data-theme="dark"] #order-standard_cart .ec-paypal{color:#e8eef6;}
[data-theme="dark"] #order-standard_cart .ec-paypal span{color:#4fb8ef;}
#order-standard_cart .ec-pm-note{display:none;margin:10px 0 0;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-pay[data-ec-method="card"] .ec-pm-note[data-kind="card"],
#order-standard_cart .ec-pay[data-ec-method="paypal"] .ec-pm-note[data-kind="paypal"],
#order-standard_cart .ec-pay[data-ec-method="bank"] .ec-pm-note[data-kind="bank"]{display:block;}
/* le bloc carte */
#order-standard_cart .cc-input-container{margin-top:16px;padding:20px;border-radius:12px;background:var(--ec-hover-1);border:1px solid var(--ec-border);}
#order-standard_cart .cc-input-container.w-hidden{display:none;}
/* espacement par marges : jQuery (slideDown) peut repasser le bloc en display:block */
#order-standard_cart .cc-input-container > *{margin:0;}
#order-standard_cart .cc-input-container > * + *{margin-top:16px;}
#order-standard_cart .cc-input-container ul{list-style:none;padding:0;}
#order-standard_cart .cc-input-container ul .radio-inline{display:flex;align-items:center;gap:10px;margin:0;padding:0;font-size:14px;font-weight:600;color:var(--ec-text);}
#order-standard_cart .cc-input-container.ec-only-new > ul{display:none;}
#order-standard_cart .cc-input-container .form-group{margin-bottom:0;}
#order-standard_cart #inputDescriptionContainer{display:none !important;}
#order-standard_cart #newCardSaveSettings:not(:has(#inputNoStoreContainer:not([style*="none"]))){display:none !important;}
#order-standard_cart .ec-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px 12px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--ec-text);}
#order-standard_cart .ec-card-logos{display:flex;gap:4px;}
#order-standard_cart .ec-card-logos svg{display:block;}
/* les champs que le module Stripe insère (#stripeElements, après #newCardInfo) */
#order-standard_cart #stripeElements .stripe-cards-inputs{float:none;width:auto;max-width:none;flex:none;margin:0;padding:0;}
#order-standard_cart #stripeElements .stripe-cards-inputs > .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;}
#order-standard_cart #stripeElements .stripe-cards-inputs > .row::before,
#order-standard_cart #stripeElements .stripe-cards-inputs > .row::after{display:none;}
#order-standard_cart #stripeElements .stripe-cards-inputs > .row > div{float:none;width:auto;max-width:none;flex:none;margin:0;padding:0;}
#order-standard_cart #stripeElements .stripe-cards-inputs > .row > div:first-child{grid-column:1 / -1;}
#order-standard_cart #stripeElements label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ec-text);}
#order-standard_cart #stripeElements .StripeElement{
  height:46px;padding:13px 14px;border:1px solid var(--ec-input-border,var(--ec-border-strong));border-radius:8px;background-color:var(--ec-card);box-shadow:none;
  transition:border-color .15s,box-shadow .15s;
}
#order-standard_cart #stripeElements .StripeElement--focus{border-color:var(--ec-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ec-blue) 20%,transparent);}
#order-standard_cart #stripeElements .StripeElement--complete{border-color:var(--ec-green);}
#order-standard_cart #stripeElements .StripeElement--invalid{border-color:var(--ec-red);}
#order-standard_cart #stripeCvc{position:relative;padding-right:46px;}
#order-standard_cart #stripeCvc::after{content:"";position:absolute;top:50%;right:13px;width:22px;height:22px;margin-top:-11px;pointer-events:none;background-color:var(--ec-text-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 9h19M15 14h3'/%3E%3C/svg%3E") center / 22px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 9h19M15 14h3'/%3E%3C/svg%3E") center / 22px no-repeat;}
#order-standard_cart #stripeCardType:empty{display:none;}
#order-standard_cart .ec-card-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;}
#order-standard_cart .ec-card-trust p{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:13px;line-height:1.45;color:var(--ec-text-muted);}
#order-standard_cart .ec-card-trust .icon{flex:none;width:18px;height:18px;margin-top:1px;color:var(--ec-green);}
#order-standard_cart .ec-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--ec-border);font-size:12.5px;line-height:1.45;color:var(--ec-text-muted);}
#order-standard_cart .ec-card-foot > span:first-child{flex:1 1 280px;}
#order-standard_cart .ec-stripe{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
#order-standard_cart .ec-stripe strong{font-family:Arial,sans-serif;font-size:15px;font-weight:800;letter-spacing:-.3px;color:#635bff;}
[data-theme="dark"] #order-standard_cart .ec-stripe strong{color:#9d98ff;}
/* PayPal et virement : un encart qui dit ce qui va se passer */
#order-standard_cart .ec-pm-info{display:none;gap:16px;align-items:flex-start;margin-top:16px;padding:20px;border-radius:12px;background:var(--ec-hover-1);border:1px solid var(--ec-border);}
#order-standard_cart .ec-pay[data-ec-method="paypal"] .ec-pm-info[data-kind="paypal"],
#order-standard_cart .ec-pay[data-ec-method="bank"] .ec-pm-info[data-kind="bank"]{display:flex;}
#order-standard_cart .ec-pm-info strong{display:block;font-size:15px;color:var(--ec-text);}
#order-standard_cart .ec-pm-info p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--ec-text-muted);}
#order-standard_cart .ec-pm-info-mark{display:flex;align-items:center;justify-content:center;flex:none;min-width:40px;height:40px;padding:0 8px;border-radius:10px;background:var(--ec-blue-tint);color:var(--ec-blue);}
#order-standard_cart .ec-pm-info-mark.ec-paypal{background:var(--ec-card);border:1px solid var(--ec-border);font-size:13px;}
#order-standard_cart .ec-pm-info-mark .icon{width:20px;height:20px;}
/* les erreurs de paiement (remplies par WHMCS ou par Stripe) */
#order-standard_cart .gateway-errors{margin:16px 0 0;padding:12px 14px;border:1px solid var(--ec-alert-danger-border);border-radius:10px;background:var(--ec-alert-danger-bg);color:var(--ec-alert-danger-fg);font-size:13.5px;line-height:1.45;text-align:left !important;}
#order-standard_cart .gateway-errors.w-hidden{display:none;}
@media (max-width:520px){
  #order-standard_cart .ec-pm-long{display:none;}
  #order-standard_cart .ec-pm-short{display:inline;}
  #order-standard_cart .cc-input-container,
  #order-standard_cart .ec-pm-info{padding:16px;}
  #order-standard_cart #stripeElements .stripe-cards-inputs > .row{gap:12px;}
}
/* encadré du crédit : même fond et même bordure que le bloc carte (remplace le gris de standard_cart) */
#order-standard_cart .apply-credit-container{margin:0 0 16px;padding:20px;border:1px solid var(--ec-border);border-radius:12px;background:var(--ec-hover-1);color:var(--ec-text);}
#order-standard_cart .apply-credit-container.w-hidden{display:none;}
#order-standard_cart .apply-credit-container p{margin:0;font-size:14px;font-weight:600;color:var(--ec-text);}
#order-standard_cart .apply-credit-container span{font-weight:400;color:var(--ec-text);}
#order-standard_cart .apply-credit-container .radio{display:flex;align-items:center;gap:10px;min-height:32px;margin:10px 0 0;padding:0;font-size:14px;line-height:1.45;font-weight:400;color:var(--ec-text);}
#order-standard_cart .apply-credit-container .radio label{margin:0;padding:0;font-weight:400;color:var(--ec-text);cursor:pointer;}
#order-standard_cart .apply-credit-container .iradio_square-blue{flex:none;margin:0;}
@media (max-width:520px){
  /* texte sur plusieurs lignes : la case reste en face de la première */
  #order-standard_cart .apply-credit-container .radio{align-items:flex-start;}
  #order-standard_cart .apply-credit-container .iradio_square-blue{margin-top:1px;}
}
/* cartes enregistrées : WHMCS écrit 5 cellules par carte (case, icône, numéro, nom donné, expiration).
   Par l'id : la grille d'origine impose ses colonnes (la 4e, large, repoussait la date).
   L'expiration passe en colonne 4, juste après le numéro, le nom donné en dernier ;
   dense : la cellule placée avant sa voisine reste sur la ligne de sa carte */
#order-standard_cart #existingCardsContainer.existing-cc-grid{display:grid;grid-template-columns:auto auto auto auto minmax(0,1fr);grid-auto-flow:row dense;gap:0 10px;align-items:center;width:100%;font-size:14px;font-weight:400;color:var(--ec-text);}
#order-standard_cart .existing-cc-grid .paymethod-info{min-width:0;width:auto;margin:0;padding:10px 0;color:var(--ec-text);white-space:nowrap;}
#order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n+1){display:flex;align-items:center;padding-left:0;padding-right:0;}
#order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n+1) .iradio_square-blue{margin:0;}
#order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n+4){grid-column:5;white-space:normal;overflow-wrap:anywhere;color:var(--ec-text-muted);}
#order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n){grid-column:4;color:var(--ec-text-muted);}
#order-standard_cart .existing-cc-grid .paymethod-info label{margin:0;font-weight:inherit;color:inherit;cursor:pointer;}
#order-standard_cart .existing-cc-grid .paymethod-info i{color:var(--ec-blue);}
#order-standard_cart .existing-cc-grid small{color:var(--ec-text-muted);}
@media (max-width:520px){
  /* le nom donné passe sous le numéro : la ligne garde la marge droite du bloc */
  #order-standard_cart #existingCardsContainer.existing-cc-grid{grid-template-columns:auto auto auto minmax(0,1fr);}
  #order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n+1),
  #order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n+2){grid-row:span 2;}
  #order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n+3){padding-bottom:2px;}
  #order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n+4){grid-column:3 / -1;padding-top:0;font-size:13px;}
  #order-standard_cart .existing-cc-grid .paymethod-info:nth-child(5n){padding-bottom:2px;}
}
#order-standard_cart .ec-consent{display:flex;flex-direction:column;gap:12px;margin:4px 0 0;}
#order-standard_cart .ec-consent label{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:14px;font-weight:400;color:var(--ec-text);cursor:pointer;}
#order-standard_cart .ec-consent label .icheckbox_square-blue{margin:1px 0 0;}
#order-standard_cart .ec-consent label span span{color:var(--ec-text-muted);}
#order-standard_cart #btnCompleteOrder{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin-top:18px;
  border-radius:8px;font-size:17px;font-weight:700;
}
#order-standard_cart #btnCompleteOrder .icon{width:17px;height:17px;}
#order-standard_cart #btnCompleteOrder .ec-btn-label{font-weight:inherit;}
#order-standard_cart #btnCompleteOrder.disabled .icon{display:none;}
#order-standard_cart #btnCompleteOrder.disabled::before{content:"";width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ec-rot .8s linear infinite;}
#order-standard_cart .ec-co-secure{margin:12px 0 0;padding-left:0;text-align:center;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-notes summary{display:inline-flex;align-items:center;min-height:36px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;color:var(--ec-blue);}
#order-standard_cart .ec-notes summary::-webkit-details-marker{display:none;}
#order-standard_cart .ec-notes textarea{margin-top:8px;}
/* comptes du client : une ligne par compte, la case à droite */
#order-standard_cart #containerExistingAccountSelect{display:flex;flex-direction:column;gap:10px;margin:0;border:0;}
/* par l'id : standard_cart retire le bas et la droite des lignes (div.account:not(.border-bottom)) */
#order-standard_cart #containerExistingAccountSelect div.account{margin:0;padding:0;border:1px solid var(--ec-border-strong);border-radius:var(--ec-radius-lg);background:var(--ec-card);box-shadow:none;transition:border-color .15s,box-shadow .15s,background-color .15s;}
#order-standard_cart #containerExistingAccountSelect div.account:hover{border-color:var(--ec-text-faint);}
#order-standard_cart #containerExistingAccountSelect div.account.active{border-color:var(--ec-blue);box-shadow:0 0 0 1px var(--ec-blue);background:color-mix(in srgb,var(--ec-blue) 5%,var(--ec-card));}
#order-standard_cart #containerExistingAccountSelect div.account.is-off{opacity:.6;}
#order-standard_cart .ec-account-label{display:flex;align-items:center;gap:14px;width:100%;margin:0;padding:14px 16px;font-weight:400;cursor:pointer;}
#order-standard_cart .ec-account.is-off .ec-account-label{cursor:not-allowed;}
#order-standard_cart .ec-account-label .iradio_square-blue{order:3;flex:none;margin:0;}
#order-standard_cart .ec-account-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--ec-blue-tint);color:var(--ec-blue);font-family:var(--ec-font-display);font-size:14px;font-weight:800;letter-spacing:.02em;}
#order-standard_cart .ec-account-new .ec-account-avatar{background:transparent;border:1.5px dashed var(--ec-border-strong);color:var(--ec-text-muted);}
#order-standard_cart .ec-account-avatar .icon{width:18px;height:18px;}
#order-standard_cart .ec-account-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
#order-standard_cart .ec-account-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;font-size:15px;color:var(--ec-text);}
#order-standard_cart .ec-account-name strong{font-weight:700;}
#order-standard_cart .ec-account-name span{font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-account-addr{font-size:13px;line-height:1.4;color:var(--ec-text-muted);overflow-wrap:anywhere;}
#order-standard_cart .ec-account-chip{order:2;flex:none;padding:3px 8px;border-radius:999px;background:var(--ec-hover-2,var(--ec-hover-1));border:1px solid var(--ec-border);font-size:12px;font-weight:600;color:var(--ec-text-muted);}
@media (max-width:520px){
  #order-standard_cart .ec-account-label{gap:12px;padding:12px 14px;}
  #order-standard_cart .ec-account-avatar{width:36px;height:36px;font-size:13px;}
  #order-standard_cart .ec-account-chip{display:none;}
}
#order-standard_cart .ec-co-summary .ec-sum-item + .ec-sum-item{margin-top:10px;}
#order-standard_cart .ec-co-summary .ec-sum-item span{display:block;}

@media (max-width:760px){
  #order-standard_cart .ec-cfg-section,
  #order-standard_cart .ec-config-header,
  #order-standard_cart .ec-co-card,
  #order-standard_cart .ec-card{padding:18px 16px;}
  #order-standard_cart .ec-form-grid{grid-template-columns:minmax(0,1fr);}
  #order-standard_cart .ec-cycle-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #order-standard_cart .ec-cycle-best{position:static;align-self:flex-start;order:5;}
  #order-standard_cart .ec-cart-item{padding:16px;}
  #order-standard_cart .ec-cart-icon{display:none;}
  #order-standard_cart .ec-opt-toggle{flex-wrap:wrap;}
  #order-standard_cart .ec-opt-toggle-text{flex-basis:calc(100% - 52px);}
  #order-standard_cart .ec-plan-grid{grid-template-columns:minmax(0,1fr);}
}
@media (prefers-reduced-motion:reduce){
  #order-standard_cart *{transition:none !important;}
}

/* ---------- compléments ---------- */
#order-standard_cart .ec-spin{animation:ec-rot .8s linear infinite;}
@keyframes ec-rot{to{transform:rotate(360deg);}}
#order-standard_cart #orderSummaryLoader .icon{width:16px;height:16px;}
/* « ou remplissez le formulaire » : seulement après un bouton de connexion (Google...) */
#order-standard_cart .ec-or{display:none;}
#order-standard_cart .providerPreLinking ~ .ec-or{display:flex;}
#order-standard_cart .ec-co-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;}
#order-standard_cart .ec-co-summary-head h2{margin:0;}
#order-standard_cart .ec-co-login{min-height:44px;margin-top:14px;padding:0 20px;}
#order-standard_cart .ec-continue{margin:10px 0 0;text-align:center;}
#order-standard_cart .ec-sum-totals-first{margin-top:0;padding-top:0;border-top:0;}
#order-standard_cart .ec-sum-recurring{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px;color:var(--ec-text-muted);}
#order-standard_cart .ec-sum-recurring .recurring-charges{text-align:right;}
#order-standard_cart .ec-sum-recurring .cost{font-weight:600;color:var(--ec-text);}
#order-standard_cart .ec-tax-form{display:flex;flex-direction:column;gap:12px;padding:0 16px 16px;margin:0;}
#order-standard_cart .ec-tax-form .btn{align-self:flex-start;}
#order-standard_cart .ec-promo + .ec-promo{margin-top:10px;}
/* champs à icône de WHMCS (contact du domaine, carte) : pas d'icône, pas de marge vide à gauche */
#order-standard_cart .ec-co-card .prepend-icon .field-icon{display:none;}
#order-standard_cart .ec-co-card .prepend-icon .field{padding-left:12px;}
#order-standard_cart .ec-co-card .form-group{margin-bottom:12px;}
#order-standard_cart .ec-co-intro .btn-link{font-size:14px;color:var(--ec-blue);}
#order-standard_cart .ec-co-intro .btn-link strong{font-weight:700;}
#order-standard_cart .ec-co-card-plain{background:none;border:0;padding:0;}
#order-standard_cart .marketing-email-optin{margin:0;padding:0;border:0;background:none;}
/* durée : montant sur une ligne, « / mois » à la suite ou dessous ; pastille posée sur le bord */
#order-standard_cart .ec-cycle-price{flex-wrap:wrap;column-gap:4px;}
#order-standard_cart .ec-cycle-price strong{font-size:22px;white-space:nowrap;}
#order-standard_cart .ec-cycle-best{position:absolute;top:-10px;right:12px;padding:2px 8px;background:var(--ec-green);color:#fff;white-space:nowrap;}
#order-standard_cart .ec-cycle-grid{padding-top:8px;}
/* récapitulatif : la classe clearfix de Bootstrap ajoute un élément invisible qui centrait les montants */
#order-standard_cart .ec-sum-totals > div::before,
#order-standard_cart .ec-sum-totals > div::after{content:none;display:none;}
#order-standard_cart .ec-sum-totals dt{font-weight:400;}
#order-standard_cart .ec-sum-totals dd{text-align:right;}
#order-standard_cart .ec-sum-item strong{font-size:15px;}
#order-standard_cart .ec-sum-item b{font-size:15px;}
#order-standard_cart .ec-sum-total span{font-size:14px;line-height:1.3;}
#order-standard_cart .summary-container{background:transparent;padding:0;border:0;}
/* boutique : chiffre plus compact, mention annuelle sur deux lignes réservées (blocs prix alignés) */
#order-standard_cart .ec-plan-amount{font-size:23px;white-space:nowrap;}
#order-standard_cart .ec-plan-price{column-gap:4px;}
#order-standard_cart .ec-plan-cycle{white-space:nowrap;}
#order-standard_cart .ec-plan-note{min-height:2.9em;}
@media (max-width:760px){
  #order-standard_cart .ec-cycle-best{right:8px;}
  #order-standard_cart .ec-plan-note{min-height:0;}
}

/* ---------- démo animée du Panel VPS (page VPS, js/ec-vps-demo.js) ---------- */
#order-standard_cart .ec-vps-demo{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2.4fr);gap:20px 32px;align-items:center;margin-top:34px;padding-top:26px;border-top:1px solid var(--ec-border);}
#order-standard_cart .ec-vps-demo-copy h2{margin:0;font-family:var(--ec-font-display);font-size:20px;font-weight:700;color:var(--ec-text);}
#order-standard_cart .ec-vps-demo-copy p{margin:8px 0 0;color:var(--ec-text-muted);font-size:14px;}
#order-standard_cart .ec-vps-demo-copy ul{display:flex;flex-direction:column;gap:12px;margin:20px 0 0;padding:0;list-style:none;}
#order-standard_cart .ec-vps-demo-copy li{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--ec-text);}
#order-standard_cart .ec-vps-demo-copy li .icon{flex:none;width:32px;height:32px;padding:8px;border-radius:var(--ec-radius-md);background:var(--ec-blue-tint);color:var(--ec-blue);}
#order-standard_cart .ec-vps-demo-stage{min-width:0;}
@media (max-width:991px){#order-standard_cart .ec-vps-demo{grid-template-columns:minmax(0,1fr);}}

/* ---------- bandeau d'erreurs : phrase au singulier ou au pluriel selon le nombre de puces ---------- */
/* .ec-err-box : uniquement les 3 bandeaux de configureproduct, checkout et viewcart */
#order-standard_cart .ec-err-box .ec-err-many{display:none;}
#order-standard_cart .ec-err-box:has(> ul > li + li) .ec-err-one{display:none;}
#order-standard_cart .ec-err-box:has(> ul > li + li) .ec-err-many{display:block;}
