/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
/*! 
   ==========================================================================
   ЗДЕСЬ НАЧИНАЮТСЯ ВАШИ КАСТОМНЫЕ СТИЛИ (CUSTOM STYLES)
   ========================================================================== 
*/
@layer properties;
@layer theme, base, components, utilities;

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.quick-section-nav {
  position: sticky;
  top: 88px;
  z-index: 55;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: -10px 0 14px;
  padding: 9px 10px;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  scrollbar-width: none;
}

.quick-section-nav::-webkit-scrollbar {
  display: none;
}

.quick-section-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  min-width: 0;
  min-height: 0;
  padding: 5px 7px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #334155;
  background: transparent;
  box-shadow: none;
  font-size: 10.2px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.quick-section-link:hover {
  color: #111827;
  background: transparent;
}

.quick-section-link:active {
  transform: scale(0.97);
}

.quick-section-link.is-active {
  border-color: rgba(234, 179, 8, 0.42);
  color: #111827;
  background: linear-gradient(135deg, rgba(255, 240, 0, 0.42), rgba(255, 255, 255, 0.92));
  box-shadow: 0 6px 16px rgba(234, 179, 8, 0.14);
}

.quick-section-link:not(:last-child)::after {
  content: "/";
  margin-left: 8px;
  color: #cbd5e1;
}

.site-logo-img {
  display: block;
  width: 80px;
  height: auto;
  max-width: 30vw;
  object-fit: contain;
}

.footer-logo-img {
  display: block;
  width: 128px;
  height: auto;
  filter: grayscale(1) saturate(0);
}

.footer-copyright {
  display: grid;
  gap: 4px;
  line-height: 1.45;
}

.home-main > footer {
  padding-bottom: 10px !important;
}

@media (min-width: 640px) {
  .site-logo-img {
    width: 80px;
    max-width: none;
  }

  .footer-logo-img {
    width: 150px;
  }
}

.section-shell {
  scroll-margin-top: 118px;
}

#rental-catalog .equipment-card {
  position: relative;
  overflow: hidden;
  margin-bottom: 14px !important;
  padding: 14px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 254, 242, 0.94) 100%) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.075) !important;
}

#rental-catalog .equipment-card::before {
  content: none;
}

#rental-catalog .equipment-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.09) !important;
}

#rental-catalog .equipment-card > .flex.gap-3 {
  position: relative;
  z-index: 1;
  gap: 12px;
  align-items: flex-start;
}

#rental-catalog .product-image {
  width: 112px;
  height: 112px;
  padding: 10px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72), 0 8px 20px rgba(15, 23, 42, 0.055);
}

#rental-catalog .review-btn {
  min-height: 34px;
  margin-top: 8px;
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.88);
  color: #334155 !important;
  box-shadow: 0 7px 16px rgba(15, 23, 42, 0.055);
  font-size: 0.68rem;
  font-weight: 800;
}

#rental-catalog .equipment-card h3 {
  color: #111827;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: 0;
}

#rental-catalog .equipment-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 7px;
  min-width: 0;
  max-width: 100%;
}

#rental-catalog .equipment-title > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

#rental-catalog .equipment-model-tag {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 20px;
  padding: 3px 7px 3px;
  border: 1px solid rgba(234, 179, 8, 0.34);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 240, 0, 0.32), rgba(255, 255, 255, 0.92));
  color: #334155;
  box-shadow: 0 6px 14px rgba(234, 179, 8, 0.11);
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

#rental-catalog .equipment-use-tags {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
  margin-bottom: 6px;
  padding-top: 9px;
}

#rental-catalog .equipment-use-tags::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(100%, 210px);
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(234, 179, 8, 0.42), rgba(226, 232, 240, 0.72), rgba(226, 232, 240, 0));
}

#rental-catalog .equipment-use-tags span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 23px;
  max-width: 100%;
  padding: 4px 7px;
  border: 1px solid rgba(226, 232, 240, 0.96);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  color: #475569;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.04);
  font-size: 0.64rem;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}

#rental-catalog .equipment-use-tags svg {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  color: #334155;
  stroke-width: 2.3;
}

#rental-catalog .equipment-card h3 + p {
  margin-top: 5px;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.38;
}

#rental-catalog .equipment-card label:has(input[type="radio"]) {
    position: relative;
min-height: 30px;
  padding: 6px 8px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.78);
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

#rental-catalog .equipment-card label:has(input[type="radio"]:checked) {
  border-color: rgba(255, 240, 0, 0.95);
  background: rgba(255, 240, 0, 0.16);
}

#rental-catalog .equipment-card label:has(input[type="radio"]):active {
  transform: scale(0.99);
}

#rental-catalog .equipment-card input[type="radio"] {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}


#rental-catalog .equipment-card label span,
#rental-catalog .equipment-card details,
#rental-catalog .equipment-card select {
  color: #334155;
}

#rental-catalog .addon-line-item,
#combo-section .addon-line-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  flex-wrap: wrap;
  row-gap: 4px;
}

#rental-catalog .addon-line-name,
#combo-section .addon-line-name {
  min-width: 0;
  color: #334155;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

#rental-catalog .addon-line-price,
#combo-section .addon-line-price {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 3px 7px;
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 999px;
  background: rgba(236, 253, 245, 0.9);
  color: #047857;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

#rental-catalog .equipment-card details,
#combo-section .equipment-card details {
  margin-top: 10px;
  padding: 8px;
  border: 1px solid rgba(226, 232, 240, 0.78);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045);
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

#rental-catalog .equipment-card details[open],
#combo-section .equipment-card details[open] {
  border-color: rgba(250, 204, 21, 0.55);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 251, 235, 0.88));
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

#rental-catalog .equipment-card summary,
#combo-section .equipment-card summary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 30px;
  padding: 5px 7px;
  border: 1px solid rgba(226, 232, 240, 0.75);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.92));
  color: #334155 !important;
  font-size: 0.68rem !important;
  font-weight: 900;
  letter-spacing: 0;
  list-style: none;
}

#rental-catalog .equipment-card summary::-webkit-details-marker,
#combo-section .equipment-card summary::-webkit-details-marker {
  display: none;
}

#rental-catalog .equipment-card summary::before,
#combo-section .equipment-card summary::before {
  content: "";
  width: 8px;
  height: 22px;
  margin-right: 8px;
  border-radius: 999px;
  background: #fff000;
  box-shadow: 0 5px 12px rgba(234, 179, 8, 0.18);
}

#rental-catalog .equipment-card summary::after,
#combo-section .equipment-card summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-left: auto;
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
  font-size: 14px;
  font-weight: 900;
}

#rental-catalog .equipment-card details[open] summary::after,
#combo-section .equipment-card details[open] summary::after {
  content: "−";
  background: #fff7cc;
  color: #111827;
}

#rental-catalog .equipment-card details > ul,
#combo-section .equipment-card details > ul {
  margin-top: 8px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(226, 232, 240, 0.64);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.62);
  color: #475569 !important;
  line-height: 1.45;
}

#rental-catalog .equipment-card details > ul li,
#combo-section .equipment-card details > ul li {
  font-weight: 750;
}

#rental-catalog .equipment-card details > ul li strong,
#combo-section .equipment-card details > ul li strong {
  color: #0f172a;
  font-weight: 900;
}

#rental-catalog .equipment-card .mt-3.pt-3.border-t {
  position: relative;
  z-index: 1;
  margin: 12px -4px -4px;
  padding: 12px !important;
  border: 1px solid rgba(226, 232, 240, 0.72) !important;
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.72);
}

#rental-catalog .equipment-card .mt-3.pt-3.border-t p:first-child {
  margin-bottom: 8px;
  color: #166534 !important;
  font-size: 0.68rem;
  letter-spacing: 0;
}

#rental-catalog .info-btn {
  border-color: rgba(226, 232, 240, 0.9);
  background: #ffffff;
  color: #64748b;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.05);
}

#rental-catalog .addon-btn {
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.07);
}

#rental-catalog .quantity-input {
  width: 34px;
  height: 28px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 10px;
  background: #ffffff;
}

#rental-catalog select {
  min-height: 30px;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 10px !important;
  background: #ffffff;
  color: #334155;
  font-weight: 800;
}

#combo-section .equipment-card {
  position: relative;
  overflow: hidden;
  margin-bottom: 14px !important;
  padding: 14px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 254, 242, 0.94) 100%) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.075) !important;
}

#combo-section .equipment-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.09) !important;
}

#combo-section .equipment-card > .flex.gap-3 {
  position: relative;
  z-index: 1;
  gap: 12px;
  align-items: flex-start;
}

#combo-section .equipment-card > .flex.gap-3 > .flex.gap-1 {
  flex: 0 0 auto;
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72), 0 8px 20px rgba(15, 23, 42, 0.055);
}

#combo-section .equipment-card > .flex.gap-3 > .flex.gap-1 img {
  padding: 5px !important;
  border: 1px solid rgba(226, 232, 240, 0.75);
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.9) !important;
}

#combo-section .equipment-card h3 {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(254, 202, 202, 0.95);
  border-radius: 999px;
  color: #991b1b;
  background: #fef2f2;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

#combo-section .equipment-card h3 + p {
  margin-top: 7px;
  color: #334155;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.3;
}

#combo-section .equipment-card label:has(input[type="radio"]) {
    position: relative;
min-height: 30px;
  padding: 6px 8px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.78);
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

#combo-section .equipment-card label:has(input[type="radio"]:checked) {
  border-color: rgba(255, 240, 0, 0.95);
  background: rgba(255, 240, 0, 0.16);
}

#combo-section .equipment-card label:has(input[type="radio"]):active {
  transform: scale(0.99);
}

#combo-section .equipment-card input[type="radio"] {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

#combo-section .equipment-card label span,
#combo-section .equipment-card details,
#combo-section .equipment-card select {
  color: #334155;
}

#combo-section .equipment-card .mt-3.pt-3.border-t {
  position: relative;
  z-index: 1;
  margin: 12px -4px -4px;
  padding: 12px !important;
  border: 1px solid rgba(226, 232, 240, 0.72) !important;
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.72);
}

#combo-section .equipment-card .mt-3.pt-3.border-t p:first-child {
  margin-bottom: 8px;
  color: #166534 !important;
  font-size: 0.68rem;
  letter-spacing: 0;
}

#combo-section .addon-btn {
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.07);
}

#combo-section .quantity-input {
  width: 34px;
  height: 28px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 10px;
  background: #ffffff;
}

#combo-section .combo-card {
  padding: 14px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
}

#combo-section .combo-card::after {
  content: none;
}

#combo-section .combo-card-main {
  display: block !important;
  padding: 0;
}

#combo-section .combo-card-media {
  position: relative;
  width: 100%;
  height: 132px;
  min-height: 132px;
  margin-bottom: 12px;
  padding: 0 !important;
  border-radius: 18px 18px 14px 14px !important;
  border: 1px solid rgba(226, 232, 240, 0.86) !important;
  background:
    linear-gradient(180deg, rgba(255, 240, 0, 0.2), rgba(255, 255, 255, 0.98)),
    radial-gradient(circle at 12% 12%, rgba(255, 240, 0, 0.34), transparent 38%),
    #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
  overflow: hidden;
}

#combo-section .combo-card-media::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 2;
  height: 42px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 86%);
}

#combo-section .combo-card-img {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  min-height: 0;
  padding: 10px 14px 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  object-fit: contain;
  transform: none;
}

#combo-section .combo-card-content {
  padding: 0 2px;
}

#combo-section .combo-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

#combo-section .combo-title-row h3 {
  flex: 0 0 auto;
  margin: 0;
  border-color: rgba(253, 230, 138, 0.95);
  color: #854d0e;
  background: rgba(254, 249, 195, 0.9);
}

#combo-section .combo-saving-tag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 4px 7px;
  border: 1px solid rgba(167, 243, 208, 0.92);
  border-radius: 999px;
  color: #047857;
  background: rgba(236, 253, 245, 0.94);
  font-size: 0.58rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

#combo-section .combo-card-name {
  margin-top: 7px !important;
  color: #0f172a !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.01em;
}

#combo-section .combo-card-desc {
  margin-top: 3px;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.28;
}

#combo-section .combo-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 7px;
}

#combo-section .combo-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 4px 7px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 999px;
  color: #334155;
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.62rem;
  font-weight: 750;
  line-height: 1;
}

#combo-section .combo-tariffs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px !important;
}

#combo-section .combo-tariffs label {
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center;
  gap: 4px !important;
  min-height: 44px !important;
  padding: 7px 8px !important;
  border-radius: 13px;
}

#combo-section .combo-tariffs input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#combo-section .combo-tariffs label span {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 100%;
  color: #0f172a !important;
  font-size: 0.72rem !important;
  font-weight: 800;
  line-height: 1.05;
}

#combo-section .combo-tariffs label strong {
  color: #64748b;
  font-size: 0.64rem;
  font-weight: 800;
  text-transform: uppercase;
}

#combo-section .combo-tariffs .combo-saving-badge {
  align-self: stretch;
  justify-content: center;
  margin-left: 0;
  margin-top: 1px;
  font-size: 0.6rem !important;
}

#combo-section .combo-tariffs button[onclick^="clearCombo"] {
  grid-column: 1 / -1;
  justify-self: flex-start;
  margin-top: -1px;
}

#combo-section .combo-included-line {
  margin-top: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(226, 232, 240, 0.78);
  border-radius: 12px;
  color: #475569;
  background: rgba(248, 250, 252, 0.72);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.25;
}

#combo-section .combo-card .mt-3.pt-3.border-t {
  margin: 12px -14px -14px !important;
  border-width: 1px 0 0 !important;
  border-radius: 0 0 22px 22px !important;
  background: rgba(248, 250, 252, 0.72);
}

@media (max-width: 430px) {
  #combo-section .combo-card-main {
    display: block !important;
    padding: 0;
  }

  #combo-section .combo-card-media {
    width: 100%;
    height: 118px;
    min-height: 118px;
    margin-bottom: 10px;
  }

  #combo-section .combo-card-name {
    font-size: 0.92rem !important;
  }

  #combo-section .combo-saving-tag {
    font-size: 0.58rem;
    padding-inline: 7px;
  }
}

.combo-saving-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 3px;
  padding: 2px 6px;
  border: 1px solid rgba(187, 247, 208, 0.9);
  border-radius: 999px;
  color: #15803d !important;
  background: rgba(240, 253, 244, 0.86);
  font-weight: 900;
  line-height: 1;
}

.equipment-card img {
  cursor: zoom-in;
}

.equipment-card {
  cursor: pointer;
}

