/* ==========================================================================
   Ermax — Mode présentation client
   Discrétion visuelle uniquement (CSS/JS). Aucune sécurité serveur : le moteur
   de prix reste inchangé, seule la présentation est masquée.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Bouton header "Présentation client"
   -------------------------------------------------------------------------- */
.ermax-header__presentation {
  cursor: pointer;
}
/* Etat inactif : icône "eye" visible, icône "eye-slash" masquée. */
.ermax-header__presentation-icon--active {
  display: none;
}
.ermax-header__presentation.is-active .ermax-header__presentation-icon--inactive {
  display: none;
}
.ermax-header__presentation.is-active .ermax-header__presentation-icon--active {
  display: flex;
}
/* Etat actif explicite : vert + libellé accentué. */
.ermax-header__presentation.is-active,
.ermax-header__presentation.is-active .ermax-header__presentation-label {
  color: var(--ermax-header-green);
}
.ermax-header__presentation.is-active .ermax-header__presentation-label {
  font-weight: 700;
}
/* Focus visible clavier. */
.ermax-header__presentation:focus-visible {
  outline: 2px solid var(--ermax-header-green);
  outline-offset: 3px;
  border-radius: 4px;
}

/* --------------------------------------------------------------------------
   2. Responsive : icône seule, immédiatement avant "Mon compte"
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  /* Icône seule sur mobile / tablette. */
  .ermax-header__presentation .ermax-header__action-label {
    display: none !important;
  }
  /* Une colonne dédiée est insérée uniquement lorsque le bouton existe,
     sans casser logo / garage / compte / panier. */
  .ermax-header--has-presentation .ermax-header__main-inner {
    grid-template-columns: 40px 40px 1fr 40px 40px 40px;
  }
  .ermax-header--has-presentation .ermax-header__presentation {
    min-width: 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-row: 1;
    grid-column: 4;
  }
  .ermax-header--has-presentation .ermax-header__account {
    grid-column: 5;
  }
  .ermax-header--has-presentation .ermax-header__cart {
    grid-column: 6;
  }
}
/* Marges serrées sur très petits écrans (390 px / 320 px) : on réduit
   légèrement la gouttière pour garder le logo lisible sans overflow. */
@media (max-width: 767px) {
  .ermax-header--has-presentation .ermax-header__main-inner {
    gap: 6px;
  }
}
@media (max-width: 360px) {
  .ermax-header--has-presentation .ermax-header__main-inner {
    grid-template-columns: 40px 40px 1fr 36px 36px 36px;
    gap: 4px;
  }
  .ermax-header--has-presentation .ermax-header__presentation,
  .ermax-header--has-presentation .ermax-header__account,
  .ermax-header--has-presentation .ermax-header__cart {
    min-width: 36px;
    width: 36px;
  }
}

/* --------------------------------------------------------------------------
   3. Prix produit / panier : bascule public TTC / public HT
   Hors mode : les lignes de présentation sont display:none → rendu inchangé.
   -------------------------------------------------------------------------- */
.ermax-b2b-price__public-ttc-row,
.ermax-b2b-price__public-ht-row,
.ermax-b2b-price__public-unavailable {
  display: none;
}
.ermax-b2b-price__public-ttc-row {
  font-weight: 700;
}
.ermax-b2b-price__public-ht-row {
  font-size: 0.85em;
  font-weight: 400;
  opacity: 0.72;
}
.ermax-b2b-price__presentation-label {
  font-weight: 400;
  opacity: 0.85;
}

