/* YouAcademy – Estilos principales (Calendly Style ajustado a Salón Uniq) */

.yaac-wrapper {
    font-family: 'kappa', sans-serif;
    max-width: 1120px;
    margin: 40px auto;
    padding: 24px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
    overflow-x: hidden; /* evitar scroll horizontal en móviles */
}

.yaac-wrapper h2 {
    font-size: 0.99rem;
    text-transform: uppercase;
    margin-bottom: 18px;
    font-weight: 600;
    color: #111827;
}

.yaac-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

@media (max-width: 1024px) {
    .yaac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .yaac-grid { grid-template-columns: 1fr; }
}

/* Tarjetas tipo Calendly */

.yaac-card {
    border-radius: 16px;
    border: 0.5px solid #e5e7eb;
    background: #f9fafb;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    cursor: pointer;
    position: relative;
}

/* Barra superior gris (logo Salón Uniq) */
.yaac-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 3px;
    width: 100%;
    background: #242423;
}

.yaac-card-thumb {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding-top: 52%;
    overflow: hidden;
    background-color: #f3f4f6;
}

.yaac-card-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Profesional: avatar circular */
.yaac-card-professional .yaac-card-thumb {
    padding-top: 0;
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
    border-radius: 999px;
    margin: 0 12px 0 0;
    background-color: #e5e7eb;
    overflow: hidden;
    filter: grayscale(0%) !important;
}

/* Cuerpo de la tarjeta */

.yaac-card-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.yaac-card h3 {
    font-size: 0.88rem;
    letter-spacing: 0.2px;
    text-transform: uppercase;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 0 4px;
}

.yaac-meta-line {
    font-size: 0.84rem;
    color: #6b7280;
    margin: 0;
}

.yaac-duration-line{display:flex;align-items:center;gap:6px;}
.yaac-duration-icon{display:inline-block;width:14px;height:14px;flex:0 0 14px;background:url("../img/reloj.png") no-repeat center/contain;opacity:0.9;}

.yaac-price {
    font-weight: 600;
    color: #111827;
}


.yaac-profession {
    font-weight: 700;
    letter-spacing: 0.4px;
    color: #111827;
}
.yaac-description {
    font-size: 0.86rem;
    color: #4b5563;
    margin-top: 6px;
    min-height: 38px;
}

/* Hover */

.yaac-card:hover {
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18);
    transform: translateY(-3px);
    border-color: #d1d5db;
    background: #ffffff;
}

/* Card seleccionada */

.yaac-card.yaac-card-selected {
    border-color: #000000;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.32);
}

.yaac-card.yaac-card-selected::before {
    background: #000000;
}

/* Profesionales */

.yaac-card-professional {
    align-items: center;
    flex-direction: row;
    padding: 10px 14px;
}

.yaac-card-professional .yaac-card-body {
    padding: 0;
}

/* Botones */

.yaac-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 15px !important;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.1s ease;
}

/* Botón principal negro */
.yaac-btn-primary {
    background: #000000;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(0,0,0,0.35);
}

.yaac-btn-primary:hover {
    background: #222222;
    box-shadow: 0 16px 30px rgba(0,0,0,0.45);
    transform: translateY(-1px);
}

.yaac-btn-secondary {
    background: #e5e7eb;
    color: #374151;
}

.yaac-btn-secondary:hover {
    background: #d1d5db;
}

/* Spinner en botones */

.yaac-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #ffffff;
    border-top-color: transparent;
    border-radius: 50%;
    display: inline-block;
    animation: yaac-spin 0.6s linear infinite;
}

@keyframes yaac-spin {
    to { transform: rotate(360deg); }
}

/* Botón en estado loading */
.yaac-btn-loading {
    opacity: 0.7;
    pointer-events: none;
}

.yaac-btn-loading .yaac-spinner {
    margin-right: 6px;
}

.yaac-spinner-dark {
    border-color: rgba(17, 24, 39, 0.18);
    border-top-color: #111827;
}

.yaac-time-slot-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    min-width: 190px;
    padding: 0 18px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    cursor: default;
    background: #f8fafc;
    border-style: dashed;
    color: #4b5563;
    animation: none;
    text-align: center;
}
.yaac-time-slot-loading span:last-child {
    white-space: nowrap;
    line-height: 1;
}

.yaac-time-slot-loading:hover {
    transform: none;
    background: #f8fafc;
    border-color: #d1d5db;
}

.yaac-time-slot-loading .yaac-spinner {
    width: 14px;
    height: 14px;
    margin-right: 0;
    animation-duration: .45s;
}

/* Steps */

.yaac-step {
    display: none;
}

.yaac-step.yaac-step-active {
    display: block;
}

.yaac-step-actions {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Info seleccionada */

.yaac-selected-service-label,
.yaac-selected-professional-label {
    font-size: 0.9rem;
    color: #4b5563;
    margin-bottom: 16px;
}

/* Fecha y horario */

.yaac-date-time-wrapper {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
}

.yaac-date-picker,
.yaac-time-slots {
    width: 100%;
    max-width: 100%;
}

.yaac-date-picker label {
    font-size: 0.86rem;
    color: #374151;
    margin-bottom: 6px;
    display: block;
}

.yaac-date-input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    padding: 8px 12px;
    font-size: 0.9rem;
    background-color: #ffffff;
    -webkit-appearance: none;
    appearance: none;
}

.yaac-date-input:focus {
    outline: none;
    border-color: #000000;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.35);
}

.yaac-time-slots-title {
    font-size: 0.88rem;
    color: #4b5563;
    margin-bottom: 8px;
}

.yaac-time-slots-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.yaac-time-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.yaac-time-group-header {
    display: flex;
    align-items: center;
    gap: 14px;
}

.yaac-time-group-title {
    line-height: 1;
    margin-top: 3px;
    font-size: 0.88rem;
    color: #4b5563;
    font-family: 'kappa' !important;
    font-weight: 400;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.yaac-time-group-line {
    flex: 1;
    height: 1px;
    background: #d1d5db;
    display: block;
}

.yaac-time-group-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 8px;
}

.yaac-time-slot {
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    font-size: 0.86rem;
    text-align: center;
    cursor: pointer;
    background: #f9fafb;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease, transform 0.1s ease;
}

.yaac-time-slot:hover {
    background: #e5e7eb;
    border-color: #000000;
    transform: translateY(-1px);
}

.yaac-time-slot-selected {
    background: #000000;
    color: #ffffff;
    border-color: #000000;
}

@media (max-width: 767px) {
    .yaac-time-slots-grid {
        gap: 14px;
    }

    .yaac-time-group-header {
        gap: 10px;
    }

}

/* Formulario final */

.yaac-form {
    max-width: 480px;
    margin-top: 14px;
}

.yaac-field {
    margin-bottom: 12px;
}

.yaac-field label {
    display: block;
    font-size: 0.86rem;
    color: #374151;
    margin-bottom: 4px;
}

.yaac-input {
    width: 100%;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    padding: 8px 12px;
    font-size: 0.9rem;
    box-sizing: border-box;
}

.yaac-input:focus {
    outline: none;
    border-color: #000000;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.35);
}

/* Pago opciones */

