/* Yujju design system — formularios.
   Inputs, selects, áreas de texto, cantidad y búsqueda con un solo estilo plano. */

.yj-ds input[type="text"],
.yj-ds input[type="email"],
.yj-ds input[type="password"],
.yj-ds input[type="tel"],
.yj-ds input[type="number"],
.yj-ds input[type="search"],
.yj-ds input[type="url"],
.yj-ds input[type="date"],
.yj-ds select,
.yj-ds textarea,
.yj-ds .form-control,
.yj-ds .input-text,
.yj-ds .select2-container .select2-selection--single {
    min-height: var(--yj-control-h);
    padding: 10px var(--yj-space-4);
    font-family: var(--yj-font-body);
    font-size: 15px;
    line-height: 1.4;
    color: var(--yj-ink);
    background-color: var(--yj-white);
    border: 1px solid var(--yj-line-strong);
    border-radius: var(--yj-radius);
    box-shadow: none !important;
    transition: border-color var(--yj-transition), box-shadow var(--yj-transition);
}
.yj-ds textarea { min-height: 120px; }

.yj-ds input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
.yj-ds select:focus,
.yj-ds textarea:focus,
.yj-ds .form-control:focus,
.yj-ds .input-text:focus {
    outline: none;
    border-color: var(--yj-primary);
    box-shadow: 0 0 0 3px var(--yj-primary-soft) !important;
}

.yj-ds ::placeholder { color: var(--yj-muted); opacity: 1; }

.yj-ds .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
    height: var(--yj-control-h);
}
.yj-ds .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: 1.4;
    color: var(--yj-ink);
}
.yj-ds .select2-container .select2-selection--single .select2-selection__arrow { height: 100%; right: 10px; }
.yj-ds .select2-dropdown {
    border-color: var(--yj-line-strong);
    border-radius: var(--yj-radius);
    box-shadow: var(--yj-shadow-float);
}

.yj-ds label,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) form .form-row label {
    font-size: var(--yj-text-sm);
    font-weight: 500;
    color: var(--yj-ink);
    margin-bottom: var(--yj-space-2);
}
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) form .form-row .required { color: var(--yj-primary); text-decoration: none; }

.yj-ds input[type="checkbox"],
.yj-ds input[type="radio"] { accent-color: var(--yj-primary); }

/* Selector de cantidad del tema (+ / -) */
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--yj-line-strong);
    border-radius: var(--yj-radius);
    overflow: hidden;
    background: var(--yj-white);
}
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity input.qty {
    min-height: var(--yj-control-h);
    width: 56px;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    text-align: center;
    font-weight: 500;
}
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity .plus,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity .minus {
    /* Área táctil ≥ 44×44: en fila – valor + (el tema los apila absolutos en ~30×25). */
    position: static;
    min-width: 44px;
    height: auto;
    min-height: 44px;
    align-self: stretch;
    padding: 0;
    color: var(--yj-ink);
    background: transparent !important;
    border: 0 !important;
    box-shadow: none;
}
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity input.qty { order: 2; }
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity .plus { order: 3; }
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity .plus:hover,
:is(.yj-ds.woocommerce, .yj-ds .woocommerce) .quantity .minus:hover {
    color: var(--yj-primary);
    background: var(--yj-blush) !important;
}

/* Mensajes de WooCommerce: tarjetas planas con acento lateral. */
.yj-ds .woocommerce-message,
.yj-ds .woocommerce-info,
.yj-ds .woocommerce-error,
.yj-ds .woocommerce-notice {
    font-size: 15px;
    /* El tema usa line-height 3.3: un aviso de dos líneas se separa como párrafos. */
    line-height: var(--yj-leading);
    color: var(--yj-text);
    background: var(--yj-blush);
    border: 0;
    border-left: 3px solid var(--yj-primary);
    border-radius: var(--yj-radius);
    box-shadow: none;
}
.yj-ds .woocommerce-error { border-left-color: var(--yj-danger); }
.yj-ds .woocommerce-message { border-left-color: var(--yj-success); }
.yj-ds .woocommerce-message::before,
.yj-ds .woocommerce-info::before { color: var(--yj-primary); }
.yj-ds .woocommerce-message::before { color: var(--yj-success); }
.yj-ds .woocommerce-error::before { color: var(--yj-danger); }