.ermax-client-presentation-mode .ermax-b2b-price {
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.ermax-client-presentation-mode .ermax-b2b-price--checkout {
  align-items: flex-end;
}
.ermax-client-presentation-mode .ermax-b2b-price__public-row,
.ermax-client-presentation-mode .ermax-b2b-price__partner-row {
  display: none !important;
}
.ermax-client-presentation-mode .ermax-b2b-price__public-ttc-row {
  display: block;
}
.ermax-client-presentation-mode .ermax-b2b-price__public-ht-row,
.ermax-client-presentation-mode .ermax-b2b-price__public-unavailable {
  display: block;
}
.ermax-client-presentation-mode .ermax-b2b-price__partner-html {
  display: none !important;
}

/* --------------------------------------------------------------------------
   4. Masquage des informations partenaire sensibles en mode présentation
   -------------------------------------------------------------------------- */
/* Le mode présentation n'expose aucun compte, partenaire ni historique de commande. */
.ermax-client-presentation-mode .ermax-header__account,
.ermax-client-presentation-mode .ermax-sales-selector,
.ermax-client-presentation-mode .woocommerce-MyAccount-navigation,
.ermax-client-presentation-mode .woocommerce-MyAccount-content > :not(.ermax-presentation-notice),
.ermax-client-presentation-mode .woocommerce-order-overview,
.ermax-client-presentation-mode .woocommerce-order-details,
.ermax-client-presentation-mode .woocommerce-customer-details {
  display: none !important;
}
/* Notice de remise au checkout. */
.ermax-client-presentation-mode .ermax-b2b-checkout-notice {
  display: none !important;
}
/* Conditions commerciales et export tarifé (Mon compte → Outils partenaire). */
.ermax-client-presentation-mode .ermax-b2b-account-tools__conditions,
.ermax-client-presentation-mode .ermax-b2b-account-tools__export {
  display: none !important;
}
/* Le dashboard et les totaux de commandes contiennent des montants partenaires. */
.ermax-client-presentation-mode .ermax-b2b-account-analytics,
.ermax-client-presentation-mode .ermax-order-card__total,
.ermax-client-presentation-mode .woocommerce-orders-table__cell-order-total,
.ermax-client-presentation-mode .woocommerce-order-details .woocommerce-table__product-total,
.ermax-client-presentation-mode .woocommerce-order-details tfoot {
  display: none !important;
}
/* Le statut du sélecteur commercial contient le pourcentage de remise. */
.ermax-client-presentation-mode .ermax-sales-selector__status {
  display: none !important;
}
/* Remise et prix remisé des commandes historiques (le prix public reste visible). */
.ermax-client-presentation-mode .ermax-legacy-line-pricing__discount,
.ermax-client-presentation-mode .ermax-legacy-line-pricing__net {
  display: none !important;
}
/* Mini-panier : markup partenaire conservé hors mode, prix publics TTC/HT révélés en présentation. */
.ermax-mini-cart-price__public {
  display: none;
}
.ermax-client-presentation-mode .ermax-mini-cart-price__partner {
  display: none !important;
}
.ermax-client-presentation-mode .ermax-mini-cart-price__public {
  display: grid;
  gap: 2px;
  margin-top: 3px;
  color: #4b5563;
  font-size: 11px;
  line-height: 1.3;
}
.ermax-client-presentation-mode .ermax-mini-cart-price__quantity {
  color: #6b7280;
}
.ermax-client-presentation-mode .ermax-mini-cart-price__public-ttc strong {
  color: #111827;
  font-size: 13px;
}
.ermax-client-presentation-mode .ermax-mini-cart-price__public-ht {
  color: #6b7280;
}
/* Repli sans :has() pour un fragment mini-panier antérieur au nouveau markup.
   L'ancien montant est masqué et le contrôleur injecte immédiatement un état
   neutre ; le rafraîchissement des fragments reste une amélioration, pas une
   dépendance de confidentialité. */
.ermax-mini-cart-price__public-unavailable {
  display: none;
}
.ermax-client-presentation-mode .ermax-header__cart-panel-body .woocommerce-mini-cart-item .quantity > .woocommerce-Price-amount,
.ermax-client-presentation-mode .widget_shopping_cart_content .woocommerce-mini-cart-item .quantity > .woocommerce-Price-amount {
  display: none !important;
}
.ermax-client-presentation-mode .ermax-mini-cart-price__public-unavailable {
  display: inline-flex;
  margin-left: 4px;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.3;
}
.ermax-client-presentation-mode .ermax-header__cart-panel-body .woocommerce-mini-cart__total,
.ermax-client-presentation-mode .widget_shopping_cart_content .woocommerce-mini-cart__total {
  display: none !important;
}
/* Totaux réels du panier et du checkout. */
.ermax-client-presentation-mode .cart_totals,
.ermax-client-presentation-mode .woocommerce-checkout-review-order-table tfoot,
.ermax-client-presentation-mode table.shop_table.woocommerce-checkout-review-order-table tfoot {
  display: none !important;
}
/* Toute action d'achat devient invisible : le mode présentation est consultation seule. */
.ermax-client-presentation-mode .wc-proceed-to-checkout,
.ermax-client-presentation-mode .checkout-button,
.ermax-client-presentation-mode #place_order,
.ermax-client-presentation-mode form.checkout #payment,
.ermax-client-presentation-mode .ermax-header__cart-panel-body .woocommerce-mini-cart__buttons .checkout,
.ermax-client-presentation-mode .widget_shopping_cart_content .woocommerce-mini-cart__buttons .checkout,
.ermax-client-presentation-mode .ermax-atc-actions,
.ermax-client-presentation-mode form.cart .quantity,
.ermax-client-presentation-mode form.cart .single_add_to_cart_button,
.ermax-client-presentation-mode .products .add_to_cart_button,
.ermax-client-presentation-mode .products .ajax_add_to_cart,
.ermax-client-presentation-mode .woocommerce-cart-form .quantity,
.ermax-client-presentation-mode .woocommerce-cart-form button[name="update_cart"],
.ermax-client-presentation-mode .ermax-b2b-account-tools__import,
.ermax-client-presentation-mode .order-again,
.ermax-client-presentation-mode .woocommerce-orders-table__cell-order-actions .pay,
.ermax-client-presentation-mode a.woocommerce-button.pay,
.ermax-client-presentation-mode .wp-block-add-to-cart-form,
.ermax-client-presentation-mode .wc-block-components-product-button,
.ermax-client-presentation-mode .wc-block-cart-item__quantity,
.ermax-client-presentation-mode .wc-block-cart__submit,
.ermax-client-presentation-mode .wc-block-components-checkout-place-order-button,
.ermax-client-presentation-mode .wc-block-components-express-payment,
.ermax-client-presentation-mode .wc-block-checkout__actions,
.ermax-client-presentation-mode .wc-stripe-payment-request-wrapper,
.ermax-client-presentation-mode .wcpay-express-checkout-wrapper,
.ermax-client-presentation-mode .ppc-button-wrapper,
.ermax-client-presentation-mode .paypal-buttons,
.ermax-client-presentation-mode .woocommerce-cart-form .product-remove,
.ermax-client-presentation-mode .remove_from_cart_button,
.ermax-client-presentation-mode .woocommerce-cart-form .coupon,
.ermax-client-presentation-mode .woocommerce-form-coupon-toggle,
.ermax-client-presentation-mode form.checkout_coupon,
.ermax-client-presentation-mode .woocommerce-shipping-calculator,
.ermax-client-presentation-mode .wc-block-components-remove-item-button,
.ermax-client-presentation-mode .wc-block-cart-item__remove-link,
.ermax-client-presentation-mode .wc-block-components-totals-coupon,
.ermax-client-presentation-mode form.checkout,
.ermax-client-presentation-mode form#order_review,
.ermax-client-presentation-mode .wp-block-woocommerce-checkout,
.ermax-client-presentation-mode .wc-block-checkout,
.ermax-client-presentation-mode .wc-block-components-shipping-calculator,
.ermax-client-presentation-mode .wc-block-cart__shipping-calculator,
.ermax-client-presentation-mode .wc-block-components-shipping-rates-control,
.ermax-client-presentation-mode .wc-block-components-totals-shipping .wc-block-components-totals-item__description,
.ermax-client-presentation-mode .wc-block-cart__submit-container,
.ermax-client-presentation-mode .wp-block-woocommerce-cart .wc-block-formatted-money-amount,
.ermax-client-presentation-mode .wp-block-woocommerce-checkout .wc-block-formatted-money-amount {
  display: none !important;
}

/* --------------------------------------------------------------------------
   5. Message discret expliquant le masquage
   Injecté par le contrôleur JS, révélé uniquement en mode présentation.
   -------------------------------------------------------------------------- */
.ermax-presentation-notice {
  display: none;
  margin: 12px 0;
  padding: 10px 14px;
  border: 1px dashed rgba(63, 175, 122, 0.6);
  border-radius: 8px;
  background: rgba(63, 175, 122, 0.06);
  color: #2f6b4f;
  font-size: 13px;
  line-height: 1.45;
  font-family: Inter, sans-serif;
}
.ermax-presentation-notice__title {
  display: block;
  font-weight: 700;
}
.ermax-presentation-notice__hint {
  display: block;
  opacity: 0.85;
}
.ermax-client-presentation-mode .ermax-presentation-notice {
  display: block;
}
