/**
*  PROFIL / MY ACCOUNT
*  =======================================================================================================
**/
/** BANNER - MY ACCOUNT ============== **/
.banner-account__first {
  height: 110px;
  position: relative;
  background: var(--color-tertiary);
}
.banner-account__first::after {
  content: "";
  position: absolute;
  width: calc(100% - 300px);
  height: 100%;
  background: url(../images/fondo-account.jpg);
  background-repeat: no-repeat;
  background-size: 650px;
  background-position: center;
  z-index: 1;
  top: 0;
  right: 0;
  clip-path: polygon(100% 0%, 100% 100%, 0% 100%, 50px 0%);
}
.banner-account__first::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(100% - 330px);
  bottom: 0;
  width: 13px;
  background: #fff;
  transform: skewX(-24deg);
  z-index: 2;
}
.banner-account {
  padding: 0 0 50px;
}
.banner-account .container {
  max-width: max-content;
  margin: -35px auto 0;
}
.banner-account__content {
  padding: 77px 0 0 120px;
  font-weight: 700;
  font-size: 0.9rem;
}
.banner-account__content strong {
  font-weight: 700;
}
.banner-account__title {
  position: absolute;
  left: 20px;
  top: 0;
  width: 270px;
  height: 130px;
}

/* Header login: fondo tertiary y logo 210px solo en móvil */
@media screen and (max-width: 579px) {
  .woocommerce-account:not(.logged-in) .page-header {
    background: var(--color-tertiary);
  }
  .woocommerce-account:not(.logged-in) .page-header__logo {
    width: 210px;
  }
}
@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .banner-account__first {
    display: none;
  }
  .banner-account .container {
    margin: 0 auto;
  }
  .banner-account {
    background-color: var(--color-tertiary);
    padding: 40px 0 50px;
  }
}
@media screen and (min-width: 1280px) {
}

/* Reset generic page chrome */
.woocommerce-account .entry-header,
.woocommerce-account .entry-footer {
  display: none;
}
.woocommerce-account .entry-content,
.woocommerce-account .woocommerce {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
}

/* Section */
#profil-page {
  padding: 0;
  background: linear-gradient(
    to bottom,
    var(--color-tertiary) calc(67% + 1px),
    #fff 50%
  );
}

/* Two-column layout */
.profil-page__layout {
  display: flex;
  gap: 0;
  align-items: flex-start;
  justify-content: space-between;
}

/* LEFT: nav container */
.profil-page__nav {
  flex-shrink: 0;
  width: 20%;
  position: relative;
  min-height: 707px;
}
/* .profil-page__nav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 114px;
    bottom: 0;
    width: 1px;
    background: var(--color-tertiary);
    transform: skewX(-25deg);
    z-index: 0;
} */
.profil-page__tabs {
  list-style: none;
  padding: 0;
  margin: 0;
  position: absolute;
  width: calc(100% + 275px);
  left: 0;
  top: 0;
  isolation: isolate;
}
.profil-page__tabs::after {
  content: "";
  position: absolute;
  width: 242px;
  height: 100%;
  background: url(../images/fondo-account.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -1;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 100% 0, 0 100%, 0 100%);
  border-top: 1px solid var(--color-tertiary);
}
/* .profil-page__tabs::before {
    content: "";
    position: absolute;
    top: 0;
    left: 114px;
    bottom: 0;
    width: 14px;
    background: #fff;
    transform: skewX(-25deg);
    z-index: 0;
    border-left: 1px solid var(--color-tertiary);
    border-top: 1px solid #fff;
} */
/* Tab — mirrors .single-faq__question */
.profil-page__tab {
  position: relative;
  padding: 14px 24px 14px 20px;
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: #aaa;
  transition: var(--transition);
  clip-path: polygon(0 0, calc(100% - 2px) 0, calc(100% - 26px) 100%, 0 100%);
  border: 1px solid var(--color-border-primary);
  border-top: 0;
  min-height: 58px;
  display: flex;
  align-items: center;
}
.profil-page__tab:first-child {
  width: calc(100% - 10px);
  border-top: 1px solid var(--color-border-primary);
}
.profil-page__tab:nth-child(2) {
  width: calc(100% - 34px);
}
.profil-page__tab:nth-child(3) {
  width: calc(100% - 58px);
}
.profil-page__tab:nth-child(4) {
  width: calc(100% - 82px);
  margin-bottom: 5px;
}
.profil-page__tab:nth-child(5) {
  width: calc(100% - 108px);
  border-top: 1px solid var(--color-border-primary);
}
.profil-page__tab:nth-child(6) {
  width: calc(100% - 132px);
}
.profil-page__tab:nth-child(7) {
  width: calc(100% - 156px);
}
.profil-page__tab:nth-child(8) {
  width: calc(100% - 180px);
  margin-bottom: 5px;
}
.profil-page__tab:nth-child(9) {
  width: calc(100% - 206px);
  border-top: 1px solid var(--color-border-primary);
}
.profil-page__tab:nth-child(10) {
  width: calc(100% - 230px);
}
.profil-page__tab:nth-child(11) {
  width: calc(100% - 254px);
}
.profil-page__tab:nth-child(12) {
  width: calc(100% - 278px);
}
.woocommerce-MyAccount-navigation-link--service-client {
  color: #fff !important;
}
@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .profil-page__tabs::after {
    display: none;
  }
  .profil-page__tabs::after {
    border-top: none;
  }
  .profil-page__tab {
    background-color: #fff;
  }
  .woocommerce-MyAccount-navigation-link--service-client {
    color: #aaa !important;
    background-color: var(--color-txt) !important;
  }
}
@media screen and (min-width: 1280px) {
}

/* Diagonal border line */
.profil-page__tab::after {
  content: "";
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  width: 1px;
  background: var(--color-border-primary);
  transform: skewX(-22deg);
  z-index: 1;
}
.profil-page__tab a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.profil-page__tab:hover,
.profil-page__tab.is-active {
  color: var(--color-dark);
}
.woocommerce-MyAccount-navigation-link--service-client:hover,
.woocommerce-MyAccount-navigation-link--service-client.is-active {
  color: #aaa;
}

