.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;
    padding-left: 24px;
}

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 !important;
    padding: 6px 14px !important;
    font-size: 14px !important;
    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,
body.post-type-invitacion .page-title-action:focus,
body.post-type-invitacion .page-title-action:active  {
    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;*/
    font-family: "Baskervville", Sans-serif;
    font-size: 30px;
    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: left !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: #fdfaf6 !important;
    background-color: #fdfaf6 !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;
}

/* Badge novios */
.badge-novios{
  display:inline-flex; align-items:center; gap:6px;
  padding:2px 8px; border-radius:999px;
  background:#ffece0; color:#b0491a; font-weight:600; font-size:12px;
  margin-left:8px;
}
.badge-novios .fa-heart{ font-size:12px; }

/* La tarjeta base ya la tienes; aseguramos posicionamiento para el badge */
.invitacion-admin-box { position: relative; }

/* Destacado para NOVIOS aplicado a la tarjeta */
.invitacion-admin-box.invitacion-novios{
  border: 2px solid #b49c70;          /* marco dorado */
  /*box-shadow: 0 0 0 3px rgba(180,156,112,.12); /* halo suave */*/
}

/* Badge "Novios" arriba a la derecha */
.invitacion-admin-box.invitacion-novios::after{
  content: "\f004  Novios";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #ffece0;
  /*color: #b0491a;*/
  color: #819e80;
  font-size: 12px;
  line-height: 1.6;
}

/* (Opcional) tono en las burbujas de estado cuando es novios */
.invitacion-admin-box.invitacion-novios .estado-burbuja{
  background: #45553d; /* ya la tienes así; si quieres, cámbiala a #b49c70 */
}


/* KPIs Menú/Transporte dentro del cuadro */
.resumen-kpis-global .resumen-logistica {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #e8e1d6;   /* línea suave como división */
}

.resumen-kpis-global .logi-row {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: baseline;
  font-size: 14px;
}

.resumen-kpis-global .logi-head {
  font-weight: 600;
  color: #6b7a66; /* tono similar a títulos */
  margin-right: 4px;
}

.resumen-kpis-global .logi-items {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px 4px;
  margin-left: 6px;      /* pequeña separación del emoji */
}

.resumen-kpis-global .logi-sep {
  color: #9aa596;
  margin: 0 2px;
}

.resumen-kpis-global .logi-item {
  white-space: nowrap;
}

.resumen-kpis-global .logi-count {
  font-weight: 600;
  color: #4c7443; /* mismo verde que usas en “con mesa” */
}

/* ===== Responsive KPIs Menú/Transporte ===== */
@media (max-width: 520px) {
  /* Reduce un pelín la tipografía del cuadro para que respire */
  .resumen-kpis-global { font-size: 15px; }
  .resumen-kpis-global .resumen-kpi-edades,
  .resumen-kpis-global .resumen-kpi-mesas { font-size: 14px; }

  /* La zona nueva */
  .resumen-kpis-global .resumen-logistica {
    margin-top: 8px;
    padding-top: 6px;
    border-top: 1px solid #e8e1d6;
  }

  /* Cada fila (Menús / Transporte) pasa a bloque vertical */
  .resumen-kpis-global .logi-row {
    display: block;
    margin-top: 8px;
    line-height: 1.35;
  }

  /* Emoji en su propia “columna” visual */
  .resumen-kpis-global .logi-emoji {
    display: inline-block;
    width: 22px;           /* ancho fijo para alinear */
    text-align: center;
    margin-right: 0;
    font-size: 16px;
    vertical-align: top;
  }

  /* Contenedor de items en varias líneas con sangría */
  .resumen-kpis-global .logi-items {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-left: 6px;      /* pequeña separación del emoji */
    max-width: calc(100% - 30px); /* evita desbordes */
    vertical-align: top;
  }

  /* Los separadores “·” estorban en móvil: ocultos */
  .resumen-kpis-global .logi-sep { display: none; }

  /* Permitir que cada item salte de línea */
  .resumen-kpis-global .logi-item {
    white-space: normal;
  }

  /* Número un poco más notorio pero contenido */
  .resumen-kpis-global .logi-count {
    font-weight: 600;
    color: #4c7443;
  }
}

/* Pequeño refinamiento para móviles muy estrechos */
@media (max-width: 360px) {
  .resumen-kpis-global { font-size: 14px; }
  .resumen-kpis-global .logi-items { gap: 4px 8px; }
}



/* Alinear todas las filas de KPIs y fijar una "columna" para el icono */
.resumen-kpis-global .logi-row{
  display: flex !important;
  align-items: center;      /* en vez de baseline */
  gap: 8px 12px;
}

/* Columna fija para el icono: misma anchura para todos */
.resumen-kpis-global .logi-emoji{
  flex: 0 0 22px;           /* ancho fijo */
  width: 22px;              /* redundante pero claro */
  text-align: center;
  font-size: 16px;          /* unifica tamaño del icono */
  line-height: 1;           /* evita “bailes” verticales */
}

/* El bloque de textos ocupa el resto y puede partir en varias líneas */
.resumen-kpis-global .logi-items{
  flex: 1 1 auto;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin-left: 0;           /* ya no hace falta si usamos gap */
}

/* Por si algún icono <i> trae márgenes propios de FA, los neutralizamos */
.resumen-kpis-global .logi-emoji i{
  display: inline-block;
  width: 1em;               /* consistente dentro del span de 22px */
}


