:root{
  --hr-rose-50:#fff7fa;--hr-rose-100:#fdebf3;--hr-rose-200:#f8d5e5;--hr-rose-300:#f3b8d2;
  --hr-pink:#e94d91;--hr-berry:#c72b72;--hr-deep:#9f2059;--hr-ink:#34222d;--hr-muted:#725b68;
  --hr-shadow:0 14px 34px rgba(159,32,89,.16);--hr-shadow-strong:0 18px 42px rgba(159,32,89,.24);
}

/* FINAL VISUAL LOCK: Rose/Berry only — no purple CTA treatment */
.primary-btn,.main-btn,.vehicle-ask-btn,.learn-program,.whatsapp-final-btn,#persistentSend,.hr-picker-confirm,
.orders-service-buttons .order-option.selected,.choice.selected,.period-toggle button.active,
.airport-terms-card button:not(:disabled),.chat-policy-consent button:not(:disabled){
  background:linear-gradient(135deg,var(--hr-pink),var(--hr-berry))!important;
  color:#fff!important;border-color:transparent!important;
  box-shadow:0 12px 26px rgba(199,43,114,.28),inset 0 1px 0 rgba(255,255,255,.34)!important;
  transform:translateY(-1px);
}
.primary-btn:hover,.main-btn:hover,.vehicle-ask-btn:hover,.learn-program:hover,#persistentSend:hover,.hr-picker-confirm:hover{
  transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(199,43,114,.34)!important;
}
.primary-btn:active,.main-btn:active,.vehicle-ask-btn:active,.learn-program:active,#persistentSend:active,.hr-picker-confirm:active{
  transform:translateY(0)!important;box-shadow:0 7px 16px rgba(199,43,114,.24)!important;
}

