@charset "UTF-8";
/* ============================================================
   VARIABLES
============================================================ */
/* ============================================================
   SELECTOR DE TIPO
============================================================ */
.seep-type-selector-wrap {
  margin-bottom: 40px;
}
.seep-type-selector-wrap .seep-type-selector {
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: stretch;
  /* Móvil: scroll horizontal premium */
}
@media (max-width: 576px) {
  .seep-type-selector-wrap .seep-type-selector {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(150px, 80%);
    grid-template-columns: unset;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 40px;
    scroll-padding-right: 40px;
    cursor: grab;
    padding: 0 20px 12px;
    /* Fade lateral */
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  }
  .seep-type-selector-wrap .seep-type-selector.is-dragging {
    cursor: grabbing;
  }
  .seep-type-selector-wrap .seep-type-selector {
    /* Ocultar scrollbar */
  }
  .seep-type-selector-wrap .seep-type-selector::-webkit-scrollbar {
    display: none;
  }
  .seep-type-selector-wrap .seep-type-selector {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .seep-type-selector-wrap .seep-type-selector .seep-plan-btn {
    width: 100%;
    min-width: 150px;
    scroll-snap-align: start;
  }
}
.seep-type-selector-wrap .seep-scroll-progress {
  display: none;
}
@media (max-width: 567px) {
  .seep-type-selector-wrap .seep-scroll-progress {
    display: block;
  }
}

.seep-type-btn {
  cursor: pointer;
  padding: 14px 20px;
  border-radius: 18px;
  background: rgba(140, 140, 140, 0.1);
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #444;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all 0.22s ease;
  border: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
}
@media (max-width: 576px) {
  .seep-type-btn {
    font-size: 13px;
    padding: 10px 14px;
    border-radius: 14px;
    height: auto;
    display: flex;
    line-height: 1.1;
  }
}
.seep-type-btn:hover {
  transform: translateY(-3px);
  background: rgba(140, 140, 140, 0.18);
}
@media (max-width: 992px) {
  .seep-type-btn:hover {
    transform: none;
    background-color: rgba(140, 140, 140, 0.1);
  }
}
.seep-type-btn.active {
  background: linear-gradient(135deg, #C88EFF 0%, #B893FF 40%, #9DA6FF 100%);
  color: white;
  font-weight: 600;
  box-shadow: 0 4px 8px rgba(170, 120, 255, 0.32);
}

/* ============================================================
   WRAP
============================================================ */
.seep-selector-wrap {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
}

/* ============================================================
   SELECTOR DE PLANES
============================================================ */
.seep-selector {
  display: grid;
  justify-content: center;
  gap: 26px;
  margin: 0 auto 35px;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}
@media (max-width: 1024px) {
  .seep-selector {
    gap: 10px;
    margin-bottom: 12px;
    padding: 0 20px;
  }
}
.seep-selector {
  /* Móvil: scroll horizontal */
}
@media (max-width: 768px) {
  .seep-selector {
    grid-auto-flow: column;
    grid-auto-columns: minmax(200px, 80%);
    grid-template-columns: unset;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 40px;
    scroll-padding-right: 40px;
    cursor: grab;
    padding: 0 20px 12px;
    /* Fade lateral */
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  }
  .seep-selector.is-dragging {
    cursor: grabbing;
  }
  .seep-selector {
    /* Ocultar scrollbar */
  }
  .seep-selector::-webkit-scrollbar {
    display: none;
  }
  .seep-selector {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .seep-selector .seep-plan-btn {
    width: 100%;
    min-width: 150px;
    scroll-snap-align: start;
  }
}
@media (max-width: 576px) {
  .seep-selector {
    grid-auto-columns: minmax(150px, 80%);
  }
}
.seep-selector.disabled .seep-plan-btn {
  opacity: 0.5;
  pointer-events: none;
}

/* ============================================================
   PLAN BUTTON
============================================================ */
.seep-plan-btn {
  cursor: pointer;
  width: 100%;
  padding: 22px 24px;
  border-radius: 24px;
  background: rgba(140, 140, 140, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.25s ease;
  font-family: "Inter", sans-serif;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
@media (max-width: 992px) {
  .seep-plan-btn {
    width: 100%;
    flex-grow: 1;
    padding: 15px;
    border-radius: 16px;
  }
}
.seep-plan-btn:hover {
  transform: translateY(-3px);
}
@media (max-width: 760px) {
  .seep-plan-btn:hover {
    transform: none;
  }
}
.seep-plan-btn.active {
  background: linear-gradient(135deg, #C88EFF 0%, #B893FF 40%, #9DA6FF 100%);
  border: none;
  box-shadow: 0 4px 8px rgba(170, 120, 255, 0.32);
  pointer-events: none;
}
.seep-plan-btn.active .seep-plan-title,
.seep-plan-btn.active .seep-plan-price {
  color: #fff !important;
}
.seep-plan-btn .seep-plan-title {
  font-size: 17px;
  font-weight: 700;
  color: #000;
  letter-spacing: -0.02em;
}
@media (max-width: 760px) {
  .seep-plan-btn .seep-plan-title {
    font-size: 14px;
    line-height: 1;
    padding-bottom: 3px;
  }
}
.seep-plan-btn .seep-plan-price {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.seep-plan-btn .seep-plan-price .seep-plan-original {
  text-decoration: line-through;
  opacity: 0.6;
  font-size: 13px;
}
@media (max-width: 760px) {
  .seep-plan-btn .seep-plan-price .seep-plan-original {
    font-size: 11px;
  }
}
.seep-plan-btn .seep-plan-price .seep-plan-final {
  font-weight: 600;
  font-size: 18px;
}
@media (max-width: 760px) {
  .seep-plan-btn .seep-plan-price .seep-plan-final {
    font-size: 11px;
  }
}

/* ============================================================
   PROGRESS BAR
============================================================ */
.seep-scroll-progress {
  width: 90%;
  height: 4px;
  margin: 8px auto 0;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  overflow: hidden;
}
@media (min-width: 769px) {
  .seep-scroll-progress {
    display: none;
  }
}

.seep-scroll-progress__bar {
  display: block;
  height: 100%;
  width: 0%;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 999px;
  transition: width 0.15s ease-out;
}

/* ============================================================
   MENSAJE DE ERROR
============================================================ */
.seep-error {
  text-align: center;
  background-color: rgba(255, 126, 126, 0.28);
  padding: 1rem;
  border: 1px solid #ff5252;
  border-radius: 18px;
  color: #b90000;
  font-size: 16px;
  margin: 100px 0;
}

/* ============================================================
   INPUTS SUPERIORES
============================================================ */
.seep-inputs {
  display: flex;
  gap: 16px;
  margin-bottom: 25px;
}
.seep-inputs input {
  flex: 1;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #d5d5d5;
  font-size: 15px;
  font-family: "Inter", sans-serif;
}

/* ============================================================
   RESUMEN SELECCIÓN
============================================================ */
.seep-summary {
  margin-bottom: 30px;
}
.seep-summary #seep-plan-name {
  font-size: 24px;
  margin-bottom: 5px;
}
.seep-summary #seep-total-price {
  font-size: 20px;
  font-weight: bold;
}

/* ============================================================
   CONTENEDOR TABLA
============================================================ */
.se-plans-container {
  background: #fff;
  padding: 42px !important;
  border-radius: 24px;
  box-shadow: 0 25px 20px rgba(0, 0, 0, 0.01), 0 12px 15px rgba(0, 0, 0, 0.04), 0 8px 10px rgba(0, 0, 0, 0.07), 0 2px 8px rgba(0, 0, 0, 0.09);
  width: 100%;
}
@media (max-width: 1024px) {
  .se-plans-container {
    padding: 20px !important;
    max-width: 100%;
    display: table;
  }
}

/* ============================================================
   GRID TABLA + HIGHLIGHT PREMIUM
============================================================ */
@media (max-width: 1024px) {
  .seep-table-wrapper {
    padding: 30px 0px 30px 20px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    display: flex;
    scroll-behavior: smooth;
  }
  .seep-table-wrapper::after {
    content: "";
    min-width: 20px;
    height: 200px;
  }
  .seep-table-wrapper::-webkit-scrollbar {
    display: none;
  }
}
.seep-table-wrapper.ocultar {
  position: fixed;
  opacity: 0;
  pointer-events: none;
}
.seep-table-wrapper .se-plans-container .se-plans-grid {
  display: grid;
  grid-template-columns: minmax(200px, 2fr) repeat(var(--plan-count), 1fr);
  position: relative;
  --highlight-opacity: 0;
  --highlight-transform: translateX(calc(1 * 100%));
  --highlight-width: 0px;
}
@media (max-width: 760px) {
  .seep-table-wrapper .se-plans-container .se-plans-grid {
    grid-template-columns: minmax(200px, 2fr) repeat(var(--plan-count), minmax(80px, 1fr)) !important;
  }
}
.seep-table-wrapper .se-plans-container .se-plans-grid:before {
  content: "";
  position: absolute;
  top: -2%;
  height: 104%;
  left: 0;
  transform: var(--highlight-transform);
  width: var(--highlight-width);
  opacity: var(--highlight-opacity);
  background: linear-gradient(180deg, rgba(200, 142, 255, 0.2) 0%, rgba(139, 132, 247, 0.2) 100%);
  border-radius: 24px;
  transition: transform 0.35s ease, opacity 0.35s 0.35s ease;
  z-index: 0;
}
@media (max-width: 760px) {
  .seep-table-wrapper .se-plans-container .se-plans-grid:before {
    border-radius: 10px;
  }
}
@media (max-width: 760px) {
  .seep-table-wrapper .se-plans-container .se-plans-grid .grid-title, .seep-table-wrapper .se-plans-container .se-plans-grid .feature {
    position: sticky;
    left: 0;
    background-color: white;
    z-index: 1;
    box-shadow: 4px 2px 4px rgba(217, 217, 217, 0.38);
  }
}
@media (max-width: 760px) {
  .seep-table-wrapper .se-plans-container .se-plans-grid .grid-title::before, .seep-table-wrapper .se-plans-container .se-plans-grid .feature::before {
    content: "";
    position: absolute;
    height: calc(100% + 1px);
    width: 20px;
    top: 1px;
    left: -20px;
    background-color: white;
  }
}
@media (max-width: 760px) {
  .seep-table-wrapper .se-plans-container .se-plans-grid .feature.last-row::after {
    content: "";
    position: absolute;
    height: 20px;
    width: calc(100% + 20px);
    bottom: -20px;
    left: -20px;
    background-color: white;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
  }
}
.seep-table-wrapper .se-plans-container .se-plans-grid .grid-title {
  grid-column: 1/2;
  font-size: 22px;
  font-weight: 700;
  padding-bottom: 16px;
  display: flex;
  align-items: center;
}
@media (max-width: 760px) {
  .seep-table-wrapper .se-plans-container .se-plans-grid .grid-title::after {
    content: "";
    position: absolute;
    height: 20px;
    width: calc(100% + 20px);
    top: -19px;
    left: -20px;
    background-color: white;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
  }
}

/* ============================================================
   BOTÓN REDIRECT PÁGINA PLANES
============================================================ */
.seep-boton-redirect {
  color: white;
  background-color: #0072EF;
  padding: 16px 30px 16px 30px;
  border-radius: 40px;
  font-size: 14px;
  font-family: "Inter", sans-serif;
  border-radius: 100px 100px 100px 100px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  margin-top: 30px;
  line-height: 1;
}
.seep-boton-redirect:hover {
  background-color: #0079F5;
  color: white;
}
.seep-boton-redirect strong {
  font-weight: 500;
}
.seep-boton-redirect span {
  font-weight: 300;
  opacity: 0.6;
}

/* ============================================================
   CABECERAS DE PLAN
============================================================ */
.plan-name {
  font-weight: 600;
  font-size: 17px;
  text-align: center;
  padding: 14px 0;
  color: #777;
  display: flex;
  justify-content: center;
  align-items: center;
}
.plan-name.se-col-active {
  color: #000;
  font-weight: 700;
}

/* ============================================================
   FILAS — Feature + Values
============================================================ */
.feature {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 0;
  border-bottom: 1px solid #eee;
  font-size: 16px;
  color: #444;
  position: relative;
}
@media (max-width: 1024px) {
  .feature {
    font-size: 12px;
    padding: 10px 0 !important;
    padding-right: 10px !important;
  }
}
@media (max-width: 760px) {
  .feature.last-row {
    border-bottom: 0;
  }
}
.feature .feat-flex {
  align-items: center;
  display: flex;
  gap: 9px;
  width: 100%;
}
@media (max-width: 760px) {
  .feature .feat-flex {
    align-items: center;
    line-height: 1.1;
    max-width: 85%;
  }
}
.feature .feat-flex > div {
  text-wrap: pretty;
}
.feature .feat-flex .info-icon {
  width: 12px;
  height: 12px;
  min-width: 12px;
}
.feature img.icon {
  width: 22px;
  height: 22px;
  filter: contrast(0) brightness(1.2);
}
@media (max-width: 760px) {
  .feature img.icon {
    width: 15px;
    height: 15px;
  }
}

.value {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 16px;
  color: #444;
  text-align: center;
  line-height: 1.1;
}
@media (max-width: 760px) {
  .value {
    font-size: 10px;
    padding: 10px 0;
  }
}
@media (max-width: 760px) {
  .value.last-row {
    border-bottom: 0;
  }
}

.check, .none {
  width: 18px;
  height: 18px;
  background-image: url("https://dotsmemories.app/wp-content/plugins/svrl-event-plans/assets/img/check.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 760px) {
  .check, .none {
    width: 12px;
    height: 12px;
  }
}

.none {
  background-image: url("https://dotsmemories.app/wp-content/plugins/svrl-event-plans/assets/img/cross.svg");
  transform: scale(1.5);
}

/* ===================================================================
   TIPPY BOX (Tooltips)
=================================================================== */
.tippy-box[data-theme~=light-custom] {
  background-color: rgba(248, 247, 245, 0.85);
  color: black;
  font-weight: 500;
  backdrop-filter: blur(25px);
  border-radius: 24px;
  padding: 12px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 1.2;
}
.tippy-box[data-theme~=light-custom] .tippy-arrow {
  z-index: 0;
}
.tippy-box[data-theme~=light-custom] .tippy-arrow::before {
  transform: scale(1.2);
  border-bottom-color: rgba(248, 247, 245, 0.85);
}
.tippy-box[data-theme~=light-custom] .tippy-content {
  display: flex;
  align-items: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
  background-color: transparent;
  z-index: 1;
  min-width: 185px;
  max-width: 280px;
}
.tippy-box[data-theme~=light-custom] .tippy-content img {
  width: 30px;
  min-width: 30px;
}
.tippy-box[data-theme~=light-custom] .tippy-content > div {
  flex: 1;
}

/* ============================================================
   TOOLTIP
============================================================ */
.ea-tooltip {
  display: inline-flex;
  margin-left: 6px;
  right: 5px;
  top: 1px;
  bottom: 0;
  margin: auto;
  margin-right: 0;
  height: -moz-fit-content;
  height: fit-content;
  cursor: pointer;
}
@media (max-width: 760px) {
  .ea-tooltip {
    right: 10px;
  }
}

/* ============================================================
   TOOLTIP Dots — versión corregida y optimizada
============================================================ */
.ea-tooltip-text img:first-child {
  width: 30px;
}

/* Flecha */
.ea-tooltip-text::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -6px;
  border-width: 6px;
  border-style: solid;
  border-color: rgba(228, 228, 228, 0.6) transparent transparent transparent;
}

.ea-tooltip:hover .ea-tooltip-text {
  visibility: visible;
  opacity: 1;
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 760px) {
  .grid-title, .plan-name {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    font-size: 12px;
    line-height: 1.1;
    padding: 0;
    padding-bottom: 16px;
  }
  .grid-title br, .plan-name br {
    display: block;
  }
  .value {
    font-size: 11px;
    padding: 10px 0;
  }
  .ea-tooltip {
    margin-left: 4px;
  }
  .ea-tooltip-text {
    width: 95vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(100% + 12px);
    padding: 16px;
  }
  .ea-tooltip-text img:first-child {
    width: 36px !important;
  }
  .ea-tooltip-text::after {
    margin-left: -4px;
  }
}
/* ============================================================
   CHECKOUT (DOTS MEMORIES)
============================================================ */
#svrl-checkout {
  margin-top: 40px;
  margin-bottom: 60px;
  position: relative;
}
@media (min-width: 992px) and (max-width: 1024px) {
  #svrl-checkout {
    padding: 0 20px;
  }
}
#svrl-checkout.ocultar {
  position: fixed;
  pointer-events: none;
  opacity: 0;
}
#svrl-checkout .svrl-checkout-loading {
  background-color: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(3px);
  box-shadow: 0 25px 20px rgba(0, 0, 0, 0.01), 0 12px 15px rgba(0, 0, 0, 0.04), 0 8px 10px rgba(0, 0, 0, 0.07), 0 2px 8px rgba(0, 0, 0, 0.09);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99;
  border-radius: 42px;
  pointer-events: none;
  opacity: 0;
  position: absolute;
}
@media (max-width: 992px) {
  #svrl-checkout .svrl-checkout-loading {
    width: calc(100% - 40px);
    right: 0;
    margin: auto;
  }
}
#svrl-checkout .svrl-checkout-loading.show {
  pointer-events: all;
  opacity: 1;
}
#svrl-checkout .svrl-checkout-loading .loader {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 200px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: inline-block;
  border-top: 8px solid #FFF;
  border-right: 8px solid transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#svrl-checkout .woocommerce {
  font-family: "Inter", sans-serif;
  transition: transform 0.3s ease;
}
#svrl-checkout .woocommerce.ocultar {
  pointer-events: none;
  opacity: 0.2;
  transform: scale(0.9);
}
#svrl-checkout .woocommerce-info {
  background: rgba(140, 140, 140, 0.1);
  padding: 14px 18px;
  border-radius: 16px;
  color: #444;
  margin-bottom: 20px;
}
#svrl-checkout {
  /* Campos visibles */
}
#svrl-checkout .woocommerce-billing-fields__field-wrapper p.form-row {
  margin-bottom: 18px !important;
}
#svrl-checkout .woocommerce-billing-fields__field-wrapper p.form-row input.input-text {
  width: 100%;
  padding: 13px 16px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.04);
  border: 0;
  transition: 0.18s ease;
}
#svrl-checkout .woocommerce-billing-fields__field-wrapper p.form-row input.input-text:focus, #svrl-checkout .woocommerce-billing-fields__field-wrapper p.form-row input.input-text:focus-visible {
  box-shadow: 0 0 0 3px #bfdbf6;
  outline: 0;
}
#svrl-checkout .woocommerce-billing-fields__field-wrapper p.form-row .checkout-inline-error-message {
  margin-top: 0.25rem;
  color: #df1b41;
  font-size: 1rem;
}
#svrl-checkout .woocommerce-billing-fields__field-wrapper p.form-row p.checkout-inline-error-message {
  display: none;
}
#svrl-checkout {
  /* Ocultar los que no quieres */
}
#svrl-checkout #billing_last_name_field,
#svrl-checkout #billing_country_field,
#svrl-checkout #billing_address_1_field,
#svrl-checkout #billing_address_2_field,
#svrl-checkout #billing_postcode_field,
#svrl-checkout #billing_city_field,
#svrl-checkout #billing_state_field,
#svrl-checkout #billing_phone_field,
#svrl-checkout .woocommerce-additional-fields {
  display: none !important;
}
#svrl-checkout #customer_details h3 {
  font-family: "P22 Mackinac Pro";
  font-size: 26px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}