.equipment-card button,
.equipment-card input,
.equipment-card select,
.equipment-card label,
.equipment-card details,
.equipment-card summary,
.equipment-card textarea {
  cursor: auto;
}

body.equipment-detail-page {
  background:
    radial-gradient(circle at 50% 130px, rgba(255, 240, 0, 0.18), transparent 270px),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 42%, #f8fafc 100%);
}

.equipment-detail-page main {
  padding-bottom: 18px;
}

.equipment-detail-page main > nav {
  display: inline-flex;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid rgba(226, 232, 240, 0.86);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.equipment-detail-page main > .equipment-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffef2 100%) !important;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08) !important;
  transform: none !important;
  cursor: default;
}

.equipment-detail-page main > .equipment-card::before {
  content: none;
}

.equipment-detail-page main > .equipment-card > * {
  position: relative;
  z-index: 1;
}

.equipment-detail-page .product-img-container {
  width: 168px;
  height: 168px;
  margin-bottom: 22px;
  animation: none;
}

.equipment-detail-page .product-img-box {
  border-radius: 30px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, rgba(255, 240, 0, 0.7), rgba(226, 232, 240, 0.9)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.09);
  transform: rotate(-4deg);
}

.equipment-detail-page .product-img-main {
  width: 136px;
  height: 136px;
}

.equipment-detail-page main > .equipment-card h1 {
  max-width: 420px;
  font-size: 25px;
  line-height: 1.06;
  letter-spacing: -0.02em;
}

.equipment-detail-page main > .equipment-card h1 + meta + p {
  max-width: 360px;
  color: #64748b !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}

.equipment-detail-page main > .equipment-card h1 + meta + p::after {
  content: "";
  display: block;
  width: 58px;
  height: 4px;
  margin: 12px auto 0;
  border-radius: 999px;
  background: #fff000;
}

.equipment-detail-page main > .equipment-card [itemtype="https://schema.org/Offer"] {
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 22px !important;
  background: rgba(248, 250, 252, 0.78) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.equipment-detail-page main > .equipment-card [itemtype="https://schema.org/Offer"] h3,
.equipment-detail-page main > .equipment-card .space-y-2 > h3 {
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #334155;
}

.equipment-detail-page main > .equipment-card [itemtype="https://schema.org/Offer"] label {
  min-height: 58px;
  border-radius: 18px !important;
  border-color: #e2e8f0 !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.equipment-detail-page main > .equipment-card [itemtype="https://schema.org/Offer"] label:has(input:checked) {
  border-color: rgba(234, 179, 8, 0.72) !important;
  background: linear-gradient(135deg, #ffffff, #fffbe6) !important;
  box-shadow: 0 12px 26px rgba(234, 179, 8, 0.16);
}

.equipment-detail-page main > .equipment-card [itemtype="https://schema.org/Offer"] label:active {
  transform: scale(0.985);
}

.equipment-detail-page main > .equipment-card input[type="radio"] {
  width: 18px;
  height: 18px;
}

.equipment-detail-page main > .equipment-card .space-y-2 > div.flex.items-center.justify-between {
  gap: 12px;
  min-height: 58px;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.equipment-detail-page main > .equipment-card .space-y-2 > div.flex.items-center.justify-between > div:first-child {
  min-width: 0;
}

.equipment-detail-page main > .equipment-card .space-y-2 > div.flex.items-center.justify-between span {
  line-height: 1.25;
}

.equipment-detail-page main > .equipment-card .addon-btn {
  display: inline-grid;
  place-items: center;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #e2e8f0;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
}

.equipment-detail-page main > .equipment-card .addon-btn:last-child {
  border-color: rgba(234, 179, 8, 0.5);
  background: #fff000 !important;
}

.equipment-detail-page main > .equipment-card .quantity-input {
  width: 34px;
  min-width: 34px;
  height: 34px;
  border-radius: 13px;
  background: #f8fafc;
}

.equipment-detail-page main > .equipment-card select {
  min-height: 36px;
  border-color: #e2e8f0 !important;
  border-radius: 13px !important;
  background: #ffffff;
  font-weight: 800;
  color: #334155;
}

.equipment-detail-page main > .equipment-card details {
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 20px;
  background: #ffffff;
  padding: 13px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
}

.equipment-detail-page main > .equipment-card details summary {
  color: #334155 !important;
}

.equipment-detail-page main > .equipment-card details > div {
  background: linear-gradient(135deg, #f8fafc, #ffffff) !important;
}

.equipment-detail-page main > .equipment-card .pt-4.border-t {
  border-top: 0 !important;
  border-radius: 22px;
  background: #ffffff;
  padding: 17px !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.equipment-detail-page main > .equipment-card .pt-4.border-t h3 {
  margin-bottom: 7px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #334155;
}

.equipment-detail-page main > .equipment-card .pt-4.border-t p {
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 650;
  line-height: 1.65 !important;
}

.equipment-detail-page main > .equipment-card .pt-6.space-y-4 {
  padding-top: 6px !important;
}

.equipment-detail-page main > .equipment-card .pt-6.space-y-4 > div {
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
}

.equipment-detail-page main > .equipment-card .pt-6.space-y-4 > .grid > div {
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
}

.equipment-detail-page main > .equipment-card .bg-emerald-50 {
  background: linear-gradient(135deg, #ecfdf5, #f7fffb) !important;
  border-color: #bbf7d0 !important;
}

.equipment-detail-page main > .equipment-card .bg-rose-50 {
  background: linear-gradient(135deg, #fff1f2, #fff7f8) !important;
  border-color: #fecdd3 !important;
}

.equipment-detail-page main > .equipment-card .bg-blue-50,
.equipment-detail-page main > .equipment-card .bg-amber-50 {
  background: linear-gradient(135deg, #fffbeb, #ffffff) !important;
  border-color: #fde68a !important;
}

.equipment-detail-page .tech-faq-section {
  margin-top: 2px;
  margin-bottom: 16px;
}

.equipment-detail-page .tech-faq-card {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.07);
  overflow: hidden;
}

.equipment-detail-page .tech-faq-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #f1f5f9;
  background: linear-gradient(135deg, #ffffff, #fffde8);
}

.equipment-detail-page .tech-faq-kicker {
  display: block;
  margin-bottom: 3px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.equipment-detail-page .tech-faq-title {
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.1;
}

.equipment-detail-page .tech-faq-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 15px;
  background: #fff000;
  color: #111827;
  box-shadow: 0 10px 24px rgba(234, 179, 8, 0.24);
  flex: 0 0 auto;
}

.equipment-detail-page .tech-faq-item {
  padding: 0 16px;
}

.equipment-detail-page .tech-faq-item + .tech-faq-item {
  border-top: 1px solid #f1f5f9;
}

.equipment-detail-page .tech-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 13px 0;
  color: #1f2937;
  font-size: 13px;
  font-weight: 900;
}

.equipment-detail-page .tech-faq-item summary::-webkit-details-marker {
  display: none;
}

.equipment-detail-page .tech-faq-item p {
  margin: -3px 0 14px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
}

body.combo-detail-page {
  background:
    radial-gradient(circle at 50% 130px, rgba(255, 240, 0, 0.16), transparent 280px),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 44%, #f8fafc 100%);
}

.combo-detail-page main {
  padding-bottom: 18px;
}

.combo-detail-page main > nav {
  display: inline-flex;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid rgba(226, 232, 240, 0.86);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.combo-detail-page main > h1 {
  margin-bottom: 8px !important;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.combo-detail-page .combo-saving-header {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px !important;
  padding: 8px 12px;
  border: 1px solid rgba(16, 185, 129, 0.18);
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857 !important;
  font-size: 12px !important;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(16, 185, 129, 0.08);
}

.combo-detail-page .combo-saving-header::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: #10b981;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12);
}

.combo-detail-page .combo-jump-nav {
  position: sticky;
  top: 92px;
  z-index: 45;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: -8px 0 18px;
  padding: 8px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.combo-detail-page .combo-jump-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 7px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  color: #334155;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.045);
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.combo-detail-page .combo-jump-nav a:hover,
.combo-detail-page .combo-jump-nav a:focus-visible {
  border-color: rgba(234, 179, 8, 0.65);
  background: linear-gradient(135deg, #ffffff, #fffbe6);
}

.combo-detail-page .combo-jump-nav a:active {
  transform: scale(0.97);
}

.combo-detail-page #combo-1,
.combo-detail-page #combo-2,
.combo-detail-page #combo-3,
.combo-detail-page #combo-guide {
  scroll-margin-top: 112px;
}

.combo-detail-page main .space-y-6 > .equipment-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffef3 100%) !important;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08) !important;
  transform: none !important;
  cursor: pointer;
}

.combo-detail-page main .space-y-6 > .equipment-card::before {
  content: none;
}

.combo-detail-page main .space-y-6 > .equipment-card > * {
  position: relative;
  z-index: 1;
}

.combo-detail-page .equipment-info-modal.active .equipment-info-panel {
  animation: combo-info-rise 0.26s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes combo-info-rise {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.combo-detail-page .combo-saving-badge {
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 7px 12px !important;
  border: 1px solid rgba(16, 185, 129, 0.24);
  border-radius: 999px !important;
  background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%) !important;
  color: #047857 !important;
  text-shadow: none;
  box-shadow: 0 10px 24px rgba(16, 185, 129, 0.12);
  letter-spacing: 0.09em !important;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
}

.combo-detail-page .combo-saving-badge::after {
  content: none;
}

.combo-detail-page .combo-image-container {
  min-height: 150px;
  margin-top: 14px;
  margin-bottom: 8px;
  border-radius: 26px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, rgba(255, 240, 0, 0.68), rgba(226, 232, 240, 0.9)) border-box;
  border: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 16px 38px rgba(15, 23, 42, 0.055);
}

.combo-detail-page .combo-img-1,
.combo-detail-page .combo-img-2 {
  border-radius: 20px !important;
  border-color: rgba(226, 232, 240, 0.95) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08) !important;
}

.combo-detail-page main .equipment-card h3 {
  color: #0f172a !important;
  font-size: 24px !important;
  line-height: 1.06 !important;
  letter-spacing: -0.02em;
}

.combo-detail-page main .equipment-card h3 + meta + p {
  margin-top: 7px !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 800;
}

.combo-detail-page main .equipment-card [itemtype="https://schema.org/Offer"] {
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 22px;
  background: rgba(248, 250, 252, 0.78);
  padding: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.combo-detail-page main .equipment-card [itemtype="https://schema.org/Offer"] label {
  min-height: 76px;
  border-radius: 18px !important;
  border-color: #e2e8f0 !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.combo-detail-page main .equipment-card [itemtype="https://schema.org/Offer"] label:has(input:checked) {
  border-color: rgba(234, 179, 8, 0.72) !important;
  background: linear-gradient(135deg, #ffffff, #fffbe6) !important;
  box-shadow: 0 12px 26px rgba(234, 179, 8, 0.16);
}

.combo-detail-page main .equipment-card [itemtype="https://schema.org/Offer"] label:active {
  transform: scale(0.985);
}

.combo-detail-page main .equipment-card input[type="radio"] {
  width: 18px;
  height: 18px;
}

.combo-detail-page main .equipment-card button[onclick^="clearCombo"] {
  width: fit-content;
  padding: 7px 10px;
  border: 1px solid #fecdd3;
  border-radius: 999px;
  background: #fff1f2;
  color: #be123c !important;
}

.combo-detail-page main .equipment-card details {
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 20px;
  background: #ffffff;
  padding: 13px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
}

.combo-detail-page main .equipment-card details summary {
  color: #334155 !important;
}

.combo-detail-page main .equipment-card details > div {
  background: linear-gradient(135deg, #f8fafc, #ffffff) !important;
}

.combo-detail-page main .equipment-card details h4 {
  display: inline-flex;
  align-items: center;
  margin-bottom: 8px !important;
  padding: 5px 8px;
  border-radius: 999px;
  background: #fffde8;
  color: #334155 !important;
}

.combo-detail-page main .equipment-card .mt-6.pt-6.border-t {
  border-top: 0 !important;
  border-radius: 22px;
  background: rgba(248, 250, 252, 0.78);
  padding: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.combo-detail-page main .equipment-card .mt-6.pt-6.border-t h4:first-child {
  color: #334155 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}

.combo-detail-page main .equipment-card .mt-6.pt-6.border-t .flex.items-center.justify-between {
  gap: 12px;
  min-height: 56px;
  border-color: rgba(226, 232, 240, 0.9) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.combo-detail-page main .equipment-card .mt-6.pt-6.border-t .flex.items-center.justify-between > div:first-child {
  min-width: 0;
}

.combo-detail-page main .equipment-card .addon-btn {
  display: inline-grid;
  place-items: center;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06) !important;
}

.combo-detail-page main .equipment-card .addon-btn:last-child {
  border-color: rgba(234, 179, 8, 0.5) !important;
  background: #fff000 !important;
}

.combo-detail-page main .equipment-card .quantity-input {
  width: 34px;
  min-width: 34px;
  height: 34px;
  border-radius: 13px;
  background: #f8fafc;
}

.combo-detail-page main .equipment-card select {
  min-height: 36px;
  max-width: 122px;
  border-color: #e2e8f0 !important;
  border-radius: 13px !important;
  background: #ffffff;
  font-weight: 800;
  color: #334155;
}

.combo-detail-page .combo-guide-section {
  margin-top: 2px;
  margin-bottom: 16px;
}

.combo-detail-page .combo-guide-card {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.07);
  overflow: hidden;
}

.combo-detail-page .combo-guide-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #f1f5f9;
  background: linear-gradient(135deg, #ffffff, #fffde8);
}

.combo-detail-page .combo-guide-kicker {
  display: block;
  margin-bottom: 3px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.combo-detail-page .combo-guide-title {
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.1;
}

.combo-detail-page .combo-guide-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 15px;
  background: #fff000;
  color: #111827;
  box-shadow: 0 10px 24px rgba(234, 179, 8, 0.24);
  flex: 0 0 auto;
}

.combo-detail-page .combo-guide-grid {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.combo-detail-page .combo-guide-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #ffffff;
}

.combo-detail-page .combo-guide-item strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}

.combo-detail-page .combo-guide-item span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-item-date {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 4px;
  padding: 3px 7px;
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  background: #eef2ff;
  color: #334155;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
}

.cart-item span:has(.cart-item-date) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .combo-detail-page main,
  .combo-detail-page section,
  .combo-detail-page footer > div {
    max-width: 640px !important;
  }

  .combo-detail-page main .space-y-6 > .equipment-card {
    padding: 34px !important;
  }
}

@media (max-width: 430px) {
  .combo-detail-page main {
    padding-left: 12px;
    padding-right: 12px;
  }

  .combo-detail-page main > h1 {
    font-size: 24px;
  }

  .combo-detail-page main .space-y-6 > .equipment-card {
    border-radius: 25px !important;
    padding: 18px !important;
  }

  .combo-detail-page .combo-image-container {
    min-height: 132px;
  }
}

@media (min-width: 768px) {
  .equipment-detail-page main,
  .equipment-detail-page section,
  .equipment-detail-page footer > div {
    max-width: 640px !important;
  }

  .equipment-detail-page main > .equipment-card {
    padding: 34px !important;
  }
}

@media (max-width: 430px) {
  .equipment-detail-page main {
    padding-left: 12px;
    padding-right: 12px;
  }

  .equipment-detail-page main > .equipment-card {
    border-radius: 25px !important;
    padding: 18px !important;
  }

  .equipment-detail-page .product-img-container {
    width: 148px;
    height: 148px;
  }

  .equipment-detail-page .product-img-main {
    width: 120px;
    height: 120px;
  }

  .equipment-detail-page main > .equipment-card h1 {
    font-size: 22px;
  }
}

.equipment-info-modal {
  position: fixed;
  inset: 0;
  z-index: 100002;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15, 23, 42, 0.62);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.equipment-info-modal.active {
  display: flex;
}

.equipment-info-panel {
  position: relative;
  width: min(94vw, 560px);
  max-height: 86vh;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22);
}

.equipment-info-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #334155;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.equipment-info-body {
  max-height: 86vh;
  overflow-y: auto;
  padding: 18px;
}

.equipment-info-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.equipment-info-kicker i {
  width: 18px;
  height: 18px;
  color: #94a3b8;
  stroke-width: 2.2;
}

.equipment-info-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}

.equipment-info-copy {
  min-width: 0;
}

.equipment-info-media {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.equipment-info-image-frame {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.07);
}

.equipment-info-image-frame img {
  width: 74px;
  height: 74px;
  object-fit: contain;
}

.equipment-info-media .equipment-info-image-frame:nth-child(n + 2) {
  width: 68px;
  height: 68px;
  margin-left: -18px;
}

.equipment-info-media .equipment-info-image-frame:nth-child(n + 2) img {
  width: 58px;
  height: 58px;
}

.equipment-info-title {
  padding-right: 38px;
  color: #0f172a;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0;
}

.equipment-info-description {
  margin-top: 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
}

.equipment-info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 12px;
}

.equipment-info-section {
  padding: 20px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: #ffffff;
}

.equipment-info-section--good {
  border-color: #bbf7d0;
  background: #ecfdf5;
}

.equipment-info-section--bad {
  border-color: #fecdd3;
  background: #fff1f2;
}

.equipment-info-section--advice {
  border-color: #fde68a;
  background: #fffbeb;
}

.equipment-info-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  color: #047857;
  font-size: 10.5px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.equipment-info-section-title i {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  padding: 8px;
  border-radius: 11px;
  color: #ffffff;
  background: #10b981;
  stroke-width: 2.4;
}

.equipment-info-section--bad .equipment-info-section-title {
  color: #be123c;
}

.equipment-info-section--bad .equipment-info-section-title i {
  background: #f43f5e;
}

.equipment-info-section--advice .equipment-info-section-title {
  color: #b45309;
}

.equipment-info-section--advice .equipment-info-section-title i {
  color: #f59e0b;
  background: transparent;
  border: 1px solid #f59e0b;
}

.equipment-info-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.equipment-info-list li {
  position: relative;
  padding-left: 17px;
  color: #0f766e;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
}

.equipment-info-list li::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.55;
}

.equipment-info-section--bad .equipment-info-list li {
  color: #be123c;
}

.equipment-info-section--advice .equipment-info-list li {
  color: #92400e;
}

.equipment-info-list strong {
  color: currentColor;
  font-weight: 800;
}

@media (min-width: 520px) {
  .equipment-info-grid {
    grid-template-columns: 1fr 1fr;
  }

  .equipment-info-section--advice {
    grid-column: 1 / -1;
  }
}

@media (max-width: 430px) {
  .equipment-info-modal {
    padding: 12px;
  }

  .equipment-info-body {
    padding: 16px;
  }

  .equipment-info-hero {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .equipment-info-media {
    justify-content: flex-start;
    order: -1;
  }

  .equipment-info-image-frame {
    width: 78px;
    height: 78px;
  }

  .equipment-info-image-frame img {
    width: 66px;
    height: 66px;
  }

  .equipment-info-title {
    font-size: 17px;
    padding-right: 34px;
  }

  .equipment-info-description {
    font-size: 11.5px;
  }

  .equipment-info-section-title {
    font-size: 10px;
  }

  .equipment-info-list li {
    font-size: 10.5px;
  }

  .equipment-info-grid {
    gap: 12px;
  }

  .equipment-info-section {
    padding: 15px;
  }
}

.image-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(15, 23, 42, 0.76);
  backdrop-filter: blur(10px);
}

.image-modal-backdrop.active {
  display: flex;
}

.image-modal-content {
  position: relative;
  width: min(92vw, 560px);
  max-height: 84vh;
  padding: 18px;
  border: 1px solid rgba(226, 232, 240, 0.35);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 254, 242, 0.96) 100%);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.image-modal-content img {
  width: 100%;
  max-height: calc(84vh - 74px);
  object-fit: contain;
  border-radius: 18px;
  background: #f8fafc;
}

.image-modal-title {
  margin-top: 10px;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}

.image-modal-close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(226, 232, 240, 0.8);
  border-radius: 999px;
  background: #ffffff;
  color: #111827;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

@keyframes combo-saving-glow {
  0%, 100% {
    background: rgba(240, 253, 244, 0.86);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.14);
  }
  50% {
    background: rgba(220, 252, 231, 0.98);
    box-shadow: 0 0 0 5px rgba(34, 197, 94, 0);
  }
}

