:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#112f45;background:#f6f3ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.brand{max-width:1240px;margin:auto;padding:24px 40px;font-family:Georgia,serif;font-size:22px;font-weight:bold}.brand span{display:block;font:10px system-ui;letter-spacing:3px;color:#947331;margin-top:5px}.brand small{font:12px system-ui;float:right;color:#606c71;margin-top:-25px}main{max-width:1240px;margin:auto;padding:20px 40px 40px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}aside{padding-bottom:50px}.eyebrow{color:#927338;letter-spacing:2px;font-size:11px;font-weight:700}h1{font:clamp(36px,4.5vw,60px)/1.08 Georgia,serif;letter-spacing:-1.5px;margin:25px 0}aside>p:not(.eyebrow){line-height:1.7;max-width:360px;font-size:16px}.quiet{color:#69747a}.chat{background:#fff;border:1px solid #e4e4df;border-radius:24px;box-shadow:0 18px 60px #15344812;overflow:hidden;height:min(740px,calc(100dvh - 130px));min-height:520px;display:flex;flex-direction:column}.chat-head{display:flex;align-items:center;gap:12px;padding:20px;background:#0d2d46;color:white}.avatar{width:42px;height:42px;border:1px solid #d7bf85;border-radius:50%;display:grid;place-items:center;font:26px Georgia;color:#e3ca95}.chat-head strong{font-size:17px}.chat-head small{display:block;font-size:11px;margin-top:4px;opacity:.75}.chat-head button{margin-left:auto;background:transparent;border:0;color:#e5e9eb;font-size:11px;cursor:pointer}#messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 22px;scroll-behavior:auto}.bubble{max-width:88%;padding:13px 16px;border-radius:17px 17px 17px 4px;background:#f5f2ed;margin:0 0 15px;line-height:1.55;font-size:14px;overflow-wrap:anywhere}.bubble.user{margin-left:auto;background:#12364d;color:white;border-radius:17px 17px 4px 17px;max-width:80%;width:fit-content}.bubble.typing{width:fit-content;display:flex;align-items:center;gap:5px;color:#66757d;font-size:12px}.typing span{margin-right:8px}.typing i{height:5px;width:5px;border-radius:50%;background:#2c4a5e;animation:bounce 1s infinite}.typing i:nth-of-type(2){animation-delay:.15s}.typing i:nth-of-type(3){animation-delay:.3s}@keyframes bounce{50%{transform:translateY(-4px);opacity:.4}}#composer{padding:14px 22px 18px;border-top:1px solid #f0efea;max-height:48%;overflow:auto}.choices{display:flex;flex-wrap:wrap;gap:8px}button,input{font:inherit}button{cursor:pointer}.choice{padding:11px 14px;background:white;border:1px solid #cbd6db;border-radius:14px;color:#15394c;font-size:13px;text-align:left}.choice:hover{background:#edf5f4;border-color:#67958e}.choice:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ba944c;outline-offset:2px}form{display:flex;gap:8px}input{min-width:0;flex:1;width:100%;border:1px solid #bdcdd3;border-radius:12px;padding:13px;color:#173d51;font-size:15px}.send{background:#16465d;color:white;border:0;border-radius:12px;padding:12px 17px}.label{display:block;margin:0 0 9px;font-size:12px;color:#64747b}.error{font-size:12px;color:#9a2c24;margin:8px 0}.back{display:block;background:none;border:0;padding:10px 0 0;color:#617780;font-size:12px}.consent{font-size:13px;line-height:1.6;margin:0 0 14px}.consent a,footer a{color:#23566d}footer{padding:11px 20px;background:#fafaf8;color:#718087;text-align:center;font-size:10px;line-height:1.6}footer a{white-space:nowrap}@media(max-width:780px){.brand{padding:15px 18px;font-size:17px}.brand small{font-size:10px}main{display:block;padding:0 12px 12px}aside{display:none}.chat{height:calc(100dvh - 82px);min-height:400px;border-radius:20px}.chat-head{padding:16px}#messages{padding:20px 15px}#composer{padding:12px 15px}.bubble{max-width:92%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.typing i{animation:none}}

.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.6;cursor:wait}