#svrl-checkout #customer_details .svrl-payment-desc {
  font-size: 10px;
  text-align: center;
  color: var(--Text-Texto-textTertiary, rgb(119, 119, 119));
  font-family: "Inter", sans-serif;
  padding-bottom: 2rem;
}
#svrl-checkout {
  /* Caja del pedido */
}
#svrl-checkout #order_review {
  border-radius: 0;
}
#svrl-checkout #order_review table.shop_table {
  border: none !important;
  border-radius: 0;
}
#svrl-checkout #order_review table.shop_table th {
  font-weight: 600;
  font-size: 18px;
}
#svrl-checkout #order_review table.shop_table th span {
  font-weight: 400;
  font-size: 14px;
}
#svrl-checkout #order_review table.shop_table td {
  font-size: 15px;
  padding: 10px 0;
}
#svrl-checkout #order_review table.shop_table tfoot td {
  font-weight: 600;
  font-size: 17px;
}
#svrl-checkout #payment {
  background-color: transparent;
}
#svrl-checkout #payment .svrl-payment-desc {
  font-size: 10px;
  text-align: center;
  color: var(--Text-Texto-textTertiary, rgb(119, 119, 119));
  font-family: "Inter", sans-serif;
}
#svrl-checkout #payment .woocommerce-info {
  background: rgba(226, 226, 226, 0.5);
  padding: 18px;
  border-radius: 16px;
  text-align: center;
}
#svrl-checkout #payment .wc_payment_methods {
  padding: 0;
  border-bottom: 0;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe > label {
  display: none;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe #wc-stripe-payment-method-instructions-card {
  font-size: 12px;
  padding: 15px;
  background-color: #ffc946;
  margin-top: 15px;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe .wc-saved-payment-methods {
  padding: 0;
  padding-top: 2rem;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe .wc-saved-payment-methods li {
  padding: 0;
  padding-top: 0.3rem;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe .wc-saved-payment-methods li:last-child {
  border-top: 1px solid rgba(226, 226, 226, 0.7);
  padding: 1rem 0;
  margin-top: 1rem;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe .wc-saved-payment-methods li input {
  display: none;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe .wc-saved-payment-methods li label {
  position: relative;
  padding-left: 35px;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe .wc-saved-payment-methods li label::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  bottom: 0;
  width: 20px;
  height: 20px;
  background-color: rgba(226, 226, 226, 0.7);
  border-radius: 5px;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe .wc-saved-payment-methods li input:checked + label::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230072EF' stroke='%230072EF' stroke-width='1' class='bi bi-check-lg' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425z'/%3E%3C/svg%3E");
  background-position: center;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe fieldset {
  border: 0;
  padding: 1rem 0;
  margin: 0;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe fieldset .woocommerce-SavedPaymentMethods-saveNew input {
  display: none;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe fieldset .woocommerce-SavedPaymentMethods-saveNew label {
  position: relative;
  display: flex !important;
  -moz-column-gap: 15px;
       column-gap: 15px;
  line-height: 1.2;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe fieldset .woocommerce-SavedPaymentMethods-saveNew label::before {
  content: "";
  position: relative;
  left: 0;
  bottom: 0;
  width: 20px;
  min-width: 20px;
  height: 20px;
  background-color: rgba(226, 226, 226, 0.7);
  border-radius: 5px;
  display: block;
}
#svrl-checkout #payment .wc_payment_methods .payment_method_stripe fieldset .woocommerce-SavedPaymentMethods-saveNew input:checked + label::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230072EF' stroke='%230072EF' stroke-width='1' class='bi bi-check-lg' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425z'/%3E%3C/svg%3E");
  background-position: center;
}
#svrl-checkout #payment .wc_payment_methods .payment_box {
  background-color: transparent;
  margin: 0;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  padding: 0;
}
#svrl-checkout #payment .wc_payment_methods .payment_box::before {
  content: none;
}
#svrl-checkout #payment .wc_payment_methods .payment_box #wc-stripe-upe-form {
  padding: 0;
  margin: 0;
  border: 0;
}
#svrl-checkout #payment .place-order {
  padding: 0;
}
#svrl-checkout #payment .place-order #place_order {
  line-height: 1.5;
  font-weight: 400;
}
#svrl-checkout #payment .place-order .woocommerce-privacy-policy-link {
  color: #0072EF;
}
#svrl-checkout #place_order {
  width: 100%;
  margin-top: 20px;
  padding: 14px 18px;
  border: none;
  border-radius: 25px;
  background: #0072EF;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
#svrl-checkout #place_order:hover {
  background: #0079F5;
}
#svrl-checkout .woocommerce-privacy-policy-text p {
  font-size: 13px;
  color: #666;
  margin-top: 12px;
  text-align: center;
}