.yaac-payment-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.yaac-payment-option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.86rem;
    color: #374151;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    cursor: pointer;
}

.yaac-payment-option input {
    margin: 0;
}

.yaac-payment-option input:checked + span,
.yaac-payment-option input:focus + span {
    font-weight: 600;
}

.yaac-payment-info {
    margin-top: 4px;
    font-size: 0.82rem;
    color: #6b7280;
}

/* Mensajes */

.yaac-message {
    margin-top: 10px;
    font-size: 0.86rem;
}

.yaac-message-success {
    color: #166534;
}

.yaac-message-error {
    color: #b91c1c;
}

/* Resumen */


.yaac-summary,
.yaac-payment-step,
.yaac-payment-info {
    transition: opacity .14s ease, transform .14s ease;
}

.yaac-summary.is-updating,
.yaac-payment-step.is-updating .yaac-payment-info {
    opacity: .82;
    transform: translateY(0);
}

.yaac-summary {
    background: #f3f4f6;
    border-radius: 16px;
    padding: 10px 14px;
    font-size: 0.86rem;
    color: #374151;
    margin-bottom: 12px;
}

/* Responsive */

@media (max-width: 768px) {
    .yaac-wrapper {
        margin: 20px auto;
        padding: 18px 16px;
        border-radius: 16px;
    }

    .yaac-date-time-wrapper {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    .yaac-date-picker,
    .yaac-time-slots {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    .yaac-wrapper {
        margin: 16px auto;
        padding: 14px 12px;
    }

    .yaac-date-time-wrapper {
        grid-template-columns: 1fr !important;
    }

    .yaac-date-input {
        font-size: 0.88rem;
        padding: 8px 10px;
    }
}


/* Ocultar formulario de datos en el Paso 4: usaremos los datos del checkout de WooCommerce */
.yaac-step-4 .yaac-form {
    display: none;
}


/* Paso 4 - selector de tipo de pago */
.yaac-step-4 .yaac-payment-step {
    margin-top: 20px;
}

.yaac-step-4 .yaac-payment-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 10px 0 15px;
}

.yaac-step-4 .yaac-payment-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 10px;
}

.yaac-step-4 .yaac-payment-info {
    font-size: 0.95rem;
    opacity: 0.9;
}

.yaac-step-4 .yaac-step-actions {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}


/* ------- Ajustes de color Step 3 (fecha y calendario en negro) ------- */
.yaac-date-input {
    color: #000 !important;
}

.yaac-date-input::-webkit-datetime-edit-text,
.yaac-date-input::-webkit-datetime-edit-month-field,
.yaac-date-input::-webkit-datetime-edit-day-field,
.yaac-date-input::-webkit-datetime-edit-year-field {
    color: #000 !important;
}

.yaac-date-input::-webkit-calendar-picker-indicator {
    filter: invert(0%) !important;
    opacity: 1 !important;
}



/* v55.5.1 overrides */
.yb-service-card, .youacademy-card {
  border-radius: 10px !important;
}

.yb-filter-buttons button, .youacademy-filters button {
  border-radius: 10px !important;
  min-width: 120px;
}

.yb-filter-buttons, .youacademy-filters {
  display: flex;
  gap: 8px;
}

.yb-filter-buttons button.active,
.youacademy-filters button.active {
  background: #e5e5e5 !important;
  color: #000 !important;
}


/* ===== v55.5.1 requested refinements ===== */

/* Filters spacing */
.yaac-step-1 .yaac-filters,
.yaac-step-1 .yaac-service-filters {
  margin-bottom: 20px;
}

/* Equal size filter buttons */
.yaac-step-1 .yaac-filters button,
.yaac-step-1 .yaac-service-filters button {
  flex: 1;
  min-width: 120px;
  border-radius: 10px !important;
}

/* Active grey instead of black */
.yaac-step-1 .active,
.yaac-step-1 button.active {
  background: #e5e7eb !important;
  color: #111 !important;
}

/* Card radius */
.yaac-card {
  border-radius: 10px !important;
}

/* =========================
   YouAcademy Footer Brand
   ========================= */

.yaac-modal-footer-brand{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 18px;
  padding-top: 20px;
  border-top: 1px solid rgba(0, 0, 0, .08);
}

.yaac-footer-left{
  display:flex;
  align-items:center;
  min-height:22px;
}

.yaac-pagination-slot{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Si tu paginación trae botones/enlaces, esto ayuda a que se vea ordenado */
.yaac-pagination-slot a,
.yaac-pagination-slot button{
  text-decoration:none;
}

.yaac-footer-right{
  display:flex;
  align-items:center;
  gap:8px;
  opacity:.75;
  white-space:nowrap;
}

.yaac-powered-text{
  font-size: 11px;
  font-weight: 600;
  font-family: 'kappa';
  text-transform: uppercase;
  letter-spacing: .2px;
}

.yaac-powered-logo{
  width:auto;
  max-width: 69px !important;
  height:auto;
  position: relative;
  top: 0px;
  right: 4px;
  display:block;
}

/* Mobile */
@media (max-width: 640px){
  .yaac-modal-footer-brand{
    flex-direction:column;
    Align-items: center;
    gap:10px;
    padding-top: 0px;
  }
  .yaac-footer-right{
    justify-content:flex-end;
  }
  .yaac-footer-left{
    justify-content:flex-start;
  }
}

/* ===== v55.5.1: Modal opciones de precio (Normal/Largo/etc.) ===== */
.yaac-variant-modal{position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center;}
.yaac-variant-backdrop{position:absolute; inset:0; background:rgba(10,12,16,.55); backdrop-filter: blur(6px);}
.yaac-variant-panel{position:relative; width:min(460px, calc(100% - 32px)); background:#fff; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.25); overflow:hidden;}
.yaac-variant-head{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:16px 16px 10px; border-bottom:1px solid rgba(0,0,0,.06);}
.yaac-variant-title{font-weight:700; font-size:16px; letter-spacing: 0.2px; text-transform: uppercase; line-height:1.2;}
.yaac-variant-sub{font-size:13px; opacity:.65; margin-top:4px;}
.yaac-variant-close{appearance:none; border:0; background:transparent; font-size:26px; line-height:1; cursor:pointer; padding:4px 8px; opacity:.6;}
.yaac-variant-close:hover{opacity:1;}
.yaac-variant-body{padding:14px 16px 18px; display:grid; gap:10px;}
.yaac-variant-option{width:100%; display:flex !important; align-items:center; justify-content:space-between; gap:12px !important; padding:14px 14px; border:1px solid rgba(0,0,0,.08); border-radius:14px; background:#fff; cursor:pointer; transition:transform .08s ease, box-shadow .08s ease, border-color .08s ease; text-align:left;}
.yaac-variant-option:hover{transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,0,0,.10); border-color:rgba(0,0,0,.14);}
.yaac-variant-opt-label{font-weight:700; letter-spacing: 0.2px; text-transform: uppercase; font-size:15px; margin-right:10px;}
.yaac-variant-opt-price{font-weight:800; font-size:15px; margin-left:auto;}

/* YouAcademy v55.5.1: improve professional photo size */
.yaac-card-professional .yaac-card-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 999px;
}


/* Popular badge on service cards */
.yaac-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.yaac-badge-popular {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #ffffff;
    border-radius: 50px !important;
    padding: 3px 10px;
    font-family: 'kappa';
    font-weight: 700;
    font-size: 0.85rem;
    color: #111827;
    top: -3px;
    position: relative;
    line-height: 1;
    border: 0.5px solid #e5e7eb;
    white-space: nowrap;
}

/* --- Professional public profile (/perfil/slug) --- */
.yaac-pro-profile-page { max-width: 1100px; margin: 0 auto; }
.yaac-pro-hero { padding: 0px 5px 0px !important; }
.yaac-pro-hero-inner { text-align: center; box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12) !important; border-radius: 0px 0px 18px 18px !important; padding: 14px 14px !important; }
.yaac-pro-logo img { max-width: 220px; height: auto; display: inline-block; }
.yaac-pro-logo-text { font-weight: 800; font-size: 22px; }
.yaac-pro-avatar { width: 110px; height: 110px; border-radius: 999px; margin: 14px auto 10px; background: #f3f4f6; background-size: cover; background-position: center; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.yaac-pro-name {
    margin: 6px 0 0;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.2px;
    color: #242423;
    text-transform: uppercase;
    line-height: 1.1;
}
.yaac-pro-profession {
    margin-top: 4px;
    font-weight: 500;
    letter-spacing: 0.2px;
    color: #242423;
    text-transform: uppercase;
    font-size: 14px;
}

