/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Material Icons size helpers (explicit so we can rely on them in views) */
.material-icons.md-18 {
  font-size: 18px;
  line-height: 1;
}
.material-icons.md-24 {
  font-size: 24px;
  line-height: 1;
}
.material-icons.md-36 {
  font-size: 36px;
  line-height: 1;
}
.material-icons.md-48 {
  font-size: 48px;
  line-height: 1;
}

/* Optional extra small (not in Google's defaults) */
.material-icons.md-14 {
  font-size: 14px;
  line-height: 1;
}

/* Form styling improvements */
/* Custom dropdown arrow for all select elements */
select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  appearance: none;
}

/* Hover state for select elements */
select:not([multiple]):not([size]):hover {
  border-color: #9ca3af;
}

/* Fullscreen (browser API) styles using :fullscreen pseudo-class */
:fullscreen {
  margin: 0;
  padding: 0;
}
:fullscreen nav[data-fullscreen-target="navbar"] {
  display: none !important;
}
:fullscreen main {
  max-width: none !important;
  width: 100vw;
  height: 100vh;
  margin: 0 !important;
  padding: 0.5rem;
  box-sizing: border-box;
}
:fullscreen .container {
  max-width: 100% !important;
}

/* Hide marked elements (e.g., back buttons) while in fullscreen */
:fullscreen [data-fullscreen-hide] {
  display: none !important;
}