.loyalty-mobile-link {
  position: relative;
  overflow: hidden;
  min-height: 42px;
  border-color: rgba(226, 232, 240, 0.92) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: #0f172a;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.sidebar-panel {
  min-height: 100%;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 250, 252, 0.94)),
    radial-gradient(circle at 22% 6%, rgba(255, 240, 0, 0.16), rgba(255, 240, 0, 0) 36%);
}

.sidebar-brand-card {
  display: grid;
  gap: 13px;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.sidebar-brand-card--pomogator {
  position: relative;
  overflow: hidden;
  padding: 0;
  border-radius: 20px;
  background: #ffffff;
}

.sidebar-brand-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sidebar-brand-card--pomogator .sidebar-brand-top {
  display: block;
}

.sidebar-brand-logo {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
}

.sidebar-brand-logo img {
  width: 90px;
  height: auto;
  object-fit: contain;
}

.sidebar-pomogator-header {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 82px;
  align-items: center;
  gap: 11px;
  padding: 14px 48px 16px 12px;
  overflow: hidden;
  color: #050505;
  text-decoration: none;
  background:
    radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0) 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
}

.sidebar-pomogator-header::after {
  content: "";
  position: absolute;
  right: 34px;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #ffd900;
}

.sidebar-pomogator-emblem {
  position: relative;
  z-index: 1;
  display: inline-grid;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  place-items: center;
  clip-path: polygon(50% 0%, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);
  background: linear-gradient(145deg, #fff200 0%, #ffd600 72%, #f5c900 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.sidebar-pomogator-p {
  position: relative;
  width: 30px;
  height: 32px;
  display: block;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg viewBox='0 0 52 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23050505' d='M4 8h29.6C43.8 8 50 13.7 50 22.1S43.8 36.3 33.6 36.3H19.7V52H7.8V19.4L4 16.3V8Zm15.7 11v7.7h13.1c3 0 4.9-1.5 4.9-3.9 0-2.3-1.9-3.8-4.9-3.8H19.7Z'/%3E%3C/svg%3E");
}

.sidebar-pomogator-p::before {
  content: "";
  display: none;
}

.sidebar-pomogator-p::after {
  content: "";
  display: none;
}

.sidebar-pomogator-copy {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  gap: 1px;
  line-height: 1;
}

.sidebar-pomogator-copy strong {
  color: #050505;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 22px;
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 1;
  white-space: nowrap;
}

.sidebar-pomogator-copy small {
  color: #5f6368;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.15;
  white-space: nowrap;
}

.sidebar-pomogator-ribbon {
  position: absolute;
  z-index: 0;
  right: -23px;
  top: -34px;
  width: 44px;
  height: 120px;
  border-radius: 0 0 28px 28px;
  background: linear-gradient(180deg, #ffe800 0%, #ffd500 78%, #f5c400 100%);
  transform: rotate(20deg);
}

.sidebar-pomogator-ribbon::after {
  content: none;
}

.sidebar-close {
  position: absolute;
  z-index: 3;
  top: 12px;
  right: 12px;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 14px;
  background: #ffffff;
  color: #64748b;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
}

.sidebar-close svg {
  width: 18px;
  height: 18px;
}

.sidebar-brand-copy {
  display: grid;
  gap: 3px;
}

.sidebar-brand-kicker,
.sidebar-group-title {
  color: #94a3b8;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

.sidebar-brand-copy strong {
  color: #111827;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.12;
}

.sidebar-brand-copy span:last-child {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.sidebar-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  border: 1px solid rgba(167, 243, 208, 0.86);
  border-radius: 15px;
  background: linear-gradient(135deg, #34d399, #10b981);
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(16, 185, 129, 0.22);
}

.sidebar-whatsapp svg {
  width: 16px;
  height: 16px;
}

.sidebar-nav {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}

.sidebar-group {
  display: grid;
  gap: 8px;
}

.sidebar-group-title {
  padding: 0 5px;
}

.sidebar-link {
  position: relative;
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 11px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.82);
  color: #111827;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045);
}

.sidebar-link--active {
  border-color: rgba(234, 179, 8, 0.34);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 251, 235, 0.82));
}

.sidebar-link--active::after,
.sidebar-equipment-grid a.sidebar-link--active::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: #10b981;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12);
  transform: translateY(-50%);
}

.sidebar-link-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(226, 232, 240, 0.82);
  border-radius: 14px;
  background: #f8fafc;
  color: #334155;
}

.sidebar-link--active .sidebar-link-icon,
.sidebar-link--hot .sidebar-link-icon {
  border-color: rgba(234, 179, 8, 0.38);
  background: #fff000;
  color: #111827;
}

.sidebar-link-icon svg {
  width: 17px;
  height: 17px;
  stroke-width: 2.55;
}

.sidebar-link strong,
.sidebar-link small {
  display: block;
}

.sidebar-link strong {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.1;
}

.sidebar-link small {
  margin-top: 3px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.15;
}

.sidebar-link em {
  padding: 5px 7px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
}

.sidebar-equipment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.sidebar-equipment-grid a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 7px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  color: #334155;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  text-decoration: none;
}

.sidebar-equipment-grid a.sidebar-link--active {
  border-color: rgba(234, 179, 8, 0.38);
  background: linear-gradient(135deg, #ffffff, #fffbe6);
  box-shadow: 0 10px 22px rgba(234, 179, 8, 0.12);
}

.sidebar-equipment-grid img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  border-radius: 10px;
  background: #f8fafc;
}

.sidebar-contact-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.sidebar-contact-row a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.78);
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.sidebar-instagram-icon {
  color: #db2777;
}

.sidebar-whatsapp-icon {
  color: #10b981;
}

.sidebar-contact-row svg,
.sidebar-trust svg {
  width: 14px;
  height: 14px;
  stroke-width: 2.5;
}

.sidebar-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-bottom: 8px;
}

.sidebar-trust span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 5px 8px;
  border: 1px solid rgba(167, 243, 208, 0.82);
  border-radius: 999px;
  background: rgba(236, 253, 245, 0.86);
  color: #047857;
  font-size: 9.4px;
  font-weight: 900;
}

.loyalty-mobile-link::after {
  content: "";
  position: absolute;
  top: -60%;
  bottom: -60%;
  left: -34%;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
  transform: rotate(18deg);
  animation: loyalty-chip-shine 4.8s ease-in-out infinite;
  pointer-events: none;
}

.loyalty-mobile-icon {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  border: 1px solid rgba(234, 179, 8, 0.36);
  border-radius: 10px;
  background: linear-gradient(135deg, #fff000, #fff8b8);
  color: #111827;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.loyalty-mobile-icon svg {
  width: 15px;
  height: 15px;
}

.loyalty-mobile-title {
  min-width: 0;
  color: #334155;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.loyalty-mobile-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 5px 8px;
  border: 1px solid rgba(167, 243, 208, 0.86);
  border-radius: 999px;
  background: rgba(236, 253, 245, 0.95);
  color: #047857;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

@keyframes loyalty-chip-shine {
  0%, 58%, 100% {
    transform: translateX(0) rotate(18deg);
    opacity: 0;
  }
  68% {
    opacity: 0.75;
  }
  82% {
    transform: translateX(430%) rotate(18deg);
    opacity: 0;
  }
}

.home-main {
  position: relative;
  isolation: isolate;
  padding-bottom: 8rem !important;
}

.hero-machine-scene {
  display: none;
}

@media (max-width: 767px) {
  .hero-machine-scene {
    display: block;
    position: absolute;
    top: 64px;
    left: 50%;
    z-index: -2;
    width: 100vw;
    height: 640px;
    transform: translateX(-50%);
    background-image:
      linear-gradient(90deg, rgba(248, 250, 252, 0.96) 0%, rgba(255, 255, 255, 0.76) 34%, rgba(255, 255, 255, 0.46) 70%, rgba(248, 250, 252, 0.82) 100%),
      radial-gradient(ellipse at 50% 24%, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.84) 40%, rgba(255, 255, 255, 0.42) 66%, rgba(255, 255, 255, 0) 82%),
      linear-gradient(180deg, rgba(248, 250, 252, 0.18) 0%, rgba(255, 255, 255, 0) 40%, rgba(248, 250, 252, 0.72) 80%, #f8fafc 100%),
      url("/assets/hero/couch-cleaning-hero.webp?v=20260524-2");
    background-repeat: no-repeat;
    background-position: center top, center top, center top, 64% top;
    background-size: cover, cover, cover, auto 560px;
    opacity: 0.9;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 62%, rgba(0, 0, 0, 0.66) 76%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 62%, rgba(0, 0, 0, 0.66) 76%, rgba(0, 0, 0, 0) 100%);
  }
}

.home-main::before {
  content: "";
  position: absolute;
  top: 44px;
  left: 50%;
  z-index: -4;
  width: 100vw;
  height: 680px;
  transform: translateX(-50%);
  background:
    radial-gradient(ellipse at 50% 34%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 34%, rgba(248, 250, 252, 0.22) 62%, rgba(248, 250, 252, 0) 82%),
    radial-gradient(ellipse at 56% 45%, rgba(255, 240, 0, 0.18) 0%, rgba(255, 240, 0, 0.08) 28%, rgba(255, 240, 0, 0) 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.38), rgba(248, 250, 252, 0));
  pointer-events: none;
}