/* Cards must be visibly separate from the page */
.vehicle-showcase-card,.program-card,.orders-service-buttons .order-option,.airport-mini-features span,
.hr-price-summary,.airport-deposit-card,.airport-cs-final-card,.airport-debug-card,.summary-card{
  background:linear-gradient(145deg,#fffdfd,var(--hr-rose-50))!important;
  border:1px solid var(--hr-rose-200)!important;
  box-shadow:var(--hr-shadow)!important;
}
.vehicle-showcase-card:nth-child(even),.program-card:nth-child(even){background:linear-gradient(145deg,#fffafc,#fcecf4)!important}
.program-card.featured,.featured-vehicle{background:linear-gradient(145deg,#fff8fb,#f9dfeb)!important;border-color:#efb4cf!important}
.program-card .popular,.vehicle-label{background:var(--hr-berry)!important;color:#fff!important;box-shadow:0 7px 16px rgba(199,43,114,.22)!important}
.airport-mini-features{gap:12px!important}
.airport-mini-features span{padding:12px 16px!important;border-radius:16px!important;color:var(--hr-ink)!important}

/* Chat hierarchy: service message / customer reply / choices / edit / tools all distinct */
.chat-shell{background:linear-gradient(180deg,#fffdfd,#fff8fb)!important;border:1px solid var(--hr-rose-200)!important;box-shadow:var(--hr-shadow-strong)!important}
.messages{height:auto!important;min-height:110px!important;max-height:390px!important;background:linear-gradient(180deg,#fff,#fff9fc)!important;padding:18px!important}
.messages:empty{min-height:70px!important}
.messages:empty:before{content:none!important}
.msg{border-radius:18px!important;padding:14px 16px!important;line-height:1.75!important;font-weight:700!important;margin:10px 0!important;max-width:88%!important}
.msg.bot{background:linear-gradient(145deg,#fff0f6,#fbe2ee)!important;color:var(--hr-ink)!important;border:1px solid #f1c2d8!important;box-shadow:0 9px 22px rgba(159,32,89,.10)!important;margin-inline-end:auto!important}
.msg.user{background:linear-gradient(135deg,var(--hr-berry),var(--hr-deep))!important;color:#fff!important;border:0!important;box-shadow:0 10px 24px rgba(159,32,89,.24)!important;margin-inline-start:auto!important}
.answer-area{background:linear-gradient(180deg,#fff9fc,#fff4f9)!important;border:1px solid var(--hr-rose-200)!important;border-radius:20px!important;padding:14px!important;box-shadow:0 8px 22px rgba(159,32,89,.08)!important;gap:10px!important}
.answer-area:empty{display:none!important}
.choice{background:#fff!important;color:var(--hr-ink)!important;border:1px solid #efc2d6!important;box-shadow:0 8px 18px rgba(159,32,89,.10)!important;border-radius:16px!important;font-weight:800!important;min-height:48px!important}
.choice:hover{background:#fff0f6!important;border-color:#e88ab3!important;transform:translateY(-2px)!important;box-shadow:0 12px 24px rgba(159,32,89,.15)!important}
.back-step-btn,#backBtn,.restart{
  background:#fff!important;color:var(--hr-deep)!important;border:1px dashed #d98bae!important;
  box-shadow:none!important;transform:none!important;font-weight:800!important;
}
.back-step-btn:hover,#backBtn:hover,.restart:hover{background:#fff4f8!important;border-style:solid!important}
.persistent-composer{background:#fff!important;border:1px solid #edbfd4!important;border-radius:18px!important;padding:8px!important;box-shadow:0 10px 24px rgba(159,32,89,.10)!important;gap:8px!important}
.persistent-composer textarea,.persistent-composer input{background:#fff!important;border:0!important;color:var(--hr-ink)!important;font-weight:700!important;box-shadow:none!important}
.chat-tools{background:linear-gradient(145deg,#fceef5,#fff7fb)!important;border:1px solid var(--hr-rose-200)!important;border-radius:18px!important;padding:10px!important;box-shadow:0 8px 20px rgba(159,32,89,.08)!important}
.tool-btn{background:#fff!important;color:var(--hr-deep)!important;border:1px solid #efbfd5!important;box-shadow:0 7px 16px rgba(159,32,89,.09)!important;border-radius:14px!important;font-weight:800!important}
.tool-btn:hover{background:#ffeef6!important;border-color:#e78bb3!important}

/* Strong, unmistakable offer treatment */
.hr-airport-offer-wrap,.hr-final-offer-wrap{padding:12px 4vw!important}
.hr-airport-offer,.hr-final-offer,.hr-offer-card,.longtrip-discount-card{
  background:linear-gradient(135deg,#a91f5c,#e7498d)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;border-radius:24px!important;
  box-shadow:0 0 0 1px rgba(233,73,141,.12),0 18px 42px rgba(169,31,92,.34),0 0 28px rgba(233,73,141,.22)!important;
  position:relative!important;overflow:hidden!important;
}
.hr-airport-offer:before,.hr-final-offer:before,.hr-offer-card:before,.longtrip-discount-card:before{
  content:"";position:absolute;inset:-45%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.18) 49%,transparent 60%);animation:hrOfferShine 4.2s ease-in-out infinite;pointer-events:none
}
@keyframes hrOfferShine{0%,55%{transform:translateX(-32%)}80%,100%{transform:translateX(32%)}}
.offer-percent,.hr-offer-percent,.longtrip-discount-badge,.hr-final-offer-percent{background:#fff!important;color:var(--hr-deep)!important;border-radius:18px!important;box-shadow:0 8px 20px rgba(79,15,43,.22)!important;font-weight:1000!important}
.hr-final-offer{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:20px 24px;margin:18px auto;max-width:980px}
.hr-final-offer-percent{font-size:2rem;padding:10px 16px;min-width:92px;text-align:center}
.hr-final-offer strong{display:block;font-size:1.25rem;margin-bottom:4px}.hr-final-offer span{display:block;line-height:1.7;font-weight:700}
.hr-offer-card *,.longtrip-discount-card *,.hr-airport-offer *{color:inherit}

/* Calendar: clear days, clear selected state */
.hr-picker-overlay{background:rgba(30,13,22,.62)!important;backdrop-filter:blur(5px)!important}
.hr-picker-card{background:linear-gradient(180deg,#fff,#fff7fb)!important;border:1px solid #f0bfd6!important;border-radius:26px!important;box-shadow:0 28px 70px rgba(62,20,41,.30)!important;padding:22px!important}
.calendar-head h3{color:var(--hr-ink)!important;font-weight:950!important;font-size:1.25rem!important}
.calendar-head button{background:#fff0f6!important;color:var(--hr-deep)!important;border:1px solid #f1c4d8!important;box-shadow:0 5px 14px rgba(159,32,89,.10)!important}
.calendar-week{color:#6f5664!important;font-weight:900!important;font-size:.88rem!important}
.calendar-grid{gap:8px!important}
.calendar-grid button{background:#fff!important;border:1px solid #f2d0df!important;color:var(--hr-ink)!important;box-shadow:0 4px 12px rgba(159,32,89,.07)!important;font-size:.95rem!important}
.calendar-grid button:hover{background:#fff0f6!important;border-color:#e78db4!important}
.calendar-grid button.selected{background:linear-gradient(135deg,var(--hr-pink),var(--hr-berry))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 9px 20px rgba(199,43,114,.30)!important}
.date-preview,.time-preview{background:#fff0f6!important;color:var(--hr-deep)!important;border:1px solid #f1c4d8!important;font-weight:900!important}

/* Terms checkbox: checked state must be visually obvious */
.airport-terms-card,.chat-policy-consent{background:linear-gradient(145deg,#fff,#fff5f9)!important;border:1px solid var(--hr-rose-200)!important;box-shadow:var(--hr-shadow)!important;border-radius:22px!important}
.airport-terms-card label,.chat-policy-consent label{display:flex!important;align-items:center!important;gap:12px!important;background:#fff!important;border:1px solid #f0c6d9!important;padding:14px!important;border-radius:16px!important;font-weight:850!important}
.airport-terms-card input[type="checkbox"],.chat-policy-consent input[type="checkbox"]{
  appearance:none!important;-webkit-appearance:none!important;width:27px!important;height:27px!important;min-width:27px!important;border-radius:8px!important;
  border:2px solid #d676a1!important;background:#fff!important;box-shadow:inset 0 0 0 2px #fff!important;cursor:pointer!important;
}
.airport-terms-card input[type="checkbox"]:checked,.chat-policy-consent input[type="checkbox"]:checked{
  background-color:var(--hr-berry)!important;border-color:var(--hr-berry)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9.2 16.6 4.8 12.2l1.8-1.8 2.6 2.6 8.2-8.2 1.8 1.8z'/%3E%3C/svg%3E")!important;
  background-size:22px 22px!important;background-position:center!important;background-repeat:no-repeat!important;
  box-shadow:0 0 0 4px rgba(199,43,114,.12),0 7px 16px rgba(199,43,114,.22)!important;
}
.airport-terms-card.accepted label,.chat-policy-consent.accepted label{background:#fff0f6!important;border-color:#df84ac!important}

/* Academy program cards: visibly tinted, not white-on-white */
.academy-page .program-grid{gap:22px!important}
.academy-page .program-card{background:linear-gradient(145deg,#fffafd,#fceaf3)!important;border:1px solid #efbfd5!important;box-shadow:0 15px 32px rgba(159,32,89,.14)!important}
.academy-page .program-card:nth-child(2),.academy-page .program-card:nth-child(4){background:linear-gradient(145deg,#fff7fb,#f8e0ec)!important}
.academy-page .program-card.featured{background:linear-gradient(145deg,#fff3f8,#f5d4e4)!important;box-shadow:0 18px 38px rgba(159,32,89,.20)!important}

/* Long trip vehicle cards and mini features */
.longtrip-page .vehicle-showcase-card{background:linear-gradient(145deg,#fffafd,#fbe9f2)!important}
.longtrip-page .featured-vehicle{background:linear-gradient(145deg,#fff5f9,#f6dce9)!important}

/* Orders option area */
.orders-page .orders-service-buttons .order-option{background:linear-gradient(145deg,#25121e,#4b1932)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:0 12px 26px rgba(38,14,28,.26)!important}
.orders-page .orders-service-buttons .order-option b{color:#fff!important}.orders-page .orders-service-buttons .order-option strong{color:#ffb2d3!important}
.orders-page .orders-service-buttons .order-option:hover{background:linear-gradient(145deg,#321524,#5c1e3c)!important;border-color:#e88ab3!important;transform:translateY(-2px)!important;box-shadow:0 16px 30px rgba(38,14,28,.32)!important}
.orders-page .orders-service-buttons .order-option.selected{background:linear-gradient(135deg,#b72d6c,#e94d91)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important}

@media(max-width:760px){
  .messages{max-height:52vh!important;padding:13px!important}.msg{max-width:94%!important;font-size:1rem!important}
  .hr-final-offer{grid-template-columns:1fr;text-align:center;padding:18px}.hr-final-offer-percent{justify-self:center}
  .chat-tools{display:grid!important;grid-template-columns:1fr 1fr!important}.tool-btn{min-height:48px!important}
  .vehicle-showcase-card,.program-card{box-shadow:0 10px 22px rgba(159,32,89,.13)!important}
}
.orders-page .messages:empty:before,.academy-page .messages:empty:before{content:none!important;display:none!important}


/* FINAL HANA / CHAT HIERARCHY LOCK */
.chat-tools #voiceBtn{background:linear-gradient(145deg,#5d2945,#7c3559)!important;color:#fff!important;border:1px solid #7f4965!important;box-shadow:0 9px 20px rgba(56,24,43,.24)!important}
.chat-tools #writeBtn{background:#f9dce9!important;color:#76264f!important;border:1px solid #e6a7c3!important;box-shadow:0 7px 17px rgba(115,42,79,.12)!important}
.chat-tools #backBtn,.chat-tools .back-tool{background:#fff!important;color:#705362!important;border:1px dashed #cba4b7!important;box-shadow:none!important}
.chat-tools #voiceBtn.is-recording{background:linear-gradient(145deg,#8f1f54,#d43b7d)!important;box-shadow:0 0 0 4px rgba(212,59,125,.13),0 10px 24px rgba(143,31,84,.28)!important}
.chat-tools #voiceBtn.is-recording:before{content:'● ';color:#fff;animation:hrMicPulse 1s ease-in-out infinite}
@keyframes hrMicPulse{50%{opacity:.35}}

/* Offer should feel premium, not like a giant ad banner */
.hr-final-offer{max-width:640px!important;padding:14px 16px!important;border-radius:18px!important;gap:12px!important;margin:16px auto 22px!important;box-shadow:0 12px 28px rgba(125,31,73,.22)!important}
.hr-final-offer-percent{font-size:1.55rem!important;min-width:72px!important;padding:8px 11px!important;border-radius:14px!important}
.hr-final-offer strong{font-size:1.05rem!important}.hr-final-offer span{font-size:.92rem!important;line-height:1.6!important}
.hr-final-choice-offer{max-width:520px!important;margin:6px auto 12px!important}
@media(max-width:760px){.hr-final-offer{max-width:94%!important;padding:13px 14px!important}.hr-final-offer-percent{font-size:1.35rem!important}}

/* HerRide unified location input: search + pasted Google Maps link + movable pin */
.map-paste-row{display:flex;gap:8px;margin:9px 0 4px;align-items:stretch}
.map-paste-row input{flex:1;min-width:0;border:1px solid rgba(217,79,147,.22);border-radius:14px;padding:11px 12px;background:#fff;font:inherit}
.map-paste-row button{border:0;border-radius:14px;padding:10px 14px;background:linear-gradient(135deg,#d94f93,#b83778);color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}
.map-paste-help{margin:4px 0 10px;color:#765d6d;font-size:12px;line-height:1.55}
html[lang="en"] .map-paste-help{font-size:12px}
@media(max-width:560px){.map-paste-row{flex-direction:column}.map-paste-row button{width:100%}}
