.bcai-root{--bcai-red:#e12832;--bcai-ink:#151d30;--bcai-muted:#657184;background:#fff;border-radius:23px;border:1px solid #e6eaf0;box-shadow:0 18px 48px rgba(30,42,72,.075);overflow:hidden;display:flex;flex-direction:column;min-height:520px;font-family:inherit}.bcai-topline{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f4;padding:16px 22px;background:#fff}.bcai-head-icon{flex:0 0 40px;width:40px;height:40px;border-radius:14px;background:#fff0f1;display:grid;place-items:center;color:var(--bcai-red);font-size:22px;font-weight:800}.bcai-topline strong{font-size:14px;display:block;color:var(--bcai-ink);letter-spacing:-.1px}.bcai-topline span{display:block;font-size:11px;color:#8c94a0;margin-top:4px}.bcai-top-actions{margin-left:auto;display:flex;gap:14px;align-items:center}.bcai-online{white-space:nowrap}.bcai-online i{display:inline-block;width:7px;height:7px;background:#39c193;border-radius:50%;margin-right:4px}.bcai-clear{border:1px solid #e8edf3;border-radius:25px;color:#5c6675;padding:8px 12px;background:#fff;white-space:nowrap;font-size:11px}.bcai-clear:hover{border-color:var(--bcai-red);color:var(--bcai-red)}.bcai-log{padding:26px 26px 15px;min-height:320px;max-height:620px;overflow-y:auto;scroll-behavior:smooth;flex:1;overscroll-behavior:contain}.bcai-welcome{text-align:center;padding:25px 8px 16px;max-width:530px;margin:auto}.bcai-welcome-mark{width:62px;height:62px;margin:0 auto 17px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(130deg,#faedf0,#fff2ec);font-size:30px;color:var(--bcai-red);box-shadow:0 8px 30px rgba(225,40,50,.08)}.bcai-welcome-eyebrow{font-size:10px;color:var(--bcai-red)!important;letter-spacing:1.8px;font-weight:850;margin:0 0 12px!important}.bcai-welcome h2{font-size:clamp(24px,2.5vw,34px);letter-spacing:-1px;margin:0 0 8px}.bcai-welcome>p:last-child{margin:0 auto;color:#758090;line-height:1.65;font-size:14px;max-width:455px}.bcai-suggestions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:20px auto 35px;max-width:680px}.bcai-suggestions button,.bcai-help button{background:#fff;border:1px solid #e6eaf1;border-radius:30px;padding:11px 15px;color:#495364;font-size:12px;font-weight:650;transition:border-color .15s,background .15s,transform .15s}.bcai-suggestions button:hover,.bcai-help button:hover{background:#fff3f3;border-color:#f1bec2;transform:translateY(-2px)}.bcai-bottom{border-top:1px solid #f1f2f5;padding:16px 21px 14px;background:linear-gradient(#fff,#fffafa)}.bcai-help{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:13px;font-size:11px;color:#929ba6}.bcai-help button{padding:7px 10px;font-size:10px;font-weight:700;background:#fff;border-color:#edf0f4}.bcai-form{display:flex;align-items:flex-end;gap:12px;background:#fff;border:1px solid #e4e8f0;border-radius:30px;padding:7px 8px 7px 20px;box-shadow:0 3px 10px rgba(20,30,50,.04)}.bcai-form:focus-within{border-color:#f2a6ac;box-shadow:0 0 0 3px rgba(225,40,50,.08)}.bcai-form textarea{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;resize:none;width:100%;min-height:29px;max-height:120px;line-height:25px;color:var(--bcai-ink);font-size:13px;padding:6px 0;overflow:auto}.bcai-form textarea::placeholder{color:#9299a6}.bcai-send{display:grid;place-items:center;border:0;border-radius:50%;height:43px;width:43px;min-width:43px;background:var(--bcai-red);color:#fff;box-shadow:0 6px 15px rgba(225,40,50,.24)}.bcai-send:hover{background:#c5212a}.bcai-send:disabled{opacity:.45;cursor:wait}.bcai-disclaimer{text-align:center;font-size:10px;color:#98a0aa;margin:10px 0 1px;line-height:1.5}.bcai-trap{position:absolute!important;width:1px!important;height:1px!important;left:-9999px!important;opacity:0!important}.bcai-bubble-row{display:flex;align-items:flex-start;gap:11px;max-width:97%;margin:0 0 18px}.bcai-bubble-row.is-user{margin-left:auto;justify-content:flex-end}.bcai-avatar{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border-radius:10px;background:#fff0f1;color:var(--bcai-red);font-size:16px}.bcai-bubble{max-width:84%;border-radius:15px 15px 15px 4px;background:#f3f5f8;color:#2a3445;padding:13px 17px;line-height:1.65;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.is-user .bcai-bubble{background:#fff0f1;border-radius:15px 15px 4px 15px;color:#67262c}.bcai-loading .bcai-bubble{color:#7f8999;animation:bcai-pulse 1.3s ease-in-out infinite}@keyframes bcai-pulse{50%{opacity:.48}}.bcai-recommendations{margin:4px 0 22px 40px}.bcai-cards-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px}.bcai-cards-head strong{font-size:14px}.bcai-cards-head span{font-size:10px;color:#8994a3}.bcai-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bcai-hotel-card{background:#fff;border:1px solid #e7ebf1;border-radius:15px;overflow:hidden;min-width:0;box-shadow:0 5px 14px rgba(17,24,39,.035)}.bcai-hotel-photo{position:relative;aspect-ratio:1.55;background:linear-gradient(135deg,#f8e0d6,#dde4f2);overflow:hidden}.bcai-hotel-photo img{height:100%;width:100%;object-fit:cover}.bcai-illustrative{position:absolute;bottom:7px;left:7px;border-radius:30px;background:rgba(20,25,30,.74);color:#fff;font-size:9px;padding:5px 7px}.bcai-save{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;background:rgba(255,255,255,.95);border-radius:50%;display:grid;place-items:center;color:var(--bcai-red);font-size:20px;line-height:1}.bcai-card-copy{padding:13px}.bcai-hotel-link{font-weight:850;text-decoration:underline;color:#164ca3;font-size:13px;line-height:1.4;display:block}.bcai-hotel-link:hover{color:#0c3075}.bcai-hotel-area{color:#667286;font-size:11px;margin-top:8px}.bcai-hotel-reason{color:#5c6572;font-size:11px;line-height:1.5;margin:9px 0}.bcai-availability{font-size:10px;font-weight:800;color:var(--bcai-red);margin-top:11px}.bcai-price{font-weight:700;font-size:10px;line-height:1.5;color:#245646;margin-top:11px}.bcai-budget-note{font-size:10px;color:#858f9a;padding-top:11px}.bcai-flight-link{margin:0 0 15px 40px;padding:12px 15px;background:#f3f6fa;border-radius:12px;font-size:12px}.bcai-flight-link a{color:var(--bcai-red);text-decoration:underline;font-weight:750}
@media(max-width:1050px){.bcai-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:810px){.bcai-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bcai-root{min-height:490px}.bcai-log{max-height:650px}}@media(max-width:550px){.bcai-root{border-radius:17px;min-height:490px}.bcai-topline{padding:13px 14px;gap:9px}.bcai-head-icon{width:35px;height:35px;flex-basis:35px}.bcai-online{display:none!important}.bcai-clear{padding:8px}.bcai-clear span{display:none}.bcai-log{padding:18px 12px 8px;min-height:265px;max-height:570px}.bcai-welcome{padding:15px 4px 10px}.bcai-welcome>p:last-child{font-size:12px}.bcai-welcome h2{font-size:24px}.bcai-suggestions{gap:7px;margin:20px auto 35px}.bcai-suggestions button{padding:9px 11px;font-size:11px}.bcai-bottom{padding:11px 10px 10px}.bcai-help{margin-bottom:9px;gap:6px}.bcai-help button{padding:6px 8px;font-size:9px}.bcai-form{padding-left:14px;gap:4px}.bcai-form textarea{font-size:12px}.bcai-send{width:40px;height:40px;min-width:40px}.bcai-disclaimer{font-size:9px}.bcai-bubble{max-width:90%;padding:11px 12px;font-size:12px}.bcai-recommendations{margin-left:0}.bcai-cards-head{padding:0 2px}.bcai-card-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 3px 7px;gap:10px}.bcai-hotel-card{min-width:76%;width:76%;flex:0 0 76%;scroll-snap-align:start}.bcai-hotel-photo{aspect-ratio:2.1}.bcai-hotel-link{font-size:14px}.bcai-hotel-reason{font-size:12px}.bcai-flight-link{margin-left:0}}@media(prefers-reduced-motion:reduce){.bcai-loading .bcai-bubble{animation:none}}