.home-main::after {
  content: "";
  position: absolute;
  top: 140px;
  left: 50%;
  z-index: -3;
  width: min(100vw, 980px);
  height: 330px;
  transform: translateX(-50%) skewY(-7deg);
  background:
    linear-gradient(110deg, transparent 0 23%, rgba(255, 255, 255, 0.42) 24%, transparent 30% 52%, rgba(255, 255, 255, 0.34) 53%, transparent 59% 100%);
  opacity: 0.38;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .hero-machine-scene {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -2;
    width: 100vw;
    height: 900px;
    transform: translateX(-50%);
    background-image:
      linear-gradient(90deg, rgba(248, 250, 252, 0.95) 0%, rgba(255, 255, 255, 0.48) 16%, rgba(255, 255, 255, 0.44) 84%, rgba(248, 250, 252, 0.96) 100%),
      radial-gradient(ellipse at 50% 25%, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 29%, rgba(255, 255, 255, 0.52) 48%, rgba(255, 255, 255, 0.18) 68%, rgba(255, 255, 255, 0) 78%),
      linear-gradient(180deg, rgba(248, 250, 252, 0.08) 0%, rgba(255, 255, 255, 0) 42%, rgba(248, 250, 252, 0.72) 76%, #f8fafc 100%),
      url("/assets/hero/couch-cleaning-hero.webp?v=20260524-2");
    background-repeat: no-repeat;
    background-position: center top, center top, center top, center top;
    background-size: cover, cover, cover, min(1920px, 112vw) auto;
    opacity: 0.98;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 68%, rgba(0, 0, 0, 0.76) 78%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 68%, rgba(0, 0, 0, 0.76) 78%, rgba(0, 0, 0, 0) 100%);
  }

  .home-main::before {
    z-index: -5;
    background:
      radial-gradient(ellipse at 50% 34%, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.38) 34%, rgba(248, 250, 252, 0.12) 62%, rgba(248, 250, 252, 0) 82%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(248, 250, 252, 0));
  }
}

.seo-footer {
  display: grid;
  gap: 12px;
  max-width: 450px;
  margin: 0 auto;
}

.seo-footer-text {
  max-width: 360px;
  margin: 0 auto;
  color: #94a3b8;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.45;
}

.seo-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 8px;
  max-width: 440px;
  margin: 0 auto;
}

.seo-footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 8px 14px 8px 11px;
  border: 1px solid rgba(226, 232, 240, 0.96);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #1e293b;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow:
    0 12px 28px rgba(15, 23, 42, 0.072),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.seo-footer-links a:hover {
  transform: translateY(-1px);
  border-color: rgba(234, 179, 8, 0.44);
  color: #0f172a;
  background: #ffffff;
  box-shadow:
    0 15px 34px rgba(15, 23, 42, 0.1),
    0 4px 14px rgba(234, 179, 8, 0.1);
}

.seo-footer-links a:active {
  transform: scale(0.98);
}

.seo-footer-icon {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  color: #111827;
  transition: transform 0.18s ease;
}

.seo-footer-links a:hover .seo-footer-icon {
  transform: translateY(-1px);
}

.seo-footer-icon .seo-menu-svg {
  display: block;
  width: 27px;
  height: 27px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.seo-footer-icon .seo-icon-accent {
  fill: #fff000;
  stroke: #ca9f00;
  stroke-width: 1.25;
}

.seo-footer-icon .seo-icon-accent-line {
  fill: none;
  stroke: #eab308;
  stroke-width: 2.25;
}

.faq-section {
  display: grid;
  gap: 10px;
  margin: 4px 0 0;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.faq-heading {
  display: flex;
  align-items: center;
  gap: 10px;
}

.faq-heading-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border: 1px solid rgba(234, 179, 8, 0.32);
  border-radius: 14px;
  background: linear-gradient(135deg, #fff000, #fff8b8);
  color: #111827;
}

.faq-heading-icon svg {
  width: 18px;
  height: 18px;
  stroke-width: 2.5;
}

.faq-kicker {
  display: block;
  color: #94a3b8;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

.faq-heading h2 {
  margin-top: 3px;
  color: #111827;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.12;
}

.faq-list {
  display: grid;
  gap: 7px;
}

.faq-item {
  border: 1px solid rgba(226, 232, 240, 0.82);
  border-radius: 15px;
  background: rgba(248, 250, 252, 0.78);
  overflow: hidden;
}

.faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 34px 10px 12px;
  color: #334155;
  font-size: 12.5px;
  font-weight: 900;
  line-height: 1.2;
  list-style: none;
  cursor: pointer;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 12px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  color: #64748b;
  font-size: 14px;
  font-weight: 950;
  transform: translateY(-50%);
}

.faq-item[open] summary::after {
  content: "-";
  color: #047857;
}

.faq-item p {
  margin: 0;
  padding: 0 12px 12px;
  color: #64748b;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.42;
}

.faq-extra[hidden] {
  display: none;
}

.faq-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  width: 100%;
  border: 1px solid rgba(234, 179, 8, 0.34);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.88);
  color: #0f172a;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.15;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.055);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.faq-toggle:hover {
  border-color: rgba(234, 179, 8, 0.58);
  background: rgba(255, 248, 184, 0.78);
  transform: translateY(-1px);
}

.faq-cta {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid rgba(16, 185, 129, 0.18);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(236, 253, 245, 0.82));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.faq-cta h3 {
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.18;
}

.faq-cta p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.42;
}

.faq-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  width: 100%;
  border: 0;
  border-radius: 14px;
  background: #10b981;
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 900;
  line-height: 1.1;
  box-shadow: 0 12px 24px rgba(16, 185, 129, 0.22);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.faq-cta-button:hover {
  background: #059669;
  transform: translateY(-1px);
}

.footer-copyright {
  margin-top: 14px;
}

@media (max-width: 640px) {
  .loyalty-mobile-row.px-4 {
    justify-content: flex-start;
    margin-top: -16px;
    padding-left: 64px;
    padding-right: 0;
  }

  .loyalty-mobile-link {
    width: 100%;
    min-height: 42px;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 9px !important;
  }

  .quick-section-nav {
    top: 88px;
    margin-top: -8px;
    margin-bottom: 12px;
    gap: 2px;
    padding: 7px 6px;
  }

  .quick-section-link {
    min-height: 0;
    padding: 4px 5px;
    font-size: 8.8px;
  }

  .quick-section-link:not(:last-child)::after {
    margin-left: 5px;
  }
}

.hero-description-card {
  position: relative;
  display: block;
  width: 100%;
  max-width: 410px;
  margin: -1px auto 13px;
  padding: 4px 8px 0;
  overflow: hidden;
  border: 0;
  border-radius: 15px;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.hero-description-card::before {
  content: none;
}

.hero-title,
.hero-title.text-slate-900 {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 6px;
  isolation: isolate;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  color: #172033;
  font-size: 0;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.hero-title::before {
  content: "";
  position: absolute;
  inset: -14px -18px -10px;
  z-index: -2;
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.5) 44%, rgba(255, 255, 255, 0) 72%),
    radial-gradient(circle at 50% 70%, rgba(255, 240, 0, 0.16) 0%, rgba(255, 240, 0, 0) 56%);
  filter: blur(1px);
  pointer-events: none;
}

.hero-title-highlight {
  opacity: 0.92;
  border-radius: 9px 7px 10px 8px;
  background: linear-gradient(100deg, rgba(255, 240, 0, 0.78), #fff000 46%, rgba(255, 224, 54, 0.88)) !important;
  box-shadow:
    0 8px 18px rgba(234, 179, 8, 0.18),
    inset 0 -7px 0 rgba(255, 214, 10, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.hero-title-line,
.hero-title-highlight-line {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}

.hero-title-line {
  color: #172033;
  font-size: 28px;
  line-height: 1.04;
}

.hero-title-highlight-line {
  padding: 4px 11px 5px;
  color: #101827;
  font-size: 30px;
  line-height: 1.05;
}

@media (min-width: 768px) {
  .hero-title::before {
    background:
      radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.48) 42%, rgba(255, 255, 255, 0) 72%),
      radial-gradient(circle at 50% 72%, rgba(255, 240, 0, 0.2) 0%, rgba(255, 240, 0, 0) 56%);
  }

  .hero-title {
    gap: 10px;
    left: auto;
    width: min(760px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-28px);
    text-align: center;
    font-size: 0;
    line-height: 1.02;
    letter-spacing: -0.04em;
  }

  .hero-title-line {
    font-size: 56px;
    line-height: 1.02;
  }

  .hero-title-highlight-line {
    padding: 7px 20px 8px;
    font-size: 45px;
  }
}

.hero-description-content {
  min-width: 0;
  flex: 1 1 auto;
}

.hero-description-title {
  display: block;
  color: #111827;
  font-size: clamp(11px, 3.05vw, 15.6px);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: 0;
  white-space: nowrap;
}

.hero-title-diamond {
  display: inline-block;
  color: #ffd600;
  font-size: 0.72em;
  line-height: 1;
  vertical-align: 0.08em;
  text-shadow: 0 2px 7px rgba(234, 179, 8, 0.28);
}

.hero-description-title::after {
  content: "";
  display: block;
  width: min(100%, 360px);
  height: 2px;
  margin: 7px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(203, 213, 225, 0), rgba(148, 163, 184, 0.72) 16%, rgba(148, 163, 184, 0.72) 84%, rgba(203, 213, 225, 0));
  box-shadow: none;
}

.hero-description-text {
  max-width: 360px;
  margin: 7px auto 0;
  color: #64748b;
  font-size: 13.4px;
  font-weight: 700;
  line-height: 1.42;
}

.hero-description-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: 9px;
}

.hero-description-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 999px;
  color: #334155;
  background: rgba(255, 255, 255, 0.74);
  font-size: 11.2px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.04);
}

.hero-description-chip svg {
  width: 13px;
  height: 13px;
  color: #111827;
  stroke-width: 2.4;
}

.hero-description-chip:last-child {
  color: #166534;
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.hero-description-chip:last-child svg {
  color: #166534;
}

.rental-flow {
  position: relative;
  margin: -8px 0 20px;
  padding: 13px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #fffef2 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.rental-flow::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 72px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 240, 0, 0), rgba(255, 240, 0, 0.95), rgba(76, 204, 161, 0.75));
}

.rental-flow-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.rental-flow-title {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.rental-flow-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: #111827;
  background: #fff000;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.rental-flow-title-icon svg {
  width: 18px;
  height: 18px;
  stroke-width: 2.4;
}

.rental-flow-title-text {
  min-width: 0;
}

.rental-flow-kicker {
  display: block;
  margin-bottom: 2px;
  color: #64748b;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rental-flow-name {
  display: block;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
}

.rental-flow-chip {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid #bbf7d0;
  border-radius: 999px;
  color: #166534;
  background: #f0fdf4;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(22, 101, 52, 0.08);
}

.rental-flow-steps {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.rental-flow-step {
  min-width: 0;
  padding: 8px 5px 7px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  text-align: center;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.rental-flow-step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin: 0 auto 5px;
  border-radius: 9px;
  color: #111827;
  background: #fff000;
}

.rental-flow-step-icon svg {
  width: 15px;
  height: 15px;
  stroke-width: 2.4;
}

.rental-flow-step:last-child .rental-flow-step-icon {
  color: #ffffff;
  background: #4ccca1;
}

.rental-flow-step-title {
  display: block;
  overflow-wrap: anywhere;
  color: #111827;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
}

.rental-flow-step-sub {
  display: block;
  margin-top: 2px;
  overflow-wrap: anywhere;
  color: #64748b;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.1;
}

.section-shell {
  display: block;
}

.section-heading-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
  padding: 14px 14px 14px 18px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(135deg, #ffffff 0%, #fffef4 100%);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.section-heading-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: #fff000;
}

.section-heading-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.section-heading-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: #111827;
  background: #fff000;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.section-heading-icon svg {
  width: 20px;
  height: 20px;
  stroke-width: 2.4;
}

.section-heading-text {
  min-width: 0;
}

.section-heading-kicker {
  display: block;
  margin-bottom: 2px;
  color: #64748b;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.section-heading-title {
  display: block;
  color: #111827;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: 0;
}

.section-heading-note {
  flex: 0 0 auto;
  max-width: 96px;
  padding: 5px 9px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 999px;
  color: #334155;
  background: rgba(255, 255, 255, 0.82);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.section-heading-card--combo .section-heading-icon,
.section-heading-card--combo::before {
  background: #fff000;
}

.section-heading-card--combo .section-heading-note {
  color: #991b1b;
  background: #fef2f2;
  border-color: #fecaca;
}

.section-heading-card--shop .section-heading-icon,
.section-heading-card--shop::before {
  background: #d9f99d;
}

.section-heading-card--shop .section-heading-note {
  color: #166534;
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.section-heading-card--rules .section-heading-icon,
.section-heading-card--rules::before {
  background: #bfdbfe;
}

.section-heading-card--rules .section-heading-note {
  color: #1e40af;
  background: #eff6ff;
  border-color: #bfdbfe;
}

.shop-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  max-width: 100%;
}

.shop-product-card {
  position: relative;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 7px;
  min-height: 166px;
  padding: 9px 7px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.shop-product-card::before {
  content: none;
}

.shop-product-top,
.shop-product-footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.shop-product-icon {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid rgba(234, 179, 8, 0.28);
  border-radius: 10px;
  background: rgba(255, 240, 0, 0.18);
  color: #111827;
}

.shop-product-icon--pet {
  border-color: rgba(16, 185, 129, 0.28);
  background: rgba(236, 253, 245, 0.92);
  color: #047857;
}

.shop-product-icon--baby {
  border-color: rgba(14, 165, 233, 0.28);
  background: rgba(239, 246, 255, 0.92);
  color: #0369a1;
}

.shop-product-icon svg {
  width: 15px;
  height: 15px;
  stroke-width: 2.35;
}

.shop-product-info.info-btn {
  position: absolute;
  top: 8px;
  right: 7px;
  z-index: 3;
  width: 22px;
  height: 22px;
  border-radius: 9px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #f8fafc;
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
  box-shadow: none;
}

.shop-product-body {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 4px;
  min-width: 0;
}

.shop-product-kicker {
  color: #94a3b8;
  font-size: 7.2px;
  font-weight: 950;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

.shop-product-title {
  color: #111827;
  font-size: 10.7px;
  font-weight: 950;
  line-height: 1.14;
}

.shop-product-use {
  color: #64748b;
  font-size: 8.8px;
  font-weight: 700;
  line-height: 1.25;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.shop-product-price {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  justify-content: center;
  padding: 5px 6px;
  border: 1px solid rgba(167, 243, 208, 0.82);
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}

.shop-product-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid rgba(226, 232, 240, 0.82);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.9);
}

.shop-product-counter .addon-btn {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: #e2e8f0;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  box-shadow: none;
}

.shop-product-counter .addon-btn--plus {
  background: #fff000;
  color: #111827;
}

.shop-product-counter .quantity-input {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(226, 232, 240, 0.86);
  border-radius: 9px;
  background: #ffffff;
  font-size: 11px !important;
}

.rental-rules-card {
  position: relative;
  padding: 16px 12px 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.065);
}

.rental-rules-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 10px;
  position: relative;
}

.rental-rules-grid::before {
  content: none;
}

.rental-rule-step {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 74px;
  padding: 10px 8px;
  text-align: left;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045);
}

