/* Templates supply appearance; flight structure and width rules are shared. */
.tq-flight-layout {container-type:inline-size;}
.tq-flight-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;}
.tq-flight-journey {padding:20px;border:1px solid var(--flight-border,currentColor);border-radius:var(--flight-radius,12px);background:var(--flight-surface,transparent);color:var(--flight-text,inherit);min-width:0;box-sizing:border-box;}
.tq-flight-journey .tq-flight-heading {display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 6px;}
.tq-flight-journey .tq-flight-heading h3 {margin:0;font:inherit;font-weight:600;color:var(--flight-heading,inherit);}
.tq-flight-journey time {font-size:.85em;color:var(--flight-muted,inherit);}
.tq-flight-journey .tq-flight-overall-route {margin:0 0 20px;font-size:.95em;line-height:1.5;}
.tq-flight-sector {padding:4px 0;}
.tq-flight-route-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,.8fr) minmax(0,1fr);gap:12px;align-items:start;}
.tq-flight-endpoint {display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.tq-flight-endpoint:last-child {text-align:right;}
.tq-flight-journey .tq-flight-endpoint strong {font-size:1.2em;color:var(--flight-heading,inherit);}
.tq-flight-track {position:relative;text-align:center;color:var(--flight-accent,inherit);}
.tq-flight-track::before {content:"";position:absolute;left:0;right:0;top:.7em;border-top:1px solid var(--flight-border,currentColor);}
.tq-flight-track>span {position:relative;background:var(--flight-surface,transparent);padding:0 6px;}
.tq-flight-track small {display:block;margin-top:7px;font-size:.8em;color:var(--flight-muted,inherit);}
.tq-flight-service {margin-top:12px;font-size:.85em;line-height:1.5;color:var(--flight-muted,inherit);overflow-wrap:anywhere;}
.tq-flight-connection {margin:16px 0;padding:10px 0;border-top:1px solid var(--flight-border,currentColor);border-bottom:1px solid var(--flight-border,currentColor);font-size:.85em;color:var(--flight-muted,inherit);line-height:1.5;}
.tq-flight-total {margin-top:16px;font-size:.85em;line-height:1.5;font-weight:600;}
.tq-flight-sector-date {display:block;margin-bottom:8px;}
@container (min-width:880px) {.tq-flight-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
.blackboard-template {--flight-text:var(--bb-text);--flight-heading:var(--bb-heading);--flight-muted:var(--bb-muted);--flight-accent:var(--bb-accent);--flight-border:var(--bb-border-subtle);--flight-surface:var(--bb-surface);}
.udp-template {--flight-text:var(--udp-text);--flight-heading:var(--udp-primary);--flight-muted:var(--udp-muted);--flight-accent:var(--udp-accent);--flight-border:var(--udp-border);--flight-surface:var(--udp-surface-alt);}
@media(max-width:480px) {.tq-flight-journey {padding:16px;}.tq-flight-route-row {gap:8px;grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);}}
@media print {.tq-flight-grid {grid-template-columns:1fr;}.tq-flight-sector,.tq-flight-connection {break-inside:avoid;}}
/* Existing section grids have inline template styles; use narrow stronger hooks. */
:is(.modern-section,.executive-section,.blackboard-section,.ct-section,.cb-section):has(> .tq-flight-grid) {container-type:inline-size;}
:is(.modern-quote-template,.executive-template,.blackboard-template,.cruise-timeline-template,.cruise-brochure-template,.tq-flight-layout) .tq-flight-grid {grid-template-columns:minmax(0,1fr);align-items:start;}
@container (min-width:880px) {:is(.modern-quote-template,.executive-template,.blackboard-template,.cruise-timeline-template,.cruise-brochure-template,.tq-flight-layout) .tq-flight-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
.modern-quote-template {--flight-text:var(--mc-text);--flight-heading:var(--mc-heading);--flight-muted:var(--mc-muted);--flight-accent:var(--mc-accent-soft);--flight-surface:var(--mc-surface);--flight-border:var(--mc-border);}
.executive-template {--flight-text:var(--ex-text);--flight-heading:var(--ex-primary);--flight-muted:var(--ex-muted);--flight-accent:var(--ex-accent);--flight-surface:var(--ex-surface);--flight-border:var(--ex-border);}
.tq-signature-template {--flight-text:var(--tq-signature-body);--flight-heading:var(--tq-signature-heading);--flight-muted:var(--tq-signature-muted);--flight-accent:var(--tq-signature-accent);--flight-surface:var(--tq-signature-surface);--flight-border:var(--tq-signature-border);}
:is(.cruise-timeline-template,.cruise-brochure-template) {--flight-text:var(--tq-cruise-card-text,inherit);--flight-muted:var(--tq-cruise-card-muted,inherit);--flight-accent:var(--tq-cruise-accent,currentColor);--flight-surface:var(--tq-cruise-surface,transparent);--flight-border:var(--tq-cruise-border,currentColor);}
