.se-skip-link {
    position: absolute;
    left: 12px;
    top: -48px;
    z-index: 100000;
    padding: 0.6rem 1rem;
    background: var(--se-color-primary);
    color: var(--se-color-white);
    border-radius: var(--se-radius-sm);
}

.se-skip-link:focus {
    top: 12px;
}

.se-search-form {
    display: grid;
    gap: 1rem;
}

.se-search-form__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.se-search-form input[type="search"],
.se-search-form select {
    width: 100%;
    max-width: 100%;
    border: 1px solid var(--se-color-border);
    border-radius: var(--se-radius-sm);
    padding: 0.75rem 0.9rem;
    font: inherit;
    color: var(--se-color-text);
    background: var(--se-color-white);
}

.se-search-form label,
.se-contact-form label,
.formulario-contacto-custom label {
    display: block;
    font-weight: 500;
    margin-bottom: 0.35rem;
    color: #4b5563;
}

.se-contact-form p,
.formulario-contacto-custom .form-group,
.formulario-contacto-custom .field-group {
    margin: 0 0 20px;
}

.se-search-form button {
    border: 0;
    border-radius: var(--se-radius-button);
    background: var(--se-color-primary);
    color: var(--se-color-white);
    font-weight: 700;
    padding: 15px 26px;
    cursor: pointer;
}

.se-search-form input:focus,
.se-search-form select:focus {
    outline: 3px solid var(--se-primary);
    outline-offset: 4px;
    border-color: var(--se-primary);
}

.formulario-contacto-custom,
.se-contact-form {
    width: 100%;
    color: #111827;
}

.formulario-contacto-custom h1,
.formulario-contacto-custom h2,
.formulario-contacto-custom h3,
.formulario-contacto-custom h4,
.formulario-contacto-custom h5,
.formulario-contacto-custom h6 {
    color: #111827;
}

.formulario-contacto-custom label,
.formulario-contacto-custom p,
.formulario-contacto-custom span,
.se-contact-form label {
    color: #4b5563;
    font-weight: 500;
}

.formulario-contacto-custom small,
.se-contact-form__hint {
    color: #6b7280;
    font-weight: 500;
}

.formulario-contacto-custom input,
.formulario-contacto-custom textarea,
.formulario-contacto-custom select,
.se-contact-form input,
.se-contact-form textarea,
.se-contact-form select {
    width: 100%;
    background-color: #111827;
    color: #fff;
    border: 1px solid #374151;
    border-radius: 14px;
    padding: 14px 18px;
    font: inherit;
}

.formulario-contacto-custom input:focus,
.formulario-contacto-custom textarea:focus,
.formulario-contacto-custom select:focus,
.se-contact-form input:focus,
.se-contact-form textarea:focus,
.se-contact-form select:focus {
    background-color: #111827;
    color: #fff;
    border-color: #f97316;
    outline: 3px solid var(--se-primary);
    outline-offset: 4px;
}

.formulario-contacto-custom input::placeholder,
.formulario-contacto-custom textarea::placeholder,
.se-contact-form input::placeholder,
.se-contact-form textarea::placeholder {
    color: #9ca3af;
    opacity: 1;
}

.formulario-contacto-custom input:-webkit-autofill,
.formulario-contacto-custom input:-webkit-autofill:hover,
.formulario-contacto-custom input:-webkit-autofill:focus,
.formulario-contacto-custom textarea:-webkit-autofill,
.formulario-contacto-custom select:-webkit-autofill,
.se-contact-form input:-webkit-autofill,
.se-contact-form input:-webkit-autofill:hover,
.se-contact-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: #111827;
    box-shadow: 0 0 0 1000px #fff inset;
}

.formulario-contacto-custom textarea,
.se-contact-form textarea {
    min-height: 180px;
    resize: vertical;
}

.formulario-contacto-custom select,
.formulario-contacto-custom option,
.se-contact-form select,
.se-contact-form option {
    background-color: #fff;
    color: #111827;
}

.formulario-contacto-custom button,
.formulario-contacto-custom input[type="submit"],
.formulario-contacto-custom input[type="button"],
.formulario-contacto-custom .wp-element-button,
.se-contact-form button {
    background-color: #f97316;
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 14px 28px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    box-shadow: none;
}