.rental-rule-step::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -10px;
  width: 10px;
  height: 2px;
  border-radius: 999px;
  background: #cbd5e1;
  transform: translateY(-50%);
}

.rental-rule-step:nth-child(3)::after,
.rental-rule-step:nth-child(6)::after {
  content: none;
}

.rental-rule-number {
  position: absolute;
  top: 5px;
  left: 5px;
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
  border: 1px solid rgba(203, 213, 225, 0.9);
  font-size: 8.8px;
  font-weight: 950;
}

.rental-rule-icon {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(234, 179, 8, 0.35);
  border-radius: 13px;
  background: linear-gradient(135deg, #fffbea, #ffffff);
  color: #111827;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
}

.rental-rule-icon svg {
  width: 16px;
  height: 16px;
  stroke-width: 2.35;
}

.rental-rule-step h3 {
  padding-right: 0;
  color: #111827;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.12;
}

.rental-rule-step p {
  margin-top: 2px;
  color: #64748b;
  font-size: 8.8px;
  font-weight: 700;
  line-height: 1.22;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.rental-rules-notes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(226, 232, 240, 0.82);
}

.rental-rules-notes span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 5px 7px;
  border: 1px solid rgba(167, 243, 208, 0.82);
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 9.4px;
  font-weight: 900;
}

.rental-rules-notes svg {
  width: 13px;
  height: 13px;
  stroke-width: 2.6;
}

@media (min-width: 640px) {
  .shop-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .shop-product-card {
    min-height: 156px;
  }
}

@media (max-width: 430px) {
  .shop-products-grid {
    gap: 7px;
  }

  .shop-product-card {
    min-height: 162px;
    padding: 9px 8px;
    border-radius: 15px;
  }

  .shop-product-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .shop-product-price,
  .shop-product-counter {
    justify-content: center;
    width: 100%;
  }

  .rental-rules-card {
    padding: 14px 10px 12px;
  }

  .rental-rule-step {
    min-height: 72px;
    padding: 9px 7px;
    gap: 7px;
  }

  .rental-rule-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
  }

  .rental-rule-step h3 {
    font-size: 10.4px;
  }

  .rental-rule-step p {
    font-size: 8.2px;
  }
}

@media (max-width: 480px) {
  .shop-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .shop-product-card {
    min-height: 162px;
    padding: 8px 6px;
    border-radius: 15px;
  }

  .shop-product-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .shop-product-price,
  .shop-product-counter {
    width: 100%;
  }

  .shop-product-info.info-btn {
    top: 7px;
    right: 6px;
  }

  .shop-product-kicker {
    font-size: 6.8px;
    letter-spacing: 0.045em;
  }

  .shop-product-title {
    font-size: 10.4px;
  }

  .shop-product-use {
    font-size: 8.4px;
  }
}

@media (max-width: 430px) {
  #rental-catalog .equipment-title {
    gap: 4px 6px;
  }

  #rental-catalog .equipment-model-tag {
    min-height: 18px;
    padding: 3px 6px;
    font-size: 0.58rem;
  }

  #rental-catalog .equipment-use-tags {
    gap: 4px;
    margin-top: 9px;
    margin-bottom: 6px;
    padding-top: 8px;
  }

  #rental-catalog .equipment-use-tags span {
    min-height: 21px;
    padding: 4px 6px;
    border-radius: 9px;
    font-size: 0.57rem;
  }

  #rental-catalog .equipment-use-tags svg {
    width: 11px;
    height: 11px;
  }
}