/* Indicatore condiviso con la chat principale. */
.sdv-dream-journey{--dream-progress:0%;position:relative;width:100%;box-sizing:border-box;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.2);color:#fff}
.sdv-dream-copy{display:block;min-width:0}
.sdv-dream-copy>strong{display:block;margin-bottom:2px;color:#f4d486;font-family:Georgia,serif;font-size:12px;line-height:1.2}
.sdv-dream-message{display:block;min-width:0;color:rgba(255,255,255,.84);font-size:10.5px;line-height:1.3;white-space:normal}
.sdv-dream-trail{position:relative;display:flex;align-items:center;justify-content:space-between;height:15px;margin-top:6px}
.sdv-dream-trail::before,.sdv-dream-trail::after{content:"";position:absolute;z-index:0;left:5px;top:6px;height:2px;border-radius:999px}
.sdv-dream-trail::before{right:5px;background:rgba(255,255,255,.24)}
.sdv-dream-trail::after{width:var(--dream-progress);max-width:calc(100% - 10px);background:linear-gradient(90deg,#c59a45,#f7d979);box-shadow:0 0 7px rgba(244,212,134,.35);transition:width .38s ease}
.sdv-dream-point{position:relative;z-index:2;width:11px;height:11px;box-sizing:border-box;flex:0 0 auto;border:2px solid rgba(255,255,255,.48);border-radius:50%;background:var(--sdv-navy);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.sdv-dream-point.is-complete{border-color:#f3d27e;background:#c59a45;box-shadow:0 0 0 2px rgba(197,154,69,.15)}
.sdv-dream-point.is-current{border-color:#fff2c4;background:#f2c75c;box-shadow:0 0 0 3px rgba(242,199,92,.2),0 0 10px rgba(255,223,136,.75);transform:scale(1.12)}
.sdv-dream-sparkle{position:absolute;z-index:4;left:var(--dream-progress);top:7px;width:18px;height:18px;opacity:0;pointer-events:none;transform:translate(-50%,-50%)}
.sdv-dream-sparkle::before,.sdv-dream-sparkle::after{content:"";position:absolute;left:50%;top:50%;background:#fff8d7;border-radius:999px;box-shadow:0 0 8px #f7d979}
.sdv-dream-sparkle::before{width:2px;height:16px;transform:translate(-50%,-50%)}
.sdv-dream-sparkle::after{width:16px;height:2px;transform:translate(-50%,-50%)}
.sdv-dream-journey.is-sparkling .sdv-dream-sparkle{animation:sdvDreamSparkle .72s ease-out}
.sdv-dream-journey.is-sparkling .sdv-dream-point.is-current{animation:sdvDreamPointSparkle .72s ease-out}
@keyframes sdvDreamSparkle{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}30%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(35deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45) rotate(75deg)}}
@keyframes sdvDreamPointSparkle{0%{box-shadow:0 0 0 0 rgba(255,240,181,0),0 0 0 rgba(255,223,136,0)}35%{box-shadow:0 0 0 6px rgba(255,240,181,.3),0 0 18px rgba(255,223,136,1)}100%{box-shadow:0 0 0 3px rgba(242,199,92,.2),0 0 10px rgba(255,223,136,.75)}}
@media(max-width:640px){.sdv-giulia-header{padding:11px 15px 10px}.sdv-dream-copy>strong{font-size:11px}.sdv-dream-message{font-size:9.5px}.sdv-dream-trail{margin-top:5px}}
@media(prefers-reduced-motion:reduce){.sdv-dream-journey.is-sparkling .sdv-dream-sparkle,.sdv-dream-journey.is-sparkling .sdv-dream-point.is-current{animation:none!important}.sdv-dream-trail::after,.sdv-dream-point{transition:none!important}}
.chat-head{flex-wrap:wrap;gap:10px 12px;flex-shrink:0;--sdv-navy:#0d2d46}.chat-head .sdv-dream-journey{flex-basis:100%;margin-top:0}.chat-head .sdv-dream-copy>strong{font-size:12px}

/* Paesaggi di viaggio: due livelli per una dissolvenza senza vuoti. */
:root{background:#f3f0e9}body{background:radial-gradient(ellipse at 10% 0%,#e7e0d0,transparent 65%)}
.brand{max-width:1440px;padding:22px 40px}.brand small{letter-spacing:.7px}
main{max-width:1440px;padding:8px 40px 30px;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.travel-scene{position:relative;isolation:isolate;overflow:hidden;border-radius:26px 0 0 26px;background:#214d59;min-width:0;padding:0;color:#fff}
.scene-images,.scene-image{position:absolute;inset:0;width:100%;height:100%}.scene-image{object-fit:cover;opacity:0;transition:opacity 1.2s ease;object-position:center}.scene-image.is-visible{opacity:1}
.travel-scene:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,30,42,.08) 18%,rgba(8,30,42,.35) 42%,rgba(8,30,42,.92) 100%);pointer-events:none}
.scene-copy{position:absolute;z-index:2;bottom:56px;left:40px;right:35px}.scene-copy .eyebrow{color:#f4d486;letter-spacing:2px;font-size:10px}.scene-copy h1{white-space:pre-line;font:clamp(34px,3.5vw,54px)/1.08 Georgia,serif;letter-spacing:-1px;margin:18px 0}.scene-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:340px;color:#f0f2ee}.scene-signature{display:block;border-top:1px solid #ffffff45;padding-top:18px;margin-top:24px;font-size:12px;letter-spacing:.8px;color:#f4d486}.scene-note{position:absolute;z-index:2;top:25px;left:30px;border:1px solid #ffffff70;padding:8px 13px;border-radius:30px;background:#0d2d4638;font-size:10px;letter-spacing:1px}
.chat{border-radius:0 26px 26px 0;min-height:540px;height:min(780px,calc(100dvh - 120px));box-shadow:16px 20px 55px #15344818;border:0}.chat-head{padding:18px 24px}#messages{background:linear-gradient(#fff,#fcfaf6)}
@media(max-width:780px){.brand{padding:13px 16px;font-size:17px}.brand small{font-size:9px}main{display:flex;flex-direction:column;padding:0 10px 10px}.travel-scene{display:block;flex-shrink:0;height:134px;border-radius:20px 20px 0 0}.scene-copy{left:20px;right:20px;bottom:16px}.scene-copy .eyebrow{font-size:8px;letter-spacing:1.3px;margin:0 0 6px}.scene-copy h1{font-size:25px;line-height:1.05;margin:0;white-space:normal;letter-spacing:-.4px}.scene-copy>p:not(.eyebrow),.scene-signature,.scene-note{display:none}.scene-image{object-position:center 45%}.travel-scene:after{background:linear-gradient(90deg,#08202bbb,#08202b18)}.chat{border-radius:0 0 20px 20px;height:calc(100dvh - 214px);min-height:420px}.chat-head{padding:12px 16px}.chat-head strong{font-size:15px}.chat-head small{font-size:10px}#messages{padding:16px 15px}#composer{padding:12px 15px}}
@media(prefers-reduced-motion:reduce){.scene-image{transition:none}}

.avatar{flex:0 0 44px;width:44px;height:44px;overflow:hidden;background:#e3ca95}.avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%}

/* Dettagli del viaggio composti dalle risposte, senza servizi esterni. */
.scene-personal{position:absolute;inset:0;z-index:2;pointer-events:none}.scene-personal [hidden]{display:none!important}
#scene-ship{position:absolute;right:26px;top:76px;width:210px;margin:0;padding:7px;background:#fff9ed;border-radius:15px;box-shadow:0 12px 40px #08202b55;transform:rotate(3deg);animation:scene-arrive .7s ease}
#scene-ship img{width:100%;height:115px;object-fit:cover;border-radius:10px;display:block}#scene-ship figcaption{font-size:10px;line-height:1.4;color:#16384a;padding:7px 4px 2px}
#scene-party{position:absolute;left:36px;bottom:330px;animation:scene-arrive .7s ease}#scene-people{display:flex;align-items:flex-end;gap:0;filter:drop-shadow(0 4px 9px #071b3060)}.scene-person{display:block;width:42px;color:#e5b558}.scene-person:nth-child(even){color:#75b8b6}.scene-person.child{width:30px;color:#ec9273}.scene-person svg{display:block;width:100%;height:auto}.scene-more{align-self:center;font-size:24px;padding-left:5px}#scene-party-label{display:block;font-size:11px;background:#153747c9;border:1px solid #ffffff50;border-radius:18px;padding:6px 10px;margin-top:8px}
.scene-credits{position:absolute;bottom:12px;left:26px;z-index:4;font-size:10px;max-width:85%;color:#fff}.scene-credits summary{cursor:pointer}.scene-credits[open]{background:#143648;padding:12px;border-radius:8px}.scene-credits a{color:#f4d486}
.travel-scene[data-scene="istanbul"] .scene-image{object-position:35% center}
@keyframes scene-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:780px){.travel-scene{height:218px}.scene-copy{right:145px;bottom:28px;left:18px}.scene-copy h1{font-size:22px}.scene-copy .eyebrow{line-height:1.4}.chat{height:calc(100dvh - 298px)}#scene-ship{top:14px;right:13px;width:118px;padding:5px}#scene-ship img{height:48px}#scene-ship figcaption{font-size:8px;padding:4px 1px 1px}#scene-party{left:auto;right:15px;bottom:27px;max-width:125px}#scene-people{justify-content:flex-end}.scene-person{width:26px;min-width:9px}.scene-person.child{width:19px;min-width:7px}#scene-party-label{font-size:8px;padding:4px 6px;max-width:125px}.scene-credits{bottom:7px;left:18px;font-size:9px}.scene-credits[open]{max-width:85%;}.scene-more{font-size:14px}.scene-copy .scene-signature{display:none}}
@media(prefers-reduced-motion:reduce){#scene-ship,#scene-party{animation:none}}

.scene-copy h1{font-size:clamp(30px,3.3vw,48px)}
@media(max-width:780px){.scene-copy h1{font-size:22px}}

/* Compact conversation on narrow screens; wide layout remains unchanged. */
@media(max-width:900px){
 html,body{height:100%;overflow:hidden}
 .brand,.travel-scene{display:none}
 main{display:block;width:100%;max-width:none;height:var(--chat-viewport,100dvh);padding:0;margin:0}
 .chat{width:100%;height:100%;min-height:0;border-radius:0;box-shadow:none}
 .chat-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:5px 9px;padding:calc(9px + env(safe-area-inset-top,0px)) 13px 8px;align-items:center}
 .avatar{width:38px;height:38px}
 .chat-head strong{font-size:16px}
 .chat-head small{font-size:10px;line-height:1.25;margin-top:2px}
 .chat-head button{font-size:11px;padding:8px 0 8px 6px;min-height:44px;margin:0}
 .chat-head .sdv-dream-journey{grid-column:1/-1;margin:0;padding-top:6px}
 .chat-head .sdv-dream-copy>strong{font-size:12px;margin:0}
 .sdv-dream-message{display:none}
 .sdv-dream-trail{height:13px;margin-top:4px}
 #messages{padding:16px 13px;min-height:0}
 .bubble{max-width:94%;font-size:14px;margin-bottom:12px;padding:11px 13px}
 #composer{flex-shrink:0;padding:10px 13px;max-height:45%}
 #composer input{font-size:16px;min-height:44px;padding:11px}
 .choice,.send{min-height:44px}
 .label{margin-bottom:6px}
 .error:empty{display:none}
 footer{flex-shrink:0;font-size:9px;padding:6px 13px calc(6px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:900px) and (max-height:480px){
 .chat-head{padding-top:5px;padding-bottom:4px}
 .chat-head .sdv-dream-copy{display:none}
 .chat-head .sdv-dream-journey{padding-top:2px}
 .sdv-dream-trail{margin-top:1px}
 #composer{padding-top:6px;padding-bottom:6px}
}

/* Optional editable suggestions, compact enough to preserve the mobile conversation. */
.quick-hint{font-size:11px;color:#526d7a;margin:7px 0 5px}
.quick-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;max-width:100%}
.quick-row .quick-reply{flex:0 0 auto;min-height:38px;border:1px solid #cdd9dd;border-radius:20px;background:#f6f8f8;color:#234b5e;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.quick-row .quick-reply:hover{background:#eaf1f3;border-color:#7997a5}
.quick-row .quick-reply:focus-visible{outline:2px solid #1c566d;outline-offset:2px}
@media(max-width:900px){.quick-row .quick-reply{min-height:44px}.quick-hint{margin-top:5px}.quick-row{scrollbar-width:thin}}

.undo-answer{display:block;min-height:44px;padding:9px 13px;margin:0 0 9px;border:1px solid #bca56c;border-radius:12px;background:#fcf8ed;color:#294b5b;font-size:12px;font-weight:600;text-align:left}
.undo-answer:hover{background:#f6edda}
.undo-answer:focus-visible{outline:2px solid #1c566d;outline-offset:2px}

/* Keep the current question readable above the native keyboard. */
@media(max-width:900px){
 main{position:fixed;top:var(--chat-top,0px);left:0;right:0}
 .chat-head{flex-shrink:0}
 body.reply-writing .chat-head{padding:5px 12px;grid-template-columns:32px 1fr auto;gap:8px}
 body.reply-writing .avatar{width:32px;height:32px}
 body.reply-writing .chat-head small,body.reply-writing .sdv-dream-journey,body.reply-writing footer,
 body.reply-writing #composer .label,body.reply-writing #composer .quick-hint,body.reply-writing #composer .quick-suggestions{display:none}
 body.reply-writing #messages>:not(:last-child){display:none}
 body.reply-writing #messages{padding:10px 13px;min-height:100px}
 body.reply-writing #messages .bubble{margin:0;font-size:14px;line-height:1.45}
 body.reply-writing #composer{padding:6px 13px;max-height:40%;flex-shrink:0}
 body.reply-writing .undo-answer{min-height:28px;padding:3px 8px;margin-bottom:5px;font-size:11px}
 body.reply-writing .quick-row{margin-top:5px}
 body.reply-writing #composer form{flex-wrap:nowrap}
 body.reply-writing #composer input{min-height:44px;font-size:16px}
}

/* Shared embedded chat: same controls and viewport logic as the dedicated page. */
body.gp-embedded .brand{display:none}body.gp-embedded main{max-width:none;height:100dvh;padding:0;margin:0;gap:0}body.gp-embedded .chat{height:100dvh;min-height:0;border-radius:0}body.gp-embedded .travel-scene{border-radius:0}
@media(max-width:900px){body.gp-embedded main,body.gp-embedded .chat{height:var(--chat-viewport,100dvh)}body.gp-embedded .travel-scene{display:none}}

/* A dedicated reading area remains above the reply while a mobile keyboard is open. */
#current-question{display:none}
@media(max-width:900px){
 body.reply-writing #messages{display:none}
 body.reply-writing #current-question{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f4ed;color:#112f45;scrollbar-width:thin}
 body.reply-writing #composer{flex:0 0 auto;max-height:none;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
 body.reply-writing #composer .undo-answer,body.reply-writing #composer .error:empty{display:none}
 body.reply-writing .chat-head{padding:2px 12px;min-height:40px}
 body.reply-writing .chat-head button{min-height:40px}
 body.reply-writing .quick-row{margin-top:6px;padding-bottom:0}
 body.reply-writing .quick-row .quick-reply{min-height:40px}
}

.offer-rate-details{font-size:13px;line-height:1.45;color:#183e50;margin:8px 0}.offer-rate-details summary{cursor:pointer;text-decoration:underline;padding:5px 0}.offer-rate-details[open]{max-height:160px;overflow:auto;padding-right:6px}.offer-rate-details p{margin:8px 0;padding-bottom:8px;border-bottom:1px solid #dbe3e5}

.offer-rate-details{width:100%;margin-top:12px;border-top:1px solid #dce3e5;padding-top:10px;font-size:.9rem}.offer-rate-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#18485a;font-weight:600}.offer-rate-details p{line-height:1.5;white-space:pre-line;max-height:220px;overflow:auto}

.sdv-dream-message.phase-details{display:block;font-size:11px}

button.confirm-send{background:#19475a;color:#fff;border-color:#19475a;font-weight:600;min-height:48px}

/* Optional, accessible guidance; no answer is submitted by the disclosure. */
.explained-choice{display:inline-flex;flex-direction:column;align-items:stretch;max-width:100%;vertical-align:top;margin:0 4px 8px 0;min-width:140px}.choices .explained-choice{margin:0;flex:1 1 180px}.explained-choice>.choice{width:100%}.choice-info{font-size:12px;color:#315366}.choice-info summary{cursor:pointer;padding:8px 10px;min-height:36px;text-decoration:underline;text-underline-offset:3px;list-style:disclosure-closed}.choice-info[open] summary{list-style:disclosure-open}.choice-info summary:focus-visible{outline:3px solid #ba944c;outline-offset:-2px;border-radius:6px}.choice-info p{margin:0;padding:12px;border-left:2px solid #c6aa69;border-radius:0 8px 8px 0;background:#f8f5ee;line-height:1.55;max-width:340px;overflow-wrap:anywhere}@media(max-width:480px){.choices .explained-choice{flex-basis:140px}.choice-info summary{min-height:44px;display:list-item;padding-top:12px}.choice-info p{font-size:13px}}
/* Progressive postcard: reusable photo layers; the conversation keeps its space. */
.scene-progressive #scene-party{left:12%;right:10%;bottom:185px;max-width:none}.scene-progressive #scene-people{justify-content:center;gap:0}.scene-progressive .scene-copy{bottom:65px;left:25px;right:25px}.scene-progressive .scene-copy h1{font-size:30px;margin:8px 0}.scene-progressive .scene-copy>p:not(.eyebrow),.scene-progressive .scene-signature{display:none}.scene-progressive #scene-party-label{width:fit-content;margin:6px auto;font-size:11px}.postcard-traveler{display:block;flex:0 1 125px;width:125px;aspect-ratio:3/4;background-image:url('images/travelers-v1.png');background-size:400% 100%;background-position:calc(var(--person)*100%/3) bottom;background-repeat:no-repeat;animation:scene-arrive .7s ease}.postcard-plane{position:absolute;top:15%;left:12%;width:110px;z-index:2;filter:drop-shadow(0 5px 5px #08202b55);animation:postcard-flight 3s ease-out both}.postcard-plane svg{width:100%}.postcard-badges{position:absolute;top:70px;left:22px;right:22px;z-index:3;font:11px/1.7 system-ui;color:white;text-shadow:0 1px 4px #000}.postcard-caption{position:absolute;bottom:15px;left:22px;right:22px;z-index:3;font-size:10px;color:#f5e9cd}.postcard-photo{position:absolute;z-index:3;width:44%;max-height:210px;object-fit:contain;left:28%;bottom:185px;border:6px solid #fff8eb;border-radius:10px;box-shadow:0 12px 30px #071b3060;transform:rotate(-3deg)}.has-personal-photo #scene-people{visibility:hidden}.postcard-open{flex:0 0 auto;min-height:32px;width:100%;background:#f7f1e4;border:0;border-bottom:1px solid #dfd4bc;color:#294b5b;font-size:12px;padding:6px;cursor:pointer}.postcard-dialog{border:1px solid #cfbb88;border-radius:20px;background:#fbf8f1;color:#17384b;padding:0;width:min(600px,95vw);max-height:95dvh;overflow:auto}.postcard-dialog::backdrop{background:#0a2636bb}.postcard-toolbar{position:sticky;top:0;z-index:8;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;background:#13354a;color:white;font-size:14px}.postcard-toolbar button,.postcard-controls button{padding:10px 12px;border:1px solid #c6aa69;border-radius:8px;background:#f5e9cd;color:#17384b;min-height:44px;font-size:12px}.postcard-dialog .travel-scene{display:block!important;width:100%;height:510px;min-height:510px;border-radius:0;margin:0}.postcard-controls{padding:16px;font-size:13px;line-height:1.6}.postcard-upload{display:inline-block;position:relative;padding:11px 14px;background:#17384b;color:white;border-radius:8px;margin:0 8px 8px 0;overflow:hidden;cursor:pointer;min-height:44px}.postcard-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.postcard-upload:focus-within{outline:3px solid #ba944c;outline-offset:2px}.postcard-status{margin-bottom:0}.postcard-photo[hidden],.postcard-plane[hidden],.postcard-controls button[hidden]{display:none!important}@keyframes postcard-flight{from{opacity:0;transform:translate(-30px,12px)}to{opacity:1;transform:translate(0,0)}}@media(max-width:900px){.postcard-open{min-height:30px;font-size:11px;padding:5px}.postcard-dialog .scene-copy{bottom:62px;left:20px;right:20px}.postcard-dialog .scene-copy h1{font-size:26px}.postcard-dialog .scene-note{display:block;top:20px;left:20px}.postcard-dialog #scene-party{bottom:175px;left:8%;right:8%;max-width:none}.postcard-dialog #scene-party-label{max-width:none;font-size:11px}.postcard-dialog #scene-ship{top:115px;right:16px;width:140px}.postcard-dialog #scene-ship img{height:70px}.postcard-dialog .postcard-photo{bottom:175px}.postcard-dialog .travel-scene:after{background:linear-gradient(180deg,#08202b10,#08202b99)}.postcard-dialog .scene-credits{bottom:36px}}@media(prefers-reduced-motion:reduce){.postcard-traveler,.postcard-plane{animation:none}}
/* Ground the travelers in the foreground and keep the sky clear. */
.scene-progressive #scene-party,.postcard-dialog .scene-progressive #scene-party{bottom:35px;left:6%;right:6%}.scene-progressive .postcard-traveler{flex-basis:170px;width:170px}.scene-progressive .scene-copy,.postcard-dialog .scene-progressive .scene-copy{top:105px;bottom:auto;left:24px;right:24px}.scene-progressive .scene-copy h1{font-size:27px;max-width:310px;text-shadow:0 2px 10px #08202b99}.scene-progressive .scene-copy .eyebrow{display:none}.scene-progressive #scene-party-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;margin:0}.scene-progressive .postcard-plane{top:30%;left:8%;width:80px}.scene-progressive #scene-ship{top:190px;right:20px;width:145px}.scene-progressive #scene-ship img{height:80px}.scene-progressive .postcard-photo,.postcard-dialog .scene-progressive .postcard-photo{bottom:75px}.scene-progressive .scene-credits{bottom:36px;left:15px;z-index:5}.scene-progressive .postcard-caption{font-size:9px;bottom:9px}

/* Saved request receipt: same component in standalone and embedded chat. */
.receipt-actions{display:grid;gap:8px;margin-top:12px}.receipt-actions small{font-size:12px;color:#526570}.receipt-dialog{width:min(680px,94vw);max-height:90dvh;padding:24px;border:1px solid #bd9a53;border-radius:18px;background:#faf8f2;color:#153746;overflow:auto}.receipt-dialog::backdrop{background:#092735a8}.receipt-toolbar{position:sticky;top:-24px;background:#faf8f2;display:flex;gap:10px;padding:12px 0;z-index:1}.receipt-toolbar button{min-height:44px;cursor:pointer;border-radius:10px;padding:10px 16px;border:1px solid #c4ac78;background:#153746;color:white}.receipt-dialog h2{font-family:Georgia,serif}.receipt-dialog p,.receipt-dialog dd{overflow-wrap:anywhere;line-height:1.5}.receipt-dialog dl{margin:20px 0}.receipt-dialog dt{font-weight:700;font-size:13px;margin-top:16px}.receipt-dialog dd{margin:4px 0 0;padding-bottom:12px;border-bottom:1px solid #dedbd2}@media(max-width:600px){.receipt-dialog{padding:16px}.receipt-toolbar{top:-16px}.receipt-dialog h2{font-size:24px}}

/* Offer FAQ controls share the chat palette and remain usable on small screens. */
.costa-faq-controls{display:flex;flex-wrap:wrap;gap:8px;max-height:38dvh;overflow:auto;padding:2px}.costa-faq-controls>.choice{margin:0;flex:1 1 190px;text-align:left;min-height:44px}.costa-faq-controls select,.costa-faq-controls textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #ccd8dd;border-radius:10px;padding:10px 12px;background:#fff;color:#17384b;font:inherit;font-size:14px}.costa-faq-controls select{min-height:44px}.costa-faq-controls form{display:grid;grid-template-columns:1fr auto;gap:6px;width:100%;margin:0}.costa-faq-controls label{grid-column:1/-1;font-size:13px;font-weight:600}.costa-faq-controls form button{align-self:stretch;border:0;border-radius:10px;background:#15394d;color:white;padding:10px 14px;font:inherit;font-size:13px;cursor:pointer;min-height:44px}.costa-faq-controls small{display:block;font-size:11px;line-height:1.4;color:#526876}.costa-faq-controls :focus-visible{outline:3px solid #c6aa69;outline-offset:2px}@media(max-width:480px){.costa-faq-controls>.choice{flex-basis:100%;font-size:13px}.costa-faq-controls form{grid-template-columns:1fr}.costa-faq-controls{max-height:40dvh}}

.gp-return-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px max(16px,calc((100% - 1160px)/2));background:#123348;box-shadow:0 2px 8px #0002}.gp-return-nav[hidden]{display:none}.gp-return-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:9px;border:1px solid #f5e9cd;color:white;font:600 14px/1.2 system-ui;text-decoration:none}.gp-return-nav a:first-child{background:#f5e9cd;color:#123348}.gp-return-nav a:hover{box-shadow:inset 0 0 0 2px #c6aa69}.gp-return-nav a:focus-visible{outline:3px solid white;outline-offset:2px}@media(max-width:480px){.gp-return-nav{padding:8px 12px}.gp-return-nav a{font-size:13px;padding:10px 12px}}

#gp-restart-choice{padding:20px;background:#f0f7fc;border-top:1px solid #dbe6ee;color:#14374c}#gp-restart-choice p{margin:0 0 12px}#gp-restart-choice .choice{display:block;width:100%;min-height:48px;margin:10px 0;white-space:normal;text-align:left;line-height:1.5}#composer[hidden]{display:none!important}

/* Equal prominence for resume/new request on embedded and standalone chat. */
#composer .gp-session-choice,#gp-restart-choice .gp-session-choice{display:block;width:100%;min-height:64px;margin:12px 0;padding:16px 18px;border:2px solid #17465d;border-radius:14px;background:#fff;color:#14374c;font:700 16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;text-align:left;white-space:normal;overflow-wrap:break-word;}
#composer .gp-session-new,#gp-restart-choice .gp-session-new{background:#17465d;color:#fff;border-color:#17465d;}
#composer .gp-session-choice:hover,#gp-restart-choice .gp-session-choice:hover{background:#e9f2f6;color:#14374c;}
#composer .gp-session-new:hover,#gp-restart-choice .gp-session-new:hover{background:#0d2d46;color:#fff;}
#gp-restart-choice{flex:0 1 auto;min-height:0;max-height:60dvh;overflow:auto;overscroll-behavior:contain;}
#gp-restart-choice .label{font-size:18px;font-weight:750;color:#14374c;}
#gp-restart-choice p:not(.label){font-size:14px;line-height:1.5;}
.chat-head #restart{min-height:44px;padding:10px 14px;border:1px solid #b9cbd5;border-radius:10px;font-size:14px;font-weight:700;color:#fff;}
@media(max-width:480px){#gp-restart-choice{padding:14px;}#composer .gp-session-choice,#gp-restart-choice .gp-session-choice{padding:14px;}}

#composer .gp-dream-start{display:block;width:100%;min-height:56px;padding:16px 20px;background:#164c63;color:#fff;border:2px solid #164c63;border-radius:16px;font-size:18px;font-weight:700;line-height:1.4;text-align:left;}
#composer .gp-dream-start:hover{background:#10394b;}
#composer .gp-dream-start:focus-visible{outline:3px solid #c9a45c;outline-offset:3px;}
#composer .gp-dream-note{font-size:14px;line-height:1.5;color:#405a65;margin:10px 2px 14px;}

/* Previous answers: compact pencil with generous touch target. */
#messages .gp-editable-answer{position:relative;padding-right:52px}
#messages .gp-edit-answer{position:absolute;top:2px;right:3px;width:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font-size:21px;line-height:40px;opacity:.8;cursor:pointer;box-shadow:none}
#messages .gp-edit-answer:hover,#messages .gp-edit-answer:focus-visible{opacity:1;background:rgba(255,255,255,.18);outline:2px solid currentColor;outline-offset:-5px}
#messages .gp-edit-answer[hidden]{display:none}

/* Compact date helper: native calendar supports touch, keyboard and locale. */
.gp-date-picker{width:100%;margin:6px 0 12px;border:1px solid #b6cbd5;border-radius:16px;background:#f0f7fa;color:#153e52;overflow:hidden}
.gp-date-picker summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:15px;min-height:44px;box-sizing:border-box}
.gp-date-body{padding:0 14px 14px}.gp-date-body p{font-size:13px;line-height:1.5;margin:0 0 10px;color:#456574}
.gp-date-fields{display:flex;flex-wrap:wrap;gap:12px}.gp-date-fields label{flex:1 1 180px;font-size:13px;font-weight:600;min-width:0}
#composer .gp-date-fields input{display:block;width:100%;box-sizing:border-box;min-height:46px;margin-top:6px;border:1px solid #90afbf;border-radius:10px;padding:9px;background:#fff;color:#143d51;font-size:16px;color-scheme:light}
.gp-date-picker summary:focus-visible,.gp-date-fields input:focus-visible{outline:3px solid #ba954c;outline-offset:2px}