/* v1.1 — NATURAL PAGE SCROLL on iOS Safari, Android and desktop.
   The old independently scrollable 620px chat pane trapped swipes when it reached its edges. */
.bcai-root{overflow:visible!important;height:auto!important;min-height:0;}
.bcai-topline{border-radius:23px 23px 0 0;}
.bcai-bottom{border-radius:0 0 23px 23px;}
.bcai-log{max-height:none!important;min-height:0!important;height:auto!important;overflow:visible!important;overscroll-behavior:auto!important;scroll-behavior:auto!important;flex:none!important;touch-action:pan-y;}
.bcai-price{font-size:12px;color:#176449;font-weight:850;margin-top:12px;}
.bcai-price-meta{margin-top:5px;font-size:11px;color:#536577;font-weight:650;}
.bcai-price-checked{margin-top:4px;color:#85919b;font-size:10px;}
@media(max-width:550px){.bcai-root{border-radius:17px;}.bcai-topline{border-radius:17px 17px 0 0;}.bcai-bottom{border-radius:0 0 17px 17px;}.bcai-log{max-height:none!important;min-height:0!important;}}

/* Premium itinerary cards — mobile-first, accessible, no nested scrolling. */
.bcai-itinerary{margin-top:26px;display:grid;gap:22px;min-width:0}
.bcai-itinerary-heading{display:flex;gap:14px;align-items:flex-start;padding:22px 24px;background:linear-gradient(130deg,#fff7f7,#fff);border:1px solid #f9dee0;border-radius:18px}
.bcai-itinerary-glyph{width:43px;height:43px;border-radius:14px;background:#e62d37;color:#fff;display:grid;place-items:center;font-size:26px;flex:0 0 43px}
.bcai-section-eyebrow{color:#cd2833;font-size:10px;letter-spacing:1.5px;font-weight:850}
.bcai-itinerary-heading h2{font-size:clamp(20px,2.1vw,28px);margin:5px 0 8px;color:#182237;letter-spacing:-.5px}
.bcai-itinerary-heading p{margin:0;color:#616c7f;line-height:1.65;font-size:13px}
.bcai-day{border:1px solid #e9ebf0;border-radius:19px;background:white;box-shadow:0 5px 24px rgba(22,33,55,.045);padding:20px;min-width:0}
.bcai-day-heading{display:flex;gap:15px;align-items:center}
.bcai-day-badge{background:#dc2832;color:white;border-radius:9px;white-space:nowrap;font-size:12px;font-weight:900;letter-spacing:.5px;padding:10px 12px}
.bcai-day-headline h3{margin:0;color:#151e31;font-size:22px;letter-spacing:-.5px}
.bcai-day-theme{display:inline-block;color:#be3540;font-size:12px;font-weight:700;margin-top:3px}
.bcai-day-summary{color:#566376;font-size:13px;line-height:1.7;margin:13px 0 20px}
.bcai-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.bcai-activity{overflow:hidden;border:1px solid #eaedf2;border-radius:14px;min-width:0;background:#fff;display:flex;flex-direction:column}
.bcai-activity-photo{height:175px;position:relative;overflow:hidden;background:linear-gradient(120deg,#f3e8e5,#e9eef9)}
.bcai-activity-photo img{width:100%;height:100%;object-fit:cover;display:block}
.bcai-image-credit{position:absolute;bottom:0;right:0;left:0;background:linear-gradient(transparent,rgba(0,0,0,.75));color:white!important;padding:20px 11px 7px;font-size:9px!important;line-height:1.4;text-decoration:none!important}
.bcai-activity-photo-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#818b9c}
.bcai-activity-photo-placeholder span{font-size:35px}.bcai-activity-photo-placeholder small{font-size:11px}
.bcai-activity-content{padding:15px;display:flex;flex-direction:column;flex:1}
.bcai-activity-time{font-size:10px;color:#d22e36;font-weight:850;text-transform:uppercase;letter-spacing:.8px}
.bcai-activity-content h4{font-size:17px;letter-spacing:-.3px;color:#1c2535;margin:6px 0;line-height:1.25}
.bcai-activity-area{font-size:11px;color:#778296}
.bcai-activity-description,.bcai-activity-why,.bcai-activity-tip{color:#4d5869;font-size:12px;line-height:1.6;margin:12px 0 0}
.bcai-activity-why{background:#fff6f4;padding:10px;border-radius:10px;color:#4f4545}
.bcai-activity-tip{background:#f6f8fc;padding:10px;border-radius:10px}
.bcai-activity-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:15px}
.bcai-activity-meta span{font-size:10px;padding:6px 8px;background:#f6f7fa;border:1px solid #e9ebee;border-radius:8px;color:#5c697c}
.bcai-itinerary-after{background:#f8fafc;border:1px solid #e7ebf1;padding:17px 20px;border-radius:14px;color:#506075;font-size:12px;line-height:1.8}
.bcai-itinerary-after strong{color:#1a2537}.bcai-itinerary-flight{display:inline-flex;margin-left:10px;color:#d42b36!important;font-weight:800;text-decoration:none!important}
.bcai-ad-placement{max-width:1200px;margin:22px auto;padding:16px;min-height:110px;background:#fff;border:1px solid #eef0f2;border-radius:14px}
.bcai-ad-label{font-size:10px;color:#87909f;text-align:center;margin:0 0 15px;text-transform:uppercase;letter-spacing:1.3px}
@media(max-width:680px){.bcai-itinerary-heading{padding:17px 14px}.bcai-day{padding:14px}.bcai-day-heading{align-items:flex-start;gap:9px}.bcai-day-badge{font-size:10px;padding:9px}.bcai-day-headline h3{font-size:18px}.bcai-activity-grid{grid-template-columns:minmax(0,1fr)}.bcai-activity-photo{height:190px}.bcai-itinerary-heading h2{font-size:19px}}

/* v1.3: localised settings — styled like subtle toolbar chips, no scrolling trap. */
.bcai-preferences{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 22px;background:#fffafa;border-bottom:1px solid #f1e6e7}
.bcai-preferences label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750;color:#354054;white-space:nowrap}
.bcai-preferences select{font:inherit;font-size:12px;font-weight:650;color:#253247;background:#fff;border:1px solid #e5e7ef;border-radius:12px;padding:9px 28px 9px 10px;max-width:190px;min-height:38px;cursor:pointer}
.bcai-preferences select:focus-visible{outline:2px solid #d72c36;outline-offset:2px}
.bcai-pref-hint{font-size:10px;color:#8992a0;line-height:1.5;margin-left:auto}
.bcai-hotel-not-linked{color:#253247;text-decoration:none}
.bcai-unavailable{color:#8c6670;font-size:10px;padding-top:5px}
@media(max-width:690px){.bcai-preferences{padding:12px;gap:8px}.bcai-preferences label{flex:1 1 125px;gap:5px;font-size:11px}.bcai-preferences select{width:100%;max-width:unset;min-width:0;font-size:11px;padding:8px 21px 8px 7px}.bcai-pref-hint{flex-basis:100%;font-size:10px;margin-left:0}}

/* v1.4 — eliminate every nested mobile touch scroller (iOS Safari & Android Chrome). */
.bcai-root,.bcai-log,.bcai-bottom,.bcai-recommendations,.bcai-itinerary,.bcai-card-grid{height:auto!important;max-height:none!important;overflow-y:visible!important;overscroll-behavior:auto!important;touch-action:auto!important}
.bcai-root{overflow:visible!important;min-height:0!important;contain:none!important}
.bcai-log{flex:0 0 auto!important;overflow:visible!important;touch-action:pan-y!important;-webkit-overflow-scrolling:auto!important}
.bcai-card-grid{scroll-snap-type:none!important;overflow-x:visible!important}
.bcai-image-credit{display:flex;flex-wrap:wrap;gap:5px;align-items:center;background:linear-gradient(transparent,rgba(0,0,0,.86));color:#fff!important}
.bcai-image-credit a{font-size:10px;color:#fff!important;text-decoration:underline!important}
.bcai-map-link{display:inline-flex;align-items:center;margin-top:9px;font-size:11px;color:#ba2630!important;text-decoration:underline!important;font-weight:700}
.bcai-browse-label{font-size:10px;line-height:1.45;color:#8a6570;padding-top:5px}
.bcai-activity-photo-placeholder{background:radial-gradient(circle at 30% 20%,#fff 0%,transparent 42%),linear-gradient(135deg,#f7e9e5,#e5edf7);min-height:175px}
@media(max-width:690px){
  .bcai-root,.bcai-log,.bcai-card-grid{overflow:visible!important;width:100%;max-width:100%}
  .bcai-card-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:0!important}
  .bcai-hotel-card{width:100%!important;min-width:0!important;flex:none!important}
  .bcai-hotel-photo{aspect-ratio:1.8!important}
  .bcai-log{touch-action:pan-y!important}
  .bcai-preferences{max-width:100%}
}

.bcai-activity-photo.is-illustrative img{filter:saturate(.92)}.bcai-activity-photo.is-illustrative .bcai-image-credit{background:linear-gradient(transparent,rgba(20,28,43,.90));font-size:10px;color:#fff}.bcai-activity-photo img{aspect-ratio:16/9;object-fit:cover}

/* v1.4.6: no misleading static hotel photographs */
.bcai-hotel-photo.bcai-no-hotel-photo{background:linear-gradient(135deg,#eff4fb 0%,#f7eef0 100%);display:flex;align-items:center;justify-content:center}
.bcai-no-photo-text{font-size:13px;color:#738194;font-weight:650;text-align:center;padding:20px}
.bcai-hotel-photo-credit{position:absolute;bottom:8px;left:10px;right:10px;display:flex;gap:9px;flex-wrap:wrap;font-size:10px;padding:5px 8px;border-radius:7px;background:rgba(255,255,255,.88);color:#1f2937}
.bcai-hotel-photo-credit a{text-decoration:underline}
