.qodef-shortcode form.wpcf7-form {
    max-width: 400px;
    margin: 0 auto;
    font-family: 'Libre Baskerville', serif;
    font-size: 16px;
    color: #333;
}
.qodef-shortcode .elementor-heading-title {
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 15px;
}
#mensaje-personalizado {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 25px;
    color: #333;
}
.qodef-shortcode input[type="text"],
.qodef-shortcode input[type="email"],
.qodef-shortcode select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
    margin-bottom: 15px;
    box-sizing: border-box;
}
.qodef-shortcode label {
    display: block;
    margin: 8px 0;
    font-size: 15px;
}
.qodef-shortcode input[type="checkbox"] {
    margin-right: 8px;
}
.qodef-shortcode input[type="submit"] {
    background-color: #c4ad84;
    color: white;
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    cursor: pointer;
    width: 100%;
    transition: background 0.3s ease;
}
.qodef-shortcode input[type="submit"]:hover {
    background-color: #b49c70;
}


/* Estilos para el formulario de invitación */
.wpcf7-form-control-wrap {
    margin-bottom: 20px;
}

.wpcf7-form-control-wrap label {
    display: block;
    font-size: 18px;
    margin-bottom: 10px;
}

.wpcf7-form-control-wrap input[type="checkbox"] {
    margin-right: 10px;
}

/* Estilos para el cuadro de la invitación con extras */


            .column-acciones .invitacion-admin-box {
                display: flex;
                justify-content: space-between;
                align-items: center;
                border: 1px solid #45553d;
                //border: 2px solid #9f8c6a;
                border-radius: 10px;
                padding: 16px;
                //background: #f9f7f3;
                //background: #e5dbcd;
                background-image: url('https://ireneydavid.es/wp-content/uploads/2025/05/Invitacion-papel-acuarela-fiesta-de-15-anos-floral-verde-1.png');
                background-size: cover;
                box-shadow: 0 2px 5px rgba(0,0,0,0.05);
                font-family: system-ui, sans-serif;
                gap: 20px;
                margin-bottom: 5px; 
            }

            .invitacion-admin-box .izquierda {
                flex: 1;
            }

            .invitacion-admin-box .izquierda strong {
                font-size: 35px;
                display: block;
                margin-bottom: 5px;
                font-weight: 300;
            }

            .invitacion-admin-box .izquierda span {
                font-size: 17px;
                color: #666;
                font-family: monospace;
            }

            .invitacion-admin-box .izquierda .btn-admin {
                display: inline-block;
                margin: 8px 8px 0 0;
                padding: 6px 14px;
                border: none;
                border-radius: 6px;
                //background: #c4ad84;
                background: #819e80;
                color: white;
                font-size: 13px;
                text-decoration: none;
                cursor: pointer;
                transition: background 0.2s;
            }

            .invitacion-admin-box .btn-admin:hover {
                //background: #b49c70;
                background: #45553d;
            }

            .invitacion-admin-box .derecha {
                text-align: center;
                font-size: 13px;
                display: flex;
                flex-direction: column;
                gap: 6px;
                min-width: 130px;
            }

            .invitacion-admin-box .derecha div {
                background: black;
                color: white;
                padding: 6px 10px;
                border-radius: 100px;
                font-weight: bold;
            }
            
            /* Ajuste de ancho y scroll */
            .fixed .column-acciones {
            width: 100% !important;
            }
            .wp-list-table {
            table-layout: auto !important;
            }
            .fixed .column-acciones {
            width: 100% !important;
            padding: 0 !important;
            }
            .wp-list-table {
            table-layout: auto !important;
            }
            
            .estado-item {
                display: flex;
                justify-content: space-between;
                align-items: center;
                background: transparent;
                font-size: 13px;
                padding: 2px 0;
                color: #333;
            }

            .estado-burbuja {
                display: inline-block;
                //background: #000;
                background: #45553d;
                color: #fff;
                border-radius: 999px;
                padding: 4px 10px;
                font-size: 13px;
                font-weight: bold;
                min-width: 28px;
                text-align: center;
                margin-left: 10px;
            }
            .resumen-kpis-global {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: center;
                gap: 20px;
                margin: 20px ;
                //background: #f9f7f3;
                //background: #e5dbcd !important;
                background-image: url('https://ireneydavid.es/wp-content/uploads/2025/05/Invitacion-papel-acuarela-fiesta-de-15-anos-floral-verde-1.png');
                background-size: cover;
                padding: 20px 30px;
                border: 1px solid #45553d;
                //border: 1px solid #9f8c6a;
                border-radius: 10px;
                box-shadow: 0 2px 5px rgba(0,0,0,0.05);
                font-family: system-ui, sans-serif;
                max-width: 900px;
                text-align: center;
            }


            .resumen-kpis-global .estado-item {
                display: flex;
                align-items: center;
                gap: 10px;
                font-size: 14px;
            }
            .derecha-horizontal {
                display: flex;
                gap: 15px;
                align-items: center;
                justify-content: flex-end;
                font-size: 13px;
                margin-top: 10px;
                flex-wrap: wrap;
            }   
        .resumen-final {
            margin: 20px auto 25px auto;
            border: 1px solid #ddd;
            border-radius: 10px;
            padding: 20px 30px;
            background: #f9f7f3;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
            font-family: system-ui, sans-serif;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 40px;
            max-width: 700px;
            text-align: center;
            }
            .resumen-centro {
                text-align: center;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 6px;
                min-width: 200px;
                flex: 1;
            }

            .titulo-total {
                font-size: 16px;
                font-weight: 600;
            }

            .subtitulo-total {
                font-size: 13px;
                color: #666;
            }


