/* Re Tech: approved button colour and touch-size update, 8 Nov 2026. */
:root {
  --rt-button-green:#0b6b45;
  --rt-button-hover:#085438;
  --rt-button-text:#ffffff;
  --rt-teal:var(--rt-button-green);
  --rtp-teal:var(--rt-button-green);
}

/* Booking and sign-in primary actions retain their existing handlers. */
#app :is(#flow-next,#flow-requirement,#submit-booking,#request,#verify,#retry,#gps),
#app a.button-link:not(.secondary),
#rt-photo-home :is(.rph-primary,.rf-hero-cta),
#rt-photo-home .rf-slide-lady .rf-hero-cta {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:54px;
  padding:13px 18px;
  border:1px solid var(--rt-button-green);
  border-radius:12px;
  background:var(--rt-button-green);
  color:var(--rt-button-text);
  font-size:16px;
  font-weight:700;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
  touch-action:manipulation;
  transition:background-color .12s ease,border-color .12s ease;
}

/* Secondary actions and photo controls use the outlined style. */
#app button.secondary,
#app a.button-link.secondary,
#app label.button-link,
#app #add-item,
#app #browse-more,
#app .rt-related-card button,
#rt-photo-home .rph-outline,
#rt-photo-home a[href^="tel:"],
#rt-photo-home .rf-slide-mint .rf-hero-cta {
  box-sizing:border-box;
  min-height:52px;
  padding:12px 16px;
  border:1px solid var(--rt-button-green);
  border-radius:12px;
  background:#fff;
  color:var(--rt-button-green);
  font-size:16px;
  font-weight:650;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
  touch-action:manipulation;
}
#app #flow-back {
  min-height:52px;
  background:#fff;
  color:#34453d;
  border:1px solid #a9b8b0;
  font-size:16px;
}
#app .booking-photo-actions .actions { gap:12px; }
#app .booking-photo-actions label.button-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Compact controls remain compact and easy to tap. */
#app .rt-related-arrows button,
#app button.rt-related-browse,
#app .rt-history-filters button,
#app button[data-remove-item],
#app button[data-remove-photo] {
  min-height:44px;
  padding:8px 10px;
  font-size:14px;
}
#app .rt-related-arrows button { min-width:44px; font-size:24px; }
#app .rt-related-browse { border:0; background:transparent; text-decoration:underline; }
#app .rt-history-filters button[aria-pressed="true"],
#app .pickup-time-choices button[aria-pressed="true"],
#app .pickup-date-shortcuts button[aria-pressed="true"],
#app .pickup-slot-choices button[aria-pressed="true"] {
  background:var(--rt-button-green);
  border-color:var(--rt-button-green);
  color:#fff;
}
#app .rt-related-card.rt-related-added button {
  background:#e5f3eb;
  border-color:#bdd6c7;
  color:#315d43;
  opacity:1;
  cursor:default;
}

/* Existing dark slides use an inverse CTA; light slides keep green. */
#rt-photo-home .rf-slide:not(.rf-slide-lady):not(.rf-slide-mint):not(.rf-slide-bulk) .rf-hero-cta {
  background:#fff;
  border-color:#fff;
  color:var(--rt-button-green);
}
#rt-photo-home .rf-product-plus,
.rt-preview-bottom>.rt-preview-sell svg { background:var(--rt-button-green); color:#fff; }
.rt-preview-bottom>a[aria-current] { color:var(--rt-button-green); }

/* Danger, disabled, focus and pressed states remain distinguishable. */
#app button.danger {
  background:#fff0ef!important;
  border:1px solid #b42318;
  color:#9b1c13!important;
}
#app :is(#flow-next,#flow-requirement,#submit-booking,#request,#verify,#retry,#gps):disabled {
  background:#e7eeeb!important;
  border-color:#c8d5cd!important;
  color:#55675d!important;
  opacity:1;
  cursor:not-allowed;
}
#app :is(button,.button-link):focus-visible,
#rt-photo-home :is(button,a):focus-visible {
  outline:3px solid #173f31;
  outline-offset:3px;
  box-shadow:0 0 0 6px #fff;
}
@media (hover:hover) {
  #app :is(#flow-next,#flow-requirement,#submit-booking,#request,#verify,#retry,#gps):not(:disabled):hover,
  #app a.button-link:not(.secondary):hover,
  #rt-photo-home .rf-slide-lady .rf-hero-cta:hover,
  #rt-photo-home .rf-slide-bulk .rf-hero-cta:hover {
    background:var(--rt-button-hover);
    border-color:var(--rt-button-hover);
    color:#fff;
  }
  #app :is(button.secondary,a.button-link.secondary,label.button-link):not(:disabled):not([aria-pressed="true"]):hover,
  #rt-photo-home .rph-outline:hover,
  #rt-photo-home a[href^="tel:"]:hover,
  #rt-photo-home .rf-slide-mint .rf-hero-cta:hover { background:#edf7f1; }
}
#app :is(#flow-next,#flow-requirement,#submit-booking):not(:disabled):active {
  background:var(--rt-button-hover);
}
@media (max-width:500px) {
  #rt-photo-home .rf-slide-lady .rf-hero-cta {
    min-height:54px;
    padding:12px;
    font-size:16px;
  }
  #app .booking-dock { gap:12px; }
  #app .booking-dock :is(#flow-next,#flow-requirement,#submit-booking) { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  #app :is(button,.button-link),#rt-photo-home .rf-hero-cta { transition:none; }
}