/* RIGHT: content */
.profil-page__content {
  flex: 1;
  min-width: 0;
  height: stretch;
  background-color: #fff;
  clip-path: polygon(calc(30% + 9px) 0, 100% 0, 100% 100%, 0% 100%);
  width: 75%;
  position: relative;
}
.profil-page__content::after {
  content: "";
  position: absolute;
  top: 0;
  left: 142px;
  bottom: 0;
  width: 1px;
  background: var(--color-border-primary);
  transform: skewX(-22deg);
  z-index: 1;
}
/* La notificación se muestra como toast flotante (initAccountNoticeToast en project.js),
   no en el flujo, para no aumentar la altura del contenedor diagonal. */
.profil-page__content .woocommerce-notices-wrapper {
  display: none;
}

.account-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 360px;
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
  pointer-events: none;
}
.account-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.account-toast__item {
  position: relative;
  background: #0f834d;
  color: #fff;
  font-size: 0.85rem;
  line-height: 1.4;
  padding: 14px 40px 14px 18px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}
.account-toast__item--error {
  background: #e2401c;
}
.account-toast__item--info {
  background: #3d9cd2;
}
.account-toast__close {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.8;
}
.account-toast__close:hover {
  opacity: 1;
}

@media (max-width: 600px) {
  .account-toast {
    right: 12px;
    left: 12px;
    bottom: 16px;
    max-width: none;
  }
}

.woocommerce-account .page-header__brand {
  justify-self: center;
  margin-right: 60px;
}
.woocommerce-account .page-header__actions,
.woocommerce-account .page-header__cart-mobile {
  display: none;
}

