/* =============================================
   divioseo_ciklik - Subscription UI
   ============================================= */

.divioseo-subscription {
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 0;
  display: none;
}

.divioseo-subscription--visible {
  display: block;
}

.divioseo-subscription__title {
  font-size: 14px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 10px 0;
}

/* --- Option row --- */
.divioseo-subscription__option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  margin: 0;
  border: 1px solid var(--Principal-Bleu-medium, #9AB7DF);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  position: relative;
  user-select: none;
}

.divioseo-subscription__option + .divioseo-subscription__option {
  margin-top: 8px;
}

.divioseo-subscription__option--active {
  border: 2px solid var(--Principal-Bleu-medium, #9AB7DF);
  background: #F4F8FE;
}

.divioseo-subscription__option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* --- Custom checkbox --- */
.divioseo-subscription__check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  border: 0;
  background-repeat: no-repeat;
  background-color: transparent !important;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiBmaWxsPSJub25lIj4KICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjE3IiBoZWlnaHQ9IjE3IiByeD0iMi41IiBzdHJva2U9IiMwMzE1MkYiLz4KPC9zdmc+');
}

.divioseo-subscription__option--active .divioseo-subscription__check {
  background-color: transparent !important;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiBmaWxsPSJub25lIj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIzIiBmaWxsPSIjMDYyQjVGIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy43NDk3IDYuMDExNTRDMTMuODkyIDYuMTUzODcgMTMuOTcxOSA2LjM0Njg5IDEzLjk3MTkgNi41NDgxNUMxMy45NzE5IDYuNzQ5NDEgMTMuODkyIDYuOTQyNDMgMTMuNzQ5NyA3LjA4NDc3TDguMDYwNzMgMTIuNzczN0M3Ljk4NTU1IDEyLjg0ODkgNy44OTYyOSAxMi45MDg2IDcuNzk4MDUgMTIuOTQ5M0M3LjY5OTgxIDEyLjk5IDcuNTk0NTIgMTMuMDEwOSA3LjQ4ODE5IDEzLjAxMDlDNy4zODE4NSAxMy4wMTA5IDcuMjc2NTYgMTIuOTkgNy4xNzgzMiAxMi45NDkzQzcuMDgwMDkgMTIuOTA4NiA2Ljk5MDgzIDEyLjg0ODkgNi45MTU2NSAxMi43NzM3TDQuMDg5MTQgOS45NDc3MUM0LjAxNjY0IDkuODc3NyAzLjk1ODgyIDkuNzkzOTQgMy45MTkwNCA5LjcwMTM0QzMuODc5MjYgOS42MDg3NCAzLjg1ODMzIDkuNTA5MTUgMy44NTc0NSA5LjQwODM3QzMuODU2NTcgOS4zMDc1OSAzLjg3NTc4IDkuMjA3NjQgMy45MTM5NCA5LjExNDM2QzMuOTUyMTEgOS4wMjEwOSA0LjAwODQ2IDguOTM2MzQgNC4wNzk3MyA4Ljg2NTA4QzQuMTUwOTkgOC43OTM4MSA0LjIzNTc0IDguNzM3NDYgNC4zMjkwMSA4LjY5OTI5QzQuNDIyMjkgOC42NjExMyA0LjUyMjI0IDguNjQxOTIgNC42MjMwMiA4LjY0MjhDNC43MjM4IDguNjQzNjggNC44MjMzOSA4LjY2NDYxIDQuOTE1OTkgOC43MDQzOUM1LjAwODU5IDguNzQ0MTcgNS4wOTIzNCA4LjgwMTk5IDUuMTYyMzYgOC44NzQ0OUw3LjQ4NzkzIDExLjIwMDFMMTIuNjc1OSA2LjAxMTU0QzEyLjc0NjQgNS45NDEwMSAxMi44MzAxIDUuODg1MDYgMTIuOTIyMiA1Ljg0Njg4QzEzLjAxNDQgNS44MDg3MSAxMy4xMTMxIDUuNzg5MDYgMTMuMjEyOCA1Ljc4OTA2QzEzLjMxMjUgNS43ODkwNiAxMy40MTEzIDUuODA4NzEgMTMuNTAzNCA1Ljg0Njg4QzEzLjU5NTUgNS44ODUwNiAxMy42NzkyIDUuOTQxMDEgMTMuNzQ5NyA2LjAxMTU0WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+');
}

/*.divioseo-subscription__option--active .divioseo-subscription__check::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}*/

/* --- Icon --- */
.divioseo-subscription__icon {
  flex-shrink: 0;
}

