/* Forms and Inputs Styles */

/* Base input and button styles */
input,
button,
textarea,
.wpcf7-text,
.wpcf7-submit,
.wpcf7-textarea,
.wpcf7-form-control,
input[type='checkbox'],
.wpcf7-form-control-wrap,
.wp-block-search__input,
.exploreezy-search-form button,
.exploreezy-search-form input[type='search'],
.select2-selection.select2-selection--multiple,
.exploreezy-search-form .select2-container .select2-selection--multiple {
  color: var(--text-secondary);
  background-color: var(--background-primary);
  border-color: var(--border-secondary);
  outline: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

/* Hover state */
input:hover,
textarea:hover,
.wpcf7-text:hover,
.wpcf7-textarea:hover,
.wpcf7-form-control:hover,
input[type='checkbox']:hover,
.wpcf7-form-control-wrap:hover,
.wp-block-search__input:hover,
.exploreezy-search-form input[type='search']:hover,
.select2-selection.select2-selection--multiple:hover,
.exploreezy-search-form .select2-container .select2-selection--multiple:hover {
  color: var(--text-primary);
  border-color: var(--border-primary);
}

/* Focus and Active state: using outline for accessibility */
input:focus,
textarea:focus,
.wpcf7-text:focus,
.wpcf7-textarea:focus,
.wpcf7-form-control:focus,
input[type='checkbox']:focus,
.wpcf7-form-control-wrap:focus,
.wp-block-search__input:focus,
.exploreezy-search-form input[type='search']:focus,
.select2-selection.select2-selection--multiple:focus,
.exploreezy-search-form .select2-container .select2-selection--multiple:focus,
input:active,
textarea:active,
.wpcf7-text:active,
.wpcf7-textarea:active,
.wpcf7-form-control:active,
input[type='checkbox']:active,
.wpcf7-form-control-wrap:active,
.wp-block-search__input:active,
.exploreezy-search-form input[type='search']:active,
.select2-selection.select2-selection--multiple:active,
.exploreezy-search-form .select2-container .select2-selection--multiple:active,
.select2-selection.select2-selection--multiple:focus-within,
.select2-selection.select2-selection--multiple:focus-visible,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-within,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-visible,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-within,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-visible {
  outline: none;
  border: none;
  box-shadow: 0 0 0 3px rgba(100, 150, 250, 0.5);
}

.select2-selection.select2-selection--multiple:active,
.exploreezy-search-form .select2-container .select2-selection--multiple:active,
.select2-selection.select2-selection--multiple:focus-within,
.select2-selection.select2-selection--multiple:focus-visible,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-within,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-visible,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-within,
.exploreezy-search-form
  .select2-container
  .select2-selection--multiple:focus-visible {
  padding-top: 3px;
}

/* Button styles */

button,
.wpcf7-submit,
.exploreezy-search-form button {
  cursor: pointer;
}

button:hover,
.wpcf7-submit:hover,
.exploreezy-search-form button:hover {
  color: var(--background-primary);
  background-color: var(--text-primary);
}

button:focus,
.wpcf7-submit:focus,
.exploreezy-search-form button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(100, 150, 250, 0.5);
}

/* Base styles for button-like links */
.wp-block-button a,
.is-style-norrsken-post-terms a,
.is-style-norrsken-pagination > a,
.is-style-norrsken-pagination .wp-block-query-pagination-numbers > a {
  color: var(--text-primary);
  background: var(--background-primary);
  cursor: pointer;
  border: 1px solid var(--border-secondary);
  text-decoration: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  outline: none; /* remove default focus */
  text-transform: uppercase;
}

/* Hover state */
.wp-block-button a:hover,
.is-style-norrsken-post-terms a:hover,
.is-style-norrsken-pagination > a:hover,
.is-style-norrsken-pagination .wp-block-query-pagination-numbers > a:hover {
  color: var(--background-primary);
  background-color: var(--text-primary);
}

/* Focus state: accessible outline */
.wp-block-button a:focus,
.is-style-norrsken-post-terms a:focus,
.is-style-norrsken-pagination > a:focus,
.is-style-norrsken-pagination .wp-block-query-pagination-numbers > a:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(100, 150, 250, 0.5);
}