@media screen and (min-width: 580px) {
  .woocommerce-account .page-header__brand {
    margin-right: 0;
  }
  .woocommerce-account .page-header__actions {
    display: flex;
  }
}
@media screen and (min-width: 980px) {
  .profil-page__content {
    border: 1px solid var(--color-border-primary);
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  RESPONSIVE
*  =======================================================================================================
**/

@media (max-width: 980px) {
  .profil-page__layout {
    flex-direction: column;
    gap: 0;
    margin: 0 -1.5rem -60px;
  }
  .profil-page__nav {
    width: 100%;
  }
  .profil-page__tab {
    width: 100% !important;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .profil-page__tab::after {
    display: none;
  }

  /* Ocultar "Aperçu du compte" en mobile */
  .woocommerce-MyAccount-navigation-link--dashboard {
    display: none;
  }

  /* HOME: solo menú centrado, sin contenido */
  .profil-page__layout--home .profil-page__nav {
    min-height: 0;
  }
  .profil-page__layout--home .profil-page__tabs {
    position: static;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    background: linear-gradient(
      to bottom,
      var(--color-tertiary) calc(100% - 50px),
      var(--color-txt) calc(100% - 50px)
    );
  }
  .profil-page__layout--home .profil-page__tab {
    width: 100% !important;
    max-width: none;
    min-width: 200px;
    justify-content: center;
    text-align: center;
    padding: 10px 24px 10px 20px;
    min-height: 50px;
    color: var(--color-dark);
    border: none;
  }
  .profil-page__layout--home .profil-page__tab::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #fff;
    border-top: none;
    z-index: -2;
    pointer-events: none;
  }
  .profil-page__layout--home .profil-page__content {
    display: none;
  }

  /* ENDPOINT: solo contenido, sin nav */
  .profil-page__layout--endpoint .profil-page__nav {
    display: none;
  }
  .profil-page__layout--endpoint .profil-page__content {
    width: 100%;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .profil-page__layout--endpoint .profil-page__content::after {
    display: none;
  }

  /* Header en mi cuenta: solo hamburguesa + logo, fondo blanco */
  .woocommerce-account .page-header {
    background: #fff;
    padding: 10px 0;
  }
  .woocommerce-account .page-header::after {
    display: none;
  }
}

.img-fondo-account {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}
.account-content-title {
  background-color: var(--color-txt);
  padding: 20px 10px;
  margin-bottom: 0;
  overflow: hidden;
}
.account-content-title h2 {
  color: var(--color-primary);
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0;
  text-align: center;
}

@media (max-width: 980px) {
  .account-content-title {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 16px;
    justify-content: center;
  }
  .account-content-title h2 {
    text-align: left;
    color: #fff;
  }
}

@media screen and (min-width: 580px) {
  .woocommerce-account .page-header {
    background: #fff;
    padding: 18px 0 14px;
  }
}
@media screen and (min-width: 980px) {
  .account-content-title {
    padding: 10px 20px 10px 300px;
}
  .account-content-title__back span {
    display: none;
  }
  .account-content-title {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  MES COMMANDES — my account content
*  =======================================================================================================
**/
.mc-account {
  position: relative;
  padding: 20px 1.5rem 30px;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
.mc-account__empty,
.mr-account__empty {
  text-align: center;
  padding: 40px 20px 40px 132px;
  font-size: 0.85rem;
  color: var(--color-dark);
}
.mc-account__order {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (min-width: 981px) {
  .mc-account__order {
    display: none;
  }
  .mc-account__order.is-active {
    display: flex;
    flex-direction: column;
  }
}
.mc-account__img-wrap {
  width: 100%;
  height: 380px;
  overflow: hidden;
  margin: 0 auto 0 auto;
  display: block;
  min-height: 409px;
  padding-bottom: 20px;
}
.mc-account__img-placeholder {
  width: 100%;
  height: 100%;
  background: #eee;
}
.mc-account__img-swiper {
  width: 100%;
  height: 100%;
}
.mc-account__img-swiper .swiper-slide {
  aspect-ratio: 1/1;
  overflow: hidden;
  height: max-content;
}
@media (min-width: 981px) {
  .mc-account__img-swiper .swiper-slide {
    display: none;
  }
  .mc-account__img-swiper .swiper-slide:first-child {
    display: block;
    width: 100% !important;
    height: 100%;
  }
}
@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .mc-account {
    position: relative;
    padding: 0 20px 0 118px;
    background: none;
  }
  .mc-account__img-wrap {
    clip-path: polygon(22% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
@media screen and (min-width: 1280px) {
}
.mc-account__status-bar {
  padding: 10px 20px 5px;
  font-size: 0.82rem;
  color: var(--color-dark);
  text-align: center;
  margin-top: 0;
  padding-top: 35px;
  border-top: 1px solid var(--color-border-primary);
  width: 782px;
}
.mc-account__status-label {
  font-family: var(--font-body);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: underline;
  margin-right: 4px;
  color: var(--color-border-primary);
  font-size: 1.1rem;
}
.mc-account__status-sep {
  margin-right: 4px;
}
.mc-account__status-value {
  font-weight: 700;
}
.mc-account__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px 0 20px;
  gap: 16px;
}
.mc-account__meta {
  font-size: 0.8rem;
  color: var(--color-dark);
  line-height: 1.7;
}
.mc-account__meta p {
  margin: 0;
}
.mc-account__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
}

/* Botones */
.mc-btn {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.8rem;
  text-transform: uppercase;
  padding: 7px 18px;
  cursor: pointer;
  text-decoration: underline;
  text-align: center;
  border: 1px solid var(--color-txt);
  transition:
    background 0.2s,
    color 0.2s;
  white-space: nowrap;
  min-width: 230px;
}
.mc-btn--light {
  background: #fff;
  color: var(--color-txt);
}
.mc-btn--light:hover {
  background: var(--color-txt);
  color: #fff;
}
.mc-btn--dark {
  background: var(--color-txt);
  color: #fff;
}
.mc-btn--dark:hover {
  background: #fff;
  color: var(--color-txt);
}
.mc-btn--disabled {
  opacity: 0.4;
  cursor: default;
  pointer-events: none;
}

/* Paginación */
.mc-account__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding-top: 24px;
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 700;
}
.mc-account__pag-arrow {
  color: var(--color-border-primary);
  text-decoration: none;
  font-size: 1rem;
  line-height: 1;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.mc-account__pag-arrow--disabled {
  opacity: 0.3;
  cursor: default;
}
.mc-account__pag-info {
  color: var(--color-border-primary);
}

/* Modal de detalles del pedido */
.mc-order-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9000;
  align-items: center;
  justify-content: center;
}
.mc-order-modal.is-open {
  display: flex;
}
.mc-order-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
}
.mc-order-modal__dialog {
  position: relative;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
  width: 92%;
  max-width: 780px;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 1;
}
.mc-order-modal__close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: none;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  color: #fff;
  padding: 0;
  z-index: 2;
}

/* Título oscuro con texto blanco subrayado */
.mc-order-modal__title-bar {
  background: var(--color-txt);
  padding: 16px 40px 0;
  text-align: center;
}
.mc-order-modal__title-bar h2 {
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
  margin: 0;
}

/* Subtítulo */
.mc-order-modal__subtitle {
  background: var(--color-txt);
  padding: 6px 40px 14px;
  text-align: center;
}
.mc-order-modal__subtitle p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #fff;
  margin: 0;
  font-weight: 600;
}

/* Filas de dos columnas */
.mc-order-modal__row {
  display: grid;
  grid-template-columns: 1fr;
  padding: 20px 30px;
  gap: 20px;
  font-size: 0.9rem;
  color: var(--color-dark);
  line-height: 1.3;
}
.mc-order-modal__row p {
  margin: 0;
}
.mc-order-modal__col-title {
  font-family: var(--font-body);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 1rem;
  margin-bottom: 20px !important;
  color: var(--color-primary);
}
.mc-order-modal__col--address address {
  font-style: normal;
  line-height: 1.6;
  padding-top: 4px;
}
.mc-order-modal__row--payment {
  position: relative;
  align-items: center;
  border-top: 6px solid #fff;
  border-bottom: 6px solid #fff;
}

.mc-order-modal__payment,
.mc-order-modal__total {
  color: var(--color-dark);
  margin: 0;
}
.mc-order-modal__total--after-refund {
  color: #27ae60;
  margin-top: 4px !important;
}
.mc-order-modal__col--return {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.mc-btn--return {
  font-size: 0.72rem;
  padding: 9px 20px;
  min-width: 190px;
  white-space: nowrap;
}
/* Sección de artículos */
.mc-order-modal__articles {
  padding: 20px 30px 28px;
}
.mc-order-modal__articles-title {
  margin: 0 0 16px;
  font-family: var(--font-body);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 1rem;
  margin-bottom: 20px !important;
  color: var(--color-primary);
}
.mc-order-modal__swiper {
  overflow: hidden;
}
.mc-order-modal__slide {
  width: 150px;
}
.mc-order-modal__product {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mc-order-modal__product-img {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border-primary);
  margin-bottom: 6px;
  aspect-ratio: 1/1;
}
.mc-order-modal__product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.mc-order-modal__product-img--empty {
  background: #f0f0f0;
}
.mc-order-modal__product-name {
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 700;
  text-decoration: underline;
  text-transform: uppercase;
  color: var(--color-dark);
  margin: 0;
  line-height: 1.3;
}
.mc-order-modal__product-price {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-dark);
  margin: 0;
  border-bottom: 1px solid var(--color-border-primary);
}
.mc-order-modal__product-attr {
  font-size: 0.68rem;
  color: var(--color-dark);
  margin: 0;
  line-height: 1.4;
  border-bottom: 1px solid var(--color-border-primary);
  padding-bottom: 6px;
}
.mc-order-modal__product .mc-order-modal__product-attr:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

@media (max-width: 980px) {
  .mc-account__img-wrap {
    width: 100%;
    height: max-content;
  }
  .mc-account__footer {
    flex-direction: column;
    align-items: flex-start;
  }
  .mc-account__actions {
    align-items: stretch;
    width: 100%;
  }
  .mc-btn {
    min-width: 0;
    width: 100%;
  }
  .mc-order-modal__dialog {
    width: 96%;
    max-height: 92vh;
  }
  .mc-order-modal__title-bar,
  .mc-order-modal__subtitle {
    padding-left: 20px;
    padding-right: 20px;
  }
  .mc-order-modal__row {
    padding: 16px 20px;
    gap: 14px;
  }
  .mc-order-modal__col--return {
    justify-content: flex-start;
  }
  .mc-order-modal__articles {
    padding: 16px 20px 24px;
  }
  .mc-btn--return {
    width: auto;
  }
  .mc-account__pagination {
    display: none;
  }
  .mc-account__order + .mc-account__order {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--color-border-primary);
  }
}

@media screen and (min-width: 580px) {
  .mc-order-modal__row--payment::after {
    content: "";
    position: absolute;
    top: -3px;
    left: 30px;
    width: 210px;
    height: 2px;
    background-color: var(--color-border-primary);
  }
  .mc-order-modal__row--payment::before {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 30px;
    width: 165px;
    height: 2px;
    background-color: var(--color-border-primary);
  }
  .mc-order-modal__row {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 980px) {
  .mc-order-modal__row {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  CARTES CADEAUX — my account content
*  =======================================================================================================
**/
.cc-account {
  text-align: center;
  padding: 20px 1.5rem 40px;
  position: relative;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
.cc-account__img {
  width: 100%;
  height: 220px;
  overflow: hidden;
  margin-bottom: 20px;
  display: inline-block;
}
.cc-account__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.cc-account__headline {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-dark);
  margin-bottom: 10px;
  padding: 0 30px;
}
.cc-account__body {
  font-size: 1rem;
  color: var(--color-dark);
  line-height: 1.5;
  text-align: left;
}
.cc-account__body p {
  margin-bottom: 8px;
}
.cc-account__body p:last-child {
  margin-bottom: 0;
}
.cc-account__body a {
  color: var(--color-secondary);
  text-decoration: underline;
}
.cc-account__footer {
  padding: 20px 30px;
}

@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .cc-account::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  .cc-account__headline {
    font-size: 0.85rem;
  }
  .cc-account__body {
    font-size: 0.75rem;
  }
  .cc-account {
    padding: 0 15px 0 30px;
    background: none;
  }
  .cc-account__img {
    width: 72%;
    height: 220px;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  MEMBRE PRIVILÈGE — my account content
*  =======================================================================================================
**/
.mp-account {
  position: relative;
  text-align: center;
  padding: 20px 1.5rem 40px;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}

.mp-account__logo {
  margin: 0 auto 18px;
  display: inline-block;
}
.mp-account__logo img {
  max-width: 200px;
  height: auto;
  margin: 0 auto;
  background-color: #fff;
}
.mp-account__headline {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-dark);
  text-transform: uppercase;
  line-height: 1.4;
  margin-bottom: 10px;
}
.mp-account__body {
  text-align: left;
  font-size: 1rem;
  color: #000;
  line-height: 1.3;
}
.mp-account__body p {
  margin-bottom: 5px;
}
.mp-account__list {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}
.mp-account__list li {
  margin-bottom: 4px;
}
.mp-account__body a {
  color: var(--color-dark);
  text-decoration: underline;
}
.mp-account__cgu {
  font-size: 1rem;
  margin-top: 8px;
}
.mp-account__cgu a {
  color: var(--color-secondary);
  text-decoration: underline;
}
.mp-account__cta-label {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 22px 0 14px;
  color: #aaa;
  padding-top: 30px;
  text-align: center;
  margin-top: 30px;
}
.mp-account__btn {
  text-align: center;
  display: inline-block;
}
.mp-account__btn img {
  max-width: 280px;
  height: auto;
  cursor: pointer;
  border: 1px solid var(--color-txt);
}
@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .mp-account {
    padding: 0 20px 0 30px;
    background: none;
  }
  .mp-account__logo img {
    max-width: 150px;
  }
  .mp-account__headline {
    font-size: 0.8rem;
  }
  .mp-account__body {
    font-size: 0.75rem;
    line-height: 1.2;
  }
  .mp-account__cgu {
    font-size: 0.78rem;
  }
  .mp-account::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  .mp-account__cta-label {
    font-size: 0.9rem;
    padding-top: 0;
    margin-top: 0;
  }
  .mp-account__btn img {
    max-width: 230px;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  NOUS CONTACTER — my account content
*  =======================================================================================================
**/
.nc-account {
  text-align: center;
  padding: 20px 1.5rem 40px;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
.nc-account__intro {
  font-size: 1rem;
  color: var(--color-dark);
  line-height: 1.5;
  margin-bottom: 15px;
  text-align: left;
}
.nc-account__items {
  display: block;
  margin-bottom: 24px;
}
.nc-account__item,
.nc-account__social {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 60%;
  vertical-align: top;
  margin-bottom: 30px;
}
.nc-account__label {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-dark);
  margin-bottom: 6px;
}
.nc-account__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 6px;
}
.nc-account__icon-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nc-account__link {
  font-size: 1rem;
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-bottom: 3px;
}
.nc-account__desc {
  font-size: 1rem;
  color: var(--color-dark);
  margin: 0;
}
.nc-account__social {
  margin-top: 4px;
}
.nc-account__social-icons {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}

@media (max-width: 768px) {
  .nc-account::before {
    display: none;
  }
  .nc-account__item,
  .nc-account__social {
    width: 100%;
  }
}
@media screen and (min-width: 580px) {
  .nc-account__icon-wrap {
    width: 40px;
    height: 40px;
  }
}
@media screen and (min-width: 980px) {
  .nc-account__intro {
    font-size: 0.82rem;
  }
  .nc-account__link {
    font-size: 0.78rem;
  }
  .nc-account__desc {
    font-size: 0.75rem;
  }
  .nc-account__label {
    font-size: 0.75rem;
  }
  .nc-account::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  .nc-account {
    padding: 0px 20px 0px 35px;
    background: none;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  EDIT ACCOUNT / MES INFORMATIONS
*  =======================================================================================================
**/
.woocommerce-EditAccountForm {
  padding: 0 20px 20px 185px;
}
.woocommerce-EditAccountForm .woocommerce-form-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}
.woocommerce-EditAccountForm .woocommerce-form-row label {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-dark);
  margin: 0;
}
.woocommerce-EditAccountForm .woocommerce-form-row .input-text {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--color-border-primary);
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: var(--color-dark);
  background: #fff;
  outline: none;
}
.woocommerce-EditAccountForm .woocommerce-form-row .input-text:focus {
  border-color: var(--color-txt);
}
.edit-account__row {
  display: flex;
  gap: 16px;
}
.edit-account__row .woocommerce-form-row {
  flex: 1;
}
.woocommerce-EditAccountForm .woocommerce-Button {
  margin-top: 6px;
}

@media (max-width: 768px) {
  .woocommerce-EditAccountForm {
    padding: 0 16px 20px;
  }
  .edit-account__row {
    flex-direction: column;
    gap: 0;
  }
}
@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .woocommerce-EditAccountForm .woocommerce-form-row label {
    font-size: 0.78rem;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  Mes informations — my account content
*  =======================================================================================================
**/
form.woocommerce-EditAccountForm.edit-account {
  position: relative;
  padding: 20px 1.5rem 40px;
  text-align: center;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
.row-block-account {
  display: inline-block;
  text-align: left;
  min-width: 55%;
}
/* .row-block-account {
  display: inline-block;
  text-align: left;
} */
.row-block-account .sc-field__wrap {
  display: flex;
  align-items: stretch;
  position: relative;
}
.row-block-account .sc-field__input,
.sc-field__select {
  width: 235px;
  border: 1px solid var(--color-border-primary);
  padding: 10px 10px;
  font-family: var(--font-body);
  font-size: 1rem;
  background: #fff;
  outline: none;
  position: relative;
  height: 42px;
}
.row-block-account .sc-field__deco {
  flex-shrink: 0;
  width: 75px;
  background: var(--color-txt);
  clip-path: polygon(0% 0%, 62% 0%, 100% 100%, 0% 100%);
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.row-block-account .sc-field__wrap:has(.sc-field__deco)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 66px;
  bottom: 0;
  width: 1px;
  background: var(--color-border-primary);
  transform: skewX(34deg);
  z-index: 1;
  pointer-events: none;
}
.row-block-account .sc-field__wrap.-der:has(.sc-field__deco)::after {
  left: auto;
  right: 66px;
}
.row-block-account .sc-field__wrap:has(.sc-field__deco) {
  position: relative;
}
.row-block-account .sc-field__input.-iz {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, calc(0% + 28px) 100%);
  padding-left: 50px;
  margin-left: 53px;
}
.row-block-account .sc-field__input.-der,
.sc-field__select.-der {
  clip-path: polygon(0% 0%, calc(100% - 28px) 0%, 100% 100%, 0% 100%);
  margin-right: 53px;
  padding: 10px 50px 10px 20px;
}
.row-block-account .sc-field__deco.-der {
  right: 0;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 38% 100%);
}
.row-block-account .sc-field__deco.-gold {
  background: var(--color-gold);
}
form.woocommerce-EditAccountForm.edit-account .btn-submit {
  display: inline-block;
  border: 2px solid var(--color-txt);
  background: var(--color-txt);
  padding: 12px 48px;
  font-family: var(--font-body);
  font-size: 0.9rem;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
  color: #fff;
  text-decoration: underline;
}
.row-block-account-footer {
  padding-top: 35px;
  border-top: 1px solid var(--color-border-primary);
  text-align: center;
  margin: 0;
}

@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  form.woocommerce-EditAccountForm.edit-account::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  form.woocommerce-EditAccountForm.edit-account {
    position: relative;
    padding: 0 20px 0 35px;
    text-align: left;
    background: none;
  }
  .row-block-account-footer {
    margin: 0 0 0 75px;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  LOGIN / REGISTER — my account (not logged in)
*  =======================================================================================================
**/
.login-page {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  min-height: calc(100vh - 172px);
}
.login-container {
  width: 100%;
}
@media screen and (min-width: 580px) {
  .login-container {
    max-width: 450px;
    margin: 40px auto;
    border: 1px solid var(--color-border-primary);
    background-color: #fff;
  }
  .login-page {
    align-items: center;
    background: #e2e4e4;
    margin-bottom: -60px;
  }
}
@media screen and (min-width: 980px) {
}
@media screen and (min-width: 1280px) {
}

/* Tabs */
.login-tabs {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid var(--color-border-primary);
  margin-bottom: 28px;
  position: relative;
}
.login-tab {
  flex: 1;
  background: none;
  border: none;
  padding: 23px 10px;
  font-size: 1rem;
  font-weight: 700;
  color: #aaa;
  cursor: pointer;
  text-transform: uppercase;
  transition: color 0.2s;
  text-align: center;
}
.login-tab.is-active {
  color: var(--color-dark);
}
.login-tab-sep {
  width: 4px;
  left: 50%;
  background: var(--color-tertiary);
  transform: skewX(-45deg) translateX(-50%);
  align-self: stretch;
  position: absolute;
  height: 67px;
  top: 0;
}
.login-tab-sep::before,
.login-tab-sep::after {
  content: "";
  position: absolute;
  width: 1px;
  background: var(--color-border-primary);
  height: 67px;
  top: 0;
}
.login-tab-sep::before {
  left: -1px;
}
.login-tab-sep::after {
  right: -1px;
}
/* Panels */
.login-panel {
  display: none;
  max-width: 340px;
  margin: 0 auto;
  padding: 20px 0;
}
.login-panel.is-active {
  display: block;
}

/* Field wrapper */
.login-field {
  margin-bottom: 18px;
}
.login-field__label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--color-dark);
  text-transform: uppercase;
  margin-bottom: 5px;
}

/* Diagonal inputs inside login-page */
.login-page .sc-field__wrap {
  display: flex;
  align-items: stretch;
  position: relative;
  width: 100%;
}
.login-page .sc-field__deco {
  flex-shrink: 0;
  width: 35px;
  background: #4e4e4d;
  clip-path: none;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  z-index: 2;
}
.login-page .sc-field__deco::after {
  content: "";
  position: absolute;
  right: -31px;
  top: 0px;
  width: 42px;
  height: 42px;
  background-image: url(../images/triangle-left-2.svg);
  background-size: auto 42px;
  background-repeat: no-repeat;
  background-position: bottom right;
}
.login-page .sc-field__deco.-der {
  left: auto;
  right: 0;
  clip-path: none;
}
.login-page .sc-field__deco.-der::after {
  content: "";
  position: absolute;
  left: -40px;
  top: 0px;
  width: 42px;
  height: 42px;
  background-image: url(../images/triangle-gold-right.svg);
  background-size: auto 42px;
  background-repeat: no-repeat;
  background-position: bottom right;
}
.login-page .sc-field__deco.-gold {
  background: var(--color-gold);
}
.login-page .sc-field__wrap:has(.sc-field__deco:not(.-der))::after {
  content: "";
  position: absolute;
  left: 35px;
  top: 0;
  width: 42px;
  height: 42px;
  background-image: url(../images/triangle-right.svg);
  background-size: auto 42px;
  background-repeat: no-repeat;
  background-position: bottom right;
  transform: none;
  background-color: #fff;
}
.login-page .sc-field__wrap.-der::after {
  content: "";
  position: absolute;
  right: 44px;
  top: 0;
  width: 34px;
  height: 42px;
  background-image: url(../images/triangle-white-left.svg);
  background-size: auto 42px;
  background-repeat: no-repeat;
  background-position: bottom right;
  transform: none;
  background-color: #fff;
}
.login-page .sc-field__input {
  border: 1px solid var(--color-border-primary);
  padding: 10px;
  font-family: var(--font-body);
  font-size: 0.9rem;
  background: #fff;
  outline: none;
  height: 42px;
  box-sizing: border-box;
  width: 100%;
}
.login-page .sc-field__input.-iz {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0 100%);
  padding-left: 44px;
  margin-left: 42px;
  width: calc(100% - 42px);
}
.login-page .sc-field__input.-der {
  clip-path: polygon(0% 0%, 92% 0%, 96% 100%, 0% 100%);
  margin-right: 42px;
  padding: 10px 44px 10px 10px;
  width: calc(100% - 42px);
}

/* Medidor de robustez de contraseña dentro de los campos diagonales (registro,
   cambio de contraseña, "Mes informations"): WooCommerce inserta #password_strength
   y .woocommerce-password-hint dentro de .sc-field__wrap (que es display:flex), y sin
   estilo se amontonan en la misma fila que el input, encima del deco. Se bajan a su
   propia línea debajo del input. */
.sc-field__wrap:has(#password_strength) {
  flex-wrap: wrap;
}
.sc-field__wrap:has(#password_strength) .sc-field__deco {
  height: 42px;
}
.sc-field__wrap #password_strength,
.sc-field__wrap .woocommerce-password-hint {
  flex: 0 0 100%;
  width: 100%;
  order: 2;
  margin: 8px 0 0;
  padding-left: 42px;
  font-size: 0.78rem;
  line-height: 1.45;
  text-align: left;
}
.sc-field__wrap #password_strength {
  font-weight: 700;
}
.sc-field__wrap .woocommerce-password-hint {
  display: block;
  color: var(--color-txt);
}

/* Restaurar apariencia nativa del checkbox (el reset.css la elimina globalmente) */
.login-rememberme-label input[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}

/* Remember me + forgot password row */
.login-rememberme-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 10px 0 20px;
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: var(--color-dark);
  gap: 10px;
}
.login-rememberme-label {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.login-forgot {
  color: var(--color-dark);
  text-decoration: none;
  white-space: nowrap;
}

/* Submit button */
.login-submit {
  display: block;
  width: 100%;
  background: var(--color-txt);
  color: #fff;
  border: none;
  padding: 14px;
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
}
.login-submit:hover {
  background: #555;
}

/* Separator */
.login-sep {
  border: none;
  border-top: 1px solid var(--color-border-primary);
  margin: 28px 1.5rem;
}

/* Google button */
.login-google-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--color-border-primary);
  padding: 13px 24px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-dark);
  cursor: pointer;
  background: #fff;
  width: 100%;
  transition: background 0.2s;
}
.login-google-btn:hover {
  background: #f5f5f5;
}
.login-hint {
  font-size: 0.78rem;
  color: var(--color-dark);
  margin-bottom: 14px;
}