.svrl-checkout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 61px;
  margin-top: 40px;
  justify-content: space-between;
  position: relative;
}
@media (max-width: 992px) {
  .svrl-checkout-grid {
    grid-template-columns: 1fr;
  }
}
.svrl-checkout-grid::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: calc(100% - 100px);
  width: 1px;
  border-left: 1.5px solid white;
  border-right: 1.5px solid #E4E4E4;
}
@media (max-width: 992px) {
  .svrl-checkout-grid::after {
    display: none;
  }
}

.svrl-col-left,
.svrl-col-right {
  align-self: flex-start;
}

@media (max-width: 992px) {
  .svrl-col-right {
    overflow: hidden;
  }
}

.svrl-col-left {
  padding: 0;
}
@media (max-width: 992px) {
  .svrl-col-left {
    padding: 0 20px;
  }
}
.svrl-col-left .col-1 {
  width: 100% !important;
}
.svrl-col-left .col-1 .form-row,
.svrl-col-left .col-1 .woocommerce-billing-fields {
  width: 100% !important;
}
@media (max-width: 992px) {
  .svrl-col-left .col-1 .woocommerce-billing-fields {
    padding-top: 1rem;
  }
}
.svrl-col-left #wc-stripe-express-checkout-element, .svrl-col-left .svrl-col-left-payments {
  background: #fff;
  border-radius: 26px;
  padding: 28px;
  box-shadow: 0 123px 35px rgba(0, 0, 0, 0), 0 79px 32px rgba(0, 0, 0, 0.01), 0 45px 27px rgba(0, 0, 0, 0.04), 0 20px 20px rgba(0, 0, 0, 0.07), 0 5px 11px rgba(0, 0, 0, 0.09);
}
.svrl-col-left #wc-stripe-express-checkout-element {
  margin-top: 0 !important;
}