.yaac-pro-stats {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}
.yaac-pro-stat {
    padding: 10px 22px;
    text-align: center;
}
.yaac-pro-stat-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.yaac-pro-stat-star {
font-size: 18px;
    line-height: 1;
    color: #f5a623;
}
.yaac-pro-stat-value {
font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.2px;
    color: #1f2937;
    line-height: 1;
}
.yaac-pro-stat-label {
margin-top: 5px;
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
    line-height: 1.1;
}
.yaac-pro-stat-divider {
    width: 1px;
    height: 64px;
    background: #e5e7eb;
}

@media (max-width: 520px) {
  .yaac-pro-stats {
    justify-content: center;
    align-items: center;
  }
  .yaac-pro-stat { padding: 8px 16px; text-align: center; }
  .yaac-pro-stat-top { gap: 6px; }
  .yaac-pro-stat-star { font-size: 18px; line-height: 1; display: inline-block; }
  .yaac-pro-stat-value { font-size: 18px; line-height: 1; }
  .yaac-pro-stat-label { margin-top: 5px; font-size: 14px; line-height: 1.1; }
  .yaac-pro-stat-divider { height: 56px; }
}

.yaac-pro-actions { margin-top: 16px; }
.yaac-pro-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 103px;
    border-radius: 3px;
    text-decoration: none;
    font-weight: 400;
    border: 1px solid #ADADAD;
    background: #979797;
    color: #fff;
}

 .yaac-pro-cta:hover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 90px;
    border-radius: 3px;
    text-decoration: none;
    font-weight: 400;
    border: 1px solid #ADADAD;
    background: #979797;
    color: #f5f5f5;
}
.yaac-pro-content { padding: 0px 5px 0px !important; }

@media (max-width: 520px) {
  .yaac-pro-name { font-size: 22px; }
  .yaac-pro-avatar { width: 96px; height: 96px; }
}

.yaac-badge-popular img{
    width:16px;
    height:16px;
    display:block;
}


/* Pro profile booking area: full width with 70px side gutters on desktop */
@media (min-width: 1024px) {
  .yaac-pro-profile-page .yaac-pro-content { padding-left: 70px; padding-right: 70px; }
  .yaac-pro-profile-page .yaac-wrapper { max-width: none; }
  .yaac-pro-profile-page .yaac-step { max-width: none; }
}

/* 55.5.1: Alinear ancho del botón con el bloque de estadísticas en móvil */
@media (max-width: 520px) {
  .yaac-pro-stats {
    
    margin-left: auto;
    margin-right: auto;
  }
  .yaac-pro-cta {
    
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }
}

/* 55.5.1: Ajuste preciso ancho botón en móvil */
@media (max-width: 520px) {
  .yaac-pro-cta{
    margin-left: auto;
    margin-right: auto;
    padding: 10px 90px;
    box-sizing: border-box;
  }
}

/* ================================
   YouAcademy 55.5.1 - Perfil profesional
   Alinear contenedor del flujo de reserva con el Header (Hello Elementor)
   Desktop: padding externo 45px + padding interno 24px
=================================== */
@media (min-width: 1025px) {
  body .yaac-pro-profile-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 45px !important;
    padding-right: 45px !important;
    box-sizing: border-box !important;
  }

  body .yaac-pro-profile-page .yaac-pro-hero-inner,
  body .yaac-pro-profile-page .yaac-pro-content,
  body .yaac-pro-profile-page .yaac-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
}


/* --- Filtros de categorías de servicios (scroll horizontal) --- */
.yaac-service-filterbar{
  display:flex;
  gap:14px;
  align-items:center;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling: touch;
  padding: 10px 2px 14px;
  margin: 0 0 10px;
  scrollbar-width: none;
}
.yaac-service-filterbar::-webkit-scrollbar{ display:none; }

.yaac-filter-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  white-space: nowrap;
  border-style: solid;
  border-width: 1px;
  border-color: #ADADAD;
  background: #fff;
  border-radius: 50px !important;
  padding: 5px 15px 5px 15px;
  font-size: 0.88rem !important;
  line-height: 1;
  color: #111;
  font-family: 'kappa';
  cursor: pointer;
  transition: all .15s ease-in-out;
}
.yaac-filter-pill .yaac-pill-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 22px;
  height: 22px;
  padding: 0 8px;
  border-radius: 50px !important;
  background:#f1f1f1;
  font-size: 0.85rem;
  color:#111;
}

/* Hover + Activo (mismo look) */
.yaac-filter-pill:hover,
.yaac-filter-pill.is-active{
  background-color: #979797;
  border-style: solid;
  border-width: 1px;
  border-color: #ADADAD;
  color: white;
}
.yaac-filter-pill:hover .yaac-pill-count,
.yaac-filter-pill.is-active .yaac-pill-count{
  background:#fff;
  color:#979797;
}

@media (max-width: 768px){
  .yaac-filter-pill{ font-size: 0.88rem !important; padding: 5px 15px 5px 15px; }
  .yaac-filter-pill .yaac-pill-count{ font-size: 0.85rem; height: 22px; min-width: 22px; }
}


