/* PDC Assistant */
.pdcas { --ink: #101c3d; --red: #e31e24; --line: #e3e7f0; --soft: #f4f6fb; font-family: Rubik, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 15px; line-height: 1.5; color: var(--ink); }
.pdcas *, .pdcas *::before, .pdcas *::after { box-sizing: border-box; }
.pdcas button { font-family: inherit; cursor: pointer; margin: 0; text-transform: none; letter-spacing: 0; line-height: 1.3; min-height: 0; }
.pdcas svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pdcas [hidden] { display: none !important; }

/* Launcher */
.pdcas-launcher { position: fixed; right: 24px; bottom: 24px; z-index: 99990; width: 58px; height: 58px; padding: 0; border: 0; border-radius: 50%; background: var(--ink); color: #fff; box-shadow: 0 8px 24px rgba(16, 28, 61, .3); transition: transform .2s, background .2s, box-shadow .2s; display: grid; place-items: center; }
.pdcas-launcher:hover, .pdcas-launcher:focus-visible { background: #1c2c5c; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(16, 28, 61, .36); color: #fff; }
.pdcas-launcher svg { width: 27px; height: 27px; grid-area: 1 / 1; transition: opacity .2s, transform .25s; }
.pdcas-launcher .pdcas-ic-close { opacity: 0; transform: rotate(-60deg) scale(.6); }
.pdcas.is-open .pdcas-launcher .pdcas-ic-chat { opacity: 0; transform: rotate(60deg) scale(.6); }
.pdcas.is-open .pdcas-launcher .pdcas-ic-close { opacity: 1; transform: none; }
.pdcas-launcher::after { content: ""; position: absolute; top: 3px; right: 3px; width: 13px; height: 13px; border-radius: 50%; background: #22c55e; border: 2.5px solid #fff; }
.pdcas.is-open .pdcas-launcher::after { display: none; }

/* Teaser pill */
.pdcas-teaser { position: fixed; right: 92px; bottom: 32px; z-index: 99989; display: flex; align-items: center; gap: 9px; max-width: 290px; padding: 11px 16px 11px 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 500; box-shadow: 0 8px 24px rgba(16, 28, 61, .14); transition: transform .2s, box-shadow .2s, opacity .2s; animation: pdcas-in .5s .8s both; }
.pdcas-teaser:hover, .pdcas-teaser:focus-visible { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(16, 28, 61, .22); background: #fff; color: var(--ink); }
.pdcas-teaser i { flex: none; width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .5); animation: pdcas-pulse 2.2s infinite; }
.pdcas-teaser span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdcas.is-open .pdcas-teaser { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes pdcas-pulse { 70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } }
@keyframes pdcas-in { from { opacity: 0; transform: translateY(8px); } }

/* Window */
.pdcas-win { position: fixed; right: 24px; bottom: 96px; z-index: 99991; width: 384px; max-width: calc(100vw - 32px); height: min(620px, calc(100vh - 124px)); display: flex; flex-direction: column; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 24px 60px rgba(16, 28, 61, .28), 0 0 0 1px rgba(16, 28, 61, .06); animation: pdcas-up .26s cubic-bezier(.2, .8, .2, 1); }
@keyframes pdcas-up { from { opacity: 0; transform: translateY(14px) scale(.98); } }

.pdcas-head { position: relative; flex: none; display: flex; align-items: center; gap: 12px; padding: 14px 12px 14px 16px; background: var(--ink); color: #fff; border-bottom: 3px solid var(--red); }
.pdcas-head img { flex: none; width: 60px; height: auto; padding: 5px 6px; background: #fff; border-radius: 8px; }
.pdcas-head > div:not(.pdcas-menu) { flex: 1; min-width: 0; }
.pdcas-head strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.2; color: #fff; }
.pdcas-head span { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #c5cde3; }
.pdcas-head span i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }
.pdcas-head > button { flex: none; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: #fff; display: grid; place-items: center; transition: background .15s; }
.pdcas-head > button:hover, .pdcas-head > button:focus-visible { background: rgba(255, 255, 255, .14); color: #fff; }
.pdcas-head > button svg { width: 20px; height: 20px; }
.pdcas-menu-btn svg { fill: currentColor; stroke: none; }
.pdcas-menu { position: absolute; top: 54px; right: 50px; z-index: 2; min-width: 180px; padding: 6px; background: #fff; border-radius: 12px; box-shadow: 0 12px 32px rgba(16, 28, 61, .24), 0 0 0 1px rgba(16, 28, 61, .06); }
.pdcas-menu button { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 8px; background: none; color: var(--ink); font-size: 14px; text-align: left; }
.pdcas-menu button:hover { background: var(--soft); color: var(--ink); }

.pdcas-msgs { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 18px 14px 8px; background: var(--soft); display: flex; flex-direction: column; gap: 9px; scrollbar-width: thin; }
.pdcas-msg { max-width: 86%; padding: 10px 14px; border-radius: 16px; font-size: 14.5px; line-height: 1.5; overflow-wrap: anywhere; animation: pdcas-msg .22s ease-out; }
@keyframes pdcas-msg { from { opacity: 0; transform: translateY(6px); } }
.pdcas-bot { align-self: flex-start; background: #fff; color: var(--ink); border-bottom-left-radius: 5px; box-shadow: 0 1px 2px rgba(16, 28, 61, .07); }
.pdcas-user { align-self: flex-end; background: var(--ink); color: #fff; border-bottom-right-radius: 5px; }
.pdcas-bot a:not(.pdcas-btn) { color: var(--red); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.pdcas-bot em { display: inline-block; margin-top: 4px; font-size: 13px; color: #6a7491; }
.pdcas .pdcas-btn { display: inline-flex; align-items: center; gap: 8px; margin: 8px 0 4px; padding: 10px 16px; border-radius: 999px; background: var(--red); color: #fff; font-weight: 600; font-size: 14.5px; text-decoration: none; }
.pdcas .pdcas-btn:hover { background: #c4161c; color: #fff; }
.pdcas-btn svg { width: 17px; height: 17px; }

.pdcas-typing { display: flex; gap: 5px; padding: 14px 16px; }
.pdcas-typing i { width: 7px; height: 7px; border-radius: 50%; background: #9aa4bf; animation: pdcas-dot 1.1s infinite; }
.pdcas-typing i:nth-child(2) { animation-delay: .15s; }
.pdcas-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes pdcas-dot { 0%, 60%, 100% { transform: none; opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }

.pdcas-card { margin: 10px 0 8px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; }
.pdcas-card > div { display: flex; gap: 12px; padding: 8px 12px; font-size: 13.5px; }
.pdcas-card > div + div { border-top: 1px solid var(--line); }
.pdcas-card span { flex: none; width: 76px; color: #6a7491; }
.pdcas-card b { font-weight: 600; min-width: 0; }
.pdcas-card.is-done { border-color: #bfe8cd; background: #f1fbf5; }
.pdcas-card.is-done > div + div { border-top-color: #cfeeda; }

.pdcas-chips { flex: none; display: flex; flex-wrap: wrap; gap: 7px; padding: 8px 14px 10px; background: var(--soft); max-height: 148px; overflow-y: auto; }
.pdcas-chips:empty { display: none; }
.pdcas-chips button { padding: 8px 14px; border: 1.5px solid #cfd6e6; border-radius: 999px; background: #fff; color: var(--ink); font-size: 13.5px; font-weight: 500; transition: border-color .15s, background .15s, color .15s; }
.pdcas-chips button:hover, .pdcas-chips button:focus-visible { border-color: var(--ink); background: var(--ink); color: #fff; }
.pdcas-chips button.is-main { background: var(--ink); border-color: var(--ink); color: #fff; }
.pdcas-chips button.is-main:hover { background: #1c2c5c; }
.pdcas-chips button.is-red { border-color: var(--red); color: var(--red); }
.pdcas-chips button.is-red:hover { background: var(--red); border-color: var(--red); color: #fff; }

.pdcas-form { flex: none; display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; background: #fff; border-top: 1px solid var(--line); }
.pdcas .pdcas-in { flex: 1; min-width: 0; height: 44px; margin: 0; padding: 0 16px; border: 1.5px solid var(--line); border-radius: 999px; background: var(--soft); color: var(--ink); font: inherit; font-size: 16px; box-shadow: none; outline: 0; }
.pdcas .pdcas-in:focus { border-color: var(--ink); background: #fff; }
.pdcas-form button { flex: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; transition: background .15s, transform .15s; }
.pdcas-form button:hover { background: #c4161c; color: #fff; transform: scale(1.05); }
.pdcas-form button svg { width: 19px; height: 19px; fill: currentColor; stroke: none; }
.pdcas-foot { flex: none; margin: 0; padding: 0 12px 9px; background: #fff; font-size: 12px; text-align: center; color: #6a7491; }
.pdcas-foot a { color: var(--ink); font-weight: 600; text-decoration: none; }

/* Stay out of the way of the booking pop-up and the mobile menu */
html.pdcb-modal-open .pdcas, html.pdc-menu-open .pdcas { display: none; }
body.pdcb-in-view .pdcas-teaser { opacity: 0; visibility: hidden; }

@media (max-width: 767px) {
	.pdcas-teaser { display: none; }
	.pdcas-launcher { right: 14px; bottom: 86px; width: 52px; height: 52px; }
	.pdcas-launcher svg { width: 24px; height: 24px; }
	.pdcas.is-open .pdcas-launcher { display: none; }
	.pdcas-win { inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; border-radius: 0; z-index: 2147483000; }
	.pdcas-head { padding-top: max(14px, env(safe-area-inset-top)); }
	.pdcas-head .pdcas-x { width: 42px; height: 42px; background: rgba(255, 255, 255, .14); }
	.pdcas-head .pdcas-x svg { width: 22px; height: 22px; }
	.pdcas-menu { right: 60px; }
	.pdcas-foot { padding-bottom: max(9px, env(safe-area-inset-bottom)); }
	html.pdcas-open, html.pdcas-open body { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { .pdcas *, .pdcas-win { animation: none !important; transition: none !important; } }