@media (max-width: 430px) {
  .home-main::before {
    top: 56px;
    height: 500px;
    width: 100vw;
  }

  .home-main::after {
    top: 132px;
    width: 92vw;
    height: 250px;
  }

  .hero-title::before {
    inset: -12px -18px -8px;
    border-radius: 26px;
  }

  .hero-title-highlight {
    border-radius: 8px 6px 9px 7px;
    box-shadow:
      0 6px 14px rgba(234, 179, 8, 0.16),
      inset 0 -5px 0 rgba(255, 214, 10, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.62);
  }

  .hero-description-card {
    max-width: 100%;
    margin-bottom: 11px;
    padding: 3px 6px 0;
    border-radius: 15px;
  }

  .hero-description-card::before {
    content: none;
  }

  .hero-description-title {
    font-size: clamp(10.4px, 2.92vw, 14.8px);
  }

  .hero-description-title::after {
    width: min(100%, 330px);
    height: 2px;
    margin-top: 6px;
  }

  .hero-description-text {
    max-width: 340px;
    margin-top: 6px;
    font-size: 12.7px;
    line-height: 1.38;
  }

  .hero-description-chips {
    gap: 5px;
    margin-top: 9px;
  }

  .hero-description-chip {
    padding: 6px 8px;
    font-size: 10.4px;
  }

  .rental-flow {
    margin: -8px 0 18px;
    padding: 11px;
    border-radius: 20px;
  }

  .rental-flow::before {
    left: 15px;
    right: 15px;
    top: 68px;
  }

  .rental-flow-head {
    margin-bottom: 9px;
  }

  .rental-flow-title {
    gap: 8px;
  }

  .rental-flow-title-icon {
    width: 31px;
    height: 31px;
    border-radius: 11px;
  }

  .rental-flow-name {
    font-size: 14px;
  }

  .rental-flow-chip {
    padding: 5px 7px;
    font-size: 8px;
  }

  .rental-flow-steps {
    gap: 5px;
  }

  .rental-flow-step {
    padding: 7px 4px 6px;
    border-radius: 13px;
  }

  .rental-flow-step-icon {
    width: 24px;
    height: 24px;
    margin-bottom: 4px;
  }

  .rental-flow-step-title {
    font-size: 9px;
  }

  .rental-flow-step-sub {
    font-size: 7.5px;
  }

  .section-heading-card {
    gap: 10px;
    padding: 12px 12px 12px 16px;
  }

  .section-heading-main {
    gap: 10px;
  }

  .section-heading-icon {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  .section-heading-title {
    font-size: 15px;
  }

  .section-heading-note {
    max-width: 82px;
    padding: 5px 7px;
    font-size: 9px;
  }
}

@layer theme {
  :root, :host {
    --font-sans: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-emerald-50: oklch(97.9% 0.021 166.113);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-500: oklch(69.6% 0.17 162.48);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-emerald-700: oklch(50.8% 0.118 165.612);
    --color-emerald-800: oklch(43.2% 0.095 166.913);
    --color-emerald-900: oklch(37.8% 0.077 168.94);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-800: oklch(42.4% 0.199 265.638);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-indigo-100: oklch(93% 0.034 272.788);
    --color-indigo-300: oklch(78.5% 0.115 274.713);
    --color-indigo-500: oklch(58.5% 0.233 277.117);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-pink-50: oklch(97.1% 0.014 343.198);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-pink-800: oklch(45.9% 0.187 3.815);
    --color-rose-50: oklch(96.9% 0.015 12.422);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-500: oklch(64.5% 0.246 16.439);
    --color-rose-800: oklch(45.5% 0.188 13.697);
    --color-rose-900: oklch(41% 0.159 10.272);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-slate-950: oklch(12.9% 0.042 264.695);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-5xl: 64rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-sm: 0.25rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-3xl: 64px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-karcher: #FFCC00;
    --color-karcher-dark: #E6B800;
    --font-display: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-3 {
    inset: calc(var(--spacing) * 3);
  }
  .-top-4 {
    top: calc(var(--spacing) * -4);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-6 {
    top: calc(var(--spacing) * 6);
  }
  .top-24 {
    top: calc(var(--spacing) * 24);
  }
  .top-\[72px\] {
    top: 72px;
  }
  .top-\[96px\] {
    top: 96px;
  }
  .-right-4 {
    right: calc(var(--spacing) * -4);
  }
  .-right-6 {
    right: calc(var(--spacing) * -6);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-6 {
    right: calc(var(--spacing) * 6);
  }
  .right-\[100px\] {
    right: 100px;
  }
  .-bottom-4 {
    bottom: calc(var(--spacing) * -4);
  }
  .-bottom-6 {
    bottom: calc(var(--spacing) * -6);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-1 {
    bottom: calc(var(--spacing) * 1);
  }
  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }
  .bottom-6 {
    bottom: calc(var(--spacing) * 6);
  }
  .bottom-\[72px\] {
    bottom: 72px;
  }
  .bottom-\[96px\] {
    bottom: 96px;
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-2 {
    left: calc(var(--spacing) * 2);
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .left-\[100px\] {
    left: 100px;
  }
  .-z-0 {
    z-index: calc(0 * -1);
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-30 {
    z-index: 30;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[60\] {
    z-index: 60;
  }
  .z-\[70\] {
    z-index: 70;
  }
  .z-\[100\] {
    z-index: 100;
  }
  .z-\[101\] {
    z-index: 101;
  }
  .z-\[9999\] {
    z-index: 9999;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .-mt-4 {
    margin-top: calc(var(--spacing) * -4);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * 0.5);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .mb-20 {
    margin-bottom: calc(var(--spacing) * 20);
  }
  .mb-\[-8px\] {
    margin-bottom: -8px;
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .aspect-\[1\.6\/1\] {
    aspect-ratio: 1.6/1;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .h-0\.5 {
    height: calc(var(--spacing) * 0.5);
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-5\.5 {
    height: calc(var(--spacing) * 5.5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-44 {
    height: calc(var(--spacing) * 44);
  }
  .h-48 {
    height: calc(var(--spacing) * 48);
  }
  .h-60 {
    height: calc(var(--spacing) * 60);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-72 {
    height: calc(var(--spacing) * 72);
  }
  .h-\[1px\] {
    height: 1px;
  }
  .h-\[42\%\] {
    height: 42%;
  }
  .h-\[65\%\] {
    height: 65%;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .max-h-48 {
    max-height: calc(var(--spacing) * 48);
  }
  .max-h-96 {
    max-height: calc(var(--spacing) * 96);
  }
  .max-h-\[80vh\] {
    max-height: 80vh;
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .min-h-\[260px\] {
    min-height: 260px;
  }
  .w-1 {
    width: calc(var(--spacing) * 1);
  }
  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-5\.5 {
    width: calc(var(--spacing) * 5.5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-26 {
    width: calc(var(--spacing) * 26);
  }
  .w-28 {
    width: calc(var(--spacing) * 28);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-44 {
    width: calc(var(--spacing) * 44);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-56 {
    width: calc(var(--spacing) * 56);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-\[1\.5px\] {
    width: 1.5px;
  }
  .w-\[1px\] {
    width: 1px;
  }
  .w-full {
    width: 100%;
  }
  .w-px {
    width: 1px;
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-\[240px\] {
    max-width: 240px;
  }
  .max-w-\[280px\] {
    max-width: 280px;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-\[160px\] {
    min-width: 160px;
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-rotate-2 {
    rotate: calc(2deg * -1);
  }
  .rotate-\[-10deg\] {
    rotate: -10deg;
  }
  .rotate-\[15deg\] {
    rotate: 15deg;
  }
  .-skew-x-6 {
    --tw-skew-x: skewX(calc(6deg * -1));
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-\[spin_40s_linear_infinite\] {
    animation: spin 40s linear infinite;
  }
  .animate-\[spin_60s_linear_infinite_reverse\] {
    animation: spin 60s linear infinite reverse;
  }
  .animate-bounce {
    animation: var(--animate-bounce);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
  }
  .snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
  }
  .snap-start {
    scroll-snap-align: start;
  }
  .list-disc {
    list-style-type: disc;
  }
  .list-none {
    list-style-type: none;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .space-y-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-8 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }
  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .self-center {
    align-self: center;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-\[2\.5rem\] {
    border-radius: 2.5rem;
  }
  .rounded-\[2rem\] {
    border-radius: 2rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-t-lg {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
  }
  .rounded-t-sm {
    border-top-left-radius: var(--radius-sm);
    border-top-right-radius: var(--radius-sm);
  }
  .rounded-r {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
  .rounded-b-2xl {
    border-bottom-right-radius: var(--radius-2xl);
    border-bottom-left-radius: var(--radius-2xl);
  }
  .rounded-bl-2xl {
    border-bottom-left-radius: var(--radius-2xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }
  .border-x {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-4 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 4px;
  }
  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-\[\#E6B800\] {
    border-color: #E6B800;
  }
  .border-\[\#FFCC00\] {
    border-color: #FFCC00;
  }
  .border-\[\#d4c500\] {
    border-color: #d4c500;
  }
  .border-\[\#d97706\] {
    border-color: #d97706;
  }
  .border-\[\#fff000\]\/30 {
    border-color: color-mix(in oklab, #fff000 30%, transparent);
  }
  .border-amber-100 {
    border-color: var(--color-amber-100);
  }
  .border-amber-200 {
    border-color: var(--color-amber-200);
  }
  .border-black\/10 {
    border-color: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }
  .border-blue-100 {
    border-color: var(--color-blue-100);
  }
  .border-emerald-100 {
    border-color: var(--color-emerald-100);
  }
  .border-gray-100 {
    border-color: var(--color-gray-100);
  }
  .border-gray-200 {
    border-color: var(--color-gray-200);
  }
  .border-green-500\/20 {
    border-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
    }
  }
  .border-karcher-dark {
    border-color: var(--color-karcher-dark);
  }
  .border-pink-500 {
    border-color: var(--color-pink-500);
  }
  .border-rose-100 {
    border-color: var(--color-rose-100);
  }
  .border-slate-50 {
    border-color: var(--color-slate-50);
  }
  .border-slate-100 {
    border-color: var(--color-slate-100);
  }
  .border-slate-200 {
    border-color: var(--color-slate-200);
  }
  .border-slate-200\/60 {
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 60%, transparent);
    }
  }
  .border-slate-300 {
    border-color: var(--color-slate-300);
  }
  .border-slate-400 {
    border-color: var(--color-slate-400);
  }
  .border-slate-800 {
    border-color: var(--color-slate-800);
  }
  .border-slate-900 {
    border-color: var(--color-slate-900);
  }
  .border-slate-950 {
    border-color: var(--color-slate-950);
  }
  .border-white {
    border-color: var(--color-white);
  }
  .border-white\/10 {
    border-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .border-white\/20 {
    border-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .bg-\[\#8a7d00\] {
    background-color: #8a7d00;
  }
  .bg-\[\#25D366\] {
    background-color: #25D366;
  }
  .bg-\[\#111827\] {
    background-color: #111827;
  }
  .bg-\[\#FFCC00\] {
    background-color: #FFCC00;
  }
  .bg-\[\#ffed00\] {
    background-color: #ffed00;
  }
  .bg-\[\#fff000\] {
    background-color: #fff000;
  }
  .bg-\[\#fffbeb\] {
    background-color: #fffbeb;
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-black\/5 {
    background-color: color-mix(in srgb, #000 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 5%, transparent);
    }
  }
  .bg-black\/10 {
    background-color: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }
  .bg-black\/20 {
    background-color: color-mix(in srgb, #000 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }
  .bg-black\/40 {
    background-color: color-mix(in srgb, #000 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }
  .bg-black\/60 {
    background-color: color-mix(in srgb, #000 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }
  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }
  .bg-blue-50\/30 {
    background-color: color-mix(in srgb, oklch(97% 0.014 254.604) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-50) 30%, transparent);
    }
  }
  .bg-blue-50\/60 {
    background-color: color-mix(in srgb, oklch(97% 0.014 254.604) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-50) 60%, transparent);
    }
  }
  .bg-blue-400 {
    background-color: var(--color-blue-400);
  }
  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }
  .bg-blue-500\/50 {
    background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
    }
  }
  .bg-emerald-50 {
    background-color: var(--color-emerald-50);
  }
  .bg-emerald-500 {
    background-color: var(--color-emerald-500);
  }
  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .bg-gray-300 {
    background-color: var(--color-gray-300);
  }
  .bg-green-50 {
    background-color: var(--color-green-50);
  }
  .bg-green-100 {
    background-color: var(--color-green-100);
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-indigo-500\/20 {
    background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-indigo-500) 20%, transparent);
    }
  }
  .bg-karcher {
    background-color: var(--color-karcher);
  }
  .bg-karcher\/10 {
    background-color: color-mix(in srgb, #FFCC00 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-karcher) 10%, transparent);
    }
  }
  .bg-karcher\/20 {
    background-color: color-mix(in srgb, #FFCC00 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-karcher) 20%, transparent);
    }
  }
  .bg-pink-50 {
    background-color: var(--color-pink-50);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-rose-50 {
    background-color: var(--color-rose-50);
  }
  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .bg-slate-50\/50 {
    background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);
    }
  }
  .bg-slate-100 {
    background-color: var(--color-slate-100);
  }
  .bg-slate-200 {
    background-color: var(--color-slate-200);
  }
  .bg-slate-300 {
    background-color: var(--color-slate-300);
  }
  .bg-slate-400 {
    background-color: var(--color-slate-400);
  }
  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }
  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }
  .bg-slate-900\/60 {
    background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }
  .bg-slate-950 {
    background-color: var(--color-slate-950);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/5 {
    background-color: color-mix(in srgb, #fff 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }
  .bg-white\/30 {
    background-color: color-mix(in srgb, #fff 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }
  .bg-white\/40 {
    background-color: color-mix(in srgb, #fff 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }
  .bg-white\/80 {
    background-color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .bg-white\/90 {
    background-color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-\[\#1f2937\] {
    --tw-gradient-from: #1f2937;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-\[\#ffed00\] {
    --tw-gradient-from: #ffed00;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-\[\#fff000\]\/10 {
    --tw-gradient-from: color-mix(in oklab, #fff000 10%, transparent);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-indigo-500 {
    --tw-gradient-from: var(--color-indigo-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-slate-800 {
    --tw-gradient-from: var(--color-slate-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-\[\#111827\] {
    --tw-gradient-to: #111827;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-\[\#e6d500\] {
    --tw-gradient-to: #e6d500;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-purple-600 {
    --tw-gradient-to: var(--color-purple-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-slate-950 {
    --tw-gradient-to: var(--color-slate-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-white {
    --tw-gradient-to: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .object-contain {
    object-fit: contain;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .pt-28 {
    padding-top: calc(var(--spacing) * 28);
  }
  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }
  .pb-40 {
    padding-bottom: calc(var(--spacing) * 40);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .text-center {
    text-align: center;
  }
  .text-right {
    text-align: right;
  }
  .font-display {
    font-family: var(--font-display);
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[8px\] {
    font-size: 8px;
  }
  .text-\[9px\] {
    font-size: 9px;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[16px\] {
    font-size: 16px;
  }
  .text-\[17px\] {
    font-size: 17px;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-\[400\] {
    --tw-font-weight: 400;
    font-weight: 400;
  }
  .font-\[900\] {
    --tw-font-weight: 900;
    font-weight: 900;
  }
  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[0\.1em\] {
    --tw-tracking: 0.1em;
    letter-spacing: 0.1em;
  }
  .tracking-\[0\.2em\] {
    --tw-tracking: 0.2em;
    letter-spacing: 0.2em;
  }
  .tracking-\[0\.3em\] {
    --tw-tracking: 0.3em;
    letter-spacing: 0.3em;
  }
  .tracking-\[0\.5em\] {
    --tw-tracking: 0.5em;
    letter-spacing: 0.5em;
  }
  .tracking-\[0\.6em\] {
    --tw-tracking: 0.6em;
    letter-spacing: 0.6em;
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-\[\#92400e\] {
    color: #92400e;
  }
  .text-\[\#FFCC00\] {
    color: #FFCC00;
  }
  .text-\[\#d97706\] {
    color: #d97706;
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-amber-600 {
    color: var(--color-amber-600);
  }
  .text-amber-900 {
    color: var(--color-amber-900);
  }
  .text-black {
    color: var(--color-black);
  }
  .text-black\/60 {
    color: color-mix(in srgb, #000 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }
  .text-blue-500 {
    color: var(--color-blue-500);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-blue-800 {
    color: var(--color-blue-800);
  }
  .text-blue-900 {
    color: var(--color-blue-900);
  }
  .text-emerald-600 {
    color: var(--color-emerald-600);
  }
  .text-emerald-700 {
    color: var(--color-emerald-700);
  }
  .text-emerald-800 {
    color: var(--color-emerald-800);
  }
  .text-emerald-900 {
    color: var(--color-emerald-900);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-700 {
    color: var(--color-gray-700);
  }
  .text-gray-800 {
    color: var(--color-gray-800);
  }
  .text-green-500 {
    color: var(--color-green-500);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-indigo-100 {
    color: var(--color-indigo-100);
  }
  .text-indigo-300\/80 {
    color: color-mix(in srgb, oklch(78.5% 0.115 274.713) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-indigo-300) 80%, transparent);
    }
  }
  .text-karcher {
    color: var(--color-karcher);
  }
  .text-karcher-dark {
    color: var(--color-karcher-dark);
  }
  .text-pink-500 {
    color: var(--color-pink-500);
  }
  .text-pink-800 {
    color: var(--color-pink-800);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-rose-800 {
    color: var(--color-rose-800);
  }
  .text-rose-900 {
    color: var(--color-rose-900);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-600 {
    color: var(--color-slate-600);
  }
  .text-slate-700 {
    color: var(--color-slate-700);
  }
  .text-slate-800 {
    color: var(--color-slate-800);
  }
  .text-slate-900 {
    color: var(--color-slate-900);
  }
  .text-slate-900\/60 {
    color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }
  .text-slate-950 {
    color: var(--color-slate-950);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/40 {
    color: color-mix(in srgb, #fff 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .accent-\[\#fff000\] {
    accent-color: #fff000;
  }
  .accent-karcher {
    accent-color: var(--color-karcher);
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-10 {
    opacity: 10%;
  }
  .opacity-20 {
    opacity: 20%;
  }
  .opacity-30 {
    opacity: 30%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-80 {
    opacity: 80%;
  }
  .opacity-100 {
    opacity: 100%;
  }
  .opacity-\[0\.03\] {
    opacity: 0.03;
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_4px_10px_rgba\(0\,0\,0\,0\.4\)\] {
    --tw-shadow: 0 4px 10px var(--tw-shadow-color, rgba(0,0,0,0.4));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[\#FFCC00\]\/20 {
    --tw-shadow-color: color-mix(in srgb, #FFCC00 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, #FFCC00 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-green-500\/20 {
    --tw-shadow-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-karcher\/30 {
    --tw-shadow-color: color-mix(in srgb, #FFCC00 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-karcher) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-slate-200 {
    --tw-shadow-color: oklch(92.9% 0.013 255.508);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, var(--color-slate-200) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-slate-200\/50 {
    --tw-shadow-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-slate-200) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-slate-900\/20 {
    --tw-shadow-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-slate-900) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-yellow-400\/10 {
    --tw-shadow-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-yellow-400) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-yellow-400\/20 {
    --tw-shadow-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-yellow-400) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .drop-shadow-2xl {
    --tw-drop-shadow-size: drop-shadow(0 25px 25px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-2xl));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .duration-1000 {
    --tw-duration: 1000ms;
    transition-duration: 1000ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .backface-hidden {
    backface-visibility: hidden;
  }
  .group-open\:mb-3 {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      margin-bottom: calc(var(--spacing) * 3);
    }
  }
  .group-open\:rotate-180 {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      rotate: 180deg;
    }
  }
  .group-open\:bg-slate-50 {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      background-color: var(--color-slate-50);
    }
  }
  .group-open\:bg-white {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      background-color: var(--color-white);
    }
  }
  .group-hover\:translate-x-1 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * 1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:scale-110 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:rotate-6 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        rotate: 6deg;
      }
    }
  }
  .group-hover\:bg-black\/10 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
        }
      }
    }
  }
  .group-hover\:bg-black\/20 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
        }
      }
    }
  }
  .group-hover\:bg-green-100 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: var(--color-green-100);
      }
    }
  }
  .group-hover\:bg-indigo-500\/40 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 40%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-indigo-500) 40%, transparent);
        }
      }
    }
  }
  .group-hover\:bg-karcher\/10 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #FFCC00 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-karcher) 10%, transparent);
        }
      }
    }
  }
  .group-hover\:bg-karcher\/20 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #FFCC00 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-karcher) 20%, transparent);
        }
      }
    }
  }
  .group-hover\:bg-slate-200 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: var(--color-slate-200);
      }
    }
  }
  .group-hover\:bg-white\/10 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }
  .group-hover\:bg-white\/50 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
        }
      }
    }
  }
  .group-hover\:text-\[\#FFCC00\] {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: #FFCC00;
      }
    }
  }
  .group-hover\:text-karcher-dark {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-karcher-dark);
      }
    }
  }
  .group-hover\:text-slate-700 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-slate-700);
      }
    }
  }
  .group-hover\:text-slate-900 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-slate-900);
      }
    }
  }
  .group-hover\:text-white {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .group-hover\/item\:scale-110 {
    &:is(:where(.group\/item):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\/item\:text-\[\#FFCC00\] {
    &:is(:where(.group\/item):hover *) {
      @media (hover: hover) {
        color: #FFCC00;
      }
    }
  }
  .hover\:translate-x-2 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:-translate-y-1 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:scale-110 {
    &:hover {
      @media (hover: hover) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .hover\:scale-\[1\.02\] {
    &:hover {
      @media (hover: hover) {
        scale: 1.02;
      }
    }
  }
  .hover\:border-\[\#FFCC00\] {
    &:hover {
      @media (hover: hover) {
        border-color: #FFCC00;
      }
    }
  }
  .hover\:border-\[\#FFCC00\]\/50 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in oklab, #FFCC00 50%, transparent);
      }
    }
  }
  .hover\:border-karcher {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-karcher);
      }
    }
  }
  .hover\:border-karcher\/50 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, #FFCC00 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-karcher) 50%, transparent);
        }
      }
    }
  }
  .hover\:border-slate-300 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-slate-300);
      }
    }
  }
  .hover\:bg-\[\#20ba5a\] {
    &:hover {
      @media (hover: hover) {
        background-color: #20ba5a;
      }
    }
  }
  .hover\:bg-gray-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-100);
      }
    }
  }
  .hover\:bg-green-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-green-100);
      }
    }
  }
  .hover\:bg-karcher {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-karcher);
      }
    }
  }
  .hover\:bg-karcher-dark {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-karcher-dark);
      }
    }
  }
  .hover\:bg-pink-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-pink-50);
      }
    }
  }
  .hover\:bg-slate-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-50);
      }
    }
  }
  .hover\:bg-slate-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-100);
      }
    }
  }
  .hover\:bg-slate-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-800);
      }
    }
  }
  .hover\:text-karcher {
    &:hover {
      @media (hover: hover) {
        color: var(--color-karcher);
      }
    }
  }
  .hover\:text-karcher-dark {
    &:hover {
      @media (hover: hover) {
        color: var(--color-karcher-dark);
      }
    }
  }
  .hover\:text-pink-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-pink-500);
      }
    }
  }
  .hover\:text-red-700 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-700);
      }
    }
  }
  .hover\:text-slate-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-600);
      }
    }
  }
  .hover\:text-slate-950 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-950);
      }
    }
  }
  .hover\:shadow-md {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-karcher\/50 {
    &:hover {
      @media (hover: hover) {
        --tw-shadow-color: color-mix(in srgb, #FFCC00 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-karcher) 50%, transparent) var(--tw-shadow-alpha), transparent);
        }
      }
    }
  }
  .active\:scale-90 {
    &:active {
      --tw-scale-x: 90%;
      --tw-scale-y: 90%;
      --tw-scale-z: 90%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .active\:scale-95 {
    &:active {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .has-\[\:checked\]\:border-karcher {
    &:has(*:is(:checked)) {
      border-color: var(--color-karcher);
    }
  }
  .has-\[\:checked\]\:bg-karcher\/5 {
    &:has(*:is(:checked)) {
      background-color: color-mix(in srgb, #FFCC00 5%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-karcher) 5%, transparent);
      }
    }
  }
  .sm\:inline {
    @media (width >= 40rem) {
      display: inline;
    }
  }
  .sm\:max-w-\[320px\] {
    @media (width >= 40rem) {
      max-width: 320px;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:text-\[9px\] {
    @media (width >= 40rem) {
      font-size: 9px;
    }
  }
  .sm\:text-\[19px\] {
    @media (width >= 40rem) {
      font-size: 19px;
    }
  }
  .md\:mx-4 {
    @media (width >= 48rem) {
      margin-inline: calc(var(--spacing) * 4);
    }
  }
  .md\:mb-12 {
    @media (width >= 48rem) {
      margin-bottom: calc(var(--spacing) * 12);
    }
  }
  .md\:h-8 {
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 8);
    }
  }
  .md\:h-11 {
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 11);
    }
  }
  .md\:w-11 {
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 11);
    }
  }
  .md\:max-w-\[360px\] {
    @media (width >= 48rem) {
      max-width: 360px;
    }
  }
  .md\:gap-4 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 4);
    }
  }
  .md\:gap-x-3 {
    @media (width >= 48rem) {
      column-gap: calc(var(--spacing) * 3);
    }
  }
  .md\:gap-y-4 {
    @media (width >= 48rem) {
      row-gap: calc(var(--spacing) * 4);
    }
  }
  .md\:p-4 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 4);
    }
  }
  .md\:p-8 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .md\:p-10 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 10);
    }
  }
  .md\:p-12 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 12);
    }
  }
  .md\:px-3 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 3);
    }
  }
  .md\:px-4 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .md\:px-8 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .md\:pt-6 {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 6);
    }
  }
  .md\:pb-6 {
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 6);
    }
  }
  .md\:text-3xl {
    @media (width >= 48rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .md\:text-6xl {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .md\:text-7xl {
    @media (width >= 48rem) {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .md\:text-sm {
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .md\:text-\[11px\] {
    @media (width >= 48rem) {
      font-size: 11px;
    }
  }
  .md\:text-\[18px\] {
    @media (width >= 48rem) {
      font-size: 18px;
    }
  }
  .md\:text-\[20px\] {
    @media (width >= 48rem) {
      font-size: 20px;
    }
  }
}
.map-placeholder {
  background: radial-gradient(circle at center, #ffffff 0%, #f8fafc 100%);
  position: relative;
  overflow: hidden;
}
.map-dot {
  position: absolute;
  width: 12px;
  height: 12px;
  background: #FFCC00;
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 0 15px rgba(255, 204, 0, 0.6);
  z-index: 20;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
.pulse-ring {
  position: absolute;
  width: 40px;
  height: 40px;
  border: 2px solid #FFCC00;
  border-radius: 50%;
  animation: pulse-ring 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
@keyframes pulse-ring {
  0% {
    transform: translate(-50%, -50%) scale(0.3);
    opacity: 0.8;
  }
  80%, 100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}
.radar-sweep {
  position: absolute;
  width: 200%;
  height: 200%;
  top: -50%;
  left: -50%;
  background: conic-gradient(from 0deg, rgba(255, 204, 0, 0) 0%, rgba(255, 204, 0, 0.05) 10%, rgba(255, 204, 0, 0) 20%);
  animation: radar-spin 6s linear infinite;
  pointer-events: none;
}
@keyframes radar-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.floating-marker {
  animation: float 4s ease-in-out infinite;
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.route-line {
  stroke-dasharray: 5;
  animation: dash-flow 20s linear infinite;
}
@keyframes dash-flow {
  from {
    stroke-dashoffset: 100px;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(0.8,0,1,1);
    transform: translateY(-25%);
  }
  50% {
    animation-timing-function: cubic-bezier(0,0,0.2,1);
    transform: none;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-scroll-snap-strictness: proximity;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}



/* ==========================================================================
   Pomogator rental date modal — stable CSS, no Tailwind dependency
   ========================================================================== */
#rentalDateSheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: rgba(15, 23, 42, 0.62) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  opacity: 1;
  transition: opacity .22s ease;
}
#rentalDateSheet.hidden {
  display: none !important;
}
#rentalDateSheet.opacity-0 {
  opacity: 0 !important;
  pointer-events: none !important;
}
#rentalDateSheet > div {
  min-height: 100%;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 !important;
}
.rental-sheet-panel {
  width: 100% !important;
  max-width: 540px !important;
  height: min(86vh, 760px) !important;
  max-height: 86vh !important;
  background:
    radial-gradient(circle at 24px 12px, rgba(255, 240, 0, .20), transparent 150px),
    #ffffff !important;
  border: 1px solid rgba(226, 232, 240, .95) !important;
  border-radius: 28px 28px 0 0 !important;
  box-shadow: 0 -24px 70px rgba(15, 23, 42, .28), 0 0 0 1px rgba(255, 255, 255, .6) inset !important;
  overflow: hidden !important;
  transform: translateY(24px) scale(.98);
  opacity: 0;
  transition: transform .28s cubic-bezier(.16, 1, .3, 1), opacity .22s ease !important;
}
#rentalDateSheet:not(.hidden):not(.opacity-0) .rental-sheet-panel {
  transform: translateY(0) scale(1) !important;
  opacity: 1 !important;
}
.rental-date-header {
  position: relative;
  padding: 18px 18px 12px !important;
  border-bottom: 1px solid rgba(226, 232, 240, .75);
}
.rental-date-header::before {
  content: "";
  display: block;
  width: 54px;
  height: 5px;
  border-radius: 99px;
  background: #cbd5e1;
  margin: 0 auto 14px;
}
.rental-date-title-main {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px !important;
  line-height: 1.2;
  font-weight: 900 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em;
}
#rentalDateTitle {
  margin-top: 8px;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 7px 11px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #1e293b !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
#rentalDateTariff {
  margin-top: 8px;
  color: #2563eb !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.rental-date-body {
  padding: 14px 18px 96px !important;
  overflow-y: auto !important;
}
#rentalDateLoading {
  padding: 14px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.rental-date-calendar-wrap {
  padding: 10px 0 0;
}
.rental-date-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.rental-date-btn,
.rental-date-button {
  min-height: 72px;
  padding: 10px 11px !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  background: #fff !important;
  text-align: left !important;
  pointer-events: auto;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .045);
  transition: transform .16s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}
.rental-date-btn:active,
.rental-date-button:active {
  transform: scale(.97);
}
.rental-date-btn--free,
.rental-date-button--free {
  border-color: rgba(16, 185, 129, .25) !important;
  background: linear-gradient(180deg, #ffffff, #f8fffc) !important;
}
.rental-date-btn--free:hover,
.rental-date-button--free:hover {
  border-color: rgba(16, 185, 129, .7) !important;
  box-shadow: 0 10px 22px rgba(16, 185, 129, .12);
}
.rental-date-btn--busy,
.rental-date-btn:disabled,
.rental-date-button--busy,
.rental-date-button:disabled {
  pointer-events: none !important;
  cursor: not-allowed !important;
  background: #f8fafc !important;
  color: #94a3b8 !important;
  border-color: #e5e7eb !important;
  box-shadow: none !important;
  opacity: .75;
}
.rental-date-btn--selected,
.rental-date-button--selected {
  background: linear-gradient(135deg, #fff000, #ffe76a) !important;
  border-color: #eab308 !important;
  box-shadow: 0 12px 28px rgba(234, 179, 8, .26), 0 0 0 3px rgba(255, 240, 0, .24) !important;
  transform: translateY(-1px);
}
.rental-date-day {
  font-size: 16px;
  font-weight: 900;
  color: #0f172a;
}
.rental-date-week {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
  text-transform: uppercase;
}
.rental-date-state {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 800;
}
.rental-date-state--free {
  color: #059669;
}
.rental-date-state--busy {
  color: #ef4444;
}
.rental-date-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 99px;
}
.rental-date-dot--free {
  background: #10b981;
}
.rental-date-dot--busy {
  background: #ef4444;
}
.rental-date-legend {
  margin-top: 8px;
  padding: 9px 11px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.rental-date-fallback {
  padding: 13px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
}
#rentalDateInput {
  width: 100% !important;
  height: 48px !important;
  border-radius: 16px !important;
  border: 1px solid #cbd5e1 !important;
  background: #fff !important;
  padding: 0 14px !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  box-shadow: 0 5px 16px rgba(15, 23, 42, .05);
}
#rentalDateStatus {
  margin-top: 10px !important;
  padding: 10px 12px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 13px !important;
  font-weight: 800;
}
#rentalDateStatus[data-status="ok"] {
  color: #047857 !important;
  background: #ecfdf5;
  border-color: #a7f3d0;
}
#rentalDateStatus[data-status="busy"] {
  color: #b91c1c !important;
  background: #fef2f2;
  border-color: #fecaca;
}
#rentalDateManagerBtn {
  margin-top: 10px;
  height: 44px;
  border-radius: 16px !important;
  border: 1px solid #f59e0b !important;
  background: #fffbeb !important;
  color: #92400e !important;
  font-weight: 900 !important;
}
.rental-date-footer {
  position: sticky !important;
  bottom: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 10px !important;
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom)) !important;
  background: rgba(255, 255, 255, .96) !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: 0 -16px 36px rgba(15, 23, 42, .08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.rental-date-cancel,
.rental-date-confirm {
  height: 50px !important;
  border-radius: 17px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  transition: transform .16s ease, opacity .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.rental-date-cancel {
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .05);
}
.rental-date-confirm {
  background: #cbd5e1 !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
  box-shadow: none !important;
}
.rental-date-confirm--active,
.rental-date-confirm:not(:disabled) {
  background: linear-gradient(135deg, #fff000, #ffe147) !important;
  border-color: #eab308 !important;
  color: #111827 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .45);
  box-shadow: 0 14px 28px rgba(16, 185, 129, .25) !important;
}
.rental-date-confirm--active::after,
.rental-date-confirm:not(:disabled)::after {
  content: " ✓";
}
.rental-date-cancel:active,
.rental-date-confirm:active {
  transform: scale(.98);
}
.rental-date-confirm:disabled {
  opacity: .72 !important;
  cursor: not-allowed !important;
}
.booking-trust-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: -2px 0 9px;
  padding: 8px 10px;
  border: 1px solid rgba(167, 243, 208, 0.9);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(255, 255, 255, 0.94));
  color: #047857;
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1.2;
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.09);
}
.booking-trust-note svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  stroke-width: 2.6;
}
.bottom-cart-bar {
  max-height: none !important;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
  overflow: visible !important;
  border-top: 1px solid rgba(226, 232, 240, 0.92) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 -14px 36px rgba(15, 23, 42, 0.12) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.bottom-cart-inner {
  display: grid;
  gap: 8px;
}
.bottom-cart-details {
  display: none;
  max-height: 220px;
  overflow: hidden;
  padding: 10px;
  border: 1px solid rgba(226, 232, 240, 0.82);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.95));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}