.svrl-extra-after-order {
  margin-top: 0px !important;
}
.svrl-extra-after-order .se-show-coupon-btn {
  text-align: center;
  color: #0072EF;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  cursor: pointer;
  margin-top: 18px;
  margin-bottom: 10px;
}
.svrl-extra-after-order #se-coupon-wrapper {
  display: none;
  margin-top: 10px;
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-cont {
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: baseline;
  gap: 10px;
}
.svrl-extra-after-order #se-coupon-wrapper #se-coupon-input {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid #CFCFCF;
  border-radius: 25px;
  background: rgba(0, 0, 0, 0.04);
  font-size: 15px;
  font-family: "Inter", sans-serif;
  margin-bottom: 10px;
  transition: 0.18s ease;
}
.svrl-extra-after-order #se-coupon-wrapper #se-coupon-input:focus {
  border-color: #7A5CFA;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(122, 92, 250, 0.15);
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-btn {
  width: 100%;
  padding: 14px 18px;
  border: none;
  border-radius: 25px;
  font-size: 15px;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  cursor: pointer;
  background: #0072EF;
  color: #fff;
  margin-top: 8px;
  transition: background-color 0s;
  flex-shrink: 2;
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-btn:hover {
  background: #0079F5;
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-msg {
  font-size: 14px;
  margin-top: 10px;
  font-family: "Inter", sans-serif;
  color: #444;
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-msg.se-coupon-msg-state {
  padding: 0.7rem 2rem;
  border-radius: 10px;
  font-size: 16px;
  text-align: center;
  display: none;
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-msg.se-coupon-msg-state.show {
  display: block;
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-msg.se-coupon-msg-state.se-coupon-msg-success {
  background-color: rgb(178, 255, 178);
  border: 1px solid rgb(77, 255, 77);
  color: rgb(0, 90, 0);
}
.svrl-extra-after-order #se-coupon-wrapper .se-coupon-msg.se-coupon-msg-state.se-coupon-msg-error {
  background-color: rgba(255, 126, 126, 0.28);
  border: 1px solid #ff5252;
  color: #b90000;
}
.svrl-extra-after-order .elementor-3464 {
  margin-top: 30px;
}

/* Template Elementor debajo del pedido */
.svrl-after-order {
  margin-top: 24px;
}

/* ============================================================
   TABLA DEL PEDIDO — ESTILO Dots Memories
============================================================ */
#svrl-checkout table.shop_table.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 24px;
  padding: 0;
  margin: 0;
  border: none;
  overflow: hidden;
  /* para radios limpios */
}

/* ENCABEZADOS */
#svrl-checkout table.shop_table thead th {
  background: transparent;
  border: none;
  text-align: left;
  padding: 14px 22px;
  font-size: 14px;
  font-weight: 600;
  color: #777;
}

/* FILAS DEL PRODUCTO */
#svrl-checkout table.shop_table tbody td {
  padding: 16px 22px;
  border: none;
  font-size: 15px;
  color: #333;
}

#svrl-checkout table.shop_table tbody tr.cart_item {
  border: none;
  background: transparent;
}
#svrl-checkout table.shop_table tbody tr.cart_item td {
  border: none;
  background: transparent;
}