.bloque-menu-transporte{margin:10px 0 14px}
.bloque-menu-transporte .lbl-campo{display:block;font-size:14px;margin:6px 0}
.bloque-menu-transporte .campo-select{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;background:#f6ecdf}
.subtitulo-form{font-size:18px;margin:12px 0 6px;color:#45553d}

/* ===== Invitaciones – Form minimal compacto (todo en uno) ===== */
:root{
  --ink:#2f3a2b;
  --muted:#6b7568;
  --line:#e5e7eb;
  --line2:#dfe3e7;
  --white:#fff;
  --chip:#f7f8f7;
  --active:#e7f3ea;
  --brand:#6fa377;
}

/* Reset de columnas/flotados de ACF (nada se “desplaza”) */
.post-type-invitacion .acf-field{ float:none !important; }
.post-type-invitacion .acf-field[data-width]{ width:100% !important; }
.post-type-invitacion .acf-fields > .acf-field{ border-top:0; padding:6px 0 !important; }
.post-type-invitacion .acf-field-message{ margin:4px 0 6px !important; }

/* Metabox como tarjeta blanca minimal (sin beige) */
.post-type-invitacion .acf-postbox{
  max-width: 860px;
  margin: 12px auto 24px;
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.post-type-invitacion .acf-postbox .postbox-header .hndle{ display:none; }
.post-type-invitacion .acf-postbox .inside{ padding:0; }
.post-type-invitacion .acf-postbox .acf-fields{ padding:16px 18px 6px; border:0; }

/* Títulos de sección (campos message) */
.post-type-invitacion .acf-field-message .acf-input h3{
  margin: 16px 0 8px; font-size: 20px; font-weight: 700; color: var(--ink);
}

/* Etiquetas e instrucciones */
.post-type-invitacion .acf-field .acf-label{ margin-bottom:6px; }
.post-type-invitacion .acf-field .acf-label label{ color: var(--muted); font-weight:600; letter-spacing:.2px; }
.post-type-invitacion .acf-field .description{ color: var(--muted); }

/* Inputs y selects compactos */
.post-type-invitacion .acf-input input[type="text"],
.post-type-invitacion .acf-input input[type="number"],
.post-type-invitacion .acf-input input[type="tel"],
.post-type-invitacion .acf-input input[type="email"],
.post-type-invitacion .acf-input textarea{
  width:100%; height:34px; font-size:13px;
  background:#fff; border:1px solid var(--line);
  border-radius:10px; padding:8px 10px; line-height:1.2; box-shadow:none;
}
.post-type-invitacion .acf-input textarea{ height:auto; min-height:80px; }
.post-type-invitacion .acf-input input:focus,
.post-type-invitacion .acf-input textarea:focus{
  border-color: var(--brand); box-shadow:0 0 0 3px rgba(111,163,119,.15); outline:none;
}

/* Select nativo */
.post-type-invitacion .acf-input select:not(.select2-hidden-accessible){
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  height:34px; font-size:13px; border-radius:10px;
  border:1px solid var(--line);
  padding:6px 30px 6px 10px;
  background:#fff url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7l5 5 5-5' fill='none' stroke='%23909aa0' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center/16px;
}
.post-type-invitacion .acf-input select:focus{ border-color:var(--brand); box-shadow:0 0 0 3px rgba(111,163,119,.15); }

/* Select2 */
.post-type-invitacion .select2-container--default .select2-selection--single{
  height:34px !important; border-radius:10px !important; border-color:var(--line) !important;
}
.post-type-invitacion .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:34px !important;
}
.post-type-invitacion .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:34px !important;
}

/* Chips (radios) compactos con emojis */
.post-type-invitacion .acf-radio-list{
  display:flex; flex-wrap:wrap; gap:4px !important;
  width:max-content; max-width:100%;
  padding:2px 4px !important; border-radius:10px !important;
  border:1px solid var(--line2); background:var(--chip);
}
.post-type-invitacion .acf-radio-list li{ margin:0; flex:0 0 auto; }
.post-type-invitacion .acf-radio-list li label{
  display:inline-flex; align-items:center; gap:8px;
  padding:4px 8px !important; min-height:28px !important;
  font-weight:700; font-size:13px !important; color:var(--ink);
  border:1px solid transparent; border-radius:8px !important;
  cursor:pointer; user-select:none;
  transition:background .15s, border-color .15s, color .15s, box-shadow .15s;
}
.post-type-invitacion .acf-radio-list li label:hover{ border-color:var(--line2); }
.post-type-invitacion .acf-radio-list li label.selected{
  background:var(--active); border-color:#cfe9d5; color:#1f2a1b;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.post-type-invitacion .acf-radio-list input[type="radio"]{ position:absolute; opacity:0; }

/* === FA sólido por valor === */

/* base: pintamos el icono antes del texto del chip */
.post-type-invitacion .acf-radio-list li label::before{
  font-family: "Font Awesome 6 Free"; /* o "Font Awesome 5 Free" si usas FA5 */
  font-weight: 900;                   /* solid */
  font-size: 14px;
  margin-right: 8px;
  color: #6b7568;
  display: inline-block;
}
.post-type-invitacion .acf-radio-list li label.selected::before{ color:#2f3a2b; }

/* ¿Es invitación familiar? */
.post-type-invitacion .acf-field[data-name="es_familiar"] .acf-radio-list li label:has(input[value="1"])::before{ content:"\f0c0"; } /* fa-users */
.post-type-invitacion .acf-field[data-name="es_familiar"] .acf-radio-list li label:has(input[value="0"])::before{ content:"\f007"; } /* fa-user  */

/* Género (titular/extra) */
.post-type-invitacion .acf-field[data-name="genero_titular"] .acf-radio-list li label:has(input[value="hombre"])::before,
.post-type-invitacion .acf-field[data-name="genero_extra"]   .acf-radio-list li label:has(input[value="hombre"])::before{ content:"\f183"; } /* fa-male (alias) */
.post-type-invitacion .acf-field[data-name="genero_titular"] .acf-radio-list li label:has(input[value="mujer"])::before,
.post-type-invitacion .acf-field[data-name="genero_extra"]   .acf-radio-list li label:has(input[value="mujer"])::before{ content:"\f182"; } /* fa-female (alias) */

/* Edad (titular/extra) */
.post-type-invitacion .acf-field[data-name="edad_titular"] .acf-radio-list li label:has(input[value="adulto"])::before,
.post-type-invitacion .acf-field[data-name="edad_extra"]   .acf-radio-list li label:has(input[value="adulto"])::before{ content:"\f007"; } /* fa-user   */
.post-type-invitacion .acf-field[data-name="edad_titular"] .acf-radio-list li label:has(input[value="niño"])::before,
.post-type-invitacion .acf-field[data-name="edad_extra"]   .acf-radio-list li label:has(input[value="nino"])::before{ content:"\f1ae"; } /* fa-child  */
.post-type-invitacion .acf-field[data-name="edad_titular"] .acf-radio-list li label:has(input[value="bebé"])::before,
.post-type-invitacion .acf-field[data-name="edad_extra"]   .acf-radio-list li label:has(input[value="bebe"])::before{ content:"\f77c"; } /* fa-baby   */

/* Switch “¿Son los novios?” mini */
.post-type-invitacion .acf-field[data-name="es_pareja"] .acf-true-false .acf-switch{
  --h:18px; --w:32px;
  height:var(--h); min-width:var(--w);
  background:#eef0ee; border-color:var(--line); border-radius:999px;
}
.post-type-invitacion .acf-field[data-name="es_pareja"] .acf-switch .acf-switch-on,
.post-type-invitacion .acf-field[data-name="es_pareja"] .acf-switch .acf-switch-off{ display:none; }
.post-type-invitacion .acf-field[data-name="es_pareja"] .acf-switch .acf-switch-slider{
  width:14px; height:14px; margin:0px; border-radius:999px; background:var(--brand); box-shadow:none;
}
.post-type-invitacion .acf-field[data-name="es_pareja"] .acf-switch.-on{ background:var(--active); border-color:#cfe9d5; }

/* Repeater “Invitados extra” compacto */
.post-type-invitacion .acf-field-repeater[data-name="invitados_extra"] .acf-input{
  background: transparent; border: 1px dashed var(--line); border-radius: 12px; padding: 8px;
}
.post-type-invitacion .acf-field-repeater[data-name="invitados_extra"] .acf-row{
  background: var(--white); border: 1px solid var(--line);
  border-radius: 12px; padding: 10px; margin: 8px 0;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.post-type-invitacion .acf-field-repeater .acf-row-handle{ background:transparent; border:0; }
.post-type-invitacion .acf-field-repeater .acf-actions .button{
  /*border-radius:999px*/; border-color:var(--brand);
  color:white; background:#f4faf5; font-weight:400;
}
.post-type-invitacion .acf-field-repeater .acf-actions .button:hover{ background:var(--brand); color:#fff; }

/* Botones de publicar */
.post-type-invitacion #publish,
.post-type-invitacion #save-post{
  background: var(--brand) !important; border-color: var(--brand) !important;
  text-shadow:none !important; box-shadow:none !important;
}
.post-type-invitacion #publish:hover,
.post-type-invitacion #save-post:hover{ filter: brightness(1.05); }

/* Responsive */
@media (max-width: 600px){
  .post-type-invitacion .acf-postbox{ margin: 0 8px 16px; }
}

/* Anti-doble marco: ring interno en el chip seleccionado */
.post-type-invitacion .acf-radio-list{
  border: 0 !important;           /* sin borde en el contenedor */
  background: #f7f8f7 !important; /* mantén fondo suave */
}
.post-type-invitacion .acf-radio-list li label{
  border-color: transparent !important;  /* sin borde en cada chip */
}
.post-type-invitacion .acf-radio-list li label.selected{
  background: #fff !important;           /* o #f7f8f7 si prefieres */
  border-color: transparent !important;
  box-shadow: inset 0 0 0 2px #cfe9d5 !important; /* anillo verde */
}

/* === FA en inputs (icono a la izquierda) — FIX usando .acf-input-wrap === */
.post-type-invitacion [data-name="cantidad_invitados"] .acf-input-wrap,
.post-type-invitacion [data-name="nombre_titular"] .acf-input-wrap,
.post-type-invitacion [data-name="apellido_titular"] .acf-input-wrap,
.post-type-invitacion [data-name="telefono_titular"] .acf-input-wrap{
  position: relative;
}

/* padding para no tapar el texto */
.post-type-invitacion [data-name="cantidad_invitados"] input,
.post-type-invitacion [data-name="nombre_titular"] input,
.post-type-invitacion [data-name="apellido_titular"] input,
.post-type-invitacion [data-name="telefono_titular"] input{
  padding-left: 32px !important;
}

/* pseudo-icono por campo (FA6 Free, solid) */
.post-type-invitacion [data-name="cantidad_invitados"] .acf-input-wrap::before{
  content:"\f0c0"; /* users */
}
.post-type-invitacion [data-name="nombre_titular"] .acf-input-wrap::before{
  content:"\f007"; /* user  */
}
.post-type-invitacion [data-name="apellido_titular"] .acf-input-wrap::before{
  content:"\f2c2"; /* id-card */
}
.post-type-invitacion [data-name="telefono_titular"] .acf-input-wrap::before{
  content:"\f095"; /* phone  */
}

/* estilo común del icono */
.post-type-invitacion [data-name] .acf-input-wrap::before{
  position:absolute; left:10px; top:50%; transform:translateY(-75%);
  z-index: 2; pointer-events:none;
  font-family:"Font Awesome 6 Free"; font-weight:900; font-size:14px;
  color:#9aa3a9;
}

/* Ocultar labels (ya van en placeholder) */
.post-type-invitacion [data-name="nombre_titular"] .acf-label,
.post-type-invitacion [data-name="apellido_titular"] .acf-label,
.post-type-invitacion [data-name="genero_titular"] .acf-label,
.post-type-invitacion [data-name="edad_titular"] .acf-label,
.post-type-invitacion [data-name="telefono_titular"] .acf-label{
  display: none !important;
}

/* Quitar cualquier separación extra al ocultar el label */
.post-type-invitacion [data-name="nombre_titular"],
.post-type-invitacion [data-name="apellido_titular"],
.post-type-invitacion [data-name="genero_titular"],
.post-type-invitacion [data-name="edad_titular"],
.post-type-invitacion [data-name="telefono_titular"]{
  margin-top: 0 !important;
}

/* Ocultar labels de los EXTRAS */
.post-type-invitacion [data-name="nombre_extra"]   .acf-label,
.post-type-invitacion [data-name="apellido_extra"] .acf-label,
.post-type-invitacion [data-name="genero_extra"]   .acf-label,
.post-type-invitacion [data-name="edad_extra"]     .acf-label,
.post-type-invitacion [data-name="telefono_extra"] .acf-label{
  display: none !important;
}

/* Quitar separación extra al ocultar */
.post-type-invitacion [data-name="nombre_extra"],
.post-type-invitacion [data-name="apellido_extra"],
.post-type-invitacion [data-name="genero_extra"],
.post-type-invitacion [data-name="edad_extra"],
.post-type-invitacion [data-name="telefono_extra"]{
  margin-top: 0 !important;
}

/* FA en inputs de EXTRAS (icono a la izquierda) */
.post-type-invitacion [data-name="nombre_extra"]   .acf-input-wrap,
.post-type-invitacion [data-name="apellido_extra"] .acf-input-wrap,
.post-type-invitacion [data-name="telefono_extra"] .acf-input-wrap{
  position: relative;
}

.post-type-invitacion [data-name="nombre_extra"]   input,
.post-type-invitacion [data-name="apellido_extra"] input,
.post-type-invitacion [data-name="telefono_extra"] input{
  padding-left: 32px !important;
}

/* Iconos FA sólidos para EXTRAS */
.post-type-invitacion [data-name="nombre_extra"]   .acf-input-wrap::before{   content:"\f007"; } /* user */
.post-type-invitacion [data-name="apellido_extra"] .acf-input-wrap::before{   content:"\f2c2"; } /* id-card */
.post-type-invitacion [data-name="telefono_extra"] .acf-input-wrap::before{   content:"\f095"; } /* phone */

/* Estilo común del pseudo-icono */
.post-type-invitacion [data-name] .acf-input-wrap::before{
  position:absolute; left:10px; top:50%; transform:translateY(-75%);
  z-index:2; pointer-events:none;
  font-family:"Font Awesome 6 Free"; font-weight:900; font-size:13px;
  color:#9aa3a9;
}


/* ====== EDIT: titulares y extras – menú, transporte, papel y regalos ====== */

/* 1) Ocultar labels (titular + extra) */
.post-type-invitacion
  [data-name="tipo_menu_titular"]   .acf-label,
.post-type-invitacion
  [data-name="transporte_titular"]  .acf-label,
.post-type-invitacion
  [data-name="invitacion_papel_titular"] .acf-label,
.post-type-invitacion
  [data-name="regalo_dado_titular"] .acf-label,
.post-type-invitacion
  [data-name="regalo_recibido_titular"] .acf-label,
.post-type-invitacion
  [data-name="tipo_menu_extra"]     .acf-label,
.post-type-invitacion
  [data-name="transporte_extra"]    .acf-label,
.post-type-invitacion
  [data-name="invitacion_papel_extra"] .acf-label,
.post-type-invitacion
  [data-name="regalo_dado_extra"]   .acf-label,
.post-type-invitacion
  [data-name="regalo_recibido_extra"] .acf-label{
  display: none !important;
}

/* Quitar hueco superior al ocultar */
.post-type-invitacion [data-name="tipo_menu_titular"],
.post-type-invitacion [data-name="transporte_titular"],
.post-type-invitacion [data-name="invitacion_papel_titular"],
.post-type-invitacion [data-name="regalo_dado_titular"],
.post-type-invitacion [data-name="regalo_recibido_titular"],
.post-type-invitacion [data-name="tipo_menu_extra"],
.post-type-invitacion [data-name="transporte_extra"],
.post-type-invitacion [data-name="invitacion_papel_extra"],
.post-type-invitacion [data-name="regalo_dado_extra"],
.post-type-invitacion [data-name="regalo_recibido_extra"]{
  margin-top: 0 !important;
}

/* 2) Base: icono FA a la izquierda del control */
.post-type-invitacion
  [data-name="tipo_menu_titular"] .acf-input,
.post-type-invitacion
  [data-name="transporte_titular"] .acf-input,
.post-type-invitacion
  [data-name="invitacion_papel_titular"] .acf-input,
.post-type-invitacion
  [data-name="regalo_dado_titular"] .acf-input,
.post-type-invitacion
  [data-name="regalo_recibido_titular"] .acf-input,
.post-type-invitacion
  [data-name="tipo_menu_extra"] .acf-input,
.post-type-invitacion
  [data-name="transporte_extra"] .acf-input,
.post-type-invitacion
  [data-name="invitacion_papel_extra"] .acf-input,
.post-type-invitacion
  [data-name="regalo_dado_extra"] .acf-input,
.post-type-invitacion
  [data-name="regalo_recibido_extra"] .acf-input{
  position: relative;
}

/* Pseudo-icono común */
.post-type-invitacion [data-name] .acf-input::before{
  position:absolute; left:10px; top:50%; transform:translateY(-75%);
  z-index:2; pointer-events:none;
  font-family:"Font Awesome 6 Free"; font-weight:900; font-size:14px;
  color:#9aa3a9;
}

/* 3) Mapeo de iconos (FA solid) */
.post-type-invitacion [data-name="tipo_menu_titular"]   .acf-input::before,
.post-type-invitacion [data-name="tipo_menu_extra"]     .acf-input::before{ content:"\f2e7"; } /* utensils */
.post-type-invitacion [data-name="transporte_titular"]  .acf-input::before,
.post-type-invitacion [data-name="transporte_extra"]    .acf-input::before{ content:"\f207"; } /* bus */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-input::before,
.post-type-invitacion [data-name="invitacion_papel_extra"]   .acf-input::before{ content:"\f0e0"; } /* envelope */
.post-type-invitacion [data-name="regalo_dado_titular"]  .acf-input::before,
.post-type-invitacion [data-name="regalo_dado_extra"]    .acf-input::before{ content:"\f06b"; }
.post-type-invitacion [data-name="regalo_recibido_titular"] .acf-input::before,
.post-type-invitacion [data-name="regalo_recibido_extra"]   .acf-input::before{ content:"\f153"; } /* gift */

/* 4) Padding para que no pise el texto del control */

/* Nativo <select> */
.post-type-invitacion [data-name="tipo_menu_titular"]   select:not(.select2-hidden-accessible),
.post-type-invitacion [data-name="transporte_titular"]  select:not(.select2-hidden-accessible),
.post-type-invitacion [data-name="regalo_dado_titular"] select:not(.select2-hidden-accessible),
.post-type-invitacion [data-name="regalo_recibido_titular"] select:not(.select2-hidden-accessible),
.post-type-invitacion [data-name="tipo_menu_extra"]     select:not(.select2-hidden-accessible),
.post-type-invitacion [data-name="transporte_extra"]    select:not(.select2-hidden-accessible),
.post-type-invitacion [data-name="regalo_dado_extra"]   select:not(.select2-hidden-accessible),
.post-type-invitacion [data-name="regalo_recibido_extra"] select:not(.select2-hidden-accessible){
  padding-left: 30px !important;
}

/* Select2 */
.post-type-invitacion [data-name="tipo_menu_titular"]   .select2-selection--single .select2-selection__rendered,
.post-type-invitacion [data-name="transporte_titular"]  .select2-selection--single .select2-selection__rendered,
.post-type-invitacion [data-name="regalo_dado_titular"] .select2-selection--single .select2-selection__rendered,
.post-type-invitacion [data-name="regalo_recibido_titular"] .select2-selection--single .select2-selection__rendered,
.post-type-invitacion [data-name="tipo_menu_extra"]     .select2-selection--single .select2-selection__rendered,
.post-type-invitacion [data-name="transporte_extra"]    .select2-selection--single .select2-selection__rendered,
.post-type-invitacion [data-name="regalo_dado_extra"]   .select2-selection--single .select2-selection__rendered,
.post-type-invitacion [data-name="regalo_recibido_extra"] .select2-selection--single .select2-selection__rendered{
  padding-left: 24px !important;
}

/* Inputs de texto (por si 'regalo_recibido' es text) */
.post-type-invitacion [data-name="regalo_recibido_titular"] input[type="text"],
.post-type-invitacion [data-name="regalo_recibido_extra"]   input[type="text"]{
  padding-left: 32px !important;
}

/* True/False “Invitación en papel” – el icono queda fijo a la izquierda del switch */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-true-false .acf-switch,
.post-type-invitacion [data-name="invitacion_papel_extra"]   .acf-true-false .acf-switch{
  margin-left: 24px; /* pequeño margen para no solaparse con el sobre */
}

/* ===== Fix padding en EXTRAS dentro del repeater ===== */

/* Selects nativos (extra): deja hueco para el icono */
.post-type-invitacion .acf-field-menu-extra   .acf-input select:not(.select2-hidden-accessible),
.post-type-invitacion .acf-field-transporte-extra .acf-input select:not(.select2-hidden-accessible),
.post-type-invitacion .acf-field-regalo-dado-extra .acf-input select:not(.select2-hidden-accessible),
.post-type-invitacion .acf-field-regalo-recibido-extra .acf-input select:not(.select2-hidden-accessible){
  padding-left: 37px !important;   /* primer intento */
  /*text-indent: 18px !important;*/     /* fallback para UAs que ignoran padding-left */
}

/* Si alguno de esos campos usa Select2 en algún sitio */
.post-type-invitacion .acf-field-menu-extra   .select2-selection--single .select2-selection__rendered,
.post-type-invitacion .acf-field-transporte-extra .select2-selection--single .select2-selection__rendered,
.post-type-invitacion .acf-field-regalo-dado-extra .select2-selection--single .select2-selection__rendered,
.post-type-invitacion .acf-field-regalo-recibido-extra .select2-selection--single .select2-selection__rendered{
  padding-left: 24px !important;
}

/* Regalo recibido (extra) cuando es input number */
.post-type-invitacion .acf-field-regalo-recibido-extra .acf-input input[type="number"]{
  padding-left: 32px !important;
}

/* (Opcional) Ajuste fino del icono para que quede centrado con esos controles */
.post-type-invitacion .acf-field-menu-extra .acf-input::before,
.post-type-invitacion .acf-field-transporte-extra .acf-input::before,
.post-type-invitacion .acf-field-regalo-dado-extra .acf-input::before,
.post-type-invitacion .acf-field-regalo-recibido-extra .acf-input::before{
  left: 16px;
  top: 50%;
  transform: translateY(-75%);
}

/* === Mostrar texto + icono en “Invitación en papel” (titular y extra) === */

/* 1) Volver a mostrar el label SOLO en estos campos */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-label,
.post-type-invitacion [data-name="invitacion_papel_extra"] .acf-label{
  display:block !important;
}

/* 2) Poner label y switch en una misma línea, compacto */
.post-type-invitacion [data-name="invitacion_papel_titular"],
.post-type-invitacion [data-name="invitacion_papel_extra"]{
  display:flex; align-items:center; gap:10px;
}
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-label,
.post-type-invitacion [data-name="invitacion_papel_extra"] .acf-label{
  margin:0 !important; min-width:auto; font-weight:600; color:var(--muted);
}

/* 3) Mantener el icono FA del sobre y dejar hueco para el switch */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-input::before,
.post-type-invitacion [data-name="invitacion_papel_extra"]   .acf-input::before{
  content:"\f0e0"; /* fa-solid fa-envelope */
  left:10px; top:50%; transform:translateY(-75%);
  font-family:"Font Awesome 6 Free"; font-weight:900; font-size:14px; color:#9aa3a9;
}
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-true-false .acf-switch,
.post-type-invitacion [data-name="invitacion_papel_extra"]   .acf-true-false .acf-switch{
  margin-left:24px; /* separación respecto al icono */
}

/* ===== Invitación en papel (titular y extra): icono + texto limpio ===== */

/* 1) Asegura que el label se vea (puede estar oculto por reglas previas) */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-label,
.post-type-invitacion [data-name="invitacion_papel_extra"] .acf-label{
  display:block !important;
  margin-bottom:6px; /* pegadito al switch */
}

/* 2) Quita el icono que pusimos pegado al switch (si lo había) */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-input::before,
.post-type-invitacion [data-name="invitacion_papel_extra"] .acf-input::before{
  content:none !important;
}

/* 3) Mete el icono FA en el propio label y alinéalo bonito */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-label label,
.post-type-invitacion [data-name="invitacion_papel_extra"] .acf-label label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  color:var(--ink);
}
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-label label::before,
.post-type-invitacion [data-name="invitacion_papel_extra"] .acf-label label::before{
  content:"\f0e0";               /* fa-solid fa-envelope */
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:14px;
  color:#9aa3a9;
  line-height:1;
}

/* 4) Un poquito de ajuste al switch para que quede centrado visualmente */
.post-type-invitacion [data-name="invitacion_papel_titular"] .acf-true-false .acf-switch,
.post-type-invitacion [data-name="invitacion_papel_extra"] .acf-true-false .acf-switch{
  margin-top:2px;
}


/* ===== Separación visual entre filas del repeater: Invitados extra ===== */
.post-type-invitacion .acf-field-repeater[data-name="invitados_extra"] .acf-table{
  border-collapse: separate !important;
  border-spacing: 0 12px !important; /* espacio vertical entre filas */
}

/* Tarjetiza el bloque de campos de cada fila */
.post-type-invitacion .acf-field-repeater[data-name="invitados_extra"] .acf-table .acf-row > .acf-fields{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;                 /* acolchado interno */
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
  overflow: hidden;              /* respeta el border-radius */
  padding-left: 6px !important;
}

/* Opcional: afina la columna de acciones (duplicar/eliminar) para que no “rompa” el borde */
.post-type-invitacion .acf-field-repeater[data-name="invitados_extra"] .acf-table .acf-row-handle.remove{
  vertical-align: top;
}
.post-type-invitacion .acf-field-repeater[data-name="invitados_extra"] .acf-table .acf-row-handle.order{
  vertical-align: top;
}

/* Opcional: quita el borde punteado del contenedor si molesta */
.post-type-invitacion .acf-field-repeater[data-name="invitados_extra"] .acf-input{
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* ===== Topbar invitaciones: que no aparezca scroll en móvil ===== */
.gmi-topbar { 
  overflow: hidden;                  /* evita barra horizontal */
  padding: 6px 8px;
}
.gmi-topbar-inner{
  display: flex;
  flex-wrap: wrap;                   /* ✔ permite saltar a 2 filas */
  gap: 8px 10px;                     /* espacio entre chips */
  align-items: center;
  max-width: 100%;
}
.gmi-topbar .gmi-tab{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;                 /* chip compacto */
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;               /* el texto del chip no parte */
  font-size: 13px;
}
.gmi-topbar .gmi-tab i{
  font-size: 13px;
}

/* Tablet / móvil WP (sin scroll, más compacto) */
@media (max-width: 782px){
  .gmi-topbar { padding: 6px 6px; }
  .gmi-topbar-inner{ gap: 6px 8px; }
  .gmi-topbar .gmi-tab{
    padding: 5px 8px;
    font-size: 12px;
  }
  .gmi-topbar .gmi-tab i{ font-size: 12px; }
}

/* Móviles estrechos: solo iconos para que quepan todos sin scroll */
@media (max-width: 420px){
  .gmi-topbar-inner{ gap: 6px; }
  .gmi-topbar .gmi-tab{ 
    padding: 6px;                    /* mantiene área táctil */
  }
  .gmi-topbar .gmi-tab .gmi-label{
    display: none;                   /* oculta texto, deja icono */
  }
}

/* =======================
   TARJETA MINIMAL SOLO MOVIL
   ======================= */
@media (max-width: 782px){

  /* tarjeta base */
  .invitacion-admin-box{
    position: relative;
    border: 1px solid #e6e7ea !important;
    border-radius: 14px !important;
    background: #fff !important;
    padding: 14px 16px 12px !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    /*margin: 10px 8px !important;*/
  }

  /* título + subtítulo */
  .invitacion-admin-box .izquierda strong{
    font-size: 22px !important;
    line-height: 1.2;
    margin: 0 0 6px 0;
    display: block;
  }
  .invitacion-admin-box .izquierda span{
    font-size: 15px !important;
    color: #56605a !important;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  }

  /* KPIs en fila */
  .invitacion-admin-box .gmi-kpis-mobile{
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 10px;
    font-size: 15px;
  }
  .invitacion-admin-box .gmi-kpis-mobile .kpi{
    display: inline-flex; align-items: center; gap: 6px;
    color: #2f3a2b;
  }
  .invitacion-admin-box .gmi-kpis-mobile .kpi i{ font-size: 14px; opacity:.9; }
  .invitacion-admin-box .gmi-kpis-mobile .kpi em{ font-style: normal; color:#6b7568; }
  .invitacion-admin-box .gmi-kpis-mobile .kpi b{ font-weight: 700; }

  /* colores de iconos */
  .kpi-pend i{ color:#b59f6a; }  /* arena */
  .kpi-no   i{ color:#b24b4b; }  /* rojo apagado */
  .kpi-si   i{ color:#456c4e; }  /* verde oscuro */

  /* kebab */
  .invitacion-admin-box .gmi-kebab{
    position: absolute; top: 10px; right: 10px;
    width: 34px; height: 30px; border-radius: 8px;
    border: 1px solid #e6e7ea; background:#fff; color:#495057;
    display: inline-flex; align-items:center; justify-content:center;
    font-size: 16px; line-height: 1; cursor: pointer;
  }

  /* menú del kebab */
  .invitacion-admin-box .gmi-kebab-menu{
    position: absolute; top: 44px; right: 10px;
    min-width: 210px; background:#fff; border:1px solid #e6e7ea; border-radius:12px;
    box-shadow: 0 12px 24px rgba(0,0,0,.12);
    overflow: hidden; z-index: 50;
  }
  .invitacion-admin-box .gmi-kebab-menu[hidden]{ display:none !important; }

  .invitacion-admin-box .gmi-kebab-menu .gmi-act{
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px; color:#1d2327; text-decoration:none;
    border-bottom: 1px solid #f1f2f4;
    font-size: 15px;
  }
  .invitacion-admin-box .gmi-kebab-menu .gmi-act:last-child{ border-bottom:0; }
  .invitacion-admin-box .gmi-kebab-menu .gmi-act:hover{ background:#f6f7f7; }
  .invitacion-admin-box .gmi-kebab-menu .gmi-act i{ width:18px; text-align:center; color:#6b6f76; }
  .invitacion-admin-box .gmi-kebab-menu .gmi-act.gmi-danger i{ color:#b24b4b; }

  /* ocultamos tus botones y el bloque derecho SOLO en móvil */
  .invitacion-admin-box .btn-admin,
  .invitacion-admin-box .derecha-horizontal{
    display: none !important;
  }
}

/* NOVIOS: tu borde dorado se mantiene; badge si ya lo tienes por ::after, se verá bien */

/* ===== Ajustes SOLO MÓVIL para la tarjeta ===== */
@media (max-width: 782px){

  /* La tarjeta ya la tienes con position:relative, por si acaso: */
  .invitacion-admin-box{ position: relative; }

  /* 1) Ocultar lo antiguo en móvil:
        - botones grandes (Copiar/Editar/Eliminar/WhatsApp)
        - fila de KPIs antigua (las píldoras redondas de abajo)        */
  .invitacion-admin-box .btn-admin,
  .invitacion-admin-box .derecha-horizontal,
  .invitacion-admin-box .derecha-horizontal .estado-item{
    display: none !important;
  }

  /* 2) Mostrar los KPIs nuevos (los compactos con icono) */
  .invitacion-admin-box .gmi-kpis-mobile{
    display: flex !important;
    gap: 14px;
    align-items: center;
    margin-top: 10px;
    font-size: 14px;
  }
  .invitacion-admin-box .gmi-kpis-mobile .kpi{
    display: inline-flex; align-items: center; gap: 6px;
    color: #1f2a1b;
  }
  .invitacion-admin-box .gmi-kpis-mobile .kpi em{
    font-style: normal; opacity: .8;
  }
  .invitacion-admin-box .gmi-kpis-mobile .kpi b{
    font-weight: 700;
  }
  .invitacion-admin-box .kpi-pend  i{ color:#8a6d3b; } /* hourglass */
  .invitacion-admin-box .kpi-no    i{ color:#8b3b3b; } /* minus */
  .invitacion-admin-box .kpi-si    i{ color:#4c7443; } /* check */

  /* 3) Kebab (⋯) arriba a la derecha, sin interferir con el badge */
  .invitacion-admin-box .gmi-kebab{
    position: absolute;
    top: 10px; right: 10px;
    width: 32px; height: 32px;
    border-radius: 999px;
    display: inline-flex; align-items:center; justify-content:center;
    border: 1px solid #e1e4e8; background:#fff; color:#556;
    line-height: 1; padding: 0; margin: 0; cursor: pointer;
    z-index: 3;
  }

  /* Menú del kebab (si lo tienes en CSS global puedes omitir) */
  .gmi-kebab-menu[hidden]{ display:none !important; }
  .gmi-kebab-menu{
    position:absolute; right:10px; top:44px;
    background:#fff; border:1px solid #e6e7ea; border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    min-width:220px; overflow:hidden; z-index:4;
  }
  .gmi-kebab-menu a{
    display:flex; align-items:center; gap:10px;
    padding:12px 14px; color:#1d2327; text-decoration:none;
    border-bottom:1px solid #f1f2f4;
  }
  .gmi-kebab-menu a:last-child{ border-bottom:0; }
  .gmi-kebab-menu a:hover{ background:#f6f7f7; }
  .gmi-kebab-menu .gmi-danger{ color:#8b3b3b; }

  /* 4) Mueve el badge “Novios” para que no choque con el kebab */
  .invitacion-admin-box.invitacion-novios::after{
    right: 48px !important; /* antes estaba ~8-10px; lo separamos del kebab */
    z-index: 2;
  }
}

/* ===== Desktop: oculta los nuevos controles pensados para móvil ===== */

/* ===== Desktop: ocultar los controles NUEVOS (solo móvil) ===== */
@media (min-width: 783px){

  /* El kebab sigue siendo solo móvil */
  .invitacion-admin-box .gmi-kebab,
  .invitacion-admin-box .gmi-kebab-menu{
    display: none !important;
  }

  /* Usamos también en escritorio los KPIs compactos de móvil */
  .invitacion-admin-box .gmi-kpis-mobile{
    display: flex !important;
  }

  .invitacion-admin-box .gmi-kebab-menu.is-open{
    display: none !important;
  }

  /* Ya no necesitamos el bloque antiguo de estados */
  .invitacion-admin-box .derecha-horizontal{
    display: none !important;
  }
}


/* =========================================================
   TARJETA INVITACIÓN - ESCRITORIO COMPACTO
   ========================================================= */
@media (min-width: 783px){

    .invitacion-admin-box{
        position: relative;
        align-items: flex-start !important;

        /* deja espacio a los estados de la derecha */
        padding-right: 300px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .invitacion-admin-box .izquierda{
        width: 100%;
    }

    .invitacion-admin-box .izquierda strong{
        margin-bottom: 2px;
    }


    /* SOLO el subtítulo "Invitación para X personas" */
    .invitacion-admin-box .izquierda > span{
        display: block;
        margin: 2px 0 5px;
    }


    /* -----------------------------------------
       Personas: nombre + estado MISMA LÍNEA
       ----------------------------------------- */

    .invitacion-admin-box .gmi-personas-card{
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;

        gap: 5px 18px;

        margin: 4px 0 5px !important;
    }

    .invitacion-admin-box .gmi-persona-mini{
        display: inline-flex !important;
        align-items: center !important;

        gap: 6px;

        width: auto !important;
        min-width: 0 !important;

        padding: 0 !important;
        margin: 0 !important;

        border: 0 !important;
        background: transparent !important;
    }

    .invitacion-admin-box .gmi-persona-nombre{
        display: inline !important;

        margin: 0 !important;

        font-size: 13px !important;
        line-height: 1.4;

        white-space: nowrap;
    }

    .invitacion-admin-box .gmi-persona-estado{
        display: inline-block !important;

        margin: 0 !important;
        padding: 2px 7px !important;

        border-radius: 10px;

        font-size: 11px !important;
        line-height: 1.35;

        white-space: nowrap;
    }


    /* -----------------------------------------
       KPIs a la DERECHA
       ----------------------------------------- */

    .invitacion-admin-box .gmi-kpis-mobile{
        display: flex !important;

        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);

        align-items: center;
        justify-content: flex-end;

        gap: 14px;

        margin: 0 !important;

        white-space: nowrap;
    }

    .invitacion-admin-box .gmi-kpis-mobile .kpi{
        display: inline-flex !important;
        align-items: center;

        gap: 5px;

        margin: 0 !important;

        font-size: 13px;
    }

    .invitacion-admin-box .gmi-kpis-mobile .kpi em{
        display: inline !important;
        margin: 0 !important;
    }

    .invitacion-admin-box .gmi-kpis-mobile .kpi b{
        display: inline !important;
        margin: 0 !important;
    }


    /* -----------------------------------------
       Botones más pegados al contenido
       ----------------------------------------- */

    .invitacion-admin-box .izquierda .btn-admin{
        margin-top: 5px;
    }

}


/* NUEVA GUI PARTE SUPERIOR INVITADOS */

/* ===== SOLO MÓVIL (≤782px) ===== */
@media (max-width: 782px){

  /* --- Buscador: full width + icono con ::before --- */
  body.post-type-invitacion .wrap .search-box{
    position:relative; display:block; order:-1;
    width:100% !important; margin:0 0 12px !important;
  }
  body.post-type-invitacion .wrap .search-box::before{
    content:"\1F50D"; /* 🔍 */
    position:absolute; left:12px; top:50%; transform:translateY(-50%);
    font-size:16px; opacity:.6; pointer-events:none;
  }
  body.post-type-invitacion .wrap .search-box input[name="s"]{
    display:block; width:100% !important; max-width:none !important;
    height:44px !important; box-sizing:border-box !important;
    border:1px solid #e2e5e8 !important; border-radius:10px !important;
    padding:10px 14px 10px 40px !important; font-size:15px !important;
    
  }
  body.post-type-invitacion .wrap .search-box input[type="submit"]{
    display:none !important; /* Buscar con Enter */
  }

  /* --- Filtros: tarjeta compacta --- */
  body.post-type-invitacion .tablenav.top{
    background:#fff !important; border:1px solid #e6e7ea !important; border-radius:12px !important;
    box-shadow:0 4px 12px rgba(0,0,0,.05) !important; padding:12px !important; margin:0 0 12px !important;
  }
  body.post-type-invitacion .tablenav.top .actions{
    display:flex !important; flex-wrap:wrap !important; gap:10px !important; align-items:center !important;
  }
  body.post-type-invitacion .tablenav.top .actions select{
    height:40px !important; border-radius:10px !important; border:1px solid #e0e3e6 !important;
    padding:8px 12px !important; background:#fff !important; flex:1 1 160px !important; min-width:150px !important;
  }
  body.post-type-invitacion .tablenav.top .actions input[type="submit"]{
    height:40px !important; line-height:40px !important; border-radius:10px !important;
    padding:0 16px !important; font-weight:600 !important; background:#eef6f0 !important; border:1px solid #cfe1d1 !important;
    width:100% !important;
  }

  /* --- KPI: padding/márgenes simétricos y contenido centrado --- */
  .resumen-kpis-global{
    box-sizing:border-box !important;
    width:100% !important; margin:12px 0 !important; padding:16px !important;
    border:1px solid #d9dcd6 !important; border-radius:12px !important;
    background:#fff !important; box-shadow:0 4px 12px rgba(0,0,0,.04) !important;
  }
  .resumen-kpis-global .resumen-kpi-titulo{
    font-size:15px !important; font-weight:700 !important; margin-bottom:2px !important; text-align:center !important;
  }
  .resumen-kpis-global .resumen-kpi-totales{
    margin-bottom:8px !important; font-size:13px !important; color:#4a564f !important; text-align:center !important;
  }

  /* Edades: chips centrados y sin separadores verticales */
  .resumen-kpi-edades{
    display:flex !important; justify-content:center !important; flex-wrap:wrap !important;
    gap:10px !important; padding:8px 0 !important; margin:6px 0 8px !important;
    border-top:1px dashed #eceeee !important; border-bottom:1px dashed #eceeee !important;
  }
  .resumen-kpi-edades .grupo-edad{
    display:inline-flex !important; align-items:center !important; gap:0 !important;
    background:#f7f8f7 !important; border:1px solid #eceeee !important;
    border-radius:999px !important; padding:6px 10px !important; font-size:12px !important;
  }
  .resumen-kpi-edades .separador-edades{ display:none !important; }

  /* Mesas: línea concisa */
  .resumen-kpi-mesas{ margin:6px 0 4px !important; font-size:13px !important; text-align:center !important; }

  /* Logística: respiración y división suave */
  .resumen-logistica{ margin-top:8px !important; padding-top:6px !important; border-top:1px solid #f0f0f0 !important; }
  .resumen-logistica .logi-row{ padding:4px 0 !important; font-size: 13px !important;}

  /* Estados (derecha) alineados y a la misma altura */
  .resumen-kpis-global .der-resumen{
    display:flex !important; justify-content:space-between !important; gap:12px !important; margin-top:8px !important;
  }
  .resumen-kpis-global .estado-item{ flex:1 1 0 !important; text-align:center !important; }

  /* Botón "Detalles" (el JS lo inserta antes de Mesas/Logística) */
  .mkpi-toggle{
    display:inline-block !important; padding:6px 10px !important; font-size:12px !important;
    border:1px solid #e6e7ea !important; border-radius:999px !important; background:#fff !important;
    margin:4px auto 6px !important; color: #45553d; /* centrado */
  }
  .mkpi-hidden{ display:none !important; }

  /* --- Botones de acciones: HORIZONTAL 50/50 --- */
  body.post-type-invitacion .botones-resumen{
    display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important;
    width:100% !important; margin:14px 0 0 !important;
  }
  body.post-type-invitacion .botones-resumen .btn-admin,
  body.post-type-invitacion .botones-resumen .boton-resumen{
    width:100% !important; border-radius:12px !important; padding:12px 14px !important; font-weight:300 !important; text-align:center !important;
  }
}

/* ===== SOLO MÓVIL (≤782px) — barra de iconos a la izquierda ===== */
@media (max-width: 782px){
  .gmi-mobbar{
    display:flex; align-items:center; justify-content:flex-start;
    gap:8px; /*padding:8px 0; margin:0 0 8px*/;
  }
  .gmi-ico-group{ display:flex; gap:8px; }
  .gmi-ico{
    height:36px; width:36px; display:inline-flex; align-items:center; justify-content:center;
    border:1px solid #e0e3e6; border-radius:10px; background:#fff; cursor:pointer; color: #45553d;
  }

  /* Paneles desplegables */
  .gmi-panels{ display:block; }
  .gmi-panel{
    overflow:hidden; max-height:0; transition:max-height .25s ease;
    margin:0 0 10px; border-radius:12px;
  }
  .gmi-panel.open{
    background:#fff; border:1px solid #e6e7ea; box-shadow:0 4px 12px rgba(0,0,0,.05);
    padding:10px;
  }

  /* Contenido dentro de los paneles */
  .gmi-panel .search-box{ width:100% !important; margin:0 !important; }
  .gmi-panel .search-box input[name="s"]{
    width:100% !important; height:44px !important; border:1px solid #e2e5e8 !important;
    border-radius:10px !important; padding:10px 14px !important; font-size:15px !important; background:none !important;
  }
  .gmi-panel .search-box input[type="submit"]{ display:none !important; }

  .gmi-panel .tablenav.top{
    box-shadow:none !important; border:none !important; padding:0 !important; margin:0 !important; background:transparent !important;
  }
  .gmi-panel .tablenav.top .actions{
    display:flex !important; flex-wrap:wrap !important; gap:10px !important; align-items:center !important;
  }
  .gmi-panel .tablenav.top .actions select{
    height:40px !important; border-radius:10px !important; border:1px solid #e0e3e6 !important;
    padding:8px 12px !important; background:#fff !important; flex:1 1 160px !important; min-width:150px !important;
  }
  .gmi-panel .tablenav.top .actions input[type="submit"]{
    height:40px !important; line-height:40px !important; border-radius:10px !important;
    padding:0 16px !important; font-weight:600 !important; background:#eef6f0 !important; border:1px solid #cfe1d1 !important;
    width:100% !important;
  }
}

/* ===== Fix doble caja en los paneles (solo móvil) ===== */
@media (max-width: 782px){
  /* Quita bordes/sombras al tablenav cuando está dentro del panel */
  .gmi-panel .tablenav.top,
  .gmi-panel .tablenav.top .inside,
  .gmi-panel .tablenav.top .actions{
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .gmi-panel .tablenav.top::before,
  .gmi-panel .tablenav.top::after{
    display: none !important;
  }
  /* Evita esquinas redondeadas “interiores” del contenedor, mantenemos selects tal cual */
  .gmi-panel .tablenav.top{ border-radius: 0 !important; }
  .gmi-panel .tablenav.top .actions{ border-radius: 0 !important; }

  /* (por si WP mete un form contenedor con estilos) */
  .gmi-panel form#posts-filter{
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* ===== Solo móvil: quita la caja interna del panel de filtros y limpia extras ===== */
@media (max-width: 782px){

  /* Aumentamos especificidad para ganar a tu regla global de .tablenav.top */
  body.post-type-invitacion .gmi-panel .tablenav.top{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  /* Por si WP añade pseudo-elementos decorativos */
  body.post-type-invitacion .gmi-panel .tablenav.top::before,
  body.post-type-invitacion .gmi-panel .tablenav.top::after{
    display: none !important;
  }

  /* Dentro del panel no queremos otra “caja” envolviendo los controles */
  body.post-type-invitacion .gmi-panel .tablenav.top .actions{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Oculta acciones en lote y la paginación dentro del panel de filtros */
  body.post-type-invitacion .gmi-panel .tablenav.top .alignleft.actions.bulkactions,
  body.post-type-invitacion .gmi-panel .tablenav-pages{
    display: none !important;
  }

  /* Asegura que los selects y el botón se vean bien dentro del panel */
  body.post-type-invitacion .gmi-panel .tablenav.top .alignleft.actions select{
    height: 40px !important;
    border-radius: 10px !important;
    border: 1px solid #e0e3e6 !important;
    padding: 0px 12px !important;
    background: #fff !important;
    min-width: 150px !important;
    margin: 0 0 10px 0 !important;
  }
  body.post-type-invitacion .gmi-panel .tablenav.top .alignleft.actions input[type="submit"]{
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 10px !important;
    padding: 0 16px !important;
    font-weight: 600 !important;
    background: #eef6f0 !important;
    border: 1px solid #cfe1d1 !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

/* SOLO móvil: quita la “caja” exterior del panel de BUSCAR (mantén el input con su icono) */
@media (max-width: 782px){
  body.post-type-invitacion #gmi-panel-search.gmi-panel,
  body.post-type-invitacion #gmi-panel-search.gmi-panel.open{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 10px !important; /* conserva el espacio inferior si quieres */
  }

  /* La <p class="search-box"> no dibuja otra caja: deja solo el input */
  body.post-type-invitacion #gmi-panel-search .search-box{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* ===== Solo móvil: panel BUSCAR sin doble caja y sin recortes ===== */
@media (max-width: 782px){

  /* Estado base del panel: cerrado, sin caja propia */
  body.post-type-invitacion #gmi-panel-search.gmi-panel{
    overflow: hidden !important;   /* mantiene la animación sin que se vea nada cerrado */
    padding: 0 !important;         /* sin padding cuando está cerrado (no se ve “un poco”) */
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* Abierto: damos aire SOLO alrededor del input (sin caja del panel) */
  body.post-type-invitacion #gmi-panel-search.gmi-panel.open{
    padding: 8px 0 !important;     /* espacio vertical; no afecta cuando está cerrado */
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* La <p class="search-box"> no dibuja otra tarjeta */
  body.post-type-invitacion #gmi-panel-search .search-box{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
  }

  /* (dejamos tu lupa tal cual) */

  /* El INPUT es la única caja visible */
  body.post-type-invitacion #gmi-panel-search input[name="s"]{
    display: block !important;
    width: 100% !important;
    height: 44px !important;
    box-sizing: border-box !important;
    border: 1px solid #e2e5e8 !important;
    border-radius: 10px !important;
    padding: 10px 14px 10px 40px !important; /* hueco para la lupa que ya tienes */
    background: #fff !important;
  }

  /* Oculta el botón “Buscar” en móvil; Enter sigue funcionando */
  body.post-type-invitacion #gmi-panel-search input[type="submit"]{
    display: none !important;
  }
}

.gmi-fab-invitacion {
display: none;
}

/* Ocultar el metabox "Gestión de Mesas" en el CPT Invitaciones */
body.post-type-invitacion #acf-group_682d9ef9337e0{
  display: none !important;
}

/* Solo ocultar el botón "Añadir invitación" de la cabecera */
body.post-php.post-type-invitacion .wrap > .page-title-action:first-of-type {
    display: none !important;
}

/* Color de la opción seleccionada en los Select2 */
body.post-type-invitacion .select2-container--default .select2-results__option--highlighted[aria-selected],
body.post-type-invitacion .select2-container--default .select2-results__option--highlighted[data-selected]{
    background: #819e80 !important;
    color: #fff !important;
}
body.wp-admin.post-type-invitacion {
    --gv-color-accent: #819e80 !important;
}

/* =========================================================
   INVITADOS EXTRA - REPEATER EN FORMATO TARJETA / ACORDEÓN
   ========================================================= */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-repeater > .acf-table {
    border: 0;
    background: transparent;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-repeater > .acf-table > tbody > .acf-row {
    border: 1px solid #dfe6df;
    border-radius: 12px;
    background: #fff;
    margin-bottom: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}


/* -----------------------------------------
   Número lateral de fila
   ----------------------------------------- */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row > .acf-row-handle.order {
    width: 38px;
    min-width: 38px;
    background: #f8faf8;
    border-right: 1px solid #edf0ed;
    color: #8a958a;
    font-size: 12px;
    text-align: center;
    vertical-align: middle;
}


/* -----------------------------------------
   Fila cerrada
   ----------------------------------------- */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed {
    min-height: 48px;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed > .acf-fields {
    padding: 0;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed .acf-field.-collapsed-target {
    padding: 0;
    border: 0;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed .acf-field.-collapsed-target .acf-input {
    margin: 0;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed .acf-field.-collapsed-target input {
    border: 0;
    box-shadow: none;
    background: transparent;
    font-weight: 600;
    font-size: 14px;
    padding: 11px 12px 11px 34px;
    min-height: 46px;
}


/* Icono persona en la fila cerrada */
.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed .acf-field.-collapsed-target .acf-input {
    position: relative;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed .acf-field.-collapsed-target .acf-input::before {
    content: "\f110";
    font-family: dashicons;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #8ca18d;
    font-size: 17px;
    z-index: 2;
}


/* -----------------------------------------
   Fila abierta
   ----------------------------------------- */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed) {
    border-color: #b9ccb9;
    box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed) > .acf-fields {
    padding: 14px 16px 18px;
}


/* -----------------------------------------
   Botón desplegar / cerrar
   ----------------------------------------- */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row .acf-icon.-collapse {
    border-color: #afc2af;
    color: #6f8e70;
    background: #fff;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row .acf-icon.-collapse:hover {
    background: #eef5ee;
    color: #4f724f;
}


/* -----------------------------------------
   Botón eliminar fila
   ----------------------------------------- */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row .acf-icon.-minus {
    border-color: #e4baba;
    color: #b76060;
    background: #fff;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row .acf-icon.-minus:hover {
    background: #fff4f4;
}


/* -----------------------------------------
   Espacio entre filas
   ----------------------------------------- */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-repeater > .acf-table > tbody {
    display: table-row-group;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-repeater > .acf-table > tbody > .acf-row + .acf-row {
    border-top: 1px solid #dfe6df;
}


/* -----------------------------------------
   Botón añadir invitado
   ----------------------------------------- */

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-actions {
    margin-top: 12px;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-actions .acf-button {
    background: #819e80;
    border-color: #819e80;
    color: #fff;
    border-radius: 8px;
    box-shadow: none;
}

.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-actions .acf-button:hover {
    background: #718e70;
    border-color: #718e70;
}

/* =========================================================
   LISTADO INVITACIONES - PERSONAS Y ESTADOS
   ========================================================= */


/* Personas de cada invitación */

.admin-invitaciones .gmi-personas-card {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 7px;
    margin-bottom: 8px;
}

.admin-invitaciones .gmi-persona-mini {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 3px 0;

    border: 0;
    border-radius: 0;
    background: transparent;

    font-size: 13px;
    box-sizing: border-box;
}

.admin-invitaciones .gmi-persona-nombre {
    font-weight: 500;
    color: #303630;
    white-space: nowrap;
}


/* Estado individual */

.admin-invitaciones .gmi-persona-estado {
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
}


/* Pendiente */

.admin-invitaciones .gmi-persona-estado.pendiente {
    background: #f6edd5;
    color: #7d672c;
}


/* Asiste */

.admin-invitaciones .gmi-persona-estado.si {
    background: #e4efe1;
    color: #4e714c;
}


/* No asiste */

.admin-invitaciones .gmi-persona-estado.no {
    background: #f2dddd;
    color: #9a5555;
}


/* =========================================================
   CONTADORES DERECHA
   ========================================================= */

/* =========================================================
   KPIs DE ESTADO UNIFICADOS - ESCRITORIO Y MÓVIL
   ========================================================= */

.invitacion-admin-box .gmi-kpis-mobile{
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;

    margin-top: 10px;

    font-size: 14px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont,
                 "Segoe UI", Roboto, Arial, sans-serif;
}

.invitacion-admin-box .gmi-kpis-mobile .kpi{
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: #1f2a1b;
}

.invitacion-admin-box .gmi-kpis-mobile .kpi i{
    font-size: 14px;
    opacity: .9;
}

.invitacion-admin-box .gmi-kpis-mobile .kpi em{
    font-style: normal;
    color: #6b7568;
}

.invitacion-admin-box .gmi-kpis-mobile .kpi b{
    font-weight: 700;
    color: #2f3a2b;
}

/* Mismos colores que móvil */
.invitacion-admin-box .kpi-pend i{
    color: #8a6d3b;
}

.invitacion-admin-box .kpi-no i{
    color: #8b3b3b;
}

.invitacion-admin-box .kpi-si i{
    color: #4c7443;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 768px) {

    .admin-invitaciones .gmi-personas-card {
        display: flex;
        flex-direction: column;
        gap: 5px;
        margin-top: 8px;
    }

    .admin-invitaciones .gmi-persona-mini {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        justify-content: space-between;
        padding: 5px 8px;
    }

    .admin-invitaciones .gmi-estados-card {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

}

/* Estados generales de la invitación más ligeros */
.admin-invitaciones .gmi-estados-card .estado-item {
    padding: 3px 2px;
    background: transparent !important;
    border-radius: 0;
    gap: 5px;
}

.admin-invitaciones .gmi-estados-card .estado-burbuja {
    min-width: auto;
    height: auto;
    padding: 0;

    background: transparent;
    border-radius: 0;

    font-weight: 600;
}

@media (min-width: 783px){

    .admin-invitaciones .gmi-personas-card{
        display: flex;
        flex-wrap: wrap;
        gap: 8px 18px;
        margin-top: 6px;
        margin-bottom: 6px;
    }

    .admin-invitaciones .gmi-persona-mini{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 0;
        background: transparent;
        border: 0;
        min-width: 0;
    }

    .admin-invitaciones .gmi-persona-nombre{
        font-size: 13px;
        white-space: nowrap;
    }

    .admin-invitaciones .gmi-persona-estado{
        padding: 2px 7px;
        font-size: 11px;
        border-radius: 10px;
        white-space: nowrap;
    }

}

@media (min-width: 783px){

    .invitacion-admin-box{
        display: flex;
        justify-content: space-between;
        align-items: center !important;
        gap: 20px;
    }

    .invitacion-admin-box .izquierda{
        flex: 1 1 auto;
        min-width: 0;
    }

    .invitacion-admin-box .gmi-kpis-mobile{
        flex: 0 0 auto;
        margin-top: 0;
        margin-left: auto;
        gap: 12px;
        white-space: nowrap;
        align-self: center;
    }

}

/* =========================================================
   ICONO DE INVITADO SEGÚN EDAD
   Adulto / Niño / Bebé
   ========================================================= */

.admin-invitaciones .gmi-persona-nombre::before {
    display: inline-block;
    width: 16px;
    margin-right: 5px;

    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    text-align: center;

    color: #246e9a;
}


/* Adulto */
.admin-invitaciones .gmi-persona-mini.edad-adulto
.gmi-persona-nombre::before {
    content: "\f007"; /* fa-user */
}


/* Niño */
.admin-invitaciones .gmi-persona-mini.edad-nino
.gmi-persona-nombre::before {
    content: "\f1ae"; /* fa-child */
}


/* Bebé */
.admin-invitaciones .gmi-persona-mini.edad-bebe
.gmi-persona-nombre::before {
    content: "\f77c"; /* fa-baby */
}

/* =========================================================
   CABECERA LISTADO INVITACIONES - ESCRITORIO FINAL
   ========================================================= */

@media (min-width: 783px) {

    /* =====================================================
       FILTROS
       ===================================================== */

    body.post-type-invitacion .tablenav.top {
        min-height: 38px !important;
        margin: 4px 0 14px !important;
        padding: 0 !important;
    }

    body.post-type-invitacion
    .tablenav.top
    .actions:not(.bulkactions) {

        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    body.post-type-invitacion
    .tablenav.top
    .actions:not(.bulkactions) select {

        height: 34px !important;
        margin: 0 !important;

        border: 1px solid #d7ddd5 !important;
        border-radius: 7px !important;

        background-color: #fff !important;
    }

    body.post-type-invitacion
    .tablenav.top
    .actions:not(.bulkactions)
    input[type="submit"] {

        height: 34px !important;
        margin: 0 !important;
        padding: 0 14px !important;

        border: 1px solid #9bb49c !important;
        border-radius: 7px !important;

        background: #f3f7f3 !important;
        color: #45553d !important;

        line-height: 32px !important;
    }


    /* =====================================================
       BUSCADOR
       ===================================================== */

    body.post-type-invitacion .search-box {
        margin: 0 !important;
    }

    body.post-type-invitacion .search-box input[name="s"] {

        height: 34px !important;
        margin: 0 !important;

        border: 1px solid #d7ddd5 !important;
        border-radius: 7px !important;
    }

    body.post-type-invitacion
    .search-box
    input[type="submit"] {

        height: 34px !important;

        margin-left: 6px !important;
        padding: 0 13px !important;

        border: 1px solid #819e80 !important;
        border-radius: 7px !important;

        background: #fff !important;
        color: #45553d !important;
    }


    /* =====================================================
       TARJETA ÚNICA:
       RESUMEN + BOTONES
       ===================================================== */

    body.post-type-invitacion .gmi-zona-resumen {

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: stretch !important;

        gap: 0 !important;

        width: 100% !important;
        max-width: 1000px !important;

        margin: 18px auto 22px !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        border: 1px solid #45553d !important;
        border-radius: 12px !important;

        background-image:
            url('https://ireneydavid.es/wp-content/uploads/2025/05/Invitacion-papel-acuarela-fiesta-de-15-anos-floral-verde-1.png') !important;

        background-size: cover !important;
        background-position: center !important;

        box-shadow: 0 2px 5px rgba(0,0,0,.05) !important;

        overflow: hidden;
    }


    /* =====================================================
       RESUMEN:
       quitamos su tarjeta propia porque ahora la tarjeta
       es gmi-zona-resumen
       ===================================================== */

    body.post-type-invitacion
    .gmi-zona-resumen
    .resumen-kpis-global {

        flex: 1 1 auto !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 18px 24px !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;
        background-image: none !important;

        box-shadow: none !important;

        box-sizing: border-box !important;
    }


    /* =====================================================
       BOTONES INTEGRADOS DENTRO DE LA TARJETA
       ===================================================== */

    body.post-type-invitacion
    .gmi-zona-resumen
    .botones-resumen {

        flex: 0 0 190px !important;

        display: flex !important;
        flex-direction: column !important;

        justify-content: center !important;
        align-items: stretch !important;

        gap: 10px !important;

        width: 190px !important;

        margin: 0 !important;
        padding: 22px 20px !important;

        box-sizing: border-box !important;

        border-left: 1px solid rgba(69,85,61,.16);
    }


    body.post-type-invitacion
    .gmi-zona-resumen
    .botones-resumen
    .boton-resumen {

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;

        margin: 0 !important;
        padding: 9px 12px !important;

        box-sizing: border-box !important;

        border: 0 !important;
        border-radius: 8px !important;

        background: #819e80 !important;
        color: #fff !important;

        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;

        text-align: center !important;
        text-decoration: none !important;

        cursor: pointer;
    }

    body.post-type-invitacion
    .gmi-zona-resumen
    .botones-resumen
    .boton-resumen:hover {

        background: #45553d !important;
        color: #fff !important;
    }

}

/* =========================================================
   RESTAURAR RESUMEN EN MÓVIL
   ========================================================= */

@media (max-width: 782px) {

    /* El contenedor nuevo debe ser neutro en móvil */
    body.post-type-invitacion .gmi-zona-resumen {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;
        background-image: none !important;

        box-shadow: none !important;

        overflow: visible !important;
    }


    /* Recuperar la tarjeta propia del resumen */
    body.post-type-invitacion
    .gmi-zona-resumen
    .resumen-kpis-global {

        width: 100% !important;
        max-width: none !important;

        margin: 0 0 20px 0 !important;

        box-sizing: border-box !important;

        border: 1px solid #d9ded8 !important;
        border-radius: 12px !important;

        background: #fff !important;

        box-shadow: 0 2px 5px rgba(0,0,0,.05) !important;
    }


    /* Botones otra vez DEBAJO del resumen */
    body.post-type-invitacion
    .gmi-zona-resumen
    .botones-resumen {

        display: flex !important;
        flex-direction: row !important;

        width: 100% !important;

        margin: 0 0 24px 0 !important;
        padding: 0 18px !important;

        gap: 12px !important;

        box-sizing: border-box !important;

        border: 0 !important;
    }


    body.post-type-invitacion
    .gmi-zona-resumen
    .botones-resumen
    .boton-resumen {

        flex: 1 1 0 !important;

        width: auto !important;
        min-width: 0 !important;
        min-height: 60px !important;

        margin: 0 !important;
        padding: 10px 8px !important;

        border-radius: 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        text-align: center !important;
        line-height: 1.3 !important;
    }

}

@media (max-width: 782px){

    .mkpi-toggle::after{
        content: " ▼";
        font-size: 10px;
        margin-left: 4px;
        opacity: .65;
    }

    .mkpi-toggle.is-open::after{
        content: " ▲";
    }

}

/* =========================================================
   KPI GLOBAL - MISMO ESTILO QUE INVITACIONES INDIVIDUALES
   ========================================================= */

/* Contenedor */
.resumen-kpis-global .der-resumen {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;

    gap: 14px !important;

    margin-top: 8px !important;
}


/* Cada KPI */
.resumen-kpis-global .der-resumen .estado-item {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;
    min-width: 0 !important;

    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    font-size: 13px !important;
    white-space: nowrap !important;

    color: #333 !important;
}


/* Quitamos la píldora verde del número */
.resumen-kpis-global .der-resumen .estado-burbuja {
    display: inline !important;

    min-width: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 0 !important;

    background: transparent !important;
    color: #2f3a2b !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    line-height: inherit !important;
}


/* =========================================================
   ICONOS
   ========================================================= */

.resumen-kpis-global
.der-resumen
.estado-item > span:first-child::before {

    display: inline-block;

    margin-right: 5px;

    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    font-size: 12px;
}


/* Pendiente */
.resumen-kpis-global
.der-resumen
.estado-item:nth-child(1) > span:first-child::before {
    content: "\f252"; /* hourglass-half */
    color: #8a6d3b;
}


/* No asistirá */
.resumen-kpis-global
.der-resumen
.estado-item:nth-child(2) > span:first-child::before {
    content: "\f056"; /* circle-minus */
    color: #8b3b3b;
}


/* Sí asistirá */
.resumen-kpis-global
.der-resumen
.estado-item:nth-child(3) > span:first-child::before {
    content: "\f058"; /* circle-check */
    color: #4c7443;
}

@media (max-width: 782px) {

    .resumen-kpis-global .der-resumen {
        width: 100% !important;

        justify-content: space-between !important;

        gap: 6px !important;

        margin-top: 12px !important;
    }

    .resumen-kpis-global .der-resumen .estado-item {
        flex: 1 1 0 !important;

        font-size: 12px !important;

        gap: 4px !important;
    }

    .resumen-kpis-global
    .der-resumen
    .estado-burbuja {
        font-size: 12px !important;
    }

    .resumen-kpis-global
    .der-resumen
    .estado-item > span:first-child::before {
        font-size: 11px;
        margin-right: 4px;
    }

}

/* =========================================================
   RESUMEN INVITACIONES - ESCRITORIO DEFINITIVO
   Móvil NO se toca
   ========================================================= */

@media (min-width: 783px) {

    /* =====================================================
       1. TARJETA GENERAL
       ===================================================== */

    body.post-type-invitacion .gmi-zona-resumen {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 1100px !important;

        margin: 18px auto 22px !important;
        padding: 24px 28px 22px !important;

        box-sizing: border-box !important;

        border: 1px solid #45553d !important;
        border-radius: 12px !important;

        background-image:
            url('https://ireneydavid.es/wp-content/uploads/2025/05/Invitacion-papel-acuarela-fiesta-de-15-anos-floral-verde-1.png') !important;

        background-size: cover !important;
        background-position: center !important;

        box-shadow: 0 2px 5px rgba(0,0,0,.05) !important;

        overflow: visible !important;
    }


    /* =====================================================
       2. RESUMEN INTERIOR
       Quitamos su propia tarjeta
       ===================================================== */

    body.post-type-invitacion
    .gmi-zona-resumen
    .resumen-kpis-global {

        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;
        background-image: none !important;

        box-shadow: none !important;

        text-align: left !important;
    }


    /* =====================================================
       3. COLUMNA IZQUIERDA
       Dejamos sitio para estados + botones
       ===================================================== */

    body.post-type-invitacion
    .resumen-kpis-global
    .izq-resumen {

        width: calc(100% - 430px) !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: left !important;
    }


    /* Título */
    body.post-type-invitacion
    .resumen-kpis-global
    .resumen-kpi-titulo {

        text-align: left !important;

        margin: 0 0 3px !important;

        font-size: 16px !important;
        font-weight: 600 !important;
    }


    /* Total */
    body.post-type-invitacion
    .resumen-kpis-global
    .resumen-kpi-totales {

        text-align: left !important;

        margin: 0 0 14px !important;

        font-size: 14px !important;
    }


    /* =====================================================
       4. EDADES
       ===================================================== */

    body.post-type-invitacion
    .resumen-kpis-global
    .resumen-kpi-edades {

        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 14px !important;

        margin: 0 0 12px !important;
        padding: 0 !important;

        border: 0 !important;
    }


    body.post-type-invitacion
    .resumen-kpis-global
    .grupo-edad {

        display: inline-flex !important;
        align-items: center !important;

        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;

        font-size: 14px !important;
    }


    body.post-type-invitacion
    .resumen-kpis-global
    .separador-edades {

        display: inline-block !important;
    }


    /* =====================================================
       5. MESAS
       ===================================================== */

    body.post-type-invitacion
    .resumen-kpis-global
    .resumen-kpi-mesas {

        margin: 5px 0 13px !important;

        text-align: left !important;

        font-size: 14px !important;
    }


    /* =====================================================
       6. ESTADOS ARRIBA A LA DERECHA
       ===================================================== */

    body.post-type-invitacion
    .resumen-kpis-global
    .der-resumen {

        position: absolute !important;

        top: 25px !important;
        right: 0 !important;

        width: 400px !important;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        justify-content: space-between !important;
        align-items: center !important;

        gap: 12px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    body.post-type-invitacion
    .resumen-kpis-global
    .der-resumen
    .estado-item {

        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;

        flex: 0 0 auto !important;

        gap: 5px !important;

        margin: 0 !important;
        padding: 0 !important;

        white-space: nowrap !important;

        background: transparent !important;

        font-size: 14px !important;
    }


    /* Número sin píldora */
    body.post-type-invitacion
    .resumen-kpis-global
    .der-resumen
    .estado-burbuja {

        display: inline !important;

        min-width: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
        color: #2f3a2b !important;

        border: 0 !important;
        border-radius: 0 !important;

        font-size: 14px !important;
        font-weight: 700 !important;

        line-height: inherit !important;
    }


    /* =====================================================
       7. BOTONES DEBAJO DE LOS ESTADOS
       ===================================================== */

    body.post-type-invitacion
    .gmi-zona-resumen
    .botones-resumen {

        position: absolute !important;

        top: 82px !important;
        right: 28px !important;

        width: 400px !important;

        display: grid !important;
        grid-template-columns: 1fr 1fr !important;

        gap: 12px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        z-index: 5 !important;
    }


    body.post-type-invitacion
    .gmi-zona-resumen
    .botones-resumen
    .boton-resumen {

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;

        margin: 0 !important;
        padding: 9px 12px !important;

        box-sizing: border-box !important;

        border: 0 !important;
        border-radius: 9px !important;

        background: #819e80 !important;
        color: #fff !important;

        text-align: center !important;

        font-size: 13px !important;
        line-height: 1.25 !important;
    }


    /* =====================================================
       8. LOGÍSTICA
       Menú / Transporte / Papel / Regalos / Total
       ===================================================== */

    body.post-type-invitacion
    .resumen-kpis-global
    .resumen-logistica {

        /*
         * CLAVE:
         * la izquierda mide 100%-430px,
         * ampliamos 430px para que la línea
         * atraviese TODA la tarjeta.
         */
        width: calc(100% + 430px) !important;

        margin: 13px 0 0 !important;
        padding: 13px 0 0 !important;

        box-sizing: border-box !important;

        border-top: 1px solid #ddd9d1 !important;

        text-align: left !important;
    }


    /* Cada módulo conserva su propia fila */
    body.post-type-invitacion
    .resumen-kpis-global
    .logi-row {

        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;

        width: 100% !important;

        gap: 8px !important;

        margin: 0 !important;
        padding: 3px 0 !important;

        font-size: 14px !important;
        line-height: 1.35 !important;
    }


    /* Iconos alineados */
    body.post-type-invitacion
    .resumen-kpis-global
    .logi-emoji {

        flex: 0 0 22px !important;

        width: 22px !important;

        text-align: center !important;

        margin-top: 1px !important;
    }


    /*
     * Los valores de CADA módulo pueden hacer wrap.
     * Si añades más menús/regalos/etc., crece esa fila.
     */
    body.post-type-invitacion
    .resumen-kpis-global
    .logi-items {

        display: flex !important;

        flex: 1 1 auto !important;
        flex-wrap: wrap !important;

        min-width: 0 !important;

        gap: 3px 7px !important;

        margin: 0 !important;
    }

}

/* =========================================================
   INVITADOS EXTRA - ACORDEÓN GMI V2
   ========================================================= */


/* ---------------------------------------------------------
   TABLA BASE
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-repeater > .acf-table {
    border: 0 !important;
    background: transparent !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}


/* ---------------------------------------------------------
   TARJETA
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-repeater > .acf-table > tbody > .acf-row {
    background: #fff !important;

    border: 1px solid #e1e7e1 !important;
    border-radius: 10px !important;

    box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden;
}


/* ---------------------------------------------------------
   QUITAR NÚMERO DE FILA
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row > .acf-row-handle.order {
    width: 0 !important;
    min-width: 0 !important;

    padding: 0 !important;

    font-size: 0 !important;

    background: transparent !important;
    border: 0 !important;
}


/* ---------------------------------------------------------
   QUITAR COLUMNA DERECHA DE ACF CUANDO ESTÁ CERRADO
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed > .acf-row-handle.remove {
    width: 0 !important;
    min-width: 0 !important;

    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}


/* Ocultar + y - nativos mientras está cerrada */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed
.acf-row-handle.remove .acf-icon {
    display: none !important;
}


/* ---------------------------------------------------------
   FILA CERRADA
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed > .acf-fields {
    position: relative;

    padding: 0 !important;

    cursor: pointer;
}


body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed
.acf-field.-collapsed-target {
    padding: 0 !important;

    border: 0 !important;
}


body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed
.acf-field.-collapsed-target .acf-input {
    position: relative;

    margin: 0 !important;
    padding: 0 !important;
}


/* Nombre */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed
.acf-field.-collapsed-target input {
    width: 100% !important;
    height: 48px !important;

    margin: 0 !important;

    padding:
        0
        48px
        0
        44px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    color: #303a31 !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    pointer-events: none;
}


/* ---------------------------------------------------------
   ICONO PERSONA
   IMPORTANTE: lo hacemos nosotros y anulamos el icono
   genérico que ya tiene tu formulario.
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed
.acf-field.-collapsed-target
.acf-input-wrap::before {
    content: none !important;
}


body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed
.acf-field.-collapsed-target
.acf-input::before {

    content: "\f007";

    position: absolute;

    left: 17px;
    top: 50%;

    transform: translateY(-50%);

    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    font-size: 13px;

    color: #819e80;

    z-index: 2;

    pointer-events: none;
}


/* ---------------------------------------------------------
   FLECHA DERECHA
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed > .acf-fields::after {

    content: "\f054";

    position: absolute;

    right: 18px;
    top: 50%;

    transform: translateY(-50%);

    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    font-size: 10px;

    color: #819e80;

    pointer-events: none;
}


/* Botón circular de ACF: fuera */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed
.acf-icon.-collapse {
    display: none !important;
}


/* Hover */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row.-collapsed:hover {
    border-color: #b9cbb9 !important;

    box-shadow:
        0 3px 8px
        rgba(0,0,0,.06) !important;
}


/* ---------------------------------------------------------
   FILA ABIERTA
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed) {

    border-color: #b9cbb9 !important;

    box-shadow:
        0 4px 12px
        rgba(0,0,0,.055) !important;
}


body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed) > .acf-fields {

    padding:
        18px
        18px
        20px !important;
}


/* Número tampoco aparece abierta */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed)
> .acf-row-handle.order {

    width: 0 !important;
    min-width: 0 !important;

    padding: 0 !important;

    border: 0 !important;
}


/* ---------------------------------------------------------
   CONTROLES DE LA FILA ABIERTA
   --------------------------------------------------------- */

/* No necesitamos duplicar fila */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed)
.acf-row-handle.remove
.acf-icon.-plus {

    display: none !important;
}


/* Eliminar: discreto */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed)
.acf-row-handle.remove
.acf-icon.-minus {

    border-color: #e1baba !important;

    background: #fff !important;

    color: #b85e5e !important;
}


/* ---------------------------------------------------------
   BOTÓN AÑADIR
   --------------------------------------------------------- */

body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-actions {

    margin-top: 12px !important;

    padding: 0 !important;

    text-align: right;
}


body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-actions .acf-button {

    /*padding: 8px 12px !important;*/
    padding: 0px 16px !important;

    border: 1px solid #819e80 !important;
    border-radius: 10px !important;

    background: #819e80 !important;

    color: #fff !important;

    box-shadow: none !important;

    font-size: 13px !important;
    font-weight: 400 !important;
}


body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-actions .acf-button:hover {

    background: #718d70 !important;

    border-color: #718d70 !important;
}


/* ---------------------------------------------------------
   MÓVIL
   --------------------------------------------------------- */

@media (max-width: 782px) {

    body.admin-invitaciones
    .acf-field[data-name="invitados_extra"]
    .acf-row.-collapsed
    .acf-field.-collapsed-target input {

        height: 50px !important;

        padding-left: 44px !important;

        font-size: 14px !important;
    }


    body.admin-invitaciones
    .acf-field[data-name="invitados_extra"]
    .acf-row:not(.-collapsed) > .acf-fields {

        padding:
            14px
            12px
            18px !important;
    }

}

/* =========================================================
   INVITADOS EXTRA - CERRAR FILA ABIERTA
   ========================================================= */

/* Ocultar completamente el botón nativo de ACF */
body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed)
.acf-icon.-collapse {
    display: none !important;
}


/* La zona de campos será nuestra referencia */
body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed) > .acf-fields {
    position: relative !important;

    /* espacio para el botón superior */
    padding-top: 52px !important;
}


/* Nuestro botón visual */
body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed) > .acf-fields::before {

    content: "\f077";

    position: absolute;

    top: 12px;
    right: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    box-sizing: border-box;

    border: 1px solid #d5e1d4;
    border-radius: 50%;

    background: #f7faf6;

    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 10px;

    color: #6f8e70;

    cursor: pointer;

    z-index: 10;

    pointer-events: auto;
}


/* Hover */
body.admin-invitaciones
.acf-field[data-name="invitados_extra"]
.acf-row:not(.-collapsed) > .acf-fields:hover::before {
    border-color: #b9cbb9;
}

/* =========================================================
   INVITACIÓN EN PAPEL - SWITCH ESTILO GMI
   TITULAR + EXTRAS
   ========================================================= */

/* Base */
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_titular"]
.acf-switch,
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_extra"]
.acf-switch {
    position: relative !important;

    height: 20px !important;
    min-width: 32px !important;
    width: 32px !important;

    padding: 0 !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #e5e9e6 !important;

    box-shadow: none !important;
}


/* Ocultar Sí / No */
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_titular"]
.acf-switch .acf-switch-on,
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_titular"]
.acf-switch .acf-switch-off,
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_extra"]
.acf-switch .acf-switch-on,
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_extra"]
.acf-switch .acf-switch-off {
    display: none !important;
}


/* Bolita */
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_titular"]
.acf-switch .acf-switch-slider,
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_extra"]
.acf-switch .acf-switch-slider {
    position: absolute !important;

    top: 3px !important;
    left: 3px !important;

    width: 14px !important;
    height: 14px !important;

    margin: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #aeb8b0 !important;

    box-shadow: none !important;

    transition:
        left .18s ease,
        background-color .18s ease !important;
}


/* Fondo cuando está activado */
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_titular"]
.acf-switch.-on,
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_extra"]
.acf-switch.-on {
    background: #e3ebe4 !important;
}


/* Bolita verde a la derecha cuando está activado */
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_titular"]
.acf-switch.-on .acf-switch-slider,
body.admin-invitaciones
.acf-field[data-name="invitacion_papel_extra"]
.acf-switch.-on .acf-switch-slider {
    left: 15px !important;

    background: #79a47f !important;
}