/***********************************/
/* FORMULARIO SALESFORCE - EVENTOS */
/***********************************/

.form-container {
    max-width: 800px;
    margin: 0 auto;
    font-family: sans-serif;
}

.form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.form-row.full {
    flex-direction: column;
}

.form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
}

input[type="text"], input[type="text"]:focus,
input[type="email"], input[type="email"]:focus,
input[type="date"], input[type="date"]:focus,
select, select:focus,
textarea, textarea:focus {
    font-family: "GT Eesti Pro Display", Sans-Serif;
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0px;
    padding: 20px 0;
    background: transparent;
    font-size: 14px;
}

textarea {
    resize: vertical;
    min-height: 60px;
}

select {
    background-color: transparent;
}

label.terms_and_policy {
    font-size: 14px;
    color: #a79669;
}

.counter-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.counter-label, .title-sales-form-field {
    min-width: 110px;
    font-size: 14px;
    color: #372f2f85;
}

.counter-label-container {
    width: 80%;
}

.counter-controls {
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.counter-controls input[type="text"] {
    width: 40%;
    text-align: center;
    border: none;
    border-bottom: 1px solid #ccc;
    background: transparent;
    font-size: 14px;
}

button.counter-btn, button.counter-btn:focus, button.counter-btn:hover {
    color: white;
    padding: 0px;
    width: 23%;
    background-color: #e3decf;
    border: none;
    border-radius: 50%;
    font-weight: bold;
    cursor: pointer;
    font-size: 16px;
}

input.form-group-submit-button {
    padding: 20px 80px 20px 80px !important;
    background-color: #A79669 !important;
    color: white !important;
    font-size: 15px !important;
}

.form-submit-container {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.e-contact-buttons.e-contact-buttons-var-7.has-h-alignment-end.has-v-alignment-bottom.has-mobile-full-width.has-platform-url {
    z-index: 3;
}

table.variations tbody > tr:nth-child(odd) > td,
table.variations tbody > tr:nth-child(odd) > th {
    background-color: transparent !important;
}

table.variations tbody tr:hover td,
table.variations tbody tr:hover th {
    background: transparent !important;
}

a.woocommerce-product-gallery__trigger {
    display: none;
}

/* Centrar el reCAPTCHA dentro del formulario */
.g-recaptcha {
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto 20px auto !important;
    transform-origin: center center;
}



/* ==========================
   SFF MODAL (Fase 1)
   ========================== */
.sff-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.sff-modal.is-open {
  display: flex;
}

.sff-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
}

.sff-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(520px, 95vw);
  background: #fff;
  border-radius: 14px;
  padding: 22px 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,.25);
}

.sff-modal__title {
  margin: 0 0 10px 0;
  font-size: 18px;
  line-height: 1.2;
}

.sff-modal__message {
  margin: 0 0 18px 0;
  font-size: 15px;
  line-height: 1.35;
}
body .sff-modal button {
  background-color: #A7966900 !important;
  color: var(--e-global-color-primary) !important;
}

.sff-modal__close {
  appearance: none;
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 600;
}





/***********************************/
/* RESPONSIVE - FORMULARIOS */
/***********************************/

@media (max-width: 768px) {

    .form-row {
        flex-direction: column;
        gap: 10px;
    }

    .counter-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .counter-label-container,
    .counter-controls {
        width: 100%;
        justify-content: flex-start;
    }

    .counter-controls {
        gap: 10px;
    }

    .counter-controls input[type="text"] {
        width: 60px;
    }

    button.counter-btn {
        width: 35px;
        height: 35px;
        font-size: 18px;
    }

    input.form-group-submit-button {
        width: 100%;
        padding: 18px 0 !important;
    }

    .form-container {
        padding: 0 15px;
    }
}
