/* PCIA Sombre — Styles WooCommerce & Pages
   Design system : abysse #0b0e14, cuivre #e86a33, LED #5ac8fa
   Fonts : Space Grotesk (titres), Instrument Sans (corps), JetBrains Mono (mono)
*/

:root {
  --abysse: #0b0e14;
  --panneau: #141a24;
  --ligne: #222b38;
  --txt: #e8edf2;
  --mut: #8a93a6;
  --cuivre: #e86a33;
  --led: #5ac8fa;
  --nvidia: #76b900;
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-body: "Instrument Sans", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
}

/* === RESET & BASE === */
* {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
}

body {
  background-color: var(--abysse);
  color: var(--txt);
  font-family: var(--font-body);
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
}

h1 { font-size: 2.5rem; font-weight: 700; }
h2 { font-size: 2rem; font-weight: 700; }
h3 { font-size: 1.5rem; font-weight: 700; }
h4 { font-size: 1.25rem; font-weight: 600; }

a {
  color: var(--led);
  text-decoration: none !important;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}

a:hover {
  color: var(--txt);
  text-decoration: underline !important;
}

button, .button, .wc-block-components-button {
  background-color: var(--cuivre);
  color: var(--abysse);
  border: none;
  padding: 0.625rem 1.25rem;
  font-weight: 500;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: var(--font-body);
}

button:hover, .button:hover, .wc-block-components-button:hover {
  filter: brightness(1.1);
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="password"],
select,
textarea {
  background-color: var(--abysse);
  color: var(--txt);
  border: 1px solid var(--ligne);
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  font-family: var(--font-body);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--led);
  outline: none;
  box-shadow: 0 0 0 2px rgba(90, 200, 250, 0.1);
}

/* === WOOCOMMERCE SHOP PAGE === */
.woocommerce-products-header {
  background-color: var(--panneau);
  border-bottom: 1px solid var(--ligne);
  padding: 2rem 0;
  margin-bottom: 2rem;
}

.woocommerce-products-header h1 {
  font-family: var(--font-display);
  font-size: 2.5rem;
  color: var(--txt);
}

/* Grille produits */
.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.product {
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--panneau);
  transition: all 0.2s ease;
}

.product:hover {
  border-color: var(--led);
  box-shadow: 0 8px 24px rgba(90, 200, 250, 0.08);
}

.product-image {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: var(--abysse);
}

.product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1rem;
}

.product-info {
  padding: 1rem;
}

.product-title {
  font-family: var(--font-display);
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
  color: var(--txt);
}

.product-title a {
  color: var(--led);
  text-decoration: none;
}

.product-title a:hover {
  color: var(--txt);
}

.price {
  font-family: var(--font-mono);
  font-size: 1.25rem;
  color: var(--cuivre);
  font-weight: 500;
  margin-bottom: 1rem;
}

.add_to_cart_button {
  width: 100%;
  background-color: var(--cuivre);
  color: var(--abysse);
  border: none;
  padding: 0.625rem 1.25rem;
  border-radius: 0.375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  text-decoration: none;
}

.add_to_cart_button:hover {
  filter: brightness(1.1);
}

/* === SINGLE PRODUCT PAGE === */
.woocommerce-product-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .woocommerce-product-details {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.woocommerce-product-gallery {
  position: relative;
}

.woocommerce-product-gallery__image {
  border: 1px solid var(--ligne);
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: var(--panneau);
  aspect-ratio: 4 / 3;
}

.woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1.5rem;
}

.woocommerce-product-gallery__thumbnails {
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
}

.woocommerce-product-gallery__thumbnail {
  width: 80px;
  height: 80px;
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  overflow: hidden;
  cursor: pointer;
  background-color: var(--panneau);
}

.woocommerce-product-gallery__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.5rem;
}

.woocommerce-product-gallery__thumbnail.active {
  border-color: var(--cuivre);
}

.product-summary {
  display: flex;
  flex-direction: column;
}

.product-summary h1 {
  font-family: var(--font-display);
  font-size: 2rem;
  margin-bottom: 1rem;
  color: var(--txt);
}

.product-summary .price {
  font-family: var(--font-mono);
  font-size: 2rem;
  color: var(--txt);
  margin-bottom: 1.5rem;
}

/* === VARIATIONS / ATTRIBUTES === */
.variations {
  margin-bottom: 2rem;
}

.variation {
  margin-bottom: 1.5rem;
}

.variation label {
  display: block;
  margin-bottom: 0.75rem;
  font-weight: 500;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--led);
}

