.dcj{border:1px solid #dce8e4;background:#f8fbfa;border-radius:14px;padding:20px;margin:20px 0;color:#153b35}.dcj h3{margin:0 0 8px}.dcj p{font-size:14px;line-height:1.55}.dcj-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.dcj fieldset{min-width:0;border:1px solid #dce8e4;border-radius:12px;padding:16px;margin:20px 0;background:#fff}.dcj legend{font-weight:750;padding:0 7px}.dcj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dcj label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;min-width:0;margin:12px 0}.dcj input,.dcj select,.dcj textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:1px solid #bbcfc8;border-radius:7px;background:#fff;color:#183d36;padding:10px;font:inherit;min-height:42px}.dcj textarea{min-height:80px;resize:vertical}.dcj button{border:1px solid #9dbcb2;border-radius:7px;padding:10px 14px;background:white;color:#075d49;font:inherit;font-weight:700;cursor:pointer;min-height:42px}.dcj button[type=submit],.dcj-heading>button{background:#007f63;color:white;border-color:#007f63}.dcj button:disabled{opacity:.55;cursor:default}.dcj-actions{display:flex;flex-wrap:wrap;gap:10px}.dcj-timeline article,.dcj-option{padding:14px;border-left:3px solid #68a593;background:white;margin:12px 0;overflow-wrap:anywhere}.dcj .dcj-warning{color:#883c13;background:#fff0df;padding:10px;border-radius:6px}.dcj-totals{display:flex;gap:16px;flex-wrap:wrap;background:#e2f2eb;padding:16px;border-radius:9px;margin:16px 0}.dcj small{display:block;overflow-wrap:anywhere;font-size:12px}.dcj input:focus,.dcj select:focus,.dcj textarea:focus,.dcj button:focus-visible{outline:3px solid #88cdbb;outline-offset:2px}@media(max-width:700px){.dcj{padding:14px}.dcj-heading{flex-direction:column}.dcj-grid{grid-template-columns:1fr}.dcj fieldset{padding:12px}.dcj input[type=datetime-local]{appearance:none;display:block;font-size:14px}.dcj-heading>button{width:100%}}


.dcj-number-lookup{padding:16px;border:1px solid #b8d5cb;border-radius:10px;background:#f0f8f5;margin:16px 0}.dcj-number-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.dcj-number-controls label{flex:1 1 200px;margin:0}.dcj-number-controls button,.dcj-number-controls a{min-height:46px}.dcj-number-controls a,.dcj-flight-match a{display:inline-flex;align-items:center;color:#075d49;font-weight:700;padding:8px 0}.dcj-flight-match{border-top:1px solid #b8d5cb;margin-top:14px;padding-top:14px;overflow-wrap:anywhere}.dcj .dcj-number-lookup input{font-size:16px;min-height:46px}.dcj .dcj-number-lookup p{font-size:15px}.dcj .dcj-number-lookup small{font-size:13px}@media(max-width:700px){.dcj-number-controls{align-items:stretch}.dcj-number-controls label,.dcj-number-controls button{flex-basis:100%;width:100%}.dcj-number-lookup{padding:12px}}

.dcj-grid>.dcj-number-lookup{grid-column:1/-1;margin:0}.dcj-flight-search{margin:16px 0;border:1px solid #dce8e4;border-radius:10px;padding:12px}.dcj-flight-search>summary{min-height:40px;display:list-item;align-content:center;cursor:pointer;font-weight:700;font-size:16px}.dcj-flight-search>summary:focus-visible{outline:3px solid #88cdbb;outline-offset:2px}

/* Arrival recommendation stays next to the flight timetable and in saved journey timing. */
.dcj-airport-arrival{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:16px;grid-column:1/-1;padding:18px;border:1px solid #88baaa;border-left:5px solid #087c5e;border-radius:10px;background:#e8f5ef;margin:8px 0;min-width:0;overflow-wrap:anywhere}
.dcj-airport-arrival h4{margin:0 0 8px;font-size:17px;line-height:1.4}.dcj-airport-arrival time{display:block;font-size:24px;line-height:1.3;font-weight:750;color:#0a4e3c}.dcj .dcj-airport-arrival p{margin:8px 0 0;font-size:14px}.dcj .dcj-airport-arrival .dcj-airport-zone{font-weight:600}.dcj .dcj-airport-arrival label{margin:0;font-size:15px}.dcj .dcj-airport-arrival input{font-size:16px;min-height:48px}.dcj .dcj-airport-arrival small{font-size:13px;line-height:1.5}.dcj-airport-arrival[data-arrival-context=saved],.dcj-airport-connection{grid-template-columns:1fr}.dcj-airport-connection{background:#f0f5f3;border-color:#bbd0c7}
@media(max-width:700px){.dcj-airport-arrival{grid-template-columns:1fr;padding:14px}.dcj-airport-arrival time{font-size:22px}}