#svrl-checkout table.shop_table .product-name {
  font-weight: 400;
  line-height: 1.3;
  padding-bottom: 1rem !important;
}
#svrl-checkout table.shop_table .product-name .svrl-product-name-content {
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-bottom: -20px;
}
#svrl-checkout table.shop_table .product-name .svrl-product-name-content .svrl-product-name-content--image {
  width: 80px;
}
@media (max-width: 992px) {
  #svrl-checkout table.shop_table .product-name .svrl-product-name-content .svrl-product-name-content--image {
    width: 65px;
  }
}
#svrl-checkout table.shop_table .product-name .svrl-product-name-content .svrl-product-name-content--image .placeholder-img {
  width: 100%;
}
#svrl-checkout table.shop_table .product-name .svrl-product-name-content .svrl-product-name-content--text {
  font-size: 16px;
}
@media (max-width: 992px) {
  #svrl-checkout table.shop_table .product-name .svrl-product-name-content .svrl-product-name-content--text {
    font-size: 15px;
  }
}

#svrl-checkout table.shop_table .product-quantity {
  display: none;
  font-size: 13px;
  opacity: 0.7;
  margin-left: 4px;
}

/* SUBTOTAL Y TOTAL */
#svrl-checkout table.shop_table tfoot th,
#svrl-checkout table.shop_table tfoot td {
  padding: 14px 22px;
  border: none;
  font-size: 15px;
}

