/* ===============================
   MENÚ RESPONSIVE
================================ */

header {
  width: 60%;
  background: #7f1d1d;
}

.navegacion {
  max-width: 1000px;
  margin: auto;
  padding: 10px;
}

/* Botón hamburguesa */
.menu-toggle {
  display: none;
  background: white;
  border: none;
  padding: 12px;
  font-size: 18px;
  font-weight: bold;
  border-radius: 10px;
  cursor: pointer;
}

/* Menú principal */
.menu {
  list-style: none;
  display: flex;
  gap: 15px;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.menu li {
  position: relative;
}

.menu li a {
  display: block;
  padding: 10px 15px;
  color: white;
  text-decoration: none;
  font-weight: bold;
  border-radius: 8px;
}

.menu li a:hover {
  background: white;
  color: black;
}

/* Submenu */
.submenu {
  list-style: none;
  position: absolute;
  top: 45px;
  left: 0;
  background: #7f1d1d;
  min-width: 220px;
  padding: 10px;
  border-radius: 10px;
  top: 100%;
  margin-top: 0;
  display: none;
}

.submenu li a {
  padding: 10px;
  display: block;
}

.dropdown {
  padding-bottom: 5px;
}


.dropdown:hover > .submenu,
.dropdown .submenu:hover {
  display: block;
}


/* ===============================
   RESPONSIVE PARA CELULAR
================================ */

@media (max-width: 768px) {

  /* Mostrar botón */
  .menu-toggle {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }

  /* Menú vertical oculto */
  .menu {
    flex-direction: column;
    display: none;
    width: 100%;
    background: #7f1d1d;
    border-radius: 12px;
    padding: 10px;
  }

  /* Mostrar menú cuando esté activo */
  .menu.active {
    display: flex;
  }

  /* Submenu en móvil */
  .submenu {
    position: relative;
    top: 0;
    left: 0;
    min-width: 100%;
    border-radius: 8px;
  }

  .dropdown:hover .submenu {
    display: none; /* hover no funciona bien en móvil */
  }

  .dropdown.open .submenu {
    display: block;
  }
}

.manito {
  cursor: pointer;
}


/* ===============================
   COUPLE FORM
================================ */

/* CONTENEDOR GENERAL */
.couple_container{
    max-width:650px;
    margin:auto;
    padding:30px;
    border-radius:20px;
    background:linear-gradient(135deg,#ffe6ea,#ffffff);
    box-shadow:0 10px 30px rgba(0,0,0,0.12);
    font-family:'Segoe UI',sans-serif;
}

/* IMAGEN SUPERIOR */
.couple_container  img{
    display:block;
    margin:auto;
    width:140px;
    margin-bottom:20px;
    border-radius: 10px;
}

/* TITULO SECCION */
.couple_form h1{
    color:#d6336c;
    margin-top:25px;
    margin-bottom:20px;
}

/* SUBTITULO ESTILO TARJETA ELEGANTE */
.couple_form h2{
    font-size:16px;
    font-weight:400;
    color:#555;
    text-align:center;
    line-height:1.7;
    margin:10px 0 25px 0;
    padding:15px 20px;
    border-radius:12px;
    background:rgba(255,255,255,0.7);
    border-left:5px solid #ff4d88;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
    backdrop-filter:blur(4px);
}

/* LABEL */
.couple_form label{
    display:block;
    margin-top:15px;
    margin-bottom:6px;
    font-weight:600;
    color:#444;
}

/* INPUTS */
.couple_form input[type="text"],
.couple_form input[type="tel"],
.couple_form textarea{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
    font-size:15px;
    transition:0.3s;
}

/* TEXTAREA */
.couple_form textarea{
    min-height:90px;
    resize:vertical;
}

/* FOCUS */
.couple_form input:focus,
.couple_form textarea:focus{
    outline:none;
    border-color:#ff4d88;
    box-shadow:0 0 8px rgba(255,77,136,0.3);
}

/* CHECKBOX */
.couple_form input[type="checkbox"]{
    margin-left:10px;
    margin-right:5px;
    transform:scale(1.2);
}

.couple_form button{
    width:100%;
    margin-top:25px;
    padding:14px;
    border:none;
    border-radius:12px;
    font-size:16px;
    font-weight:600;
    color:white;
    background:linear-gradient(135deg,#ff4d88,#ff6fa5);
    cursor:pointer;
    transition:all 0.3s ease;
}

/* Hover */
.couple_form button:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 15px rgba(255,77,136,0.35);
}

/* Click */
.couple_form button:active{
    transform:scale(0.98);
}


/* RESPONSIVE */
@media (max-width:768px){

  div{
      margin:10px;
      padding:20px;
  }

  div img{
      width:110px;
  }

  .couple_form h1{
      font-size:22px;
  }

  .couple_form button{
    font-size:17px;
    padding:16px;
  }
}

/*//////////////////////////////////////*/
/*//////////////////////////////////////*/
/*//////////////////////////////////////*/


/* ===============================
   ENGAGED FORM
================================ */

/* CONTENEDOR GENERAL */
.engaged_container{
    max-width:650px;
    margin:auto;
    padding:30px;
    border-radius:20px;
    background:linear-gradient(135deg,#E390FC,#ffffff);
    box-shadow:0 10px 30px rgba(0,0,0,0.3);
    font-family:'Segoe UI',sans-serif;
}

/* IMAGEN SUPERIOR */
.engaged_container  img{
    display:block;
    margin:auto;
    width:140px;
    margin-bottom:20px;
    border-radius: 10px;
}

/* TITULO SECCION */
.engaged_form h1{
    color:#AE02E3;
    margin-top:25px;
    margin-bottom:20px;
}

/* SUBTITULO ESTILO TARJETA ELEGANTE */
.engaged_form h2{
    font-size:16px;
    font-weight:400;
    color:#555;
    text-align:center;
    line-height:1.7;
    margin:10px 0 25px 0;
    padding:15px 20px;
    border-radius:12px;
    background:rgba(255,255,255,0.7);
    border-left:5px solid #AE02E3;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
    backdrop-filter:blur(4px);
}

/* LABEL */
.engaged_form label{
    display:block;
    margin-top:15px;
    margin-bottom:6px;
    font-weight:600;
    color:#444;
}

/* INPUTS */
.engaged_form input[type="text"],
.engaged_form input[type="tel"],
.engaged_form input[type="number"],
.engaged_form textarea{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
    font-size:15px;
    transition:0.3s;
}

/* INPUT DATE */
.engaged_form input[type="date"]{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
    font-size:16px; /* 👈 IMPORTANTE: evita zoom en móviles */
    transition:0.3s;
    font-family:'Segoe UI',sans-serif;
    color:#444;
    background-color:white;
    cursor:pointer;

    -webkit-appearance: none;
    appearance: none;
}

/* FOCUS */
.engaged_form input[type="date"]:focus{
    outline:none;
    border-color:#ff4d88;
    box-shadow:0 0 8px rgba(255,77,136,0.3);
}

/* ICONO CALENDARIO (solo navegadores compatibles) */
.engaged_form input[type="date"]::-webkit-calendar-picker-indicator{
    cursor:pointer;
    opacity:0.7;
}

.engaged_form input[type="date"]::-webkit-calendar-picker-indicator:hover{
    opacity:1;
}

/* TEXTAREA */
.engaged_form textarea{
    min-height:90px;
    resize:vertical;
}

/* FOCUS */
.engaged_form input:focus,
.engaged_form textarea:focus{
    outline:none;
    border-color:#ff4d88;
    box-shadow:0 0 8px rgba(255,77,136,0.3);
}

/* RADIO BUTTON GLOBAL */
.engaged_form input[type="radio"]{
    margin-right:6px;
    margin-left:10px;
    transform:scale(1.2);
    cursor:pointer;
    color:#444;
}

.engaged_form button{
    width:100%;
    margin-top:25px;
    padding:14px;
    border:none;
    border-radius:12px;
    font-size:16px;
    font-weight:600;
    color:white;
    background:linear-gradient(135deg,#AE02E3,#ff6fa5);
    cursor:pointer;
    transition:all 0.3s ease;
}

/* Hover */
.engaged_form button:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 15px rgba(255,77,136,0.35);
}

/* Click */
.engaged_form button:active{
    transform:scale(0.98);
}


/* RESPONSIVE */
@media (max-width:768px){

  div{
      margin:10px;
      padding:20px;
  }

  div img{
      width:110px;
  }

  .engaged_form h1{
      font-size:22px;
  }

  .engaged_form button{
    font-size:17px;
    padding:16px;
  }
}

/*//////////////////////////////////////*/
/*//////////////////////////////////////*/
/*//////////////////////////////////////*/

/* ===============================
   MARRIAGE FORM
================================ */

/* CONTENEDOR GENERAL */
.marriage_container{
    max-width:650px;
    margin:auto;
    padding:30px;
    border-radius:20px;
    background:linear-gradient(135deg,#FFF,#FFF);
    box-shadow:0 10px 30px rgba(201,162,39,1.1);
    font-family:'Segoe UI',sans-serif;
}

/* IMAGEN SUPERIOR */
.marriage_container  img{
    display:block;
    margin:auto;
    width:120px;
    margin-bottom:20px;
    border-radius: 10px;
}

/* TITULO SECCION */
.marriage_form h1{
    color:#C9A227;
    margin-top:25px;
    margin-bottom:20px;
    text-decoration:;
}

.marriage_form h2{
    font-size:16px;
    font-weight:400;
    color:#555;
    text-align:center;
    line-height:1.7;
    margin:10px 0 25px 0;
    padding:15px 20px;
    border-radius:12px;
    background:rgba(255,255,255,0.7);
    border-left:5px solid #C9A227;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
    backdrop-filter:blur(4px);
}

/* LABEL */
.marriage_form label{
    display:block;
    margin-top:15px;
    margin-bottom:6px;
    font-weight:600;
    color:#C9A227;
}

/* INPUTS */
.marriage_form input[type="text"],
.marriage_form input[type="tel"],
.marriage_form input[type="number"],
.marriage_form textarea{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
    font-size:15px;
    transition:0.3s;
}

/* RADIO BUTTON GLOBAL */
.marriage_form input[type="radio"]{
    margin-right:6px;
    margin-left:10px;
    transform:scale(1.2);
    cursor:pointer;
    color:#444;
}

/* INPUT DATE */
.marriage_form input[type="date"]{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
    font-size:16px; /* 👈 IMPORTANTE: evita zoom en móviles */
    transition:0.3s;
    font-family:'Segoe UI',sans-serif;
    color:#444;
    background-color:white;
    cursor:pointer;

    -webkit-appearance: none;
    appearance: none;
}


/* ICONO CALENDARIO (solo navegadores compatibles) */
.marriage_form input[type="date"]::-webkit-calendar-picker-indicator{
    cursor:pointer;
    opacity:0.7;
}

.marriage_form input[type="date"]::-webkit-calendar-picker-indicator:hover{
    opacity:1;
}

/* TEXTAREA */
.marriage_form textarea{
    min-height:90px;
    resize:vertical;
}

/* FOCUS */
.marriage_form input:focus,
.marriage_form textarea:focus{
    outline:none;
    border-color:#C9A227;
    box-shadow:0 0 8px rgba(201,162,39,0.6);
}

.marriage_form button{
    width:100%;
    margin-top:25px;
    padding:14px;
    border:none;
    border-radius:12px;
    font-size:16px;
    font-weight:600;
    color:white;
    background:linear-gradient(135deg,#C9A227);
    cursor:pointer;
    transition:all 0.3s ease;
}

/* Hover */
.marriage_form button:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 15px rgba(255,77,136,0.35);
}

/* Click */
.marriage_form button:active{
    transform:scale(0.98);
}


/* RESPONSIVE */
@media (max-width:768px){

  div{
      margin:10px;
      padding:20px;
  }

  div img{
      width:110px;
  }

  .marriage_form h1{
      font-size:22px;
  }

  .marriage_form button{
    font-size:17px;
    padding:16px;
  }
}

/*//////////////////////////////////////*/
/*//////////////////////////////////////*/
/*//////////////////////////////////////*/


/* ===============================
   CONSUL COUPLE
================================ */

/* CONTENEDOR GENERAL */

.couple_consul_container{

  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:25px;
  padding:20px;

}

/* TARJETA */

.couple_consul_card{

  background:#ffe6ea;
  width:350px;
  border-radius:15px;
  box-shadow:0 5px 15px rgba(0,0,0,0.15);
  overflow:visible;
  transition:0.3s;
  font-family:Arial;

}

.couple_consul_card:hover{

  transform:translateY(-5px);
  box-shadow:0 10px 25px rgba(0,0,0,0.25);

}

/* HEADER */

.couple_consul_header{

  background:#ffccd5;
  padding:15px;
  text-align:center;

}

.couple_consul_header h3{

  margin:0;
  font-size:18px;

}

/* BODY */

.couple_consul_body{

  padding:15px;
  font-size:14px;

}

.couple_consul_body p{

  margin:6px 0;

}

/* BOTONES */

.couple_consul_actions{

  display:flex;
  gap:10px;
  margin-top:10px;

}

.couple_consul_actions button{

  border:none;
  padding:8px 12px;
  border-radius:8px;
  background:#ff9fb2;
  cursor:pointer;
  transition:0.3s;

}

.couple_consul_actions button:hover{

  background:#ff7d9a;

}

/* TOOLTIP */

.couple_consul_tooltip{

  position:relative;
  display:inline-block;

}

.couple_consul_tooltip_text{

  visibility:hidden;
  width:220px;
  background:white;
  color:#000;
  text-align:center;
  border-radius:8px;
  padding:8px;
  position:absolute;
  z-index:1;
  bottom:125%;
  left:50%;
  transform:translateX(-50%);
  opacity:0;
  transition:0.3s;

}

.couple_consul_tooltip:hover .couple_consul_tooltip_text{

  visibility:visible;
  opacity:1;

}

/* RESPONSIVE */

@media(max-width:768px){

  .couple_consul_container{

    flex-direction:column;
    align-items:center;

  }

  .couple_consul_card{

    width:90%;

  }

}

/*//////////////////////////////////////*/
/*//////////////////////////////////////*/
/*//////////////////////////////////////*/


/* ===============================
   CONSUL ENGAGED
================================ */

/* CONTENEDOR GENERAL */

.engaged_consul_container{

  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:25px;
  padding:20px;

}

/* TARJETA */

.engaged_consul_card{

  background:#F5C7FF;
  width:350px;
  border-radius:15px;
  box-shadow:0 5px 15px rgba(0,0,0,0.15);
  overflow:visible;
  transition:0.3s;
  font-family:Arial;

}

.engaged_consul_card:hover{

  transform:translateY(-5px);
  box-shadow:0 10px 25px rgba(0,0,0,0.25);

}

/* HEADER */

.engaged_consul_header{

  background:#E390FC;
  padding:15px;
  text-align:center;

}

.engaged_consul_header h3{

  margin:0;
  font-size:18px;

}

/* BODY */

.engaged_consul_body{

  padding:15px;
  font-size:14px;

}

.engaged_consul_body p{

  margin:6px 0;

}

/* BOTONES */

.engaged_consul_actions{

  display:flex;
  gap:10px;
  margin-top:10px;

}

.engaged_consul_actions button{

  border:none;
  padding:8px 12px;
  border-radius:8px;
  background:#E390FC;
  cursor:pointer;
  transition:0.3s;

}

.engaged_consul_actions button:hover{

  background:#CB3BFF;

}

/* TOOLTIP */

.engaged_consul_tooltip{

  position:relative;
  display:inline-block;

}

.engaged_consul_tooltip_text{

  visibility:hidden;
  width:220px;
  background:white;
  color:#000;
  text-align:center;
  border-radius:8px;
  padding:8px;
  position:absolute;
  z-index:1;
  bottom:125%;
  left:50%;
  transform:translateX(-50%);
  opacity:0;
  transition:0.3s;

}

.engaged_consul_tooltip:hover .engaged_consul_tooltip_text{

  visibility:visible;
  opacity:1;

}

/* RESPONSIVE */

@media(max-width:768px){

  .engaged_consul_container{

    flex-direction:column;
    align-items:center;

  }

  .engaged_consul_card{

    width:90%;

  }

}

/*//////////////////////////////////////*/
/*//////////////////////////////////////*/
/*//////////////////////////////////////*/

/* ===============================
   MENU FORM
================================ */

/* CONTENEDOR GENERAL */
.menu_form_container {
  text-align: center;
  padding: 30px 15px;
  font-family: 'Segoe UI', sans-serif;
  background: linear-gradient(135deg, #fff0f5, #ffe4e1);
  min-height: 100vh;
}

/* LOGO */
.menu_form_container .logo {
  max-width: 140px;
  margin-bottom: 15px;
  border-radius: 100%;
}

/* TITULO */
.menu_form_container h1 {
  color: #b76e79;
  margin-bottom: 30px;
}

/* MENU */
.menu_form {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap; /* clave para responsive */
}

/* ITEM */
.menu_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  background: #ffffff;
  padding: 20px;
  border-radius: 15px;
  width: 140px;
  box-shadow: 0 8px 20px rgba(183, 110, 121, 0.2);
  transition: all 0.3s ease;

}

/* ICONO */
.menu_item img {
  width: 80px;
  margin-bottom: 10px;
  border-radius: 100%;

}

/* TEXTO */
.menu_item .item-text {
  color: #b76e79;
  font-weight: bold;
}

/* HOVER */
.menu_item:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(183, 110, 121, 0.9);
  background: #fff5f7;
}

/* RESPONSIVE */
@media (max-width: 600px) {
  .menu_item {
    width: 100px;
    padding: 15px;
  }

  .menu_item img {
    width: 45px;
  }

  .menu_form_container h1 {
    font-size: 20px;
  }
}


/*//////////////////////////////////////*/
/*//////////////////////////////////////*/
/*//////////////////////////////////////*/

/* ===============================
   ACEPTACIÓN DE DATOS
================================ */

/* FORZAR TEXTO DE ACEPTACIÓN EN NEGRO */
label.privacy-check,
label.privacy-check *,
label.privacy-check::before,
label.privacy-check::after{
    color:#000000 !important;
}

/* Checkbox */
.privacy-check input[type="checkbox"]{
    transform:scale(1.5);
    margin-top:3px;
    margin-right:8px;
    accent-color:#F7DE00;
    cursor:pointer;
}

/* Botón */
.privacy-btn{
    width:100%;
    margin-top:30px;
    padding:15px;
    border:none;
    border-radius:12px;
    background:#F7DE00;
    color:#2d3436;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
    transition:all 0.3s ease;
    -webkit-appearance:none;
    appearance:none;
}

.privacy-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 15px rgba(0,0,0,0.15);
}

.privacy-btn:active{
    transform:translateY(0);
}

.privacy-btn:disabled{
    background:#d9d9d9;
    color:#777;
    cursor:not-allowed;
    box-shadow:none;
    transform:none;
}

.privacy-btn:disabled:hover{
    transform:none;
    box-shadow:none;
}

@media (max-width:768px){
  .pos_form .privacy-check input[type="checkbox"]{
        transform: scale(2);
    }

    .privacy-btn{
        padding:14px;
        font-size:16px;
    }
}

@media (max-width: 480px){
    .privacy-btn{
        padding:13px;
        font-size:15px;
        border-radius:10px;
    }

    .privacy-check input[type="checkbox"]{
        transform: scale(1.3);
    }
}

/*//////////////////////////////////////*/
/*//////////////////////////////////////*/