/* Body Background */
body {
  background-color: var(--body-bg);
}
label {
  color: var(--primary-text) !important;
}
input, select ,textarea{
  background-color: var(--card-bg) !important;
  opacity: 1;
  color: var(--primary-text) !important;
  border: 1px solid var(--primary-text) !important;
  transition: border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}
/* On focus */
input:focus, select:focus ,textarea:onfocus {
  outline: none !important;
  box-shadow: none !important;  
  border: 1px solid var(--primary-text) !important;
  background-color: var(--card-bg) !important;
  color: var(--primary-text) !important;
}
input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0px 1000px var(--card-bg) inset !important;
    -webkit-text-fill-color: var(--primary-text) !important;
    border: 1px solid var(--primary-text) !important; /* keep border after autofill */
    transition: background-color 5000s ease-in-out 0s; /* optional for smooth override */
}
/* Remove default arrow */
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  padding-right: 2rem; /* space for arrow */
}

/* Custom arrow using mask */
select {
  background-image: none; /* ensure no default arrow */
}

select::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.6rem;
  height: 0.6rem;
  pointer-events: none;
  transform: translateY(-50%);
  
  background-color: var(--primary-text); /* dynamic theme color */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>") no-repeat center;
  -webkit-mask-size: contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>") no-repeat center;
  mask-size: contain;
}

/* Ensure container is relative */
select {
  position: relative;
}
/* Wrapper around the select */
.select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.select-wrapper select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  padding-right: 2rem; /* space for arrow */
  background: transparent; /* remove default */
}

/* Custom arrow */
.select-wrapper::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 1.6rem;   /* ⬅ increase width */
  height: 1.6rem;  /* ⬅ increase height */
  transform: translateY(-50%);
  pointer-events: none;

  background-color: var(--primary-text);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat center;
  -webkit-mask-size: contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
}


/* Style the date input */
input[type="date"] {
  position: relative;
  padding-right: 2rem; /* space for icon */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* Hide default icon */
input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* Custom calendar icon */
input[type="date"]::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  transform: translateY(-50%);
  
  background-color: var(--primary-text); /* dynamic theme color */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 002 2h14a2 2 0 002-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'/></svg>") no-repeat center;
  -webkit-mask-size: contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 002 2h14a2 2 0 002-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'/></svg>") no-repeat center;
  mask-size: contain;
}


.background-color{
  background-color: var(--card-bg);
}
.bg{
  background-color: var(--body-bg);
}
/* Navigation Text */

.nav-text-color{
  color: var(--nav-text) !important;
}
.nav-theme .dropdown-item {
  background-color: var(--nav-bg) !important;
  color: var(--nav-text) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}
/* Hover styles only for dropdown items inside .nav-theme dropdown */
.nav-theme .dropdown-item:hover {
  background-color: var(--nav-text) !important;
  color: var(--nav-bg) !important;
}
.nav-text-color:hover,
.nav-text-color:focus {
  color: var(--nav-text) !important;
}
.about-us-page {
  background-color: var(--body-bg);
}
/* Text Elements */
.text-title-page,
.text-key,
.card-title,
.icon-text-color,
.navbar-light .navbar-toggler-icon::after,
.navbar-light .navbar-toggler-icon::before {
  color: var(--primary-text) !important;
}
/* Footer and Card Backgrounds */
.shadow-bg {
  background-color: var(--card-bg);
  color: var(--primary-text) !important;
  box-shadow: 0 .5rem 1rem var(--footer-bg) !important;
}     
.footer{
  background-color: var(--footer-bg);
  color: var(--footer-text) !important;
}
/* Small Text */
.text-small, .text-value {
  color: var(--secondary-text);
}
.text-key:hover ,
.text-title-page:hover,
{
  color: var(--primary-text) !important;

}
/* Hover Text Colors */
a:hover,
.text-small:hover,
 {
  color: var(--secondary-text) !important;
}
/* Common Button */
.button-common
{
  background-color: var(--footer-bg);
  color: var(--primary-text);
  border: 2px solid var(--primary-text);
}
.button-common:hover {
  background-color: var(--primary-text);
  color: var(--footer-bg);
}
.btn-green{
  background-color:var(--success-color);
  color: var(--primary-text) !important;
  border: 2px solid var(--primary-text);
}
.btn-red{
  background-color:var(--danger-color);
  color: var(--primary-text) !important;
  border: 2px solid var(--primary-text);
}
/* Themed Background Blocks */
.theme ,
.package-card {
  background-color: var(--footer-bg);
  color: var(--primary-text);
}
/* Overlay Text */
.overlay-text {
  background-color: var(--primary-text);
  color: var(--footer-bg);
}
/* Custom Button */
.button-custom,
.button-custom:hover {
  background-color: var(--body-bg);
  color: var(--primary-text) !important;
}
.icon{
  background-color:var(--primary-text) !important;
  color:var(--body-bg);
}
.text-red {
  color: var(--danger-color);
}
.text-green {
  color: var(--success-color);
}
/* Error Info Background */
.error-info {
  background-color: var(--danger-color);
}
.back-to-top {
 background-color: var(--primary-text);
  color: var(--footer-bg);
  border: 2px solid var(--primary-text);

}
.back-to-top:hover {
 background-color: var(--primary-text);
  color: var(--footer-bg);
  border: 2px solid var(--primary-text);
}
.logo-bg{
 background-color: var(--primary-text);
}
.message {
  background-size: 40px 40px;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent);
  width: 100%;
  color: #fff;
  margin: -1px;
  padding: 15px;
  position: sticky;
  font-weight: 700;
  animation: animate-bg 2s linear infinite
}
.error-info {
  background-color: #f64b2f
}
.info {
  background-color: #7eb62e
}
.info_info {
  background-color: #f60
}