#main-copy .sailing-detail { max-width: 1120px; margin: 0 auto; padding: 20px 18px 36px; color: #243f4c; }
#main-copy .sailing-detail-nav { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
#main-copy .sailing-detail-nav a { color:#086f83; font-weight:700; text-decoration:none; }
#main-copy .sailing-detail-nav div { display:flex; gap:5px; }
#main-copy .sailing-detail-nav div a { min-width:34px; padding:6px 8px; border:1px solid #c8dce1; border-radius:7px; text-align:center; }
#main-copy .sailing-detail-nav div a.active { border-color:#086f83; background:#086f83; color:#fff; }
#main-copy .sailing-detail-hero { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 24px; border-left:8px solid #d0902d; border-radius:12px; background:#f3f7f8; }
#main-copy .sailing-detail-good { border-left-color:#2c9963; background:#edf8f2; }
#main-copy .sailing-detail-avoid { border-left-color:#c84747; background:#fff1f1; }
#main-copy .sailing-detail-hero p { margin:0 0 3px; color:#59717c; font-size:.78rem; font-weight:700; text-transform:uppercase; }
#main-copy .sailing-detail-hero h1 { margin:0; color:#183044; font-size:2rem; }
#main-copy .sailing-detail-hero span { color:#607680; font-size:.75rem; }
#main-copy .sailing-detail-hero > strong { max-width:220px; color:#183044; font-size:1.15rem; text-align:right; }
#main-copy .sailing-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0; }
#main-copy .sailing-detail-grid article { display:flex; min-height:104px; padding:13px; border:1px solid #d9e4e7; border-radius:9px; background:#fff; flex-direction:column; justify-content:space-between; }
#main-copy .sailing-detail-grid span { color:#58717c; font-size:.75rem; }
#main-copy .sailing-detail-grid strong { color:#183044; font-size:1.45rem; }
#main-copy .sailing-detail-grid small { color:#6c8088; font-size:.68rem; }
#main-copy .sailing-detail-columns { display:grid; grid-template-columns:1.25fr .75fr; gap:14px; margin-bottom:14px; }
#main-copy .sailing-detail-panel { padding:18px; border:1px solid #d5e2e6; border-radius:11px; background:#fff; box-shadow:0 3px 12px rgba(26,61,72,.05); }
#main-copy .sailing-detail-panel h2 { margin:0 0 13px; color:#183044; }
#main-copy .sailing-detail-panel h3 { margin:18px 0 9px; color:#284c5b; font-size:1rem; }
#main-copy .sailing-detail-list { margin:0; }
#main-copy .sailing-detail-list div { display:grid; grid-template-columns:150px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid #edf2f3; }
#main-copy .sailing-detail-list dt { color:#637983; font-size:.78rem; }
#main-copy .sailing-detail-list dd { margin:0; color:#243f4c; font-weight:700; }
#main-copy .sailing-detail-list dd small { display:block; margin-top:2px; color:#6b7f87; font-weight:400; }
#main-copy .sailing-source-pill { display:inline-block; margin:1px 4px 1px 0; padding:3px 7px; border-radius:10px; background:#e7f1f3; color:#205466; font-size:.7rem; }
#main-copy .sailing-risk-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
#main-copy .sailing-risk-grid div { padding:8px; border-radius:7px; background:#edf4f5; text-align:center; }
#main-copy .sailing-risk-grid span { display:block; color:#617780; font-size:.67rem; }
#main-copy .sailing-risk-grid strong { color:#183044; font-size:1.1rem; }
#main-copy .sailing-course-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:10px; padding:11px; border-radius:8px; background:#eaf4f8; }
#main-copy .sailing-course-heading strong { color:#183044; font-size:1.1rem; }
#main-copy .sailing-course-heading span { color:#526f7a; font-size:.75rem; }
#main-copy .sailing-course-reason { margin:0 0 12px; padding:10px; border-left:4px solid #4a8fa0; border-radius:6px; background:#f1f7f8; }
#main-copy .sailing-course-reason strong, #main-copy .sailing-course-reason span { display:block; }
#main-copy .sailing-course-reason strong { margin-bottom:3px; color:#254d5c; font-size:.78rem; }
#main-copy .sailing-course-reason span { margin-top:2px; color:#536c76; font-size:.7rem; line-height:1.35; }
#main-copy .sailing-course-detail table, #main-copy .sailing-provider-panel table { width:100%; border-collapse:collapse; }
#main-copy .sailing-course-detail th, #main-copy .sailing-course-detail td, #main-copy .sailing-provider-panel th, #main-copy .sailing-provider-panel td { padding:7px 8px; border-bottom:1px solid #e5edef; text-align:left; }
#main-copy .sailing-course-detail th, #main-copy .sailing-provider-panel th { color:#5f747e; font-size:.7rem; text-transform:uppercase; }
#main-copy .sailing-course-detail td:last-child { color:#183044; font-weight:700; }
#main-copy .sailing-course-detail td small { color:#9a6a10; font-weight:400; }
#main-copy .sailing-course-detail > p { color:#687d85; font-size:.7rem; }
#main-copy .sailing-provider-panel { margin-bottom:14px; }
#main-copy .sailing-provider-table { overflow-x:auto; }
#main-copy .sailing-provider-panel td { white-space:nowrap; }
#main-copy .sailing-map-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
#main-copy .sailing-map-heading p { margin:0; color:#647983; font-size:.72rem; text-transform:uppercase; }
#main-copy .sailing-map-heading h2 { margin:2px 0 0; }
#main-copy .sailing-print-summary { display:none; }
#main-copy .sailing-map-actions { display:flex; align-items:center; gap:8px; }
#main-copy .sailing-map-actions > span { padding:5px 9px; border-radius:11px; background:#edf3f4; color:#647983; font-size:.7rem; }
#main-copy .sailing-map-actions button { padding:7px 11px; border:1px solid #17688c; border-radius:7px; background:#17688c; color:#fff; font:700 .72rem Arial,sans-serif; cursor:pointer; }
#main-copy .sailing-map-actions button:hover, #main-copy .sailing-map-actions button:focus { background:#0c5273; }
#main-copy .sailing-map-stage { position:relative; width:min(100%,760px); margin:0 auto; overflow:hidden; border:1px solid #c9d9dd; border-radius:10px; background:#f5f4ec; }
#main-copy .sailing-map-stage img { display:block; width:100%; height:auto; }
#main-copy .sailing-map-stage svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
#main-copy .tbsc-route-halo { stroke:#fff; stroke-width:11; stroke-linecap:round; opacity:.72; }
#main-copy .tbsc-route-line { fill:none; stroke-width:5; stroke-linecap:round; opacity:.92; }
#main-copy .tbsc-wind-direction rect { fill:rgba(255,255,255,.88); stroke:#8fb8ca; stroke-width:3; }
#main-copy .tbsc-wind-halo { stroke:#fff; stroke-width:25; stroke-linecap:round; opacity:.95; }
#main-copy .tbsc-wind-arrow { stroke:#075b86; stroke-width:13; stroke-linecap:round; }
#main-copy .tbsc-wind-direction text { fill:#064e73; font-family:Arial,sans-serif; paint-order:stroke; stroke:#fff; stroke-width:4px; stroke-linejoin:round; }
#main-copy .tbsc-wind-direction .tbsc-wind-title { font-size:25px; font-weight:700; letter-spacing:4px; }
#main-copy .tbsc-wind-direction .tbsc-wind-value { font-size:32px; font-weight:700; }
#main-copy .sailing-route-key { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
#main-copy .sailing-route-key article { display:flex; gap:9px; padding:9px 11px; border:1px solid #d9e4e7; border-radius:8px; background:#f8fafb; }
#main-copy .sailing-route-key i { width:6px; min-width:6px; border-radius:4px; background:var(--route-colour); }
#main-copy .sailing-route-key strong, #main-copy .sailing-route-key span, #main-copy .sailing-route-key small { display:block; }
#main-copy .sailing-route-key strong { color:#183044; font-size:.82rem; }
#main-copy .sailing-route-key span { color:#405c68; font-size:.72rem; }
#main-copy .sailing-route-key small { margin-top:2px; color:#6b7f87; font-size:.64rem; }
#main-copy .sailing-route-key p { margin:5px 0 0; color:#526b76; font-size:.66rem; line-height:1.35; }
#main-copy .sailing-route-key p b { color:#294e5d; }
#main-copy .sailing-route-key article.unplotted { border-style:dashed; }
#main-copy .sailing-map-note { margin:10px 0 0; color:#607680; font-size:.75rem; }
#main-copy .sailing-detail-warning { margin:14px 0 0; padding:13px 16px; border-left:5px solid #d0902d; background:#fff8e8; color:#624f29; font-size:.78rem; }
@media(max-width:760px) {
  #main-copy .sailing-detail { padding:12px 10px 28px; }
  #main-copy .sailing-detail-hero { display:block; padding:16px; }
  #main-copy .sailing-detail-hero > strong { display:block; margin-top:10px; text-align:left; }
  #main-copy .sailing-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #main-copy .sailing-detail-columns { grid-template-columns:1fr; }
  #main-copy .sailing-detail-list div { grid-template-columns:115px 1fr; }
  #main-copy .sailing-detail-nav { align-items:flex-start; flex-direction:column; }
  #main-copy .sailing-route-key { grid-template-columns:1fr; }
  #main-copy .sailing-map-heading { align-items:flex-start; flex-direction:column; }
}
@media(max-width:390px) {
  #main-copy .sailing-detail-grid { grid-template-columns:1fr 1fr; gap:7px; }
  #main-copy .sailing-detail-grid article { min-height:94px; padding:10px; }
  #main-copy .sailing-risk-grid { grid-template-columns:repeat(2,1fr); }
}