/* ===== Perfil profesional: tabs Servicios | Detalles | Certificaciones ===== */
.yaac-wrapper-pro-profile .yaac-profile-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:0 0 18px;
  border-bottom:1px solid #e5e7eb;
}
.yaac-wrapper-pro-profile .yaac-profile-tab{
  position:relative;
  appearance:none;
  -webkit-appearance:none;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-shadow:none;
  text-decoration:none;
  color:#111827 !important;
  background:transparent !important;
  background-image:none !important;
  font-size:14px !important;
  line-height:1.25;
  font-weight:400 !important;
  text-transform:uppercase !important;
  padding:18px 8px 20px;
  cursor:pointer;
  transition:color .22s ease, opacity .22s ease;
  -webkit-tap-highlight-color:transparent;
}
.yaac-wrapper-pro-profile .yaac-profile-tab:hover,
.yaac-wrapper-pro-profile .yaac-profile-tab:focus,
.yaac-wrapper-pro-profile .yaac-profile-tab:focus-visible,
.yaac-wrapper-pro-profile .yaac-profile-tab:active,
.yaac-wrapper-pro-profile .yaac-profile-tab.is-active{
  color:#111827 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
}
.yaac-wrapper-pro-profile .yaac-profile-tab:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2.5px;
  background:#242423;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .24s ease;
}
.yaac-wrapper-pro-profile .yaac-profile-tab:hover:after,
.yaac-wrapper-pro-profile .yaac-profile-tab:focus:after,
.yaac-wrapper-pro-profile .yaac-profile-tab:focus-visible:after,
.yaac-wrapper-pro-profile .yaac-profile-tab:active:after{ transform:scaleX(0); }
.yaac-wrapper-pro-profile .yaac-profile-tab.is-active:after{ transform:scaleX(1); }
.yaac-profile-tab-panel{ display:none; opacity:0; transform:translateY(4px); will-change:opacity,transform; }
.yaac-profile-tab-panel.is-active{ display:block; animation:yaacFadePanel .18s ease forwards; }
@keyframes yaacFadePanel{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
.yaac-profile-panel-loading,
.yaac-profile-empty{
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:22px;
  padding:24px;
  color:#6b7280;
}
.yaac-profile-panel-loading{ display:grid; gap:12px; }
.yaac-skeleton-line{ display:block; width:100%; height:14px; border-radius:999px; background:linear-gradient(90deg,#f3f4f6 0%,#e5e7eb 50%,#f3f4f6 100%); background-size:220% 100%; animation:yaacSkeleton 1.05s linear infinite; }
.yaac-skeleton-line.is-title{ height:18px; width:42%; }
.yaac-skeleton-line.is-short{ width:64%; }
@keyframes yaacSkeleton{ 0%{background-position:200% 0;} 100%{background-position:-200% 0;} }
.yaac-profile-tab-inner{ display:grid; gap:22px; }
.yaac-profile-block{
  border:1px solid #eceff3;
  border-radius:24px;
  padding:28px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.04);
}
.yaac-profile-block h3{ margin:0 0 10px; font-size:18px; font-weight:800; color:#102a3b; }
.yaac-profile-address{ margin:0; font-size:16px; color:#667085; }
.yaac-profile-map-frame{ overflow:hidden; border-radius:18px; min-height:320px; background:#f4f6f8; }
.yaac-profile-map-frame iframe{ width:100%; min-height:320px; border:0; display:block; }
.yaac-profile-hours-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.yaac-profile-hours-today{ font-size:16px; color:#667085; }
.yaac-profile-hours-list{ display:grid; gap:10px; }
.yaac-profile-hours-row{
  display:grid;
  grid-template-columns:minmax(180px,1.4fr) 1fr 1fr;
  gap:16px;
  align-items:center;
  padding:14px 16px;
  border-radius:16px;
  background:#f8fafc;
  color:#102a3b;
}
.yaac-profile-hours-row.is-today{ background:#eef4ff; }
.yaac-col-day,.yaac-col-open,.yaac-col-close{ font-size:16px; }
.yaac-profile-today-pill{
  display:inline-flex;
  margin-left:10px;
  padding:4px 12px;
  border-radius:999px;
  background:#3b82f6;
  color:#fff;
  font-size:13px;
  font-weight:700;
}
.yaac-profile-socials{ display:flex; flex-wrap:wrap; gap:16px; }
.yaac-profile-social-link{
  width:76px; height:76px; border-radius:999px; border:1px solid #d9dde3; background:#f3f4f6;
  display:flex; align-items:center; justify-content:center; position:relative; color:#6b7280; font-size:34px; text-decoration:none;
}
.yaac-profile-social-label{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
.yaac-profile-social-icon{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; line-height:1; }
.yaac-profile-social-icon svg,
.yaac-profile-social-icon img{ width:24px; height:24px; display:block; object-fit:contain; }
.yaac-profile-cert-list{ display:grid; gap:16px; }
.yaac-profile-cert-item{
  display:grid; grid-template-columns:90px 1fr; gap:18px; align-items:center;
  padding:18px; border:1px solid #eceff3; border-radius:22px; background:#fff;
}
.yaac-profile-cert-photo{ width:84px; height:84px; border-radius:999px; overflow:hidden; background:#f3f4f6; }
.yaac-profile-cert-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.yaac-profile-cert-title{ font-size:18px; font-weight:800; color:#102a3b; text-transform:uppercase; }
.yaac-profile-cert-subtitle{ margin-top:4px; font-size:15px; color:#667085; }
.yaac-profile-cert-desc{ margin-top:8px; font-size:15px; color:#475467; }
@media (max-width: 767px){
  .yaac-wrapper-pro-profile .yaac-profile-tabs{ gap:8px; }
  .yaac-wrapper-pro-profile .yaac-profile-tab{ font-size:15px !important; padding:14px 4px 18px; }
  .yaac-profile-block{ padding:20px; border-radius:20px; }
  .yaac-profile-hours-head{ display:block; }
  .yaac-profile-hours-row{ grid-template-columns:1fr 1fr 1fr; gap:10px; padding:12px; }
  .yaac-profile-cert-item{ grid-template-columns:72px 1fr; gap:14px; }
  .yaac-profile-cert-photo{ width:60px; height:60px; }
}


/* ===== Perfil profesional refinado 55.5.1 ===== */
.yaac-wrapper-pro-profile .yaac-profile-tabs,
.yaac-wrapper-pro-profile .yaac-profile-tab,
.yaac-profile-tab-inner,
.yaac-profile-block h3,
.yaac-profile-address,
.yaac-profile-hours-today,
.yaac-col-day,
.yaac-col-open,
.yaac-col-close,
.yaac-profile-cert-title,
.yaac-profile-cert-subtitle,
.yaac-profile-cert-desc{
  font-family:'kappa', sans-serif !important;
}
.yaac-profile-block h3{
  font-size:16px;
  font-weight:700;
  letter-spacing:0;
}
.yaac-profile-address{ font-size:14px; }
.yaac-profile-hours-head{ margin-bottom:14px; }
.yaac-profile-hours-today{ font-size:14px; color:#667085; }
.yaac-profile-hours-list{ gap:8px; }
.yaac-profile-hours-row{
  grid-template-columns:minmax(150px,1.35fr) 1fr 1fr;
  gap:12px;
  padding:10px 14px;
  border-radius:14px;
}
.yaac-profile-hours-heading{
  background:transparent;
  padding:0 14px 4px;
  border-radius:0;
}
.yaac-profile-hours-heading .yaac-col-day,
.yaac-profile-hours-heading .yaac-col-open,
.yaac-profile-hours-heading .yaac-col-close{
  font-size:12px;
  font-weight:700;
  color:#102a3b;
  text-transform:none;
}
.yaac-col-day,.yaac-col-open,.yaac-col-close{ font-size:14px; }
.yaac-profile-today-pill{
  padding:3px 10px;
  font-size:11px;
}
.yaac-profile-socials{ gap:12px; }
.yaac-profile-social-link{
  width:60px;
  height:60px;
  font-size:0;
  color:#6b7280;
  background:#f6f7f8;
}
.yaac-profile-social-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
}
.yaac-profile-social-icon svg{
  width:100%;
  height:100%;
  display:block;
}
.yaac-profile-cert-item{ grid-template-columns:78px 1fr; gap:16px; }
.yaac-profile-cert-photo{ width:70px; height:70px; }
.yaac-profile-cert-title{ font-size:0.88rem; font-weight:700; letter-spacing:0.2px; }
.yaac-profile-cert-subtitle,
.yaac-profile-cert-desc{ font-size:14px; }
@media (max-width: 767px){
  .yaac-profile-hours-row{ grid-template-columns:1.2fr 1fr 1fr; padding:10px 12px; }
  .yaac-profile-hours-heading{ padding:0 12px 4px; }
  .yaac-col-day,.yaac-col-open,.yaac-col-close{ font-size:13px; }
  .yaac-profile-social-link{ width:54px; height:54px; }
  .yaac-profile-social-icon{ width:24px; height:24px; }
  .yaac-profile-cert-item{ grid-template-columns:68px 1fr; gap:12px; }
  .yaac-profile-cert-photo{ width:60px; height:60px; }
}


/* v55.5.1 mobile bottom scroll stability */
.yaac-step-1 {
  overflow-anchor: none;
}

@media (max-width: 1024px) {
  .yaac-step-1 {
    -webkit-overflow-scrolling: touch;
  }
  .yaac-step-1 .yb-pagination {
    padding-bottom: 0;
  }
}

.yaac-profile-map-frame{ position:relative; }
.yaac-profile-map-open{
  position:absolute;
  top:12px;
  left:12px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid #d8dee6;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
  color:#111827 !important;
  font-size:12px;
  font-weight:600;
  text-decoration:none !important;
}
@media (max-width: 1024px){
  .yaac-profile-map-frame iframe{ pointer-events:none; }
}

@media (max-width: 1024px) {
  .yaac-wrapper,
  .yaac-step-1,
  .yaac-modal-footer-brand,
  .yb-pagination {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  .yaac-wrapper,
  .yaac-pro-profile-page,
  .yaac-profile-tab-panels {
    overflow-anchor: none;
    touch-action: pan-y;
  }

  .yaac-modal-footer-brand {
    padding-bottom: 0;
  }
}


/* v55.5.1 iOS Chrome bottom scroll refinement */
@media (max-width: 1024px) {
  .yaac-ios-chrome .yaac-wrapper,
  .yaac-ios-chrome .yaac-step-1,
  .yaac-ios-chrome .yaac-modal-footer-brand,
  .yaac-ios-chrome .yb-pagination,
  .yaac-ios-chrome .yaac-profile-tab-panels {
    -webkit-transform: none !important;
    transform: none !important;
    backface-visibility: visible !important;
    will-change: auto !important;
  }

  .yaac-ios-chrome .yaac-wrapper,
  .yaac-ios-chrome .yaac-pro-profile-page,
  .yaac-ios-chrome .yaac-profile-tab-panels,
  .yaac-ios-chrome .yaac-step-1 {
    touch-action: auto !important;
    overflow-anchor: auto !important;
    overscroll-behavior-y: contain;
  }

  .yaac-ios-chrome .yaac-modal-footer-brand {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .yaac-ios-chrome .yb-pagination {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}


/* 55.5.1 moved from inline profile CSS */
.yaac-wrapper[data-preset-professional-id] .yaac-step-2,.yaac-wrapper[data-preset-professional-id] .yaac-back-to-step2{display:none!important;}
.yaac-wrapper-pro-profile,.yaac-wrapper-pro-profile *{font-family:'kappa',sans-serif;}
.yaac-wrapper-pro-profile .yaac-profile-tab{font-size:14px!important;text-transform:uppercase!important;font-weight:400!important;}
.yaac-wrapper-pro-profile .yaac-profile-map-link a{font-size:14px!important;}
.yaac-wrapper-pro-profile .yaac-profile-social-icon{width:38px;height:38px;font-size:16px;}
.yaac-wrapper-pro-profile .yaac-profile-social-icon img{width:18px;height:18px;display:block;object-fit:contain;}
.yaac-wrapper-pro-profile .yaac-profile-hours-head h3{font-size:16px!important;line-height:1.1;}
.yaac-wrapper-pro-profile .yaac-profile-hours-today{font-size:14px;color:#4b5563;}
.yaac-wrapper-pro-profile .yaac-profile-hours-list{max-width:820px;}
.yaac-wrapper-pro-profile .yaac-profile-hours-heading,.yaac-wrapper-pro-profile .yaac-profile-hours-row{font-size:14px;}
.yaac-wrapper h2{font-size:.99rem!important;text-transform:uppercase;margin-bottom:18px;font-weight:600;color:#111827;}
.yaac-pro-content,.yaac-pro-hero{padding:0 5px 0!important;}
.yaac-pro-hero-inner{text-align:center;box-shadow:0 18px 45px rgba(15,23,42,.12)!important;border-radius:0 0 18px 18px!important;padding:14px 14px!important;}
@media (min-width:768px){.yaac-wrapper-pro-profile .yaac-profile-hours-row{grid-template-columns:minmax(170px,1.15fr) minmax(120px,.62fr) minmax(120px,.62fr);column-gap:20px;}}
@media (max-width:640px){.yaac-modal-footer-brand{flex-direction:column;align-items:center;gap:0;padding-top:0;}}
@media (max-width:767px){.yaac-wrapper-pro-profile .yaac-profile-tab{font-size:14px!important;text-transform:uppercase!important;font-weight:400!important;padding:0 5px 14px;}}


/* YouAcademy v55.5.1 moved from inline WooCommerce CSS */
.woocommerce-order{font-family:'kappa',sans-serif;color:#111827;}
.woocommerce-order p.woocommerce-notice,.woocommerce-order .woocommerce-notice,.woocommerce-order .woocommerce-thankyou-order-received{font-size:16px!important;line-height:1.6;color:#111827;margin-bottom:18px;}
.woocommerce-order .woocommerce-order-overview{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:18px;align-items:flex-start;padding-left:0;margin:0 0 26px;}
.woocommerce-order .woocommerce-order-overview li{float:none!important;width:auto!important;min-width:160px;padding:0 22px 0 0!important;margin:0 22px 0 0!important;border-right:1px solid #e5e7eb;color:#111827;font-size:14px;line-height:1.45;}
.woocommerce-order .woocommerce-order-overview li:last-child{border-right:none;margin-right:0!important;padding-right:0!important;}
.woocommerce-order .woocommerce-order-details__title,.woocommerce-order .woocommerce-column__title,.woocommerce-order h2,.woocommerce-order h3{font-size:25px!important;line-height:1.15;color:#111827;font-weight:500;letter-spacing:-.02em;margin:0 0 18px;}
.woocommerce-order .shop_table{width:100%;border-collapse:separate!important;border-spacing:0!important;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;}
.woocommerce-order .shop_table th,.woocommerce-order .shop_table td{border:0!important;border-right:1px solid #eceef2!important;border-bottom:1px solid #eceef2!important;padding:16px 18px;}
.woocommerce-order .shop_table tr>*:last-child{border-right:none!important;}
.woocommerce-order .shop_table tbody tr:last-child>*,.woocommerce-order .shop_table tfoot tr:last-child>*{border-bottom:none!important;}
.woocommerce-order .woocommerce-customer-details address{border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px;background:#fff;}
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link){min-height:3em;background-color:#979797!important;border-style:solid;border-width:1px;border-color:#ADADAD;color:#fff!important;box-shadow:none;}
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):hover,body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus{background-color:#8d8d8d!important;border-color:#ADADAD;color:#fff!important;box-shadow:none;}
@media (max-width:767px){.woocommerce-order .woocommerce-order-overview{display:block;}.woocommerce-order .woocommerce-order-overview li{display:block;border-right:none;padding:0 0 12px!important;margin:0 0 12px!important;border-bottom:1px solid #e5e7eb;min-width:0;}.woocommerce-order .woocommerce-order-overview li:last-child{border-bottom:none;margin-bottom:0!important;padding-bottom:0!important;}}
.site-navigation-dropdown ul.menu li a{font-size:15px;text-transform:uppercase;}

.site-navigation-dropdown ul.menu li.current-menu-item a{background:#979797;text-transform:uppercase!important;}
.site-navigation-dropdown ul.menu li a{font-size:15px;text-transform:uppercase!important;}

/* YouAcademy v55.5.1 - checkout y comprobante WooCommerce */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    align-items: center !important;
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 0px !important;
}

.wc-block-checkout__sidebar {
    padding-left: 0px !important;
}

body.woocommerce-order-received .woocommerce-order {
    padding: 70px !important;
    box-sizing: border-box !important;
}

@media (max-width: 1024px) {
    body.woocommerce-order-received .woocommerce-order {
        padding: 10px !important;
    }
}

/* YouAcademy v55.5.1 - datos de reserva en comprobante WooCommerce */
.woocommerce-order .yaac-order-reservation-overview {
    margin-top: -10px !important;
    margin-bottom: 28px !important;
}

.woocommerce-order .yaac-order-reservation-overview li strong {
    display: block;
    margin-top: 4px;
    font-weight: 500;
    color: #111827;
}

@media (max-width: 767px) {
    .woocommerce-order .yaac-order-reservation-overview {
        margin-top: -6px !important;
        margin-bottom: 24px !important;
    }
}

/* YouAcademy v55.5.1 - destacar solo accesos especiales del menú */
.elementor-nav-menu a.yaac-nav-auth-highlight,
.elementor-nav-menu--main a.yaac-nav-auth-highlight,
.site-navigation a.yaac-nav-auth-highlight,
.main-navigation a.yaac-nav-auth-highlight,
.menu a.yaac-nav-auth-highlight,
nav a.yaac-nav-auth-highlight,
header a.yaac-nav-auth-highlight,
a.yaac-nav-auth-highlight,
a.yaac-nav-auth-highlight *,
.elementor-nav-menu a[href*="#youacademy-logout"],
.elementor-nav-menu a[href*="yaac_front_logout=1"],
.elementor-nav-menu a[href*="action=logout"],
.elementor-nav-menu a[href*="customer-logout"],
.elementor-nav-menu a[href*="logout"],
.elementor-nav-menu--main a[href*="#youacademy-logout"],
.elementor-nav-menu--main a[href*="yaac_front_logout=1"],
.elementor-nav-menu--main a[href*="action=logout"],
.elementor-nav-menu--main a[href*="customer-logout"],
.elementor-nav-menu--main a[href*="logout"],
.site-navigation a[href*="#youacademy-logout"],
.site-navigation a[href*="yaac_front_logout=1"],
.site-navigation a[href*="action=logout"],
.site-navigation a[href*="customer-logout"],
.site-navigation a[href*="logout"],
.main-navigation a[href*="#youacademy-logout"],
.main-navigation a[href*="yaac_front_logout=1"],
.main-navigation a[href*="action=logout"],
.main-navigation a[href*="customer-logout"],
.main-navigation a[href*="logout"],
.menu a[href*="#youacademy-logout"],
.menu a[href*="yaac_front_logout=1"],
.menu a[href*="action=logout"],
.menu a[href*="customer-logout"],
.menu a[href*="logout"],
nav a[href*="#youacademy-logout"],
nav a[href*="yaac_front_logout=1"],
nav a[href*="action=logout"],
nav a[href*="customer-logout"],
nav a[href*="logout"],
header a[href*="#youacademy-logout"],
header a[href*="yaac_front_logout=1"],
header a[href*="action=logout"],
header a[href*="customer-logout"],
header a[href*="logout"],
a[data-youacademy-logout],
a[data-youacademy-logout] * {
    font-weight: 900 !important;
}

/* YouAcademy v55.5.1 - Multi-servicio por reserva */
.yaac-selected-services-summary{ margin: 0 0 18px; }
.yaac-selected-services-card{
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #fff;
    padding: 14px 14px 12px;
    box-shadow: 0 12px 32px rgba(15,23,42,.05);
}
.yaac-selected-services-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
    color:#111827;
    font-family:'kappa',sans-serif;
    font-size:14px;
    text-transform:uppercase;
}
.yaac-clear-selected-services,
.yaac-remove-selected-service{
    appearance:none;
    border:1px solid #fecaca;
    background:#fff;
    color:#b91c1c;
    border-radius:50px;
    padding:5px 10px;
    font-family:'kappa',sans-serif;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    cursor:pointer;
}
.yaac-selected-services-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.yaac-selected-services-list li{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
    padding:8px 0;
    border-top:1px solid #f3f4f6;
    color:#111827;
}
.yaac-selected-services-list li span{ font-weight:700; }
.yaac-selected-services-list li small{ color:#6b7280; font-size:12px; white-space:nowrap; }
.yaac-remove-selected-service{ width:28px; height:28px; padding:0; display:inline-flex; align-items:center; justify-content:center; font-size:16px; line-height:1; }
.yaac-selected-services-total{ margin-top:10px; padding-top:10px; border-top:1px solid #f3f4f6; color:#111827; font-size:14px; }
.yaac-card-service.yaac-card-added{ outline:2px solid rgba(17,24,39,.16); outline-offset:2px; }
.yaac-add-service-modal{ position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:20px; }
.yaac-add-service-backdrop{ position:absolute; inset:0; background:rgba(15,23,42,.42); backdrop-filter:blur(8px); }
.yaac-add-service-panel{ position:relative; width:min(440px, 100%); background:#fff; border:1px solid #e5e7eb; border-radius:24px; padding:22px; box-shadow:0 24px 70px rgba(15,23,42,.22); text-align:center; }
.yaac-add-service-title{ color:#111827; font-family:'kappa',sans-serif; font-size:20px; font-weight:900; line-height:1.15; margin-bottom:8px; }
.yaac-add-service-sub{ color:#6b7280; font-size:14px; line-height:1.45; margin-bottom:18px; }
.yaac-add-service-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.yaac-summary-services{ margin:4px 0 10px 18px; padding:0; }
.yaac-summary-services li{ margin-bottom:4px; }
@media (max-width: 767px){
    .yaac-selected-services-list li{ grid-template-columns:minmax(0,1fr) auto; }
    .yaac-selected-services-list li small{ grid-column:1 / 2; }
    .yaac-add-service-actions{ flex-direction:column; }
    .yaac-add-service-actions .yaac-btn{ width:100%; }
}

/* YouAcademy v55.4.1 | Ajustes visuales multi-servicio */
.yaac-clear-selected-services {
    text-transform: capitalize !important;
    font-size: 15px !important;
}

.yaac-selected-services-list li span {
    font-size: 0.88rem;
    letter-spacing: 0.2px;
    text-transform: uppercase;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 0 4px;
}

.yaac-selected-services-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    color: #111827;
    font-family: 'kappa', sans-serif;
    font-size: .95rem;
    text-transform: uppercase;
}

.yaac-add-service-panel {
    position: relative;
    width: min(440px, 100%);
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 22px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
    text-align: center;
}



/* YouAcademy v55.4.2 | Multi-servicio: botón continuar, X redonda y modal pro */
.yaac-add-service-title {
    color: #111827 !important;
    font-family: 'kappa', sans-serif !important;
    font-weight: 900 !important;
    font-size: .95rem !important;
    text-transform: uppercase !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
}

.yaac-selected-services-list li {
    grid-template-columns: minmax(0, 1fr) auto 32px !important;
    align-items: center !important;
}

.yaac-remove-selected-service {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    border-radius: 50px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    justify-self: end !important;
    line-height: 1 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

.yaac-selected-services-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #f3f4f6;
}

.yaac-selected-services-footer .yaac-selected-services-total {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
}

.yaac-selected-services-continue {
    min-height: 36px !important;
    padding: 8px 18px !important;
    border-radius: 50px !important;
    font-family: 'kappa', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

@media (max-width: 767px){
    .yaac-selected-services-list li {
        grid-template-columns: minmax(0, 1fr) 32px !important;
        gap: 8px !important;
    }
    .yaac-selected-services-list li small {
        grid-column: 1 / 2 !important;
    }
    .yaac-selected-services-footer {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }
    .yaac-selected-services-continue {
        width: 100% !important;
    }
}


/* YouAcademy v55.5.1 | Ajustes visuales resumen multi-servicio */
.yaac-selected-services-continue {
    min-height: 36px !important;
    padding: 8px 18px !important;
    border-radius: 3px !important;
    font-family: 'kappa', sans-serif !important;
    border: 1px solid #e5e7eb !important;
    color: black !important;
    background: #fff !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .10) !important;
}

.yaac-card-service.yaac-card-added {
    outline: 1px solid #111827 !important;
    outline-offset: 1px !important;
}

.yaac-card-service.yaac-card-added::before,
.yaac-card-service.yaac-card-selected::before {
    height: 2px !important;
    background: #111827 !important;
}


/* YouAcademy v55.5.4 - YouPOS/nav visual refinements */
.youpos-userbox { font-size: 13px !important; }
a.yaac-nav-auth-highlight,
a.yaac-nav-auth-highlight * {
  font-size: 12px !important;
  font-weight: 400 !important;
}
.yaac-short-admin-direct[data-youacademy-shortcode="youacademy-youpos"] .yaac-powered-by {
  margin: 16px 0 8px !important;
  padding-top: 10px !important;
  gap: 7px !important;
  min-height: 30px !important;
}
.yaac-short-admin-direct[data-youacademy-shortcode="youacademy-youpos"] .yaac-powered-text {
  font-size: 10.5px !important;
  line-height: 1 !important;
  letter-spacing: .18px !important;
}
.yaac-short-admin-direct[data-youacademy-shortcode="youacademy-youpos"] .yaac-powered-logo {
  width: auto !important;
  max-width: 78px !important;
  max-height: 24px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  position: relative !important;
  top: 0 !important;
  right: 0 !important;
}

/* YouAcademy v55.5.4 - Auth nav final size */
.youpos-userbox { font-size: 13px !important; }
a.yaac-nav-auth-highlight,
a.yaac-nav-auth-highlight * {
  font-size: 12px !important;
  font-weight: 400 !important;
}


/* YouAcademy v55.6.4 - Header navigation spacing */
.site-navigation ul.menu li a {
    display: block;
    padding: 8px 15px;
    font-size: 14px !important;
}
.site-header .site-navigation ul.menu li a {
    color: #111111;
    font-size: 14px !important;
}

/* YouAcademy v55.6.5 - Header navigation final requested CSS */
.site-header .site-navigation ul.menu li a {
    color: #111111;
    font-size: 14px !important;
}
.site-navigation ul.menu li a {
    display: block;
    padding: 8px 15px;
    font-size: 14px !important;
}


/* YouAcademy v55.6.6 - POS agenda block info hidden visually, auth nav size */
.youpos-booking-duration {
    display: none !important;
}
a.yaac-nav-auth-highlight,
a.yaac-nav-auth-highlight * {
    font-size: 14px !important;
    font-weight: 400 !important;
}
.site-header .site-navigation ul.menu li a {
    color: #111111;
    font-size: 14px !important;
}
.site-navigation ul.menu li a {
    display: block;
    padding: 8px 15px;
    font-size: 14px !important;
}


/* YouAcademy v1.0.4 - métodos de inscripción corregidos sin reglas duplicadas */
body.yaac-ux-ready * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-family: 'KappaDisplay', sans-serif;
}

.yaac-step-2 .yaac-payment-options,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-payment-options,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-payment-options {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 10px 0 16px !important;
}

.yaac-step-2 .yaac-payment-option,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-payment-option,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-payment-option {
    display: flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    border: 1px solid #d1d5db !important;
    background: #f9fafb !important;
    box-sizing: border-box !important;
    color: #374151 !important;
    cursor: pointer !important;
    font-size: 13.76px !important;
    line-height: 1.2 !important;
}

.yaac-step-2 .yaac-payment-option input[type="radio"],
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-payment-option input[type="radio"],
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-payment-option input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    margin: 0 !important;
}

.yaac-step-2 .yaac-payment-option span,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-payment-option span,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-payment-option span {
    display: block !important;
    flex: 1 1 auto !important;
    font-size: 13.76px !important;
    line-height: 1.2 !important;
}

.yaac-step-2 .yaac-payment-option input[type="radio"]:checked + span,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-payment-option input[type="radio"]:checked + span,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-payment-option input[type="radio"]:checked + span {
    font-weight: 600 !important;
}

.yaac-step-2 .yaac-payment-info,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-payment-info,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-payment-info {
    font-size: 13.76px !important;
    margin: 8px 0 18px !important;
    color: #6b7280 !important;
}

/* Botones confirmación con tamaño tipo Youbook */
.yaac-step-2 .yaac-step-actions,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-step-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 14px !important;
}

.yaac-step-2 .yaac-step-actions .yaac-btn,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-step-actions .yaac-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 150px !important;
    max-width: none !important;
    min-height: 43px !important;
    padding: 9px 18px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.yaac-step-2 .yaac-step-actions .yaac-confirm-booking,
.yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-step-actions .yaac-confirm-booking {
    margin-left: auto !important;
}

@media (max-width: 480px) {
    .yaac-step-2 .yaac-payment-option,
    .yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-payment-option,
    .yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-payment-option {
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 16px !important;
        font-size: 13.76px !important;
    }

    .yaac-step-2 .yaac-step-actions,
    .yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-step-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .yaac-step-2 .yaac-step-actions .yaac-btn,
    .yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-step-actions .yaac-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding: 8px 10px !important;
        border-radius: 4px !important;
        font-size: 14px !important;
        white-space: nowrap !important;
    }

    .yaac-step-2 .yaac-step-actions .yaac-confirm-booking,
    .yaac-wrapper:not(.yaac-wrapper-pro-profile) .yaac-step-2 .yaac-step-actions .yaac-confirm-booking {
        margin-left: 0 !important;
    }
}


/* YouAcademy v1.0.8 - botón Malla y modal PDF mobile optimizado */
.yaac-card-service .yaac-title-row{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.yaac-card-service .yaac-title-row h3{
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 0;
}

.yaac-card-badges {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex: 0 0 auto;
    max-width: none;
    min-width: 0;
}

.yaac-badge-malla,
.yaac-badge-popular {
    min-height: 24px;
}

.yaac-badge-malla {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    min-width: max-content !important;
    width: auto !important;
    max-width: none !important;
    height: 24px !important;
    min-height: 24px !important;
    background: #ffffff !important;
    border-radius: 50px !important;
    padding: 3px 9px !important;
    border: 0.5px solid #e5e7eb !important;
    color: #111827 !important;
    font-family: 'KappaDisplay', 'kappa', sans-serif !important;
    font-size: 13.06px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    cursor: pointer;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
}

.yaac-badge-malla img {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    max-width: 13px !important;
    object-fit: contain;
    display: inline-block !important;
    flex: 0 0 13px !important;
    opacity: 1 !important;
    filter: brightness(0) saturate(100%) !important;
}

.yaac-badge-malla span,
.yaac-badge-malla strong {
    display: inline-block !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.yaac-badge-malla:hover,
.yaac-badge-malla:focus-visible {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

.yaac-badge-malla:hover img,
.yaac-badge-malla:focus-visible img {
    filter: brightness(0) invert(1) !important;
}

.yaac-syllabus-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding: 22px;
    overflow: hidden;
    overscroll-behavior: contain;
    box-sizing: border-box;
}

.yaac-syllabus-modal.is-open {
    display: flex;
}

.yaac-syllabus-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.62);
    backdrop-filter: blur(6px);
}

.yaac-syllabus-panel {
    position: relative;
    z-index: 1;
    width: min(960px, calc(100vw - 44px));
    height: min(88vh, 980px);
    max-height: calc(100vh - 44px);
    max-height: calc(100dvh - 44px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 28px 90px rgba(15, 23, 42, 0.28);
}

.yaac-syllabus-header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

.yaac-syllabus-title {
    min-width: 0;
    color: #111827;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yaac-syllabus-close {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #ffffff;
    color: #111827;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.yaac-syllabus-close:hover,
.yaac-syllabus-close:focus-visible {
    background: #000000;
    border-color: #000000;
    color: #ffffff;
}

.yaac-syllabus-body {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow: hidden;
    background: #f3f4f6;
    -webkit-overflow-scrolling: touch;
}

.yaac-syllabus-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    border: 0;
    background: #ffffff;
}

body.yaac-syllabus-open,
html:has(body.yaac-syllabus-open) {
    overflow: hidden !important;
}

@media (max-width: 640px) {
    .yaac-card-service .yaac-title-row{
        gap: 6px;
    }

    .yaac-card-badges {
        max-width: none !important;
        gap: 5px;
    }

    .yaac-badge-malla,
    .yaac-badge-popular {
        font-size: 13.06px !important;
        padding: 3px 8px !important;
    }

    .yaac-syllabus-modal {
        align-items: center;
        justify-content: center;
        padding: 10px;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
        touch-action: none;
    }

    .yaac-syllabus-panel {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        height: calc(100dvh - 20px);
        max-height: calc(100vh - 20px);
        max-height: calc(100dvh - 20px);
        border-radius: 22px;
    }

    @supports (height: 100svh) {
        .yaac-syllabus-modal {
            height: 100svh;
        }
        .yaac-syllabus-panel {
            height: calc(100svh - 20px);
            max-height: calc(100svh - 20px);
        }
    }

    .yaac-syllabus-header {
        padding: 13px 14px;
    }

    .yaac-syllabus-title {
        font-size: 13.5px;
    }

    .yaac-syllabus-close {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .yaac-syllabus-body {
        overflow: hidden;
    }

    .yaac-syllabus-frame {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }
}


/* YouAcademy v1.0.8 - visor de malla estable en mobile con PDF.js */
.yaac-badge-malla {
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
}

.yaac-badge-malla img,
.yaac-badge-malla span {
    display: inline-block !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

.yaac-syllabus-pdfjs {
    display: none;
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
    background: #f3f4f6;
    padding: 14px;
}

.yaac-syllabus-page {
    width: 100%;
    max-width: 820px;
    margin: 0 auto 14px;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.yaac-syllabus-page canvas {
    display: block;
    width: 100% !important;
    height: auto !important;
    background: #ffffff;
}

.yaac-syllabus-page-number {
    padding: 8px 10px;
    background: #111827;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.yaac-syllabus-loader,
.yaac-syllabus-fallback {
    min-height: 240px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    color: #111827;
    padding: 24px;
    box-sizing: border-box;
}

.yaac-syllabus-loader span {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 3px solid #d1d5db;
    border-top-color: #111827;
    animation: yaacSyllabusSpin .8s linear infinite;
}

@keyframes yaacSyllabusSpin {
    to { transform: rotate(360deg); }
}

.yaac-syllabus-fallback a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 12px;
    background: #000000;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 800;
}

@media (max-width: 640px) {
    .yaac-syllabus-modal {
        padding: 10px !important;
        overflow: hidden !important;
        touch-action: auto !important;
    }

    .yaac-syllabus-panel {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        height: calc(100svh - 20px) !important;
        max-height: calc(100svh - 20px) !important;
        border-radius: 22px !important;
        overflow: hidden !important;
    }

    .yaac-syllabus-header {
        flex: 0 0 auto !important;
        padding: 13px 14px !important;
    }

    .yaac-syllabus-title {
        font-size: 13.5px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .yaac-syllabus-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        touch-action: pan-y !important;
        background: #f3f4f6 !important;
    }

    .yaac-syllabus-frame {
        display: none !important;
    }

    .yaac-syllabus-pdfjs {
        padding: 10px !important;
        overflow: visible !important;
    }

    .yaac-syllabus-page {
        max-width: 100% !important;
        margin-bottom: 12px !important;
        border-radius: 12px !important;
    }

    .yaac-syllabus-page-number {
        font-size: 10px !important;
        padding: 7px 9px !important;
    }
}

/* YouAcademy v1.0.10 - alinear tarjetas sin duración (Matrícula). */
.yaac-card-service .yaac-duration-line-placeholder {
    visibility: hidden !important;
    pointer-events: none !important;
}