.formulario-contacto-custom button[type="reset"],
.formulario-contacto-custom input[type="reset"],
.formulario-contacto-custom .cancelar,
.formulario-contacto-custom .btn-cancelar {
    background-color: #111827;
    color: #fff;
}

.formulario-contacto-custom button:hover,
.formulario-contacto-custom input[type="submit"]:hover,
.formulario-contacto-custom input[type="button"]:hover,
.formulario-contacto-custom .wp-element-button:hover,
.se-contact-form button:hover {
    opacity: 0.92;
}

.formulario-contacto-custom .success,
.formulario-contacto-custom .message-success {
    color: #166534;
}

.formulario-contacto-custom .error,
.formulario-contacto-custom .message-error {
    color: #dc2626;
}

@media (max-width: 768px) {
    .formulario-contacto-custom input,
    .formulario-contacto-custom textarea,
    .formulario-contacto-custom select,
    .se-contact-form input,
    .se-contact-form textarea,
    .se-contact-form select {
        padding: 12px 14px;
    }

    .formulario-contacto-custom button,
    .formulario-contacto-custom input[type="submit"],
    .se-contact-form button {
        width: 100%;
    }
}

.se-search-types {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.se-search-types a,
.se-search-types span {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--se-color-border);
    color: var(--se-color-text);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
}

.se-search-types a.is-active,
.se-search-types span.is-active {
    background: var(--se-color-surface-2);
    border-color: var(--se-color-primary);
    color: var(--se-color-primary);
}

.se-search-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.se-contact-notice {
    padding: 0.85rem 1rem;
    border-radius: var(--se-radius-sm);
    margin-bottom: 1rem;
}

.se-contact-notice--ok {
    background: #ecfdf3;
    color: #166534;
}

.se-contact-notice--error {
    background: #fef2f2;
    color: #dc2626;
}

.se-example-note {
    font-size: 0.875rem;
    color: var(--se-color-muted);
}

.se-legal-list a {
    color: var(--se-color-text);
}

.se-search-form__row input[type="search"] {
    flex: 1 1 220px;
}

.se-search-form__row select {
    flex: 1 1 160px;
}

.se-search-form--stacked .se-search-form__row {
    flex-direction: column;
    align-items: stretch;
}

.se-search-form--stacked .se-search-form__row input[type="search"],
.se-search-form--stacked .se-search-form__row select,
.se-search-form--stacked .se-search-form__row button {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
}

.se-catalog-filters__reset {
    display: inline-flex;
    align-items: center;
    align-self: center;
    font-weight: 600;
    color: var(--se-color-text);
    text-decoration: none;
    padding: 0.5rem 0;
}

.se-catalog-filters__reset:hover {
    color: var(--se-color-primary);
}

.se-search-form__legend {
    margin: 0 0 0.35rem;
    font-weight: 500;
    color: #4b5563;
}

.se-search-count,
.se-search-preview,
.se-search-empty {
    margin: 0 0 1.25rem;
    color: var(--se-color-muted, #4b5563);
}

.se-search-empty {
    padding: 1.25rem 0;
}

.se-search-results {
    --se-search-cols: 3;
}

.se-search-results .se-catalog--grid,
.se-search-results .se-catalog--cards {
    grid-template-columns: repeat(var(--se-search-cols, 3), minmax(0, 1fr));
}

.se-search-pagination {
    margin-top: 2rem;
}

.se-search-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.se-search-pagination .page-numbers li {
    margin: 0;
}

.se-search-pagination .page-numbers a,
.se-search-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--se-color-border);
    background: var(--se-color-white);
    color: var(--se-color-text);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.875rem;
}

.se-search-pagination .page-numbers a:hover {
    border-color: var(--se-color-primary);
    color: var(--se-color-primary);
}

.se-search-pagination .page-numbers .current {
    background: var(--se-color-primary);
    border-color: var(--se-color-primary);
    color: var(--se-color-white);
}

@media (max-width: 900px) {
    .se-search-results .se-catalog--grid,
    .se-search-results .se-catalog--cards {
        grid-template-columns: repeat(min(2, var(--se-search-cols, 3)), minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .se-search-form__row {
        flex-direction: column;
    }

    .se-search-form__row input[type="search"],
    .se-search-form__row select,
    .se-search-form__row button {
        width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
    }

    .se-search-results .se-catalog--grid,
    .se-search-results .se-catalog--cards {
        grid-template-columns: minmax(0, 1fr);
    }
}
