/* ==========================================================================
   /leads/style/site.css - shared by every page: announcement banner, pinned
   Instant Tour Scheduler bar, scheduler modal, "Schedule your tour" contact card, "Chat with a producer" widget.
   The tour bar is hidden on load (.is-hidden); site.js shows it past the halfway mark and hides it again above it;
   body.tour_bar_on then hides the page's top .sticky_nav.
   Loads AFTER style.css. (Banner + scheduler styles originally from /coaches/style/coaches.css.)
   ========================================================================== */

:root {
	--tts-grad: linear-gradient(to right, #f5d613 0%, #e69c64 26%, #cc41f2 50%, #9274f6 66%, #17dafd 100%);
	--tour-green: #22d38a;
}

/* ── Announcement banner ─────────────────────────────────────── */
.announce {position:relative;z-index:11;background:#0a0b3a;color:#fff;overflow:hidden;}
.announce:before {content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 50%, rgba(245,214,19,.18), transparent 45%), radial-gradient(circle at 85% 50%, rgba(23,218,253,.18), transparent 45%);pointer-events:none;}
.announce:after {content:'';display:block;height:3px;background:var(--tts-grad);}
.announce_inner {max-width:1180px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;}
.announce_main {display:flex;align-items:center;gap:14px;flex-shrink:0;}
.announce_burst {font:900 11px/1 'Nexa';letter-spacing:3px;text-transform:uppercase;padding:8px 12px;border-radius:20px;background:var(--tts-grad);color:#0a0b3a;animation:announce_glow 2.4s ease-in-out infinite;}
@keyframes announce_glow {0%,100% {box-shadow:0 0 0 0 rgba(245,214,19,.45);} 50% {box-shadow:0 0 0 10px rgba(245,214,19,0);}}
.announce_headline {font:900 26px/1 'Nexa';letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;}
.announce_headline em {font-style:normal;background:var(--tts-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.announce_rotator {flex:1;position:relative;min-height:26px;text-align:center;}
.announce_line {position:absolute;left:0;right:0;top:0;font:600 17px/26px 'Poppins';color:#fff;opacity:0;transform:translateY(8px);transition:opacity .45s ease, transform .45s ease;}
.announce_line.is-on {opacity:1;transform:translateY(0);}
.announce_cta {flex-shrink:0;font:700 14px 'Poppins';color:#0a0b3a !important;background:#f5d613;padding:12px 22px;border-radius:24px;white-space:nowrap;transition:transform .2s ease, background .2s ease;}
.announce_cta:hover {background:#ffe14a;transform:translateY(-1px);}


/* ── Selects ─────────────────────────────────────────────────── */
.form_select {font:500 15px/1.2 'Poppins',sans-serif;color:var(--primary-color);border:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%2304054f' stroke-width='2'/></svg>") right 24px center no-repeat;border-radius:5px;padding:0 55px 0 20px;height:60px;width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none;cursor:pointer;}

/* ── Footer clearance for the pinned tour bar; the old mobile sticky CTA is replaced by the tour bar */
body.has_tour_bar .footer {padding-bottom:110px !important;}
body.has_tour_bar .mobile_sticky_cta {display:none !important;}
body.has_announce .header {margin-top:0;}

/* ── Tour bar (pinned bottom, every device) ──────────────────── */
.tour_bar {position:fixed;bottom:0;left:0;width:100%;z-index:998;background:rgba(6,7,60,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -6px 30px rgba(4,5,79,.35);box-sizing:border-box;transform:translateY(0);transition:transform .35s ease;}
.tour_bar:before {content:'';display:block;height:3px;background:var(--tts-grad);}
.tour_bar.is-hidden {transform:translateY(110%);pointer-events:none;}
/* Once the tour bar is showing (body.tour_bar_on, set by site.js), drop the page's top sticky nav so only one pinned bar is on screen.
   Overrides .sticky_nav.visible from style.css, which custom.js keeps toggling on scroll. */
body.tour_bar_on .sticky_nav, body.tour_bar_on .sticky_nav.visible {top:-80px !important;pointer-events:none;}
.tour_bar_inner {max-width:1180px;margin:0 auto;padding:12px 20px 14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.tour_bar_text {display:flex;align-items:center;gap:14px;color:#fff;min-width:0;}
.tour_bar_text strong {display:block;font:900 17px/1.1 'Nexa';letter-spacing:.3px;}
.tour_bar_sub {display:block;font:400 13px/1.3 'Poppins';color:rgba(255,255,255,.65);margin-top:3px;}
.tour_bar_dot {width:12px;height:12px;border-radius:50%;background:var(--tour-green);box-shadow:0 0 0 0 rgba(34,211,138,.6);animation:tour_pulse 1.8s ease-out infinite;flex-shrink:0;}
@keyframes tour_pulse {0% {box-shadow:0 0 0 0 rgba(34,211,138,.6);} 70% {box-shadow:0 0 0 12px rgba(34,211,138,0);} 100% {box-shadow:0 0 0 0 rgba(34,211,138,0);}}
.tour_bar_btn {height:50px;padding:0 30px;font-size:16px;border-radius:25px;white-space:nowrap;flex-shrink:0;}

/* ── Tour modal (scheduler) ──────────────────────────────────── */
.tour_modal {display:none;position:fixed;inset:0;background:rgba(4,5,79,.9);z-index:10001;overflow-y:auto;padding:30px 16px;-webkit-overflow-scrolling:touch;}
.tour_modal.active {display:flex;align-items:flex-start;justify-content:center;}
.tour_modal_box {background:#fff;border-radius:22px;max-width:720px;width:100%;padding:44px 44px 40px 44px;position:relative;margin:auto;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:tour_in .3s ease;}
@keyframes tour_in {from {opacity:0;transform:translateY(16px);} to {opacity:1;transform:translateY(0);}}
.tour_modal_close {position:absolute;top:16px;right:18px;width:38px;height:38px;border:none;background:#f0f0f8;border-radius:50%;font-size:16px;color:#666;cursor:pointer;transition:all .2s;}
.tour_modal_close:hover {background:var(--primary-color);color:#fff;}
.tour_modal_head {margin-bottom:22px;}
.tour_eyebrow {display:inline-block;font:700 11px 'Nexa';letter-spacing:3px;text-transform:uppercase;color:var(--secondary-color);margin-bottom:10px;}
.tour_modal_box h2 {font:300 32px/1.15 'Nexa';color:var(--primary-color);padding-bottom:10px;}
.tour_modal_box h2 strong {font-weight:900;}
.tour_modal_box p {font-size:15px;line-height:1.6;color:#666;padding-bottom:0;}
.tour_selected {font-weight:600;color:var(--primary-color) !important;background:#f5f5fb;border-left:4px solid #f5d613;padding:10px 14px;border-radius:6px;margin-top:6px;}

.tour_week_nav {display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.tour_week_label {font:700 14px 'Poppins';color:var(--primary-color);letter-spacing:.3px;}
.tour_week_btn {width:36px;height:36px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:22px;line-height:1;color:var(--primary-color);cursor:pointer;transition:all .2s;}
.tour_week_btn:hover {background:var(--primary-color);color:#fff;border-color:var(--primary-color);}
.tour_week_btn[disabled] {opacity:.3;cursor:not-allowed;}
.tour_week_btn[disabled]:hover {background:#fff;color:var(--primary-color);border-color:#ddd;}

/* time zone picker at the top of every scheduler (rev 26) */
.tour_tz {display:flex;align-items:center;gap:12px;background:#f5f5fb;border-radius:10px;padding:10px 14px;margin:0 0 16px 0;}
.tour_tz label {font:600 13px 'Poppins';color:#888;white-space:nowrap;}
.tour_tz_select {flex:1;min-width:0;font:600 14px/1.2 'Poppins',sans-serif;color:var(--primary-color);border:1px solid #e3e3ee;border-radius:8px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%2304054f' stroke-width='2'/></svg>") right 12px center no-repeat;padding:0 34px 0 12px;height:40px;appearance:none;-webkit-appearance:none;cursor:pointer;}
.tour_tz_select:focus {outline:2px solid var(--secondary-color);}
.tour_slot_day {display:block;font:600 10px 'Poppins';letter-spacing:.5px;text-transform:uppercase;color:#999;margin-top:2px;}
.tour_slot.is-taken .tour_slot_day {color:#c5c5cf;}
.tour_sel_et {font-weight:500;color:#777;}

.tour_days {display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:22px;}
.tour_loading {grid-column:1 / -1;text-align:center;padding:30px 0;color:#999;font-size:14px;}
.tour_day {border:1px solid #e3e3ee;border-radius:12px;padding:12px 4px 10px 4px;text-align:center;cursor:pointer;background:#fff;transition:all .2s;position:relative;}
.tour_day_dow {display:block;font:600 11px 'Poppins';letter-spacing:1px;text-transform:uppercase;color:#999;}
.tour_day_num {display:block;font:900 24px/1.1 'Nexa';color:var(--primary-color);margin:4px 0 2px 0;}
.tour_day_mon {display:block;font:500 10px 'Poppins';color:#aaa;text-transform:uppercase;}
.tour_day_count {display:block;font:600 10px 'Poppins';color:var(--tour-green);margin-top:6px;}
.tour_day:hover {border-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 6px 16px rgba(4,5,79,.1);}
.tour_day.is-selected {background:var(--primary-color);border-color:var(--primary-color);}
.tour_day.is-selected .tour_day_num, .tour_day.is-selected .tour_day_dow, .tour_day.is-selected .tour_day_mon {color:#fff;}
.tour_day.is-selected .tour_day_count {color:var(--tour-green);}
.tour_day.is-full {cursor:not-allowed;background:#f6f6f9;opacity:.6;}
.tour_day.is-full:hover {transform:none;box-shadow:none;border-color:#e3e3ee;}
.tour_day.is-full .tour_day_count {color:#bbb;}
.tour_day.is-today:after {content:'';position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;background:#f5840c;}

.tour_slots_label {font:600 13px 'Poppins';color:#888;margin-bottom:10px;}
.tour_slots {display:grid;grid-template-columns:repeat(4,1fr);gap:10px;min-height:52px;}
.tour_slot {border:2px solid #e3e3ee;border-radius:10px;padding:13px 6px;text-align:center;font:600 15px 'Poppins';color:var(--primary-color);background:#fff;cursor:pointer;transition:all .2s;}
.tour_slot:hover {border-color:var(--secondary-color);background:#f5f6ff;}
.tour_slot.is-taken {border-color:#eee;color:#c5c5cf;background:#fafafc;cursor:not-allowed;text-decoration:line-through;}
.tour_slot.is-taken:hover {border-color:#eee;background:#fafafc;}
.tour_slots_empty {grid-column:1 / -1;padding:20px;text-align:center;color:#999;font-size:14px;background:#f8f8fc;border-radius:10px;}

.tour_form_grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
#tourForm input[type="text"], #tourForm input[type="email"], #tourForm input[type="tel"], #tourForm textarea, #tourForm .form_select,
#callForm input[type="text"], #callForm input[type="email"], #callForm input[type="tel"], #callForm textarea, #callForm .form_select {background-color:#f5f5fb;height:56px;}
#tourForm textarea, #callForm textarea {height:100px;padding-top:16px;}
#tourForm input:focus, #tourForm textarea:focus, #tourForm .form_select:focus,
#callForm input:focus, #callForm textarea:focus, #callForm .form_select:focus {outline:2px solid var(--secondary-color);}
.tour_form_actions {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap;}
.tour_back {background:none;border:none;font:600 14px 'Poppins';color:#888;cursor:pointer;padding:10px 0;}
.tour_back:hover {color:var(--primary-color);}
#tourSubmit, #callSubmit {height:54px;padding:0 30px;font-size:16px;border-radius:27px;}
#tourSubmit[disabled], #callSubmit[disabled] {opacity:.6;cursor:not-allowed;}
.tour_error {display:none;margin-top:14px;padding:12px 16px;border-radius:8px;background:#fff1f1;color:#c62828;font-size:14px;font-weight:500;}
.tour_error.is-on {display:block;}

.tour_done {text-align:center;padding:10px 0;}
.tour_done_check {width:78px;height:78px;border-radius:50%;background:var(--tts-grad);color:#fff;font-size:38px;line-height:78px;margin:0 auto 20px auto;font-weight:700;}
.tour_done h2 {font-size:36px;}
.tour_done_when {font:700 20px 'Poppins';color:var(--primary-color) !important;padding-bottom:14px !important;}
.tour_done_contact {background:#fff8e1;border-radius:8px;padding:12px 16px;font-size:14px !important;color:var(--primary-color) !important;margin-top:6px;}
.tour_done_contact a {color:var(--primary-color);font-weight:700;}
.tour_done_actions {display:flex;align-items:center;justify-content:center;gap:22px;margin-top:22px;flex-wrap:wrap;}
.tour_done_link {font:600 15px 'Poppins';color:var(--secondary-color) !important;}
.tour_done_link:hover {text-decoration:underline;}
.tour_done_zoom {padding:4px 0 8px 0 !important;}
.tour_done_zoom a {display:inline-block;font:700 17px 'Poppins';color:var(--primary-color) !important;background:#eef9ff;border:2px solid #17dafd;border-radius:10px;padding:10px 18px;word-break:break-all;}
.tour_done_zoom a:hover {background:#17dafd;color:#fff !important;}

/* ── "How would you like to connect?" chooser: Zoom / virtual tour / in-person tour (opened by ?schedule=1 links in emails) ── */
.sched_box {max-width:1060px;}
.sched_unlock {margin-top:14px;padding:12px 16px;border-radius:10px;background:#fff8e1;border:1px solid #ffe08a;font-size:14px;line-height:1.5;color:var(--primary-color);}
.sched_choices {display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:6px;}
.sched_choice {display:flex;flex-direction:column;gap:8px;padding:26px 24px 22px 24px;border:2px solid #e6e6f2;border-radius:16px;background:#fff;text-decoration:none;color:#666;transition:all .2s;position:relative;overflow:hidden;}
.sched_choice:before {content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--tts-grad);opacity:0;transition:opacity .2s;}
.sched_choice:hover {border-color:var(--secondary-color);transform:translateY(-3px);box-shadow:0 18px 40px rgba(4,5,79,.14);}
.sched_choice:hover:before {opacity:1;}
.sched_icon {font-size:34px;line-height:1;}
.sched_choice strong {font:900 20px/1.2 'Nexa','Poppins',sans-serif;color:var(--primary-color);}
.sched_choice span:not(.sched_icon) {font-size:14px;line-height:1.55;}
.sched_choice em {font:600 14px 'Poppins';font-style:normal;color:var(--secondary-color);margin-top:auto;padding-top:6px;}
.sched_foot {margin:18px 0 0 0;text-align:center;font-size:14px;line-height:1.5;color:#666;} .sched_foot a {color:var(--primary-color);font-weight:700;text-decoration:underline;text-underline-offset:3px;} .sched_foot a:hover {color:var(--secondary-color);}


/* ── Contact block: "Schedule your instant tour" card (replaces the old tour request form) ── */
.contact_block .tour_card {flex:1;border-radius:12px;padding:36px 56px 40px 56px;background:#1e1e61;position:relative;color:#fff;}
.contact_block .tour_card:before {content:'';display:block;width:calc(100% - 112px);height:3px;border-radius:0 0 15px 15px;background:var(--tts-grad);position:absolute;top:0;left:56px;}
.tour_card_eyebrow {display:inline-block;font:700 11px 'Nexa','Poppins',sans-serif;letter-spacing:3px;text-transform:uppercase;color:#17dafd;margin-bottom:8px;}
.contact_block .tour_card h4 {color:#fff;font-size:30px;line-height:1.15;padding-bottom:12px;}
.contact_block .tour_card h4 strong {font-weight:900;}
.contact_block .tour_card > p {color:rgba(255,255,255,.85);font-size:16px;line-height:1.6;padding-bottom:14px;}
.tour_card_list {list-style:none;padding:0;margin:0 0 22px 0;display:block;}
.tour_card_list li {position:relative;padding:5px 0 5px 30px;font-size:15px;color:#fff;width:100% !important;}
.tour_card_list li:before {content:'\2713';position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--tts-grad);color:#0a0b3a;font-size:12px;font-weight:900;text-align:center;line-height:20px;}
.tour_card_btn {height:60px !important;padding:0 34px !important;font-size:18px !important;border-radius:30px !important;width:100%;max-width:420px;}
.tour_card_hours {display:block;font-size:13px;color:rgba(255,255,255,.6);margin:12px 0 22px 0;}
.tour_card_alt {display:inline-block;font:600 14px 'Poppins';color:#17dafd !important;text-decoration:underline;margin-top:4px;}
.tour_card_alt:hover {color:#fff !important;}
/* The call-back form sits INSIDE the card, so undo the theme's ".contact_block form" panel styling on it */
.contact_block .tour_card form.callback_form {flex:none;display:block;margin-top:18px;padding:18px 0 0 0;border-radius:0;background:none;border-top:1px solid rgba(255,255,255,.15);}
.contact_block .tour_card form.callback_form:before {display:none;}
.contact_block .tour_card .callback_form ul {display:flex;flex-wrap:wrap;justify-content:space-between;list-style:none;margin:0;padding:0;}
.contact_block .tour_card .callback_form ul li {width:calc(50% - 8px);padding-bottom:14px;text-align:left;}
.contact_block .tour_card .callback_form ul li.full {width:100%;}
.contact_block .tour_card .callback_form ul li:last-child {width:100%;text-align:right;}
.contact_block .tour_card .callback_form input[type="text"], .contact_block .tour_card .callback_form input[type="email"], .contact_block .tour_card .callback_form input[type="tel"], .contact_block .tour_card .callback_form textarea {background-image:none;height:54px;}
.contact_block .tour_card .callback_form textarea {height:90px;padding-top:14px;}
.contact_block .tour_card .callback_form ul li:last-child .button {height:54px;min-width:0;border-radius:27px;font-size:16px;}
.form_confirm_callback {margin-top:14px;}
@media only screen and (max-width: 959px) {
.contact_block .tour_card {padding:30px 26px 32px 26px;margin-top:20px;}
.contact_block .tour_card:before {width:calc(100% - 52px);left:26px;}
.contact_block .tour_card h4 {font-size:26px;}
.contact_block .tour_card .callback_form ul li {width:100%;}
}

@media only screen and (max-width: 1300px) {
}
@media only screen and (max-width: 1100px) {
.announce_headline {font-size:22px;}
.announce_line {font-size:15px;}
}
@media only screen and (max-width: 959px) {
.announce_inner {flex-wrap:wrap;justify-content:center;text-align:center;padding:14px 20px;gap:12px;}
.announce_main {width:100%;justify-content:center;}
.announce_rotator {flex:0 0 100%;width:100%;order:3;min-height:26px;}
.announce_cta {order:4;flex:0 0 auto;}
.tour_modal_box {padding:34px 26px 30px 26px;}
.tour_slots {grid-template-columns:repeat(3,1fr);}
.sched_choices {grid-template-columns:1fr 1fr;}
.sched_choice:nth-child(3) {grid-column:1 / -1;}
}
@media only screen and (max-width: 767px) {
.tour_bar_sub {display:none;}
.tour_bar_text strong {font-size:15px;}
.tour_bar_btn {height:46px;padding:0 20px;font-size:15px;}
.tour_days {gap:5px;}
.tour_day {padding:10px 2px 8px 2px;border-radius:9px;}
.tour_day_num {font-size:20px;}
.tour_day_dow {font-size:9px;letter-spacing:.5px;}
.tour_day_mon {display:none;}
.tour_day_count {font-size:9px;}
.tour_form_grid {grid-template-columns:1fr;}
.tour_form_actions {flex-direction:column-reverse;align-items:stretch;}
.sched_choices {grid-template-columns:1fr;gap:12px;}
.sched_choice:nth-child(3) {grid-column:auto;}
.sched_choice {padding:20px 18px 18px 18px;}
}
@media only screen and (max-width: 600px) {
body.has_tour_bar .footer {padding-bottom:100px;}
.announce_inner {padding:12px 16px 14px 16px;gap:8px;}
.announce_main {flex-direction:column;gap:8px;}
.announce_headline {font-size:21px;}
.announce_burst {font-size:9px;padding:6px 10px;letter-spacing:2px;}
.announce_line {font-size:14px;line-height:20px;}
.announce_rotator {min-height:40px;display:flex;align-items:center;justify-content:center;}
.announce_line {position:absolute;top:50%;transform:translateY(calc(-50% + 6px));}
.announce_line.is-on {transform:translateY(-50%);}
.announce_cta {font-size:14px;padding:11px 22px;margin-top:2px;}
.tour_bar_inner {padding:10px 14px 12px 14px;gap:12px;}
.tour_bar_dot {width:10px;height:10px;}
.tour_slots {grid-template-columns:repeat(2,1fr);}
.tour_tz {flex-direction:column;align-items:stretch;gap:6px;}
.tour_modal {padding:14px 10px;}
.tour_modal_box {padding:30px 20px 26px 20px;border-radius:18px;}
.tour_modal_box h2 {font-size:26px;}
.tour_done h2 {font-size:30px;}
}
@media only screen and (max-width: 400px) {
.tour_bar_text strong {font-size:13px;}
.tour_bar_btn {padding:0 14px;font-size:14px;}
}

/* ── "Chat with a producer" widget (drawn by site.js; replies come from the Lead Dashboard or Jon's email) ── */
.tchat {position:fixed;right:20px;bottom:22px;z-index:1000;font-family:'Poppins',sans-serif;transition:bottom .35s ease;}
body.tour_bar_on .tchat {bottom:96px;}
.tchat_launch {display:flex;align-items:center;gap:10px;height:54px;padding:0 20px 0 16px;border:none;border-radius:27px;background:#04054f;color:#fff;font:600 15px 'Poppins',sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(4,5,79,.35);position:relative;transition:transform .2s ease, box-shadow .2s ease;}
.tchat_launch:before {content:'';position:absolute;inset:-2px;border-radius:30px;background:var(--tts-grad);z-index:-1;opacity:.9;}
.tchat_launch:hover {transform:translateY(-2px);box-shadow:0 14px 34px rgba(4,5,79,.45);}
.tchat_launch.on .tchat_launch_txt {display:none;} .tchat_launch.on {padding:0 16px;}
.tchat_launch_ic {font-size:22px;line-height:1;}
.tchat_badge {position:absolute;top:-6px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#f5840c;color:#fff;font:700 12px/22px 'Poppins',sans-serif;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.3);}
.tchat_teaser {position:absolute;right:0;bottom:66px;width:260px;background:#fff;color:#04054f;border-radius:14px;padding:12px 36px 12px 14px;font-size:14px;line-height:1.4;box-shadow:0 12px 34px rgba(4,5,79,.25);cursor:pointer;animation:tour_in .3s ease;}
.tchat_teaser:after {content:'';position:absolute;right:22px;bottom:-7px;width:14px;height:14px;background:#fff;transform:rotate(45deg);}
.tchat_teaser_x {position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;border-radius:50%;background:#f0f0f8;color:#666;font-size:11px;cursor:pointer;}
.tchat_panel {display:none;position:absolute;right:0;bottom:66px;width:370px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100vh - 110px);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(4,5,79,.35);overflow:hidden;flex-direction:column;animation:tour_in .25s ease;}
.tchat_panel.on {display:flex;}
.tchat_head {display:flex;align-items:center;gap:12px;padding:14px 16px;background:#04054f;color:#fff;position:relative;}
.tchat_head:after {content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tts-grad);}
.tchat_av {width:40px;height:40px;border-radius:50%;background:var(--tts-grad);color:#04054f;display:flex;align-items:center;justify-content:center;font:900 20px 'Nexa','Poppins',sans-serif;flex-shrink:0;}
.tchat_head_txt {flex:1;min-width:0;} .tchat_head_txt strong {display:block;font:900 16px/1.2 'Nexa','Poppins',sans-serif;letter-spacing:.3px;} .tchat_head_txt span {display:block;font-size:12px;color:rgba(255,255,255,.7);margin-top:2px;}
.tchat_dot {display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--tour-green);margin-right:4px;vertical-align:1px;box-shadow:0 0 0 0 rgba(34,211,138,.6);animation:tour_pulse 1.8s ease-out infinite;} .tchat_dot.off {background:#f5d613;animation:none;}
.tchat_close {width:34px;height:34px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:14px;cursor:pointer;flex-shrink:0;} .tchat_close:hover {background:rgba(255,255,255,.25);}
.tchat_body {flex:1;overflow-y:auto;padding:16px 14px;background:#f6f7fb;-webkit-overflow-scrolling:touch;}
.tchat_msgs {display:flex;flex-direction:column;gap:8px;}
.tchat_msg {max-width:84%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;color:#1e1e3f;white-space:pre-wrap;word-wrap:break-word;}
.tchat_msg.a {align-self:flex-start;background:#fff;border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(4,5,79,.06);} .tchat_msg.v {align-self:flex-end;background:#04054f;color:#fff;border-bottom-right-radius:4px;}
.tchat_msg small {display:block;font-size:10px;opacity:.55;margin-top:4px;} .tchat_msg.v small {text-align:right;}
.tchat_intro .tchat_msg {margin-bottom:14px;}
.tchat_note {align-self:center;text-align:center;font-size:12px;color:#777;padding:4px 10px;margin:4px 0;}
.tchat .tchat_intro input, .tchat .tchat_intro textarea {display:block;width:100%;box-sizing:border-box;font:400 14px 'Poppins',sans-serif;color:#04054f;border:1px solid #dcdfe8;border-radius:10px;padding:11px 13px;margin-bottom:8px;background:#fff;height:auto;}
.tchat .tchat_intro textarea {resize:none;min-height:76px;height:auto;padding:11px 13px;}
.tchat input::placeholder, .tchat textarea::placeholder {color:#8a8ca3;opacity:1;}
.tchat_intro input:focus, .tchat_intro textarea:focus, .tchat_compose textarea:focus {outline:2px solid rgba(92,119,254,.35);border-color:#5c77fe;}
.tchat_btn {display:block;width:100%;height:48px;border:none;border-radius:24px;background:#f5840c;color:#fff;font:700 15px 'Poppins',sans-serif;cursor:pointer;margin-top:4px;} .tchat_btn:hover {background:#d9720a;} .tchat_btn[disabled] {opacity:.6;cursor:wait;}
.tchat_err {display:none;color:#c62828;font-size:13px;margin-top:8px;text-align:center;}
.tchat_compose {display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid #eceef5;background:#fff;}
.tchat .tchat_compose textarea {flex:1;font:400 14px/1.4 'Poppins',sans-serif;color:#04054f;border:1px solid #dcdfe8;border-radius:12px;padding:10px 12px;resize:none;max-height:120px;box-sizing:border-box;height:auto;min-height:42px;}
.tchat_send {width:42px;height:42px;border:none;border-radius:50%;background:#04054f;color:#fff;font-size:16px;cursor:pointer;flex-shrink:0;} .tchat_send:hover {background:#1e1e61;}
.tchat_foot {padding:6px 14px 10px 14px;background:#fff;font-size:11px;color:#888;text-align:center;line-height:1.5;} .tchat_foot a {color:#5c77fe;}
@media only screen and (max-width: 600px) {
.tchat {right:12px;bottom:14px;} body.tour_bar_on .tchat {bottom:82px;}
.tchat_launch {height:50px;padding:0 14px;font-size:14px;}
.tchat_launch_txt {display:none;}
.tchat_teaser {width:230px;}
.tchat_panel {position:fixed;inset:0;width:auto;max-width:none;height:auto;max-height:none;border-radius:0;}
body.chat_open .tchat_launch, body.chat_open .tchat_teaser {display:none;}
body.chat_open {overflow:hidden;}
}