.bottom-cart-bar.is-expanded .bottom-cart-details {
  display: block;
}
.cart-items-list {
  max-height: 148px !important;
  margin-bottom: 8px !important;
  padding-right: 2px;
}
.bottom-cart-main {
  display: grid;
  grid-template-columns: minmax(96px, 1fr) auto minmax(132px, 1.1fr);
  align-items: center;
  gap: 8px;
}
.cart-toggle-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  height: 48px;
  padding: 7px 9px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  transition: transform 0.16s ease, border-color 0.18s ease, background 0.18s ease;
}
.cart-toggle-btn:active {
  transform: scale(0.98);
}
.bottom-cart-bar.is-expanded .cart-toggle-btn {
  border-color: rgba(234, 179, 8, 0.42);
  background: #fffbea;
}
.cart-toggle-icon {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 11px;
  background: #fff000;
  color: #111827;
}
.cart-toggle-icon svg,
.cart-toggle-chevron svg {
  width: 15px;
  height: 15px;
  stroke-width: 2.7;
}
.cart-toggle-text {
  display: grid;
  min-width: 0;
  text-align: left;
  line-height: 1.05;
}
.cart-toggle-title {
  color: #111827;
  font-size: 12px;
  font-weight: 950;
}
.cart-toggle-count {
  margin-top: 2px;
  color: #64748b;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.cart-toggle-chevron {
  display: inline-grid;
  place-items: center;
  margin-left: auto;
  color: #64748b;
  transition: transform 0.18s ease;
}
.bottom-cart-bar.is-expanded .cart-toggle-chevron {
  transform: rotate(180deg);
}
.bottom-cart-total {
  display: grid;
  justify-items: end;
  min-width: 72px;
  line-height: 1.05;
}
.bottom-cart-total span {
  color: #64748b;
  font-size: 10px;
  font-weight: 850;
}
.bottom-cart-total strong {
  font-size: 17px !important;
  line-height: 1.1;
  white-space: nowrap;
}
.bottom-cart-whatsapp {
  height: 48px;
  min-width: 0;
  padding-left: 10px !important;
  padding-right: 10px !important;
  border-radius: 16px !important;
  font-size: 12px !important;
  line-height: 1.05;
}
.bottom-cart-whatsapp svg {
  flex: 0 0 auto;
}
.bottom-cart-details .booking-trust-note {
  margin: 0;
}
@media (max-width: 390px) {
  .seo-footer-links {
    gap: 8px 6px;
    max-width: 360px;
  }
  .seo-footer-links a {
    min-height: 44px;
    padding: 7px 11px 7px 8px;
    font-size: 10px;
  }
  .seo-footer-icon {
    width: 25px;
    height: 25px;
  }
  .seo-footer-icon .seo-menu-svg {
    width: 25px;
    height: 25px;
  }
  .bottom-cart-main {
    grid-template-columns: minmax(86px, 1fr) auto minmax(116px, 1fr);
    gap: 6px;
  }
  .cart-toggle-title {
    font-size: 11px;
  }
  .bottom-cart-total strong {
    font-size: 15px !important;
  }
  .bottom-cart-whatsapp {
    font-size: 11px !important;
  }
}
@media (min-width: 768px) {
  #rentalDateSheet > div {
    align-items: center !important;
    padding: 24px !important;
  }
  .rental-sheet-panel {
    height: auto !important;
    min-height: 560px !important;
    max-height: 84vh !important;
    border-radius: 30px !important;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .34) !important;
  }
  .rental-date-header::before {
    display: none;
  }
  .rental-date-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Booking details modal: stable CSS, no Tailwind dependency */
