/* APD 74.0 — service commerce + favorites + clean host messages */
:root{--apd74-blue:#0d2b6c;--apd74-blue2:#18439f;--apd74-ink:#222;--apd74-muted:#6a6a6a;--apd74-line:#e6e6e6;--apd74-soft:#f7f7f7}

/* Hearts/likes — consistent on stays, experiences and services. */
body.apd-marketplace-ui [data-apd-favorite].apd74-favorite,
body.apd-marketplace-ui .apd5-favorite.apd74-favorite{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  display:grid!important;place-items:center!important;padding:0!important;border:1px solid rgba(255,255,255,.65)!important;
  border-radius:50%!important;background:rgba(20,20,20,.34)!important;color:#fff!important;
  box-shadow:0 3px 14px rgba(0,0,0,.20)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;
  filter:none!important;transition:transform .16s ease,background .16s ease,box-shadow .16s ease!important;
}
body.apd-marketplace-ui [data-apd-favorite].apd74-favorite svg,
body.apd-marketplace-ui .apd5-favorite.apd74-favorite svg{width:24px!important;height:24px!important;stroke-width:2.25!important;fill:rgba(0,0,0,.13)!important;color:#fff!important}
body.apd-marketplace-ui [data-apd-favorite].apd74-favorite:hover{transform:scale(1.08)!important;background:rgba(20,20,20,.48)!important;box-shadow:0 5px 18px rgba(0,0,0,.26)!important}
body.apd-marketplace-ui [data-apd-favorite].apd74-favorite:active{transform:scale(.93)!important}
body.apd-marketplace-ui [data-apd-favorite].apd74-favorite.is-favorite{background:#fff!important;border-color:#fff!important;color:#e21d48!important}
body.apd-marketplace-ui [data-apd-favorite].apd74-favorite.is-favorite svg{color:#e21d48!important;fill:#e21d48!important}
body.apd-marketplace-ui [data-apd-favorite].apd74-favorite:focus-visible{outline:3px solid rgba(13,43,108,.28)!important;outline-offset:3px!important}
/* Detail toolbar favorite is a text button, not a floating heart. */
body.apd31-service-detail-page .apd31-detail-tools [data-apd-favorite].apd74-favorite,
body.apd31-experience-detail-page .apd31-detail-tools [data-apd-favorite].apd74-favorite{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;display:inline-flex!important;background:transparent!important;color:#222!important;border:0!important;border-radius:9px!important;box-shadow:none!important;backdrop-filter:none!important;padding:7px 9px!important;gap:6px!important}
body.apd31-service-detail-page .apd31-detail-tools [data-apd-favorite].apd74-favorite svg,
body.apd31-experience-detail-page .apd31-detail-tools [data-apd-favorite].apd74-favorite svg{width:18px!important;height:18px!important;color:currentColor!important;fill:transparent!important}
body.apd31-service-detail-page .apd31-detail-tools [data-apd-favorite].apd74-favorite.is-favorite svg,
body.apd31-experience-detail-page .apd31-detail-tools [data-apd-favorite].apd74-favorite.is-favorite svg{color:#e21d48!important;fill:#e21d48!important}

/* Programá tu servicio — stronger hierarchy and touch targets. */
.apd31-service-modal:not([hidden]){display:flex!important;align-items:center!important;justify-content:center!important;padding:22px!important}
.apd31-service-dialog{width:min(620px,calc(100vw - 32px))!important;max-height:min(760px,calc(100dvh - 44px))!important;border-radius:24px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 28px 75px rgba(0,0,0,.25)!important;border:1px solid rgba(0,0,0,.08)!important}
.apd31-service-dialog>header{min-height:72px!important;padding:0 24px!important;border-bottom:1px solid var(--apd74-line)!important;background:#fff!important}
.apd31-service-dialog>header h2{font-size:21px!important;letter-spacing:-.025em!important;font-weight:800!important}
.apd31-service-dialog>header button{width:40px!important;height:40px!important;border-radius:50%!important;border:0!important;background:#f5f5f5!important;font-size:24px!important;line-height:1!important}
.apd31-service-dialog>header button:hover{background:#ededed!important;transform:scale(1.04)!important}
.apd31-service-dialog-scroll{padding:8px 24px 20px!important;max-height:calc(100dvh - 210px)!important;overflow:auto!important}
.apd31-party-row,.apd31-date-choice{min-height:76px!important;border-bottom:1px solid var(--apd74-line)!important}
.apd31-party-row>div:first-child strong,.apd31-date-choice>span{font-size:14px!important;font-weight:800!important;color:#222!important}
.apd31-party-row small{display:block!important;margin-top:3px!important;color:#717171!important;font-size:11px!important}
.apd31-party-row>div:last-child{gap:12px!important}
.apd31-party-row button{width:38px!important;height:38px!important;border:1px solid #b5b5b5!important;border-radius:50%!important;background:#fff!important;color:#222!important;font-size:20px!important;display:grid!important;place-items:center!important;padding:0!important}
.apd31-party-row output{min-width:22px!important;text-align:center!important;font-size:14px!important;font-weight:700!important}
.apd31-date-choice{width:100%!important;padding:0!important;background:#fff!important;border-left:0!important;border-right:0!important;border-top:0!important;display:grid!important;grid-template-columns:1fr auto auto!important;align-items:center!important;gap:10px!important;text-align:left!important}
.apd31-date-choice strong{font-size:12px!important;color:#555!important;font-weight:650!important}
.apd31-date-choice b{font-size:24px!important;font-weight:400!important}
.apd31-date-picker{margin:12px 0 8px!important;padding:16px!important;border:1px solid #e1e1e1!important;border-radius:16px!important;background:#fafafa!important}
.apd31-date-picker label{font-size:12px!important;font-weight:800!important;color:#222!important}
.apd31-date-picker input[type=date]{height:44px!important;margin-top:8px!important;border:1px solid #cfcfcf!important;border-radius:10px!important;background:#fff!important;padding:0 12px!important}
.apd31-time-options{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;margin:12px 0!important}
.apd31-time-options button{min-height:42px!important;border:1px solid #d4d4d4!important;border-radius:10px!important;background:#fff!important;font-weight:750!important}
.apd31-time-options button.is-active{border-color:#222!important;background:#222!important;color:#fff!important}
.apd31-date-picker>[data-apd31-date-apply]{min-height:42px!important;width:100%!important;border:0!important;border-radius:10px!important;background:var(--apd74-blue)!important;color:#fff!important;font-weight:800!important}
.apd31-service-selection{margin-top:16px!important;padding:12px!important;border:1px solid #e2e2e2!important;border-radius:16px!important;background:#fff!important;display:flex!important;align-items:center!important;gap:12px!important}
.apd31-service-selection img{width:72px!important;height:72px!important;border-radius:12px!important;object-fit:cover!important}
.apd31-service-selection strong{display:block!important;font-size:14px!important;line-height:1.3!important}
.apd31-service-selection span{display:block!important;margin-top:5px!important;color:#666!important;font-size:12px!important}
.apd74-service-total{margin-top:12px!important;padding:14px 16px!important;border-radius:14px!important;background:#f6f8fc!important;border:1px solid #e2e8f4!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
.apd74-service-total span small,.apd74-service-total span strong{display:block!important}.apd74-service-total span small{color:#666!important;font-size:10px!important}.apd74-service-total span strong{margin-top:2px!important;color:#111!important;font-size:18px!important}.apd74-service-total em{font-size:10px!important;color:#49607f!important;font-style:normal!important;text-align:right!important}
.apd31-service-dialog>footer{padding:16px 24px!important;border-top:1px solid var(--apd74-line)!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.apd31-service-dialog>footer button{min-height:48px!important;border-radius:12px!important;font-size:13px!important;font-weight:800!important}
.apd31-message-button{padding:0 8px!important;border:0!important;background:transparent!important;text-decoration:underline!important;text-underline-offset:3px!important}
.apd31-contact-button{min-width:200px!important;padding:0 20px!important;border:0!important;background:linear-gradient(135deg,var(--apd74-blue),var(--apd74-blue2))!important;color:#fff!important;box-shadow:0 8px 20px rgba(13,43,108,.18)!important}
.apd31-contact-button:hover{transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(13,43,108,.25)!important}
.apd31-contact-button.is-loading{opacity:.72!important;cursor:wait!important}
.apd31-message-dialog{border-radius:22px!important;box-shadow:0 28px 75px rgba(0,0,0,.25)!important}
.apd31-message-dialog textarea{font-size:14px!important;line-height:1.5!important;border-color:#bbb!important}
.apd31-message-dialog>[data-apd31-message-submit]{min-height:48px!important;border-radius:12px!important;background:var(--apd74-blue)!important;color:#fff!important;font-weight:800!important}

/* Host messages: clean white APD inbox, no audio, prompts, technical/status sidebar. */
body.apd-host-section-mensajes{background:#fff!important;overflow:hidden!important}
body.apd-host-section-mensajes .apd-ai-shell{width:min(1280px,100%)!important;grid-template-columns:320px minmax(0,1fr)!important;background:#fff!important;border-color:#e8e8e8!important}
body.apd-host-section-mensajes .apd-ai-details,
body.apd-host-section-mensajes .apd-ai-details-toggle,
body.apd-host-section-mensajes .apd-ai-mobile-backdrop,
body.apd-host-section-mensajes .apd-ai-quick-prompts,
body.apd-host-section-mensajes .apd-ai-voice-toolbar,
body.apd-host-section-mensajes [data-apd-ai-listen],
body.apd-host-section-mensajes [data-apd-ai-reset],
body.apd-host-section-mensajes [data-apd-ai-audio-player]{display:none!important}
body.apd-host-section-mensajes .apd-ai-chat-panel{border-right:0!important;background:#fff!important}
body.apd-host-section-mensajes .apd-ai-chat-panel::before{display:none!important;background:none!important}
body.apd-host-section-mensajes .apd-ai-chat-head{background:#fff!important}
body.apd-host-section-mensajes .apd-ai-chat-scroll{background:#fff!important;padding-inline:max(26px,calc((100% - 760px)/2))!important}
body.apd-host-section-mensajes .apd-ai-message-assistant p{background:#f4f4f4!important}
body.apd-host-section-mensajes .apd-ai-message-user p{background:var(--apd74-blue)!important}
body.apd-host-section-mensajes .apd-ai-composer{background:#fff!important;border:1px solid #d8d8d8!important;border-radius:16px!important;box-shadow:0 8px 26px rgba(0,0,0,.055)!important}
body.apd-host-section-mensajes .apd-ai-composer-actions button{background:var(--apd74-blue)!important}
body.apd-host-section-mensajes .apd-ai-conversation-copy em{display:none!important}

/* Toast used by real service actions. */
.apd74-toast{position:fixed;left:50%;bottom:28px;z-index:2147483000;max-width:min(440px,calc(100vw - 32px));padding:13px 18px;border-radius:999px;background:#222;color:#fff;font:700 13px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 12px 36px rgba(0,0,0,.24);opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.apd74-toast.is-visible{opacity:1;transform:translate(-50%,0)}.apd74-toast.is-error{background:#b42318}

@media(max-width:700px){
  body.apd-marketplace-ui [data-apd-favorite].apd74-favorite{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  .apd31-service-modal:not([hidden]){align-items:flex-end!important;padding:0!important}
  .apd31-service-dialog,.apd31-message-dialog{width:100%!important;max-width:none!important;max-height:calc(100dvh - 22px)!important;border-radius:24px 24px 0 0!important}
  .apd31-service-dialog>header{padding:0 18px!important}.apd31-service-dialog-scroll{padding:6px 18px 18px!important}.apd31-service-dialog>footer{padding:13px 18px calc(13px + env(safe-area-inset-bottom))!important}
  .apd31-contact-button{min-width:0!important;flex:1!important}.apd31-time-options{grid-template-columns:repeat(2,1fr)!important}
  .apd74-service-total{align-items:flex-start!important;flex-direction:column!important}.apd74-service-total em{text-align:left!important}
  body.apd-host-section-mensajes .apd-ai-shell{grid-template-columns:1fr!important}
  body.apd-host-section-mensajes .apd-ai-chat-scroll{padding:16px 14px 20px!important}
}
