/*
 * Tomoua — tunnel de commande « premium » (maquette tomoua_cart_premium) appliqué au panier WHMCS natif.
 * Habillage uniquement : prix, totaux, taxes, coupons et étapes restent ceux de WHMCS.
 * Palette V4 : orange #FF650F (décor), bouton #C94F00 (AA), vert #087653, bleu nuit #121C3D, fond #F6F8FC.
 */
:root {
  --tc-navy: #121c3d;
  --tc-ink: #1f2742;
  --tc-muted: #5f6b80;
  --tc-orange: #ff650f;
  --tc-orange-btn: #c94f00;
  --tc-orange-btn-hover: #a94200;
  --tc-orange-text: #b34700;
  --tc-green: #087653;
  --tc-line: #e4e9f1;
  --tc-bg: #f6f8fc;
  --tc-shadow: 0 12px 36px rgba(20, 35, 71, .04);
}

/* Icônes du pack V4 (thème client tomoua) */
.tomoua-ico { display: inline-block; flex: none; width: 18px; height: 18px; background-color: currentColor; -webkit-mask: var(--tc-i) center / contain no-repeat; mask: var(--tc-i) center / contain no-repeat; vertical-align: -3px; }
.tomoua-ico-sm { width: 14px; height: 14px; vertical-align: -2px; }
.tomoua-ico-lg { width: 28px; height: 28px; }
.tomoua-ico-shield { --tc-i: url(../../../tomoua/img/tomoua/icons/shield.svg); }
.tomoua-ico-headset { --tc-i: url(../../../tomoua/img/tomoua/icons/headset.svg); }
.tomoua-ico-calendar { --tc-i: url(../../../tomoua/img/tomoua/icons/calendar.svg); }
.tomoua-ico-arrow-right { --tc-i: url(../../../tomoua/img/tomoua/icons/arrow-right.svg); }