.variation select {
  width: 100%;
  padding: 0.75rem;
  background-color: var(--abysse);
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  color: var(--txt);
  font-family: var(--font-body);
}

/* === SINGLE ADD TO CART === */
.single_add_to_cart_button {
  background-color: var(--cuivre);
  color: var(--abysse);
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s ease;
  width: auto;
}

.single_add_to_cart_button:hover {
  filter: brightness(1.1);
}

/* === CART PAGE (Woo Blocks) === */
.wc-block-cart {
  margin-top: 1.5rem;
}

.wc-block-cart__order-summary-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--txt);
  margin-bottom: 1rem;
}

/* Cart table */
.wp-block-woocommerce-cart-items-block table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  overflow: hidden;
}

.wp-block-woocommerce-cart-items-block th {
  background-color: var(--panneau);
  color: var(--mut);
  padding: 0.75rem 1rem;
  text-align: left;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 500;
  border-bottom: 1px solid var(--ligne);
}

.wp-block-woocommerce-cart-items-block td {
  padding: 1rem;
  border-bottom: 1px solid var(--ligne);
}

.wp-block-woocommerce-cart-items-block td:last-child {
  border-right: none;
}

.wc-block-cart__product-name {
  color: var(--led);
}

.wc-block-cart__product-name:hover {
  color: var(--txt);
}

.wc-block-cart__product-price {
  font-family: var(--font-mono);
  color: var(--txt);
}

.wc-block-components-quantity-selector input {
  width: 60px;
  text-align: center;
  background-color: var(--abysse);
  color: var(--txt);
  border: 1px solid var(--ligne);
  padding: 0.25rem;
}

/* Cart summary */
.wc-block-cart__order-summary {
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  background-color: var(--panneau);
  padding: 1.5rem;
  margin-top: 1.5rem;
}

.wc-block-cart__order-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ligne);
}

.wc-block-cart__order-summary-row:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.wc-block-cart__order-summary-row-total {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--txt);
  font-weight: 600;
}

.wc-block-cart__order-summary-row-label {
  color: var(--mut);
}

/* === CHECKOUT PAGE === */
.wc-block-checkout {
  margin-top: 2rem;
}

.wc-block-checkout-step {
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  background-color: var(--panneau);
}

.wc-block-checkout-step__heading {
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--txt);
  margin-bottom: 1rem;
}

.wc-block-form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: var(--txt);
}

.wc-block-form-input {
  width: 100%;
  padding: 0.75rem;
  background-color: var(--abysse);
  border: 1px solid var(--ligne);
  border-radius: 0.375rem;
  color: var(--txt);
  font-family: var(--font-body);
}

.wc-block-form-input:focus {
  border-color: var(--led);
  outline: none;
  box-shadow: 0 0 0 2px rgba(90, 200, 250, 0.1);
}

.wc-block-checkout__payment-methods {
  margin-top: 1.5rem;
}

.wc-block-checkout__payment-method {
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  padding: 1rem;
  margin-bottom: 1rem;
  background-color: var(--abysse);
}

.wc-block-checkout__payment-method.active {
  border-color: var(--led);
  background-color: var(--panneau);
}

/* Place order button */
.wc-block-checkout__actions {
  margin-top: 2rem;
}

.wc-block-checkout__actions .wp-block-button__link {
  width: 100%;
  background-color: var(--cuivre);
  color: var(--abysse);
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wc-block-checkout__actions .wp-block-button__link:hover {
  filter: brightness(1.1);
}

/* === ACCOUNT PAGES === */
.woocommerce-account {
  max-width: 600px;
  margin: 2rem auto;
}

.woocommerce-account h1 {
  font-family: var(--font-display);
  font-size: 2rem;
  margin-bottom: 1.5rem;
  color: var(--txt);
}

.woocommerce-account .woocommerce-form {
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  padding: 1.5rem;
  background-color: var(--panneau);
}

.woocommerce-account .form-row {
  margin-bottom: 1rem;
}

.woocommerce-account label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: var(--txt);
}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"] {
  width: 100%;
  padding: 0.75rem;
  background-color: var(--abysse);
  border: 1px solid var(--ligne);
  border-radius: 0.375rem;
  color: var(--txt);
  font-family: var(--font-body);
}

.woocommerce-account input:focus {
  border-color: var(--led);
  outline: none;
}

.woocommerce-account button {
  background-color: var(--cuivre);
  color: var(--abysse);
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.375rem;
  font-weight: 500;
  cursor: pointer;
}