/* --- Label --- */
.divioseo-subscription__label {
  font-size: 14px;
  font-weight: 600;
  color: #1e293b;
  white-space: nowrap;
}

/* --- Badge --- */
.divioseo-subscription__badge {
  flex-shrink: 0;
  background: var(--Principal-Green, #12AD71);
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 0 4px;
  border-radius: 16px;
  display: none;
}

.divioseo-subscription__badge:not(:empty) {
  display: inline-block;
}

/* --- Price --- */
.divioseo-subscription__price {
  margin-left: auto;
  font-size: 16px !important;
  font-weight: 500;
  color: var(--Principal-Bleu-dark, #03152F) !important;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
}

.divioseo-subscription__price-old {
  font-size: 13px;
  font-weight: 400;
  color: #94a3b8;
  text-decoration: line-through;
}

.divioseo-subscription__price-new {
  color: var(--Principal-Bleu-dark, #03152F) !important;
  font-size: 16px !important;
  font-weight: 500;
}

/* --- Details (subscription expanded) --- */
.divioseo-subscription__details {
  display: none;
  margin-top: 0;
  padding: 0px 14px 14px 14px;
  border: 2px solid var(--Principal-Bleu-medium, #9AB7DF);;
  border-top: none;
  border-radius: 0 0 8px 8px;
  background: #f0f7ff;
}

.divioseo-subscription__option[data-type="subscription"].divioseo-subscription__option--active {
  border-radius: 8px 8px 0 0;
  border-bottom-color: transparent;
  border-bottom: 0px;
}

.divioseo-subscription__option[data-type="subscription"].divioseo-subscription__option--active + .divioseo-subscription__details {
  display: block;
}

/* --- Frequency dropdown --- */
.divioseo-dropdown {
  position: relative;
  width: 100%;
}

.divioseo-dropdown__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px;
  border: 1px solid #DCDFE4;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 400;
  color: #1e293b;
  background: #fff;
  cursor: pointer;
  background: var(--Neutral-N-50, #FFF);
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
}

.divioseo-dropdown__arrow {
  flex-shrink: 0;
  transition: transform 0.2s;
}

.divioseo-dropdown--open .divioseo-dropdown__arrow {
  transform: rotate(180deg);
}

.divioseo-dropdown__selected {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: inherit !important;
  font-size: inherit !important;
}

.divioseo-dropdown__menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 4px 0;
  list-style: none;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 100;
  max-height: 200px;
  overflow-y: auto;
}

.divioseo-dropdown--open .divioseo-dropdown__menu {
  display: block;
}

.divioseo-dropdown__item {
  padding: 8px;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: var(--Neutral-N-600, #313437) !important;
  cursor: pointer;
  transition: background 0.15s;
}

.divioseo-dropdown__item--active {
  font-weight: 600 !important;
}

/* --- Benefits --- */
.divioseo-subscription__benefits {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.divioseo-subscription__benefits li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--Principal-Bleu, #062B5F) !important;
  line-height: normal !important;
  margin-bottom: 7px;
}

.divioseo-subscription__benefits li:last-child {
  margin-bottom: 0;
}

.divioseo-subscription__benefits svg {
  flex-shrink: 0;
  margin-top: 1px;
}

/* --- Cart subscription label --- */
.divioseo-cart-subscription-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
  font-size: 12px;
  color: #28a745;
  font-weight: 600;
}

.divioseo-cart-subscription-label svg {
  flex-shrink: 0;
}

/* --- Mobile two-step flow --- */

/* Step 1: cacher le bloc qty+ATC quand Suivant est affiche */
.divioseo-subscription.divioseo-mobile-step1 ~ .d-flex {
  display: none !important;
}

/* Step 2: cacher les variants dans la sidebar */
.sidebarVariant.divioseo-mobile-step2 > *:not(.product-add-to-cart) {
  display: none !important;
}

.divioseo-suivant-btn {
  display: none;
  margin-top: 12px;
}

.divioseo-retour-btn {
  display: none;
  background: none;
  border: none;
  color: var(--Principal-Bleu, #062B5F);
  font-size: 14px;
  font-weight: 600;
  padding: 0;
  margin-bottom: 10px;
  cursor: pointer;
}

.divioseo-retour-btn svg {
  vertical-align: middle;
  margin-right: 2px;
}

/* --- Responsive --- */
@media (max-width: 480px) {
  .divioseo-subscription__option {
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 12px;
  }

  .divioseo-subscription__price {
    width: 100%;
    margin-left: 30px;
    margin-top: 2px;
  }

  .divioseo-subscription__details {
    padding: 12px;
  }

  .divioseo-subscription__label {
    font-size: 13px;
  }
}