/* Introduction et réassurance */
.tomoua-cart-intro { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 8px 0 26px; }
.tomoua-cart-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .15em; color: var(--tc-orange-text); text-transform: uppercase; }
.tomoua-cart-intro h1 { font-family: Manrope, "DM Sans", system-ui, sans-serif; font-size: clamp(30px, 4vw, 44px); letter-spacing: -.04em; line-height: 1.12; margin: 10px 0; color: var(--tc-navy); font-weight: 800; }
.tomoua-cart-intro h1 em { font-style: normal; color: var(--tc-orange-text); }
.tomoua-cart-intro p { color: var(--tc-muted); margin: 0; }
.tomoua-cart-trust { list-style: none; margin: 0; padding: 14px 22px; background: #e9f7f1; color: #075c41; border-radius: 14px; font-size: 13px; line-height: 2.1; flex: none; }
.tomoua-cart-trust li { display: flex; align-items: center; gap: 9px; }

/* Étapes (reflet de la page WHMCS courante) */
.tomoua-cart-steps ol { list-style: none; margin: 0 0 25px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; counter-reset: none; }
.tomoua-cart-steps li { display: flex; border: 1px solid var(--tc-line); background: #fff; color: #5f6b80; border-radius: 12px; font-weight: 650; font-size: 14px; }
.tomoua-cart-steps li > a, .tomoua-cart-steps li { align-items: center; gap: 12px; }
.tomoua-cart-steps li > a { display: flex; flex: 1; color: inherit; text-decoration: none; padding: 14px; border-radius: 12px; }
.tomoua-cart-steps li:not(:has(> a)) { padding: 14px; }
.tomoua-cart-steps b { background: #eef1f7; color: #5f6b80; border-radius: 50%; min-width: 34px; height: 34px; display: inline-grid; place-items: center; font-size: 12px; }
.tomoua-cart-steps li.is-active { border-color: var(--tc-orange); color: var(--tc-navy); box-shadow: 0 5px 22px rgba(255, 101, 15, .08); }
.tomoua-cart-steps li.is-active b { background: var(--tc-orange-btn); color: #fff; }
.tomoua-cart-steps li.is-done b { background: #e7f7ef; color: var(--tc-green); }
.tomoua-cart-steps a:hover, .tomoua-cart-steps a:focus-visible { color: var(--tc-orange-text); }

/* Cartes d'offres (cart.php?gid=…) */
#order-standard_cart .tt-single-product { position: relative; text-align: left !important; background: #fff; border: 1.5px solid var(--tc-line); border-radius: 16px !important; padding: 26px 20px !important; box-shadow: var(--tc-shadow); display: flex; flex-direction: column; transition: border-color .15s, transform .15s; }
#order-standard_cart .tt-single-product:hover, #order-standard_cart .tt-single-product:focus-within { border-color: #ffc09d; transform: translateY(-2px); }
#order-standard_cart .tt-single-product:has(.tt-featured-badge) { border: 2px solid var(--tc-orange); background: #fffaf7; }
#order-standard_cart .tt-featured-badge { position: absolute; top: -12px; right: 14px; left: auto; background: none; border-radius: 0; }
#order-standard_cart .tt-featured-badge::after { display: none; }
#order-standard_cart .tt-featured-badge .badge { background: var(--tc-orange-btn); color: #fff; font-size: 10px; font-weight: 800; padding: 6px 10px; border-radius: 8px; letter-spacing: .06em; }
#order-standard_cart .tt-product-name h5 { font-family: Manrope, sans-serif; font-size: 20px; font-weight: 800; color: var(--tc-navy); margin: 0; }
#order-standard_cart .tt-product-price .price { font-size: 26px; font-weight: 800; color: var(--tc-navy); }
#order-standard_cart .tt-product-desc { color: var(--tc-muted); font-size: 14px; }
#order-standard_cart .tt-product-desc ul { list-style: none; padding: 0; }
#order-standard_cart .tt-product-desc li { padding: 4px 0 4px 24px; position: relative; }
#order-standard_cart .tt-product-desc li::before { content: "✓"; position: absolute; left: 0; color: var(--tc-green); font-weight: 800; }
#order-standard_cart .btn-order-now { margin-top: auto; }

/* Boutons et champs */
#order-standard_cart .btn-primary, #order-standard_cart .btn-checkout { background: var(--tc-orange-btn); border-color: var(--tc-orange-btn); color: #fff; border-radius: 11px; font-weight: 750; }
#order-standard_cart .btn-primary:hover, #order-standard_cart .btn-primary:focus, #order-standard_cart .btn-checkout:hover { background: var(--tc-orange-btn-hover); border-color: var(--tc-orange-btn-hover); color: #fff; }
#order-standard_cart .form-control, #order-standard_cart .custom-select, #order-standard_cart select.form-control { border: 1px solid #d5deeb; border-radius: 10px; background: #f9fbfe; min-height: 46px; }
#order-standard_cart .form-control:focus { border-color: var(--tc-orange); box-shadow: 0 0 0 3px rgba(255, 101, 15, .15); }
#order-standard_cart a:focus-visible, #order-standard_cart button:focus-visible, .tomoua-cart-steps a:focus-visible { outline: 3px solid rgba(201, 79, 0, .45); outline-offset: 2px; }

/* Panneaux de configuration et lignes du panier */
#order-standard_cart .product-info, #order-standard_cart .view-cart-items, #order-standard_cart .sub-heading + .field-container,
#order-standard_cart .domain-checker-container, #order-standard_cart .already-registered { border-radius: 16px; }
#order-standard_cart .view-cart-items { border: 1px solid var(--tc-line); background: #fff; box-shadow: var(--tc-shadow); overflow: hidden; }

/* Récapitulatif : en-tête bleu nuit, total sur fond orangé (maquette) */
#order-standard_cart .order-summary { background: #fff; border: 1px solid var(--tc-line); border-radius: 20px; overflow: hidden; box-shadow: var(--tc-shadow); }
#order-standard_cart .order-summary h2 { background: var(--tc-navy); color: #fff; margin: 0; padding: 22px 24px; font-size: 22px; font-family: Manrope, sans-serif; font-weight: 800; letter-spacing: -.02em; border: 0; }
#order-standard_cart .summary-container { background: #fff; padding: 20px 24px 24px; border: 0; }
#order-standard_cart .summary-container .subtotal, #order-standard_cart .summary-container .bordered-totals, #order-standard_cart .summary-container .recurring-totals { border-bottom: 1px solid var(--tc-line); padding: 10px 0; font-size: 14px; }
#order-standard_cart .total-due-today { margin: 18px 0 14px; padding: 16px 18px; background: #fff3ec; border-radius: 12px; display: flex; flex-direction: column; gap: 4px; text-align: left; }
#order-standard_cart .total-due-today span:first-child { font-size: 12px; color: #8a3f17; }
#order-standard_cart .total-due-today .amt { font-size: 27px; font-weight: 800; color: var(--tc-navy); }

/* Illustration d'en-tête de la boutique (prototype tomoua_whmcs_client_v1, page Hébergements) */
#order-standard_cart .tomoua-store-head { display: flow-root; }
#order-standard_cart .tomoua-store-art { float: right; width: clamp(140px, 22vw, 220px); height: auto; margin: 0 0 12px 20px; }
@media (max-width: 767.98px) { #order-standard_cart .tomoua-store-art { display: none; } }
#order-standard_cart .tomoua-store-head h2 { font-family: Manrope, sans-serif; font-weight: 800; color: var(--tc-navy); }

#order-standard_cart .summary-container .float-right, #order-standard_cart .summary-container .cost, #order-standard_cart .view-cart-items .item-price span { white-space: nowrap; }

/* Encart d'aide */
.tomoua-cart-help { margin: 22px 0 40px; padding: 19px 22px; border: 1px solid #cfe8de; background: #f1fbf7; border-radius: 15px; display: flex; align-items: center; gap: 16px; color: var(--tc-green); }
.tomoua-cart-help strong { color: var(--tc-navy); }
.tomoua-cart-help p { margin: 3px 0 0; color: #4d6660; font-size: 13px; }
.tomoua-cart-help a { margin-left: auto; color: var(--tc-green); font-size: 14px; font-weight: 750; white-space: nowrap; }
.tomoua-mobiletotal { display: none; }

@media (max-width: 900px) {
  .tomoua-cart-trust { display: none; }
}
@media (max-width: 600px) {
  .tomoua-cart-intro { padding-top: 0; }
  .tomoua-cart-intro h1 { font-size: 31px; }
  .tomoua-cart-steps ol { gap: 5px; }
  .tomoua-cart-steps li, .tomoua-cart-steps li > a { justify-content: center; padding: 8px !important; }
  .tomoua-cart-steps li span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .tomoua-cart-help { align-items: flex-start; flex-wrap: wrap; }
  .tomoua-cart-help a { margin-left: 0; }
  .tomoua-mobiletotal { display: flex; position: fixed; left: 0; right: 0; bottom: 0; justify-content: space-between; align-items: center; gap: 12px; background: var(--tc-navy); color: #fff; padding: 12px 16px; z-index: 1020; box-shadow: 0 -8px 24px rgba(18, 28, 61, .18); }
  body:has(.tomoua-mobiletotal) { padding-bottom: 76px; }
  .tomoua-mobiletotal span { font-size: 12px; }
  .tomoua-mobiletotal b { display: block; font-size: 17px; }
  .tomoua-mobiletotal a { background: var(--tc-orange-btn); color: #fff; border-radius: 9px; padding: 12px 14px; font-weight: 750; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  #order-standard_cart .tt-single-product { transition: none; }
}


/* Bannières du pack global (cart-offres, cart-config, cart-panier, cart-validation) : texte HTML superposé */
.tomoua-cart-intro-banner { position: relative; padding: clamp(22px, 3.4vw, 40px); margin: 6px 0 22px; border-radius: 22px; overflow: hidden;
  background-color: #101a3e; background-image: linear-gradient(90deg, rgba(16, 26, 62, .95) 0%, rgba(16, 26, 62, .78) 48%, rgba(16, 26, 62, .12) 82%), var(--tc-banner);
  background-size: cover; background-position: center right; }
.tomoua-cart-intro-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--tc-orange) 0 33.3%, #fff 33.3% 66.6%, var(--tc-green) 66.6%); }
.tomoua-cart-intro-banner h1 { color: #fff; }
.tomoua-cart-intro-banner h1 em { color: #ff9b63; }
.tomoua-cart-intro-banner p { color: #d7deeb; }
.tomoua-cart-intro-banner .tomoua-cart-eyebrow { color: #ffb48a; }
.tomoua-cart-intro-banner .tomoua-cart-trust { background: rgba(255, 255, 255, .94); }
@media (max-width: 600px) {
  .tomoua-cart-intro-banner { background-image: linear-gradient(180deg, rgba(16, 26, 62, .9), rgba(16, 26, 62, .8)), var(--tc-banner); }
}