/* === MESSAGES & NOTICES === */
.woocommerce-message,
.woocommerce-info,
.woocommerce-notices-wrapper {
  padding: 1rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  font-family: var(--font-body);
}

.woocommerce-message {
  background-color: var(--panneau);
  border: 1px solid var(--led);
  color: var(--txt);
}

.woocommerce-error {
  background-color: var(--panneau);
  border: 1px solid var(--cuivre);
  color: var(--txt);
}

/* Point 1 : Block Notice Banners (WooCommerce Blocks checkout) */
.wc-block-components-notice-banner {
  background-color: var(--panneau) !important;
  border: 1px solid var(--ligne) !important;
  color: var(--txt) !important;
  padding: 1rem !important;
  border-radius: 0.5rem !important;
  margin-bottom: 1.5rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
}

.wc-block-components-notice-banner.is-success {
  border-color: #5cb85c !important;
}

.wc-block-components-notice-banner.is-error {
  border-color: var(--cuivre) !important;
}

.wc-block-components-notice-banner__content {
  color: var(--txt) !important;
}

.wc-block-components-notice-banner a {
  color: var(--led) !important;
}

.wc-block-components-notice-banner.is-error a {
  color: var(--cuivre) !important;
}

/* === FIELDSETS FOR CUSTOM BLOCKS === */
fieldset {
  border: 1px solid var(--ligne);
  border-radius: 0.75rem;
  padding: 1.25rem;
  margin: 1rem 0;
  background-color: var(--panneau);
}

fieldset legend {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--led);
  padding: 0 0.5rem;
  margin-left: -0.5rem;
}

fieldset .form-row {
  margin-bottom: 1rem;
}

fieldset .form-row label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--ligne);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

fieldset .form-row label:hover {
  border-color: var(--led);
}

fieldset .form-row input[type="radio"],
fieldset .form-row input[type="checkbox"] {
  margin-top: 0.25rem;
  cursor: pointer;
  accent-color: var(--cuivre);
}

fieldset .form-row label.active {
  border-color: var(--led);
  background-color: var(--abysse);
}