#modal-preguntas .preguntas-admin {
    //background-color: #f9f7f3;
    background-color: #e5dbcd;
    padding: 20px 30px;
    border-radius: 10px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    font-family: system-ui, sans-serif;
    font-size: 14px;
    color: #333;
}

#modal-preguntas .preguntas-admin p,
#modal-preguntas .preguntas-admin label {
    margin: 10px 0;
    font-size: 14px;
}

#modal-preguntas .preguntas-admin input[type="text"],
#modal-preguntas .preguntas-admin select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    margin-bottom: 15px;
}

#modal-preguntas .preguntas-admin .btn-admin {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 16px;
    //background: #c4ad84;
    background: #819e80;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease;
}

#modal-preguntas .preguntas-admin .btn-admin:hover {
    //background: #b49c70;
    background: #45553d;
}

#modal-preguntas .preguntas-admin button#agregar_opcion {
    background: #eee;
    //border: 1px solid #ccc;
    border: 1px solid #9f8c6a;
    padding: 5px 10px;
    font-size: 13px;
    border-radius: 5px;
    margin-top: 10px;
    cursor: pointer;
}

#modal-preguntas .preguntas-admin button#agregar_opcion:hover {
    background: #ddd;
}



body.admin-invitaciones.modo-movil td.column-acciones {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 0 !important;
}

body.admin-invitaciones.modo-movil .column-acciones .invitacion-admin-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box;
}

th.column-acciones {
    display: none !important;
}

body.admin-invitaciones .acf-postbox {
    background-color: #e5dbcd;
    border: 1px solid #9f8c6a;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    padding: 20px;
}

body.admin-invitaciones .acf-label label {
    font-weight: 600;
    color: #333;
    font-size: 15px;
}

body.admin-invitaciones .acf-input input[type="text"],
body.admin-invitaciones .acf-input input[type="number"],
body.admin-invitaciones .acf-input input[type="email"],
body.admin-invitaciones .acf-input select,
body.admin-invitaciones .acf-input textarea {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 14px;
    background-color: #fff;
    box-sizing: border-box;
    margin-bottom: 10px;
}

body.admin-invitaciones .acf-input input[type="radio"],
body.admin-invitaciones .acf-input input[type="checkbox"] {
    margin-right: 6px;
}

body.admin-invitaciones .acf-repeater .acf-row {
    background: #f9f7f3;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 10px;
}

/* Estilo personalizado para el botón "Añadir nueva invitación" */
body.post-type-invitacion .page-title-action {
    background-color: #819e80; /* verde oliva */
    color: #fff !important;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 14px;
    font-weight: 400;
    border: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: background 0.3s ease;
}

body.post-type-invitacion .page-title-action:hover {
    background-color: #45553d;
    color: #fff !important;
}

@media only screen and (max-width: 782px) {
  /* Ocultar select de fechas y acciones en lote */
  select[name="m"],
  select[name="action"],
  select[name="action2"],
  input[name="doaction"],
  input[name="doaction2"] {
    display: none !important;
  }

  /* Contenedor con flex para poner filtro y botón en la misma línea */
  .tablenav .actions {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    align-items: center;
  }

  select[name="filtro_familiar"] {
    flex: 1;
    margin: 0;
  }

  .tablenav .actions input[type="submit"][value="Filtrar"] {
    white-space: nowrap;
    height: 34px;
    margin: 0;
  }
}

@media only screen and (max-width: 782px) {
  select[name="filtro_familiar"] {
    display: inline-block !important;
    width: 100% !important;
    max-width: 200px;
  }

  .tablenav .actions {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: center;
  }

  .tablenav .actions input[type="submit"][value="Filtrar"] {
    display: inline-block !important;
    white-space: nowrap;
  }

/* Oculta el botón "Aplicar" (Acciones en lote) en el admin de invitaciones móvil */
    .post-type-invitacion .tablenav .actions .bulkactions,
    .post-type-invitacion .tablenav .actions input[type="submit"][value="Aplicar"] {
        display: none !important;
    }

}


.resumen-kpi-edades-linea {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin: 10px 0 14px 0;
    justify-content: flex-start;
    font-size: 13px;
}

.grupo-edad {
    display: flex;
    align-items: center;
    gap: 5px;
}