/* Neutralizar el fondo amarillo/azul del autocompletado del navegador */
.login-page .sc-field__input:-webkit-autofill,
.login-page .sc-field__input:-webkit-autofill:hover,
.login-page .sc-field__input:-webkit-autofill:focus,
.row-block-account .sc-field__input:-webkit-autofill,
.row-block-account .sc-field__input:-webkit-autofill:hover,
.row-block-account .sc-field__input:-webkit-autofill:focus,
.woocommerce-EditAccountForm .input-text:-webkit-autofill,
.woocommerce-EditAccountForm .input-text:-webkit-autofill:hover,
.woocommerce-EditAccountForm .input-text:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
  box-shadow: 0 0 0 1000px #fff inset;
  -webkit-text-fill-color: var(--color-dark);
  transition: background-color 9999s ease-in-out 0s;
}

@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
}
@media screen and (min-width: 1280px) {
}

/**
*  Changer de mot de passe — my account content
*  =======================================================================================================
**/
form.changer-mdp-form {
  position: relative;
  padding: 20px 1.5rem 40px;
  text-align: center;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
form.changer-mdp-form .woocommerce-form-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}
form.changer-mdp-form .woocommerce-form-row label {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-dark);
  margin: 0;
}
form.changer-mdp-form .row-block-account-footer {
  padding-top: 35px;
  border-top: 1px solid var(--color-border-primary);
  text-align: center;
  margin-top: 30px;
}
form.changer-mdp-form .changer-mdp-form__hint {
  font-family: var(--font-body);
  font-size: 0.72rem;
  color: var(--color-dark);
  opacity: 0.6;
  margin-top: 4px;
}
form.changer-mdp-form .btn-submit {
  display: inline-block;
  border: 2px solid var(--color-txt);
  background: var(--color-txt);
  padding: 12px 48px;
  font-family: var(--font-body);
  font-size: 0.9rem;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
  color: #fff;
  text-decoration: underline;
}