#svrl-checkout table.shop_table tbody tr td.product-total,
#svrl-checkout table.shop_table tfoot tr td {
  text-align: right;
}

#svrl-checkout table.shop_table tfoot tr.cart-subtotal th,
#svrl-checkout table.shop_table tfoot tr.cart-subtotal td {
  color: #666;
  font-weight: 400 !important;
  padding: 1rem 0;
  vertical-align: middle;
}

#svrl-checkout table.shop_table tfoot tr.cart-subtotal {
  border-top: 1px solid rgba(115, 115, 115, 0.2);
  border-bottom: 1px solid rgba(115, 115, 115, 0.2);
}
#svrl-checkout table.shop_table tfoot tr.cart-subtotal th {
  font-size: 16px !important;
  font-weight: 400 !important;
}
#svrl-checkout table.shop_table tfoot tr.cart-subtotal .woocommerce-Price-amount {
  font-weight: 400 !important;
}

#svrl-checkout table.shop_table tfoot tr.cart-discount th,
#svrl-checkout table.shop_table tfoot tr.cart-discount td {
  font-weight: 400 !important;
  padding: 1rem 0;
  vertical-align: middle;
  font-size: 15px !important;
}
#svrl-checkout table.shop_table tfoot tr.cart-discount th .cart-discount--remove-coupon,
#svrl-checkout table.shop_table tfoot tr.cart-discount td .cart-discount--remove-coupon {
  font-size: 12px;
  color: #b90000;
  cursor: pointer;
}
#svrl-checkout table.shop_table tfoot tr.cart-discount th .cart-discount--remove-coupon:hover,
#svrl-checkout table.shop_table tfoot tr.cart-discount td .cart-discount--remove-coupon:hover {
  text-decoration: underline;
}