.separador-edades {
    color: #b5a369;
    font-size: 19px;
    font-weight: bold;
    margin: 0 7px;
    opacity: 0.6;
}

.icon-resumen-img {
    width: 27px;
    height: 27px;
    border-radius: 50%;
    object-fit: cover;
    display: inline-block;
    margin-right: 5px;
    margin-bottom: -2px;
    //background: #fff;
    background: #e1d7d2;
    box-shadow: 0 1px 2px rgba(120,100,60,0.05);
}

@media (max-width: 600px) {
    .resumen-kpis-global {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }

    .der-resumen {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px;
        justify-content: center;
        align-items: flex-start;
        margin-top: 12px;
        margin-bottom: 0;
    }
    .der-resumen .estado-item {
        flex-direction: column !important;
        align-items: center !important;
        background: transparent;
        min-width: 70px;
        padding: 0 4px;
        font-size: 12px;
        text-align: center;
        gap: 0;
    }
    .estado-burbuja {
        margin-left: 0 !important;
        margin-top: 3px;
        min-width: 24px;
        font-size: 13px;
    }

    /* Botones debajo del resumen en móvil */
    .botones-resumen {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        margin: 12px 0 0 0;
        align-items: stretch;
    }
    .botones-resumen button,
    .botones-resumen .boton-resumen {
        width: 100%;
        min-width: 0;
    }
}

/* Ajuste para escritorio si lo necesitas */
.botones-resumen {
    display: flex;
    gap: 18px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    margin-top: 0;
}


/* me lo rompe en escritorio*/

/* ----- ESTILOS ESCRITORIO (siempre) ------ */
.resumen-kpis-global,
#invitaciones-admin-cabecera .resumen-invitaciones {
    flex-direction: row;
    align-items: center;
    gap: 20px;
    padding: 20px 30px;
    margin: 20px auto;
    max-width: 900px;
    box-sizing: border-box;
    justify-content: space-between;
}

/* ----- SOLO MOVIL ------ */
@media (max-width: 600px) {
    .resumen-kpis-global,
    #invitaciones-admin-cabecera .resumen-invitaciones {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        padding: 10px 4px !important;
        margin: 12px 0 !important;
        max-width: 99vw !important;
        box-sizing: border-box;
    }
    .resumen-kpis-global > div,
    #invitaciones-admin-cabecera .resumen-invitaciones > div {
        min-width: 0 !important;
        width: 100% !important;
        flex: 1 1 100% !important;
        box-sizing: border-box;
    }
    .botones-resumen,
    #invitaciones-admin-cabecera .botones-resumen {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 12px 0 0 0 !important;
        align-items: stretch !important;
    }
    .botones-resumen button,
    .botones-resumen .boton-resumen,
    #invitaciones-admin-cabecera .boton-descargar,
    #invitaciones-admin-cabecera .boton-preguntas {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        font-size: 16px !important;
        padding: 12px !important;
        box-sizing: border-box;
    }
}


/* Mejorar visibilidad y scroll de filtros en admin WordPress */
@media (max-width: 900px) {
    .post-type-invitacion .tablenav .actions {
        flex-wrap: wrap !important;
        gap: 8px !important;
        min-width: 0 !important;
        width: 100% !important;
        overflow-x: auto !important;
        box-sizing: border-box;
    }

    .post-type-invitacion .tablenav select,
    .post-type-invitacion .tablenav input[type="submit"] {
        min-width: 120px;
        max-width: 100%;
        flex: 1 1 120px;
    }
}

/* Si tu filtro tiene un width máximo, asegúrate de que no lo limite demasiado */
select[name="filtro_familiar"] {
    min-width: 120px;
    max-width: 260px;
}

.wrap h1.wp-heading-inline {
    font-family: "Featherly", Sans-serif;
    font-size: 50px;
    color: #45553d;
    margin-left: 0px !important;

}


@media (max-width: 600px) {
    body.admin-invitaciones .invitacion-admin-box .izquierda strong,
    body.admin-invitaciones .nombre-titular-invitado {
        font-size: 30px !important;
        text-align: center !important;
        color: #45553d;
    }

    .invitacion-admin-box .izquierda span {
                font-size: 12px;
                color: #666;
                font-family: monospace;
    }

    .wrap h1.wp-heading-inline {
        margin-left: 55px;

    }
}

body.admin-invitaciones table.wp-list-table.widefat tbody,
body.admin-invitaciones table.wp-list-table.widefat .alternate,
body.admin-invitaciones table.wp-list-table.widefat tr {
    background: #F0F0F1 !important;
    background-color: #F0F0F1 !important;
    border: #F0F0F1 !important;
    box-shadow: none !important;
}
body.admin-invitaciones table.wp-list-table.widefat {
    border: #F0F0F1 !important;
}
body.admin-invitaciones table.wp-list-table.widefat td,
body.admin-invitaciones table.wp-list-table.widefat th {
    border: #F0F0F1 !important;
}