@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  form.changer-mdp-form::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  form.changer-mdp-form {
    padding: 0 20px 0 35px;
    text-align: left;
    background: none;
  }
  form.changer-mdp-form .woocommerce-form-row label {
    font-size: 0.78rem;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  Carnet d'adresse — my account content
*  =======================================================================================================
**/
.u-columns.woocommerce-Addresses.col2-set.addresses {
  position: relative;
  padding: 20px 1.5rem 40px;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
.woocommerce-Address {
  margin-bottom: 20px;
  font-size: 1rem;
}
.woocommerce-Address address{
  font-style: normal;
}
header.woocommerce-Address-title.title {
  display: flex;
  gap: 0;
  align-items: flex-start;
  flex-direction: column;
  margin-bottom: 15px;
}
header.woocommerce-Address-title.title a:not(.mc-btn) {
  color: var(--color-secondary);
  text-decoration: underline;
}
.woocommerce-Address-title h2 {
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 600;
    color:var(--color-border-primary);
    text-decoration: underline;
}
.woocommerce-address-fields.row-edit-address {
  position: relative;
  padding: 20px 1.5rem 40px;
  text-align: center;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
.btn-submit-account {
  display: inline-block;
  border: 2px solid var(--color-txt);
  background: var(--color-txt);
  padding: 12px 48px;
  font-family: var(--font-body);
  font-size: 0.9rem;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
  color: #fff;
  text-decoration: underline;
}

.woocommerce-address-fields.row-edit-address .row-block-account {
  display: block;
}
.woocommerce-address-fields .form-row {
    display: inline-block;
    margin-bottom: 14px;
    text-align: left;
}
.woocommerce-address-fields .form-row label {
  display: flex;
  justify-content: flex-start;
  gap: 2px;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 4px;
}
.woocommerce-address-fields .form-row label abbr,
.woocommerce-address-fields .form-row label span.required {
  order: -1;
  color: #c00;
  text-decoration: none;
}

/* select -iz: mismos valores que sc-field__input.-iz */
.woocommerce-address-fields .sc-field__select.-iz {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 12% 100%);
  padding-left: 50px;
  margin-left: 53px;
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce-address-fields.row-edit-address .sc-field__deco {
  flex-shrink: 0;
  width: 75px;
  background: var(--color-txt);
  clip-path: polygon(0% 0%, 62% 0%, 100% 100%, 0% 100%);
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.woocommerce-address-fields.row-edit-address .sc-field__deco.-der {
  right: 0;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 38% 100%);
}
.woocommerce-address-fields.row-edit-address .sc-field__input,
.woocommerce-address-fields.row-edit-address .sc-field__select {
  width: 230px;
  border: 1px solid var(--color-border-primary);
  padding: 10px 10px;
  font-family: var(--font-body);
  font-size: 1rem;
  background: #fff;
  outline: none;
  position: relative;
  height: 42px;
}
.woocommerce-address-fields.row-edit-address .sc-field__input.-der,
.woocommerce-address-fields.row-edit-address .sc-field__select.-der {
  clip-path: polygon(0% 0%, 88% 0%, 100% 100%, 0% 100%);
  margin-right: 53px;
  padding: 10px 25px 10px 20px;
}
.woocommerce-address-fields.row-edit-address .sc-field__input.-iz {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 12% 100%);
  padding-left: 25px;
  margin-left: 53px;
}
.woocommerce-address-fields.row-edit-address
  .sc-field__wrap:has(.sc-field__deco)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 66px;
  bottom: 0;
  width: 1px;
  background: var(--color-border-primary);
  transform: skewX(34deg);
  z-index: 1;
  pointer-events: none;
}
.woocommerce-address-fields.row-edit-address
  .sc-field__wrap.-der:has(.sc-field__deco)::after {
  left: auto;
  right: 66px;
}
.woocommerce-address-fields.row-edit-address .sc-field__deco.-gold {
  background: var(--color-gold);
}

/* sc-field__wrap base — flex igual que en row-block-account */
.woocommerce-address-fields .sc-field__wrap {
  display: flex;
  align-items: stretch;
  position: relative;
}

/* Select2 reemplaza el <select> nativo; hay que estilizarlo igual que sc-field__input */
.woocommerce-address-fields .sc-field__wrap .select2-container {
  width: 230px !important;
  height: 42px;
  border: 1px solid var(--color-border-primary);
  font-family: var(--font-body);
  font-size: 1rem;
  background: #fff;
  box-sizing: border-box;
  flex-shrink: 0;
}
.woocommerce-address-fields .sc-field__wrap .select2-container .selection,
.woocommerce-address-fields
  .sc-field__wrap
  .select2-container
  .select2-selection--single {
  height: 100%;
}
.woocommerce-address-fields
  .sc-field__wrap
  .select2-container
  .select2-selection--single {
  border: none;
  background: transparent;
  outline: none;
  display: flex;
  align-items: center;
}
.woocommerce-address-fields
  .sc-field__wrap
  .select2-container
  .select2-selection__rendered {
  color: var(--color-dark);
  padding: 0;
  line-height: normal;
}
.woocommerce-address-fields
  .sc-field__wrap
  .select2-container
  .select2-selection__arrow {
  display: none;
}
/* -iz (deco izquierda oscura) */
.woocommerce-address-fields .sc-field__wrap:not(.-der) .select2-container {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 12% 100%);
  padding-left: 25px;
  margin-left: 53px;
}
/* -der (deco derecha dorada) */
.woocommerce-address-fields .sc-field__wrap.-der .select2-container {
  clip-path: polygon(0% 0%, 88% 0%, 100% 100%, 0% 100%);
  margin-right: 53px;
  padding: 0 25px 0 20px;
}

