:root {
  --main-blue: #38338A;
}
/* Structure principale */
.pulsi-container {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  justify-content: space-between;
  font-family: "Montserrat", sans-serif;
  color: #2F2F2F;
  margin: 2rem auto;
  max-width: 1200px;
}

/* Colonne gauche */
.pulsi-left {
  flex: 3;
}

.pulsi-selectors {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.pulsi-selectors div{
	display:flex;
	flex:1;
	flex-direction:column
}
.pulsi-selectors label {
  font-weight: 600;
  color: var( --main-blue);

}

.pulsi-selectors select {
  padding: 0.4rem 0.6rem;
  border: 1px solid var( --main-blue);
  border-radius: 4px;
	font-size:0.8em
}

/* Fiche produit */
.pulsi-kit {
  background: #fff;

}

.pulsi-kit h3 {
  color: #3C3A89;
  margin-bottom: 0.5rem;
	text-transform:uppercase;
	font-weight:600 !important;
}

.pulsi-price {
 font-size: 1.8rem !important;
    font-weight: 700;
    color: #313131;
}
.pulsi-description-wrapper {
    margin-top: 15px;
    position: relative;
        margin-bottom: 30px;
}
.pulsi-description {
    max-height: 150px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.pulsi-description.is-open {
    max-height: 2000px;
}
.pulsi-description-fade {
    position: absolute;
    bottom: 25px;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(to bottom, transparent, #fff);
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.pulsi-description.is-open + .pulsi-description-fade {
    opacity: 0;
}
.pulsi-description-toggle {
   display: block;
  
    font-size: 0.85rem;
    color: #3C3A89;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    text-decoration: none;
    margin: 10px 0;
    text-transform: uppercase;
    font-weight: 600;
}
.pulsi-description-toggle:hover {
    color: #2a2870;
}
.pulsi-description h2,.pulsi-description h2 {
	font-size:1em
}
.pulsi-description ul {
  margin: 0.5rem 0 1rem 1.2rem;
  list-style: disc;
}

/* Options */
.pulsi-options label {
  display: block;
  margin-bottom: 0.4rem;
  cursor: pointer;
}

.pulsi-options input[type="checkbox"] {
  accent-color: #3C3A89;
}

/* Récapitulatif */
.pulsi-summary {
  margin-top: 1.5rem;
  border-top: 1px solid #ddd;
  padding-top: 1rem;
}

.pulsi-summary-lines {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pulsi-summary-lines li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.4rem;
}

.pulsi-subtotal {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  color: #3C3A89;
  margin-top: 0.8rem;
}

/* Bouton */
.button.pulsi-add-to-cart, button#place_order {
      background-color: #3c3a89 !important;
    margin-top: 15px !important;
    color: #fff !important;
    font-size: 1.2em !important;
}

.button.pulsi-add-to-cart:hover {
  background: #444;
}

/* Spinner panier */
.pulsi-spinner {
  width: 32px;
  height: 32px;
  margin: 1.5rem auto;
  border: 3px solid #e0e0e0;
  border-top-color: #3C3A89;
  border-radius: 50%;
  animation: pulsi-spin 0.7s linear infinite;
}

@keyframes pulsi-spin {
  to { transform: rotate(360deg); }
}

/* Panier latéral */
.pulsi-right {
  flex: 1;
	max-width:280px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.pulsi-right h3 {
  color: #3C3A89;
  margin-bottom: 1rem;
}

.pulsi-cart-list {
  list-style: none;
  padding: 0;
}

.pulsi-cart-item {
  display: flex;
	flex-direction:column;
  justify-content: space-between;
  margin-bottom: 0.6rem;
}

.pulsi-cart-addons {
  margin-left: 1rem;
  font-size: 0.9rem;
  color: #555;
	 font-size: 0.8em;
    line-height: 1.3em !important;
}

.pulsi-cart-total {
  border-top: 1px solid #ddd;
  margin-top: 1rem;
  padding-top: 0.6rem;
  font-weight: 700;
  color: #3C3A89;
}
.woocommerce-cart-form .product-price, .woocommerce-cart-form .product-subtotal {
  vertical-align: top !important;
}
th.product-subtotal, td.product-subtotal {
    display: none !important;
}
/* Champ Nom de l'élève */
.pulsi-student-name-wrapper {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-width: 420px;
}
.pulsi-student-name-wrapper label {
    font-weight: 600;
    color: var(--main-blue);
}
.pulsi-student-name-wrapper input {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--main-blue);
    border-radius: 4px;
    font-size: 0.9em;
    font-family: inherit;
}
.pulsi-student-name-wrapper input:focus {
    outline: 2px solid var(--main-blue);
    outline-offset: 1px;
}
/* Affichage du nom dans le panier latéral */
.pulsi-student-name-sidebar {
    font-size: 0.85em;
    color: #444;
    margin: 2px 0 4px;
}
/* Affichage du nom sur la page panier WooCommerce */
.pulsi-student-name-cart {
    font-size: 0.88em;
    color: #444;
    margin: 4px 0 2px;
}

#pulsi-payment-choice-list li label small {

    white-space: normal !important;
    line-height: 1.2em !important;

}

/* Masquer la colonne Quantité et le bouton Mettre à jour */
.woocommerce-cart table.cart th.product-quantity,
.woocommerce-cart table.cart td.product-quantity { display: none !important; }
.woocommerce-cart .woocommerce-cart-form .actions { display: none !important; }
/* Lignes d'options dans le tableau panier */
.woocommerce-cart table.cart tr.pulsi-addon-row td {
    border-top: none;
    padding-top: 2px;
    padding-bottom: 8px;
    font-size: 0.88em;
    color: #555;
    background: #fafafa;
}
.woocommerce-cart table.cart tr.pulsi-addon-row td.pulsi-addon-name-cell {
    padding-left: 12px;
    font-style: italic;
}
.woocommerce-cart table.cart tr.pulsi-addon-row td.pulsi-addon-price-cell {
    font-weight: 500;
}

/* Corbeille WooCommerce panier – alignée avec le nom du produit */
.woocommerce-cart table.cart td.product-remove {
    
    padding-top: 14px;
    width: 32px;
}
.woocommerce-cart table.cart td.product-remove a.remove {
    display: flex;
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    color: #c0392b !important;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
    font-size: 0;
}
.woocommerce-cart table.cart td.product-remove a.remove svg {
    display: block;
    margin: auto;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover {
    background: #fdecea;
    color: #a93226 !important;
    
}
 .woocommerce-cart table.cart td.product-remove  {
    vertical-align: top !important;
}
.pulsi-remove-product, .pulsi-remove-addon{
	background-color: transparent;
    border: 0;
    color: red;
    font-weight: bold;
    float: right;
	cursor:pointer
}

.pulsi-cart-addons-wc {
   list-style: none;

    padding: 0 0 10px 10px !important;
    line-height: 26px !important;
    font-weight: 400 !important;
    line-height: 1.3em !important;
    font-size: 0.9em !important;
    color: #444 !important;
}

.pulsi-cart-addons-wc li {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 3px;
}

.pulsi-remove-addon-wc {
    background: transparent;
    border: none;
    color: red;
    font-weight: bold;
    cursor: pointer;
    padding: 0 2px;
    line-height: 1;
    font-size: 0.95em;
}

.pulsi-remove-addon-wc:disabled {
    opacity: 0.4;
    cursor: default;
}

.pulsi-panier a.button{
	width: 100% !important;
    text-align: center !important;
    margin-top: 30px !important;
    font-size: 1.1em !important;
}
.form-row.place-order button{
	
}
#pulsi-panier a.button,.form-row.place-order button, button#place_order{
    background-color: #3c3a89 !important;
    color: #fff !important;
    margin-top: 15px !important;
    border-radius: 7px !important;
    font-size: 1.3em !important;
    width: 100% !important;
    text-align: center !important;
}
.woocommerce-table--order-details .wc-local-pickup-plus{
	display:none
}
/* ── Responsive ─────────────────────────────────────────── */

/* Tablette : le panier passe sous le formulaire */
@media (max-width: 900px) {
  .pulsi-container {
    flex-direction: column;
    padding: 0 1rem;
    margin: 1rem auto;
  }
  .pulsi-left {
    width: 100%;
  }
  .pulsi-right {
    width: 100%;
    max-width: 100%;
    margin-top: 1.5rem;
  }
}

/* Mobile : sélecteurs empilés, bouton pleine largeur */
@media (max-width: 600px) {
  .pulsi-container {
    padding: 0 0.75rem;
    gap: 1rem;
  }
  .pulsi-selectors {
    flex-direction: column;
    gap: 0.75rem;
  }
  .pulsi-selectors select {
    font-size: 1rem;
    padding: 0.5rem 0.6rem;
  }
  .pulsi-student-name-wrapper {
    max-width: 100%;
  }
  .pulsi-student-name-wrapper input {
    font-size: 1rem;
    padding: 0.5rem 0.6rem;
  }
  .button.pulsi-add-to-cart {
    width: 100%;
    text-align: center;
    padding: 0.9rem 1rem;
    font-size: 1rem;
  }
  .pulsi-price {
    font-size: 1.4rem !important;
  }
  .pulsi-kit h3 {
    font-size: 1rem;
  }
  .pulsi-options label {
    font-size: 0.9rem;
  }
  .pulsi-right {
    padding: 1rem;
  }
  .pulsi-summary {
    margin-top: 1rem;
  }
}
.variation-Montantdelacompte, .variation-Montantdelacompte, .product-total > small, .variation-Montantdelacompte, .variation-Paiementsfuturs{
	display:none !important
}

/* ── Footer Divi : désactiver le burger menu sur mobile ─── */
@media (max-width: 980px) {
  /* Cacher le burger dans tous les modules menu du footer TB */
  .et_pb_menu[class*="tb_footer"] .et_mobile_nav_menu {
    display: none !important;
  }

  /* Afficher le menu desktop normal à la place */
  .et_pb_menu[class*="tb_footer"] .et_pb_menu__menu {
    display: block !important;
  }

  /* Liens en liste verticale */
  .et_pb_menu[class*="tb_footer"] .et_pb_menu__menu .et-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.3rem;
  }

  .et_pb_menu[class*="tb_footer"] .et_pb_menu__menu .et-menu li {
    display: block !important;
  }
}
