/* Frontend readability / contrast audit.
   Keep text visibly separated from every dark, light, and orange surface. */

/* Orange surfaces: dark ink gives stronger contrast than white for small text. */
.topbar,
.brand-mark,
.cart-button span,
.btn.primary,
.add-cart{
  color:#111317 !important;
}

.accent-card,
.journey-card{
  color:#111317;
}
.accent-card .mini-label,
.accent-card p,
.journey-card .eyebrow,
.journey-steps b,
.journey-steps h4,
.journey-steps p{
  color:#2b1007 !important;
  opacity:1 !important;
}
.journey-steps>div{
  border-top-color:rgba(17,19,23,.28);
}

/* Dark surfaces: raise secondary copy above borderline grey-on-black contrast. */
.flow-list span,
.product-body small,
.compat,
.price-note,
.source-banner,
.cart-item small,
.empty,
.connect-empty{
  color:#9ca5b0;
}
.booking-copy p,
.booking-copy li,
.section-head p,
.branch-card p,
.connect-head p,
.connect-card>p{
  color:#a7aeb8;
}
.form-note,
.booking-form .service-field legend span,
.booking-form .branch-field legend span,
.booking-form .branch-option em,
.booking-form label>span[style]{
  color:#929ba7 !important;
}
.booking-form input::placeholder,
.booking-form textarea::placeholder,
.shop-tools input::placeholder{
  color:#8f98a4;
  opacity:1;
}

/* workshop-picker-v3 uses ID selectors + !important, so audit with matching specificity. */
.booking-form fieldset.branch-field>legend span,
.booking-form #bookingBranch .branch-option em{
  color:#929ba7 !important;
}
.booking-form #bookingBranch .branch-option:has(input[type=radio]:checked) b{
  color:#17120f !important;
}
.booking-form #bookingBranch .branch-option:has(input[type=radio]:checked) small,
.booking-form #bookingBranch .branch-option:has(input[type=radio]:checked) em{
  color:#3b1a0e !important;
}

/* Light cream surfaces: use a darker orange for small labels and stronger greys. */
.model-section .eyebrow{
  color:#c43c09;
}
.model-section .section-head p,
.model-result span,
.model-result small{
  color:#555c61;
}

/* The generic service-category cards duplicate the actual database-driven Paket Service catalog.
   Keep the #services anchor and mount point for packages, but remove the redundant cards/header/note. */
#services>.section-head,
#services>#serviceGrid,
#services>.price-note{
  display:none !important;
}
#services{
  padding-top:42px;
}

/* Parts now live on their own storefront page. These legacy homepage mounts remain only so
   the existing home script stays backward-compatible, but they must never lengthen the landing page. */
body:not(.shop-page) #compatibility,
body:not(.shop-page) #shop{
  display:none !important;
}

/* Booking no longer exposes the generic service-category checkbox menu.
   The hidden first service remains as the safe default for complaint-only bookings,
   while the database-driven Paket Service selector can still appear in this fieldset. */
.booking-form .service-field>legend,
.booking-form #bookingService{
  display:none !important;
}
.booking-form .service-field{
  border:0 !important;
  padding:0 !important;
  min-width:0;
  background:transparent !important;
  box-shadow:none !important;
}
.booking-form .service-field .booking-package-box{
  margin:0;
}

/* Keyboard / accessibility focus must remain visible on every background. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid #ff9a70;
  outline-offset:3px;
}

/* Ensure native controls never fall back to low-contrast browser defaults. */
.shop-tools input,
.shop-tools select,
.booking-form input,
.booking-form select,
.booking-form textarea{
  caret-color:#f4f2ed;
}