@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .u-columns.woocommerce-Addresses.col2-set.addresses::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  .u-columns.woocommerce-Addresses.col2-set.addresses {
    padding: 0 20px 0 35px;
    background: none;
  }
  .woocommerce-Address {
    font-size: 0.9rem;
    text-align: center;
}
.u-column2.col-2.woocommerce-Address::before {
    content: "";
    display: block;
    width: 778px;
    max-width: 100%;
    height: 0.5px;
    margin: 0 0 20px auto;
    background: var(--color-border-primary);
}
.u-column1.col-1.woocommerce-Address {
    min-height: 328px;
    padding-top: 40px;
}
header.woocommerce-Address-title.title {
    display: inline-flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
    flex-direction: row;
}
  .woocommerce-address-fields.row-edit-address::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  .woocommerce-address-fields.row-edit-address {
    padding: 0 20px 20px 35px;
    text-align: center;
    background: none;
}
  .woocommerce-address-fields .form-row label {
    font-size: 0.78rem;
  }
}
@media screen and (min-width: 1280px) {
}

/**
*  MOYENS DE PAIEMENT — my account content
*  =======================================================================================================
**/
.payment-methods-page {
  position: relative;
  padding: 20px 1.5rem 40px;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
/* Sin tarjetas registradas: "Aucun moyen de paiement enregistré." centrado */
.payment-methods-page .account-container-content:has(> .woocommerce-info) {
  text-align: center;
  padding: 24px 20px;
}
.payment-methods-page .account-payment-methods-table {
  /* width: 100%; */
  border-collapse: collapse;
  font-size: 0.9rem;
  /* display: block; */
}
.payment-methods-page .account-payment-methods-table thead th {
  text-align: left;
  text-transform: uppercase;
  font-family: var(--font-body);
  font-size: 0.78rem;
  color: var(--color-gray);
  padding: 10px 0;
  border-bottom: 1px solid var(--color-line);
  letter-spacing: 0.06em;
}
.payment-methods-page .account-payment-methods-table tbody td {
  padding: 14px 44px 14px 0;
  border-bottom: 1px solid var(--color-line);
  vertical-align: middle;
}
.payment-methods-page .account-payment-methods-table .button {
  display: inline-block;
  border: 1px solid var(--color-border-primary);
  padding: 6px 14px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  text-transform: uppercase;
  color: var(--color-dark);
  text-decoration: none;
  transition: var(--transition);
  margin-right: 4px;
}
.payment-methods-page .account-payment-methods-table .button:hover {
  background: var(--color-dark);
  color: #fff;
}
.payment-methods-page .btn-submit-account {
  display: inline-block;
  margin-top: 20px;
}
form#add_payment_method {
  padding: 20px 1.5rem 40px;
}