#svrl-checkout table.shop_table tfoot tr.order-total th {
  font-weight: 700 !important;
  font-size: 18px;
  padding: 0;
  padding-top: 1rem;
}
#svrl-checkout table.shop_table tfoot tr.order-total th span {
  font-weight: 400;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.55);
}

#svrl-checkout table.shop_table tfoot tr.order-total td {
  font-weight: 700;
  font-size: 18px;
  padding-top: 6px;
}

/* Cantidad final destacada */
#svrl-checkout table .woocommerce-Price-amount {
  font-weight: 600;
  font-size: 16px;
}

.svrl-order-box {
  background: rgba(226, 226, 226, 0.7);
  border-radius: 40px;
  padding: 30px 50px;
  margin-bottom: 30px;
}
@media (max-width: 992px) {
  .svrl-order-box {
    padding: 20px 30px;
    border-radius: 20px;
  }
}
@media (max-width: 992px) {
  .svrl-order-box #order_review_heading {
    text-align: left;
    position: relative;
    margin: 0;
    font-size: 20px;
  }
}
@media (max-width: 992px) {
  .svrl-order-box #order_review_heading.active::after {
    transform: rotate(180deg);
  }
}
@media (max-width: 992px) {
  .svrl-order-box #order_review_heading::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23333' stroke='%23333' stroke-width='.5' class='bi bi-chevron-down' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    width: 25px;
    height: 25px;
  }
}
@media (max-width: 992px) {
  .svrl-order-box #order_review {
    overflow: hidden;
    height: 0;
  }
}
.svrl-order-box #order_review.show {
  height: 100%;
}
.svrl-order-box #order_review .woocommerce-checkout-review-order-table {
  margin-top: 1rem !important;
}

.svrl-order-box h3, #wc-stripe-express-checkout-element h3, #payment h3 {
  text-align: center;
  margin-bottom: 22px;
  font-family: "P22 Mackinac Pro";
  font-size: 26px;
  width: 100%;
}

.svrl-order-box h3 {
  margin-top: 0;
}

#wc-stripe-express-checkout-button-separator {
  position: relative;
  font-size: 14px;
  text-transform: uppercase;
  font-family: "Inter", sans-serif;
  color: rgba(0, 0, 0, 0.55);
  margin: 1.2rem 0;
}
#wc-stripe-express-checkout-button-separator::before, #wc-stripe-express-checkout-button-separator::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  width: 45%;
  height: 1px;
  border-top: 1.5px solid rgba(0, 0, 0, 0.1);
}
#wc-stripe-express-checkout-button-separator::after {
  right: 0;
  left: initial;
}/*# sourceMappingURL=style.css.map */