/* === BREADCRUMB & LINKS FIXES (Défauts #6, #7) === */
.woocommerce-breadcrumb {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  color: var(--mut);
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.woocommerce-breadcrumb a {
  color: var(--mut);
  text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
  color: var(--txt);
  text-decoration: underline;
}

/* Hide WooCommerce elements — défaut #5 */
.product_meta,
.woocommerce-product-rating,
.product_cat,
.product_tag,
.posted_in,
.product-meta {
  display: none !important;
}

/* Tabs → Sections (remove tab styling) — défaut #5 */
.woocommerce-tabs .wc-tab {
  border: none;
  border-bottom: 1px solid var(--ligne);
  padding: 1.5rem 0 !important;
  background-color: transparent !important;
}

.woocommerce-tabs .tabs-content .panel {
  padding: 0 !important;
}

.nav-tabs .nav-link {
  border: none;
  color: var(--txt);
  background-color: transparent;
  padding: 1rem 0;
  border-bottom: 1px solid var(--ligne);
}

.nav-tabs .nav-link.active {
  border-bottom: 1px solid var(--cuivre);
  color: var(--txt);
}

/* Images: object-contain, panel background — défaut #4 */
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__thumbnail {
  background-color: var(--panneau);
}

.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__thumbnail img {
  object-fit: contain;
  object-position: center;
}

/* Variations alignment — défaut #8 */
.variations {
  display: grid;
  gap: 1rem;
}

.variation {
  display: grid;
  gap: 0.5rem;
}

.variation label {
  color: var(--mut);
  font-size: 0.75rem;
  font-weight: 500;
}

.variation select {
  background-color: var(--panneau);
  border: 1px solid var(--ligne);
  color: var(--txt);
  padding: 0.75rem;
}

/* Reset underline link */
a.reset_variations {
  font-size: 0.75rem;
  text-decoration: none !important;
  color: var(--led);
  display: inline;
  margin-left: 0;
}

/* Price formatting (no emphasis, clear font) — défaut #8 */
.price {
  font-family: var(--font-mono);
  font-size: 1.5rem;
  color: var(--txt);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.woocommerce .price,
.wc-block-product-price__amount {
  font-family: var(--font-mono);
  color: var(--txt);
  font-weight: 500;
}

/* Mobile burger: dark overlay — défaut #3 */
.wp-block-navigation__responsive-container {
  background-color: var(--abysse) !important;
  color: var(--txt) !important;
}

.wp-block-navigation__responsive-container-content {
  background-color: var(--abysse) !important;
}

.wp-block-navigation__responsive-container .wp-block-navigation-item a {
  color: var(--txt) !important;
}

.wp-block-navigation-item__content {
  color: var(--txt) !important;
}

/* Close button (X) styling */
.wp-block-navigation__responsive-close {
  color: var(--txt) !important;
}

/* Responsive mobile: remove horizontal scrollbar/border — défaut #9 */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wp-block-woocommerce-cart {
  overflow-x: hidden;
  max-width: 100% !important;
}

main, .wp-site-blocks {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .woocommerce-product-details {
    grid-template-columns: 1fr;
  }

  .products {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .product-summary h1 {
    font-size: 1.5rem;
  }

  .wc-block-cart__order-summary-row {
    flex-direction: column;
    gap: 0.5rem;
  }

  /* Mobile-specific fixes */
  body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* Burger menu dark background */
  .wp-block-navigation__responsive-container {
    background-color: var(--abysse) !important;
  }

  .wp-block-navigation__responsive-container-content {
    background-color: var(--abysse) !important;
    overflow-x: hidden !important;
  }
}

/* === TYPOGRAPHY OVERRIDES === */
.font-display {
  font-family: var(--font-display);
}

.font-body {
  font-family: var(--font-body);
}

.font-mono {
  font-family: var(--font-mono);
}

.text-xs {
  font-size: 0.875rem;
}

.text-sm {
  font-size: 1rem;
}

.text-lg {
  font-size: 1.125rem;
}

.text-xl {
  font-size: 1.5rem;
}

.text-2xl {
  font-size: 2rem;
}

.text-3xl {
  font-size: 2.5rem;
}

.uppercase {
  text-transform: uppercase;
}

.tracking-widest {
  letter-spacing: 0.15em;
}

.text-mut {
  color: var(--mut);
}

.text-txt {
  color: var(--txt);
}

.text-cuivre {
  color: var(--cuivre);
}

.text-led {
  color: var(--led);
}

.bg-panneau {
  background-color: var(--panneau);
}

.bg-abysse {
  background-color: var(--abysse);
}

.border-ligne {
  border-color: var(--ligne);
}

.border-led {
  border-color: var(--led);
}

.border-cuivre {
  border-color: var(--cuivre);
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

/* ============================================================
   Formulaires des blocs WooCommerce (checkout React) — champs
   sombres alignés sur la vitrine : fond abysse, bordure ligne,
   focus LED. Le composant e-mail était resté blanc par défaut.
   ============================================================ */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="url"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea textarea,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-select .components-custom-select-control__button,
.wc-block-components-select select {
  background: var(--abysse) !important;
  border: 1px solid var(--ligne) !important;
  border-radius: 0.5rem !important;
  color: var(--txt) !important;
  box-shadow: none !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus,
.wc-block-components-combobox .components-combobox-control__input:focus,
.wc-block-components-select select:focus {
  border-color: var(--led) !important;
  box-shadow: 0 0 0 1px var(--led) !important;
  outline: none !important;
}

/* Labels flottants + placeholders des blocs */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label,
.wc-block-components-checkbox__label {
  color: var(--mut) !important;
}
.wc-block-components-text-input input::placeholder,
.wc-block-components-textarea textarea::placeholder {
  color: var(--mut) !important;
  opacity: .7;
}

/* Cases à cocher et radios des blocs (livraison, facturation) */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-radio-control__input {
  accent-color: var(--cuivre);
  background: var(--abysse);
  border-color: var(--ligne);
}

/* Cartes des options de livraison / paiement */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-shipping-rates-control__package {
  background: transparent;
  color: var(--txt);
}

/* Autocomplete navigateur : éviter le flash blanc WebKit */
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-text-input input:-webkit-autofill:hover,
.wc-block-components-text-input input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--abysse) inset !important;
  -webkit-text-fill-color: var(--txt) !important;
  caret-color: var(--txt);
}

/* Point 3: Checkbox et textes légaux — taille 12px, couleur mut */
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label {
  font-size: 0.75rem !important;
  line-height: 1.5 !important;
  color: var(--mut) !important;
  font-weight: 400 !important;
}

/* Stripe Klarna legal text / paragraphes légaux */
.wc-block-components-notice-banner__content p,
.klarna__section p,
.payment-gateway-section p,
.wc-block-payment-method-label p {
  font-size: 0.75rem !important;
  line-height: 1.5 !important;
  color: var(--mut) !important;
}

/* Save payment method checkbox */
.wc-block-checkout__payment-method-label {
  font-size: 0.875rem !important;
}

.wc-block-checkout__payment-method-label input[type="checkbox"] {
  accent-color: var(--cuivre) !important;
}

/* Note de commande (checkout) : le textarea restait blanc sur blanc */
.wc-block-checkout__add-note textarea,
.wc-block-components-textarea {
  background: var(--abysse) !important;
  border: 1px solid var(--ligne) !important;
  border-radius: 0.5rem !important;
  color: var(--txt) !important;
}
.wc-block-checkout__add-note textarea::placeholder { color: var(--mut) !important; opacity: .7; }

/* Footer : liens légaux au style vitrine (gris, hover clair, sans bleu) */
footer a, .wp-block-template-part footer a, .pcia-footer a {
  color: #8a93a6 !important;
  text-decoration: none !important;
}
footer a:hover, .pcia-footer a:hover { color: #e8edf2 !important; }

/* Textes d'accessibilité : doivent rester INVISIBLES (le thème les avait laissés apparaître,
   d'où les noms de produits en double dans le résumé de commande). */
.screen-reader-text,
.wc-block-components-order-summary-item__header .screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  word-wrap: normal !important;
}

/* Résumé de commande : le prix apparaissait DEUX fois (sous le nom + total de ligne).
   On ne garde que le total de ligne à droite — la quantité est déjà en badge. */
.wc-block-components-order-summary-item__individual-prices {
  display: none !important;
}

/* La classe réelle du prix sous le nom est au SINGULIER (individual-price). */
.wc-block-components-order-summary-item__individual-price {
  display: none !important;
}

/* Badge quantité sur l'image du résumé : était blanc sur blanc */
.wc-block-components-order-summary-item__quantity {
  background: #e86a33 !important;
  border: 1px solid #0b0e14 !important;
  color: #0b0e14 !important;
  font-weight: 700 !important;
}

/* Zone paiement : TOUS les textes secondaires (mentions Stripe/Klarna, opt-ins,
   « Facultatif », redirections) alignés sur le corps de page : 13px, gris, interligne normal. */
.wc-block-checkout__payment-method p,
.wc-block-checkout__payment-method label,
.wc-block-checkout__payment-method small,
.wc-block-checkout__payment-method span:not(.wc-block-components-formatted-money-amount),
.wc-block-components-radio-control-accordion-content,
.wc-block-components-radio-control-accordion-content * ,
.wc-block-components-checkout-step__description {
  font-size: 13px !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  color: #8a93a6 !important;
  font-family: 'Instrument Sans', sans-serif !important;
}
/* …sauf les libellés des méthodes (Carte / Klarna) qui restent lisibles en clair */
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__label * {
  font-size: 14px !important;
  color: #e8edf2 !important;
}

/* === STRIPE PAYMENT ELEMENT APPEARANCE PROBES ===
   Stripe v10.5+ échantillonne ces sélecteurs pour construire l'appearance
   de son iframe Payment Element. Les rendre explicites à 13-14px pour
   éviter qu'il prenne une valeur héritée surdimensionnée. */
.wc-block-components-text-input {
  font-size: 13px !important;
  color: #8a93a6 !important;
}

.wc-block-components-text-input input,
.wc-block-components-text-input textarea {
  font-size: 13px !important;
  color: #e8edf2 !important;
  background-color: #0b0e14 !important;
  border-color: #222b38 !important;
}

.wc-block-checkout__payment-method {
  font-size: 13px !important;
  color: #8a93a6 !important;
}

.wc-block-checkout__payment-method * {
  font-size: 13px !important;
}

/* Classes qui peuvent matcher [class*="payment"] ou [class*="stripe"] */
[class*="payment"] {
  font-size: 13px !important;
}

[class*="stripe"] {
  font-size: 13px !important;
}

/* Bandeau Link désactiver ou redimensionner */
.stripe-link-banner,
[class*="link-banner"],
.stripe-payment-element__badge {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* === STRIPE PROBES: Hidden elements for correct appearance sampling ===
   Stripe samples these hidden elements to get the correct appearance values.
   Place them before payment section so Stripe finds them. */
#wc-stripe-appearance-probe-text,
.wc-stripe-appearance-probe-text {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  font-size: 13px !important;
  color: #8a93a6 !important;
  background-color: #0b0e14 !important;
  border: 1px solid #222b38 !important;
  font-family: 'Instrument Sans', sans-serif !important;
  line-height: 1.55 !important;
}