form.changer-mdp-form .row-block-account-footer {
  padding-top: 35px;
  border-top: 1px solid var(--color-border-primary);
  text-align: center;
  margin-top: 0;
}
input#payment_method_stripe {
  appearance: auto;
}
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  display: contents;
}

button#place_order {
  display: inline-block;
  border: 2px solid var(--color-txt);
  background: var(--color-txt);
  padding: 12px 48px;
  font-family: var(--font-body);
  font-size: 0.9rem;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
  color: #fff;
  text-decoration: underline;
}
.woocommerce-Payment .form-row {
  padding-top: 35px;
  border-top: 1px solid var(--color-border-primary);
  text-align: center;
  margin: 0 0 0 80px;
}
fieldset#wc-stripe-upe-form {
  width: 100%;
  margin: 0 auto 0;
  display: inline-block;
}
#payment .payment_methods li img.stripe-icon {
  display: none;
}
@media screen and (min-width: 580px) {
}
@media screen and (min-width: 980px) {
  .payment-methods-page::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  .payment-methods-page {
    padding: 0 20px 40px 35px;
    background: none;
  }
  .payment-methods-page .account-payment-methods-table thead th {
    font-size: 0.72rem;
  }
  form#add_payment_method {
    padding: 0 20px 0 35px;
  }
  form#add_payment_method::before {
    content: "";
    float: left;
    width: 295px;
    height: 615px;
    shape-outside: polygon(83% 0%, 0% 0%, 0% 100%);
    pointer-events: none;
  }
  fieldset#wc-stripe-upe-form {
    width: 540px;
    margin: 0 auto 0;
    display: inline-block;
  }
}
@media screen and (min-width: 1280px) {
}