@page { size:A4 landscape; margin:8mm; }
@media print {
  html, body { width:auto !important; margin:0 !important; padding:0 !important; background:#fff !important; }
  body > header, body > footer, #header, #footer, #menubar, #navigation, #sidebar, .sailing-detail-nav { display:none !important; }
  #main-copy { width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; }
  #main-copy .sailing-detail { width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  #main-copy .sailing-detail > *:not(.sailing-map-panel) { display:none !important; }
  #main-copy .sailing-map-panel { display:grid !important; grid-template-columns:128mm minmax(0,1fr); grid-template-rows:auto 1fr auto; gap:3mm 5mm; width:100% !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; break-inside:avoid; page-break-inside:avoid; }
  #main-copy .sailing-map-heading { grid-column:1 / -1; display:flex !important; align-items:flex-end; margin:0 !important; padding:0 0 2mm; border-bottom:.4mm solid #17688c; }
  #main-copy .sailing-map-heading p { font-size:8pt; }
  #main-copy .sailing-map-heading h2 { font-size:17pt; }
  #main-copy .sailing-print-summary { display:block; margin-top:1mm; color:#3f5964; font-size:8pt; }
  #main-copy .sailing-map-actions { display:none !important; }
  #main-copy .sailing-map-stage { grid-column:1; grid-row:2; width:128mm !important; margin:0 !important; border:.3mm solid #879da6; border-radius:0; }
  #main-copy .sailing-route-key { grid-column:2; grid-row:2; display:grid !important; grid-template-columns:1fr; align-content:start; gap:1.5mm; margin:0 !important; }
  #main-copy .sailing-route-key article { gap:2mm; padding:1.7mm 2mm; border-width:.25mm; border-radius:1.5mm; break-inside:avoid; page-break-inside:avoid; }
  #main-copy .sailing-route-key i { width:2mm; min-width:2mm; }
  #main-copy .sailing-route-key strong { font-size:8.5pt; }
  #main-copy .sailing-route-key span { font-size:7.5pt; }
  #main-copy .sailing-route-key small { font-size:6.8pt; }
  #main-copy .sailing-route-key p { display:none !important; }
  #main-copy .sailing-map-note { grid-column:1 / -1; grid-row:3; margin:0 !important; padding-top:1mm; font-size:6.5pt; line-height:1.25; }
}