.booking-details-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.booking-details-overlay.hidden { display: none; }
.booking-details-overlay--open {
  opacity: 1;
  pointer-events: auto;
}
.booking-details-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .62);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
.booking-details-panel {
  position: relative;
  width: 100%;
  max-width: 540px;
  max-height: 88vh;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 30px 30px 0 0;
  box-shadow: 0 -24px 80px rgba(15, 23, 42, .22);
  transform: translateY(28px) scale(.98);
  opacity: 0;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .24s ease;
  display: flex;
  flex-direction: column;
  overscroll-behavior: contain;
}
.booking-details-overlay--open .booking-details-panel {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.booking-details-handle {
  width: 52px;
  height: 5px;
  border-radius: 999px;
  background: #dbe3ee;
  margin: 10px auto 4px;
}
.booking-details-header {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 18px 12px;
}
.booking-details-icon {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 15px;
  background: linear-gradient(135deg, #ffffff, #f8fafc);
  color: #0f766e;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .07);
}
.booking-details-icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.25;
}
.booking-details-title {
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -.02em;
}
.booking-details-subtitle {
  font-size: 12px;
  color: #64748b;
  line-height: 1.35;
  margin-top: 2px;
}
.booking-details-summary {
  margin: 0 18px 12px;
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fafc, #ffffff);
}
.booking-details-summary-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid rgba(226, 232, 240, .82);
  border-radius: 14px;
  background: rgba(255, 255, 255, .86);
  color: #0f172a;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .045);
}
.booking-details-summary-head {
  display: grid;
  min-width: 0;
  text-align: left;
}
.booking-details-summary-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 2px;
}
.booking-details-summary-meta {
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
}
.booking-details-summary-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 6px 8px;
  border-radius: 999px;
  background: #fff7cc;
  color: #475569;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.booking-details-summary-action svg {
  width: 14px;
  height: 14px;
  stroke-width: 2.8;
  transition: transform .18s ease;
}
.booking-details-summary.is-expanded .booking-details-summary-action svg {
  transform: rotate(180deg);
}
.booking-details-summary-text {
  display: none;
  max-height: 210px;
  overflow-y: auto;
  margin-top: 8px;
  padding: 8px 6px 2px;
  white-space: normal;
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.45;
}
.booking-details-summary.is-expanded .booking-details-summary-text {
  display: block;
}
.booking-summary-empty {
  font-size: 13px;
  color: #475569;
}
.booking-summary-section {
  margin-bottom: 10px;
}
.booking-summary-section:last-child {
  margin-bottom: 0;
}
.booking-summary-section-title {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #94a3b8;
  margin-bottom: 6px;
}
.booking-summary-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px dashed #e2e8f0;
}
.booking-summary-item:last-child {
  border-bottom: 0;
}
.booking-summary-item--main {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 8px 10px;
  margin-bottom: 6px;
}
.booking-summary-main-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.booking-summary-name {
  font-size: 13px;
  font-weight: 800;
  color: #1f2937;
}
.booking-summary-sub {
  font-size: 12px;
  color: #64748b;
}
.booking-summary-price {
  font-size: 12px;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}
.booking-summary-date-chip {
  font-size: 10px;
  font-weight: 800;
  color: #334155;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  padding: 3px 8px;
  white-space: nowrap;
}
.booking-summary-total-chip {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 900;
  color: #1f2937;
  background: linear-gradient(135deg, #fff8cc, #fff000);
  border: 1px solid #facc15;
  border-radius: 999px;
  padding: 6px 12px;
}
.booking-details-form {
  overflow-y: auto;
  padding: 0 18px 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 11px;
  scroll-padding-bottom: 110px;
  -webkit-overflow-scrolling: touch;
}
.booking-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.booking-field span {
  font-size: 12px;
  font-weight: 800;
  color: #334155;
}
.booking-field input,
.booking-field textarea {
  width: 100%;
  border: 1px solid #dbe3ee;
  border-radius: 16px;
  background: #fff;
  padding: 12px 13px;
  font-size: 15px;
  color: #0f172a;
  outline: none;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .02);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  -webkit-appearance: none;
  appearance: none;
}
.booking-field input:-webkit-autofill,
.booking-field textarea:-webkit-autofill {
  -webkit-text-fill-color: #0f172a;
  box-shadow: 0 0 0 1000px #ffffff inset;
  transition: background-color 9999s ease-in-out 0s;
}
.booking-field textarea { resize: vertical; min-height: 84px; }
.booking-field input:focus,
.booking-field textarea:focus {
  border-color: #fff000;
  box-shadow: 0 0 0 4px rgba(255, 240, 0, .22);
  background: #fffef2;
}
.booking-details-error {
  margin: 0 18px 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 700;
}
.booking-details-footer {
  display: grid;
  grid-template-columns: .9fr 1.25fr;
  gap: 10px;
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid #e2e8f0;
  background: rgba(255,255,255,.96);
  box-shadow: 0 -12px 30px rgba(15, 23, 42, .06);
}
.booking-details-cancel,
.booking-details-confirm {
  min-height: 48px;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
}
.booking-details-cancel {
  border: 1px solid #dbe3ee;
  background: #fff;
  color: #475569;
}
.booking-details-confirm {
  border: none;
  background: linear-gradient(135deg, #34d399, #10b981);
  color: #fff;
  box-shadow: 0 14px 28px rgba(16, 185, 129, .28);
}
.booking-details-confirm:disabled {
  opacity: .42;
  cursor: not-allowed;
  box-shadow: none;
  filter: grayscale(.15);
}
.booking-details-cancel:active,
.booking-details-confirm:not(:disabled):active { transform: scale(.98); }
@media (min-width: 720px) {
  .booking-details-overlay { align-items: center; padding: 24px; }
  .booking-details-panel { border-radius: 30px; max-height: 86vh; box-shadow: 0 30px 100px rgba(15,23,42,.28); }
  .booking-details-form { grid-template-columns: 1fr 1fr; }
  .booking-field-full { grid-column: 1 / -1; }
}

/* Mobile input helper ("air field") */
.booking-field-editor {
  position: fixed;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}
.booking-field-editor.hidden { display: none; }
.booking-field-editor--open {
  opacity: 1;
  pointer-events: auto;
}
.booking-field-editor-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.booking-field-editor-panel {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom));
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .28);
  padding: 12px;
}
.booking-field-editor-title {
  font-size: 13px;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 8px;
}
.booking-field-editor-input {
  width: 100%;
  min-height: 76px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 16px;
  color: #0f172a;
  outline: none;
  resize: vertical;
}
.booking-field-editor-input:focus {
  border-color: #facc15;
  box-shadow: 0 0 0 3px rgba(250, 204, 21, .24);
}
.booking-field-editor-actions {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.booking-field-editor-cancel,
.booking-field-editor-ok {
  min-height: 44px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
}
.booking-field-editor-cancel {
  border: 1px solid #dbe3ee;
  background: #fff;
  color: #475569;
}
.booking-field-editor-ok {
  border: 1px solid #eab308;
  background: linear-gradient(135deg, #fff000, #ffe147);
  color: #111827;
}

/* Softer home typography, matching the add-on info modal tone */
.home-main,
.home-main button,
.home-main input,
.home-main select {
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.home-main .hero-title-word {
  font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif;
  font-weight: 900;
}

.home-main .font-black:not(.hero-title-word),
.home-main .font-bold:not(.hero-title-word),
.home-main strong {
  font-weight: 700 !important;
}

.home-main .quick-section-link,
.home-main .section-heading-kicker,
.home-main .section-heading-note,
.home-main .rental-flow-kicker,
.home-main .rental-flow-chip,
.home-main .hero-description-chip,
.home-main .combo-saving-badge {
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

.home-main .section-heading-title,
.home-main .rental-flow-name,
.home-main #rental-catalog .equipment-card h3,
.home-main #combo-section .equipment-card h3,
.home-main .shop-product-title,
.home-main .rental-rule-title,
.home-main .faq-heading-title {
  font-weight: 700 !important;
  color: #0f172a;
}

.home-main .hero-description-title {
  font-weight: 700 !important;
}

.home-main .hero-description-text,
.home-main #rental-catalog .equipment-card h3 + p,
.home-main #combo-section .equipment-card h3 + p,
.home-main .shop-product-desc,
.home-main .rental-rule-copy,
.home-main .faq-answer,
.home-main .rental-flow-step-sub {
  font-weight: 500 !important;
  color: #64748b;
}

.home-main #rental-catalog .equipment-card summary,
.home-main #combo-section .equipment-card summary,
.home-main #rental-catalog .equipment-card details > ul li,
.home-main #combo-section .equipment-card details > ul li,
.home-main #rental-catalog select,
.home-main #combo-section select,
.home-main .rental-flow-step-title {
  font-weight: 650 !important;
}

/* Softer sidebar typography, aligned with the add-on info modal */
.sidebar-panel,
.sidebar-panel a,
.sidebar-panel button {
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sidebar-brand-kicker,
.sidebar-group-title {
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #94a3b8;
}

.sidebar-link strong,
.sidebar-equipment-grid a,
.sidebar-contact-row a,
.sidebar-trust span,
.sidebar-link em {
  font-weight: 700 !important;
}

.sidebar-link small,
.sidebar-brand-copy span:last-child {
  font-weight: 500 !important;
  color: #64748b;
}

.sidebar-link strong {
  color: #0f172a;
}

.sidebar-link em {
  letter-spacing: 0.04em;
}

/* Softer equipment and combo info modal typography */
.equipment-info-modal,
.equipment-info-modal button {
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.equipment-info-kicker {
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
}

.equipment-info-title {
  font-weight: 700 !important;
  line-height: 1.2;
}

.equipment-info-description {
  font-weight: 500 !important;
  color: #64748b;
}

.equipment-info-section-title {
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
}

.equipment-info-list li {
  font-weight: 500 !important;
  line-height: 1.5;
}

.equipment-info-list strong {
  font-weight: 700 !important;
}

.portion-calculator {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.78), rgba(255, 255, 255, 0.96));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.portion-calculator.hidden {
  display: none;
}

.portion-calculator-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.portion-calculator-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border: 1px solid rgba(234, 179, 8, 0.34);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255, 240, 0, 0.78), rgba(255, 255, 255, 0.96));
  color: #111827;
}

.portion-calculator-icon svg {
  width: 18px;
  height: 18px;
}

.portion-calculator-kicker {
  color: #94a3b8;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.portion-calculator h3 {
  margin-top: 3px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.15;
}

.portion-calculator-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.portion-calculator-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
}

.portion-calculator-grid label span {
  color: #475569;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.22;
}

.portion-calculator-grid input {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(203, 213, 225, 0.9);
  border-radius: 11px;
  background: #fff;
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  outline: none;
}

.portion-calculator-grid input:focus {
  border-color: rgba(234, 179, 8, 0.72);
  box-shadow: 0 0 0 3px rgba(255, 240, 0, 0.18);
}

.portion-calculator-result {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid rgba(16, 185, 129, 0.18);
  border-radius: 15px;
  background: rgba(236, 253, 245, 0.88);
}

.portion-calculator-result strong {
  color: #047857;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}

.portion-calculator-result span {
  color: #64748b;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}

@media (max-width: 430px) {
  .portion-calculator {
    padding: 12px;
    border-radius: 20px;
  }

  .portion-calculator-grid {
    grid-template-columns: 1fr;
  }
}

/* Softer loyalty, rules, and FAQ typography */
.loyalty-mobile-link,
.rental-rules-card,
.faq-section {
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.loyalty-mobile-title,
.loyalty-mobile-action {
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

.rental-rule-step h3,
.faq-heading h2,
.faq-item summary {
  font-weight: 700 !important;
  color: #0f172a;
}

.rental-rule-step p,
.faq-item p {
  font-weight: 500 !important;
  color: #64748b;
}

.rental-rule-number,
.rental-rules-notes span,
.faq-kicker {
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
}

/* 2GIS trust proof and privacy notice — update 2026-05-24 */
.dgis-proof { margin: 0 0 18px; }
.dgis-proof__card { padding: 17px; border: 1px solid rgba(16,185,129,.16); border-radius: 22px; background: radial-gradient(circle at 100% 0%, rgba(16,185,129,.13), transparent 42%), linear-gradient(145deg,#fff 0%,#f5fbf8 100%); box-shadow: 0 12px 30px rgba(15,23,42,.045); }
.dgis-proof__head { display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.dgis-proof__badge { display:inline-flex; align-items:center; padding:6px 11px; border-radius:999px; color:#fff; background:#16a36f; font-size:12px; font-weight:800; }
.dgis-proof__verified { color:#64748b; font-size:12px; font-weight:700; }
.dgis-proof__title { margin:0 0 8px; color:#0f172a; font-size:19px; font-weight:800; line-height:1.18; }
.dgis-proof__rating { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-bottom:10px; color:#334155; font-size:13px; }
.dgis-proof__stars { color:#f59e0b; letter-spacing:1px; }
.dgis-proof__text { margin:0 0 15px; color:#64748b; font-size:13px; line-height:1.5; }
.dgis-proof__actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dgis-proof__actions a { min-height:43px; display:inline-flex; align-items:center; justify-content:center; padding:0 10px; border-radius:13px; text-align:center; font-size:12px; font-weight:800; text-decoration:none; }
.dgis-proof__reviews { color:#fff; background:#0f172a; }
.dgis-proof__catalog { color:#0f172a; background:#f8fafc; border:1px solid #e2e8f0; }
.booking-consent {
  margin: 0 18px 10px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 11px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #f8fafc;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.booking-consent input {
  width: 17px;
  height: 17px;
  margin-top: 1px;
  flex: 0 0 auto;
  accent-color: #10b981;
}
.booking-consent a {
  color: #0f766e;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (min-width:768px) {
  .dgis-proof {
    margin: 0 auto 18px;
    max-width: 560px;
  }

  .dgis-proof__card {
    display: block;
    padding: 20px 22px;
  }

  .dgis-proof__head {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    margin-bottom: 12px;
    padding-right: 0;
    border-right: 0;
    text-align: left;
  }

  .dgis-proof__title {
    margin: 0 0 8px;
    font-size: 19px;
  }

  .dgis-proof__rating {
    margin-bottom: 10px;
  }

  .dgis-proof__text {
    margin: 0 0 15px;
  }

  .dgis-proof__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .dgis-proof__actions a {
    min-width: 0;
    padding: 0 12px;
    line-height: 1.15;
  }
}

.home-main #combo-section .combo-title-row h3 {
  color: #854d0e !important;
  font-weight: 800 !important;
}

.home-main #combo-section .combo-card-name {
  color: #0f172a !important;
  font-weight: 800 !important;
}

.home-main #combo-section .combo-card-desc,
.home-main #combo-section .combo-included-line {
  color: #64748b !important;
}
  overflow: hidden;