/* =========================================================
 * MES RETOURS — card layout (mirror de mc-account)
 * ========================================================= */
.mr-account {
  position: relative;
  padding: 20px 1.5rem 30px;
  background: linear-gradient(300deg, var(--color-tertiary) 66%, #fff 66%);
}
.mr-account__retour {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (min-width: 981px) {
  .mr-account__retour {
    display: none;
  }
  .mr-account__retour.is-active {
    display: flex;
    flex-direction: column;
  }
}
.mr-account__img-wrap {
  width: 100%;
  height: 380px;
  overflow: hidden;
  min-height: 409px;
  padding-bottom: 20px;
}
.mr-account__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.mr-account__img-placeholder {
  width: 100%;
  height: 100%;
  background: #eee;
}
.mr-account__status-bar {
  padding: 10px 20px 5px;
  font-size: 0.82rem;
  color: var(--color-dark);
  text-align: center;
  padding-top: 35px;
  border-top: 1px solid var(--color-border-primary);
}
.mr-account__status-label {
  font-family: var(--font-body);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: underline;
  margin-right: 4px;
  color: var(--color-border-primary);
  font-size: 1.1rem;
}
.mr-account__status-sep {
  margin-right: 4px;
}
.mr-account__status-value {
  font-weight: 700;
}
.mr-account__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px 0 20px;
  gap: 16px;
}
.mr-account__meta {
  font-size: 0.8rem;
  color: var(--color-dark);
  line-height: 1.7;
}
.mr-account__meta p {
  margin: 0;
}
.mr-account__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
}
@media screen and (min-width: 980px) {
  .mr-account {
    padding: 0 20px 0 118px;
    background: none;
  }
  .mr-account__img-wrap {
    clip-path: polygon(22% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
  .mr-account__status-bar {
    width: 780px;
  }
}
@media (max-width: 980px) {
  .mr-account__img-wrap {
    width: 100%;
    height: max-content;
  }
  .mr-account__footer {
    flex-direction: column;
    align-items: flex-start;
  }
  .mr-account__actions {
    align-items: stretch;
    width: 100%;
  }
  .mr-account__retour + .mr-account__retour {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--color-border-primary);
  }
}

/* Modal détails du retour */
.mr-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9050;
  align-items: center;
  justify-content: center;
}
.mr-modal.is-open {
  display: flex;
}
.mr-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
}
.mr-modal .mc-order-modal__row {
  grid-template-columns: 1fr !important;
}
.mr-modal .mc-order-modal__row--payment::after,
.mr-modal .mc-order-modal__row--payment::before {
  display: none;
}
.mr-modal__instructions p {
  font-size: 0.82rem;
  color: var(--color-dark);
  line-height: 1.5;
  margin: 0 0 10px;
}
.mr-modal__instructions p:last-child {
  margin-bottom: 0;
}

.account-container-content, .woocommerce-PaymentMethods.payment_methods.methods {
    min-height: 409px;
    padding-bottom: 20px;
    text-align: center;
}
