@font-face{font-family:'ZT Editorial';src:url('/assets/fonts/zt-editorial-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'ZT Editorial';src:url('/assets/fonts/zt-editorial-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
.document-heading img{display:block;width:260px;max-width:80%;height:auto;background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;margin:0 0 28px}
/* Screen: keep the application's original typeface and separate day headings from controls. */
.itinerary-document p{white-space:pre-line;overflow-wrap:break-word}
.itinerary-document .day-title{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.itinerary-document .day-title>div:first-child{min-width:0;width:100%}
.itinerary-document .day-title>.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch;min-width:0;width:100%}
.itinerary-document .day-title>.actions>*{width:100%;min-width:0;min-height:42px;padding:10px 12px;white-space:normal;text-align:center;font-size:.85rem;line-height:1.35}
.itinerary-weather{margin-top:36px;padding-top:24px;border-top:2px solid #a8d9d0}
.weather-section-heading h2{margin-block:8px;font-size:1.65rem}
.weather-section-heading p{text-align:left}
.weather-month{margin-block:24px}
.weather-month>h3{text-transform:capitalize;margin-bottom:16px}
.weather-week-head,.weather-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.weather-week-head,.weather-empty{display:none}
.weather-week-head{margin-bottom:8px;text-align:center;font-size:.75rem;font-weight:700;color:#48716a}
.weather-month-grid .weather-day{min-width:0;padding:16px;border-radius:10px;background:#f8fbfa}
.weather-month-grid .weather-card-icon{position:static;margin-bottom:6px}.weather-month-grid .weather-card-icon .weather-emoji{font-size:1.65rem}
.weather-month-grid .weather-top{display:grid;padding:0;gap:6px;font-size:.88rem;line-height:1.4}
.weather-month-grid .weather-temp{font-family:inherit;font-size:1.12rem;line-height:1.3;margin-block:12px;text-align:left;white-space:normal}
.weather-month-grid .weather-temp small{font-size:.78rem}
.weather-month-grid .weather-facts{display:grid;gap:6px;font-size:.82rem;line-height:1.45}
.weather-month-grid .clothing-tips{font-size:.87rem;line-height:1.4;text-align:left}
.weather-month-grid .subtle{display:none}
.description-excerpt{white-space:pre-line;line-height:1.6;max-height:220px;overflow:auto}
.description-preview{padding:18px;border:1px solid #cbded8;border-radius:12px;background:#f8fbfa;margin-top:18px;max-height:280px;overflow:auto}
.description-preview p{white-space:pre-line;line-height:1.65;text-align:justify}
.description-filters select{min-width:180px}
@media(max-width:680px){.itinerary-document .day-title>.actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.itinerary-document .day-title>.actions{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.weather-week-head{display:none}.weather-month-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weather-empty{display:none}.weather-month-grid .weather-day{padding:16px}.weather-month-grid .weather-top{font-size:.9rem}.weather-month-grid .weather-facts{font-size:.82rem}}
@media(max-width:480px){.weather-month-grid{grid-template-columns:minmax(0,1fr)}}
@media print{
 .no-print,.collection-filters,.collection-filter-note,.internal-note,.provider-status-control,.service-review{display:none!important}
 .document-heading img{background:transparent!important;padding:0!important;border-radius:0!important;width:65mm!important;max-width:80%!important}
 .itinerary-document{color:#172f2b!important;font-family:Arial,sans-serif;font-size:10pt}
 .itinerary-document p,.itinerary-document .itinerary-item p{font-family:'ZT Editorial',Georgia,serif!important;font-size:11pt!important;line-height:1.55!important;color:#203832!important;text-align:justify;orphans:3;widows:3}
 .itinerary-document .document-heading h2{font-size:23pt;line-height:1.2;letter-spacing:-.025em;margin-top:6mm}
 .itinerary-document .document-heading{break-inside:avoid-page;page-break-inside:avoid;break-after:auto;page-break-after:auto;padding-bottom:5mm;margin-bottom:5mm;border-bottom:2px solid #a8d9d0}
 .itinerary-document .day-title{display:block;padding-bottom:3mm;margin-bottom:3mm;border-bottom:1px solid #deebe7;break-after:avoid-page;page-break-after:avoid}
 .itinerary-document .day-title h3{font-size:15pt;line-height:1.25;letter-spacing:-.02em}
 .itinerary-document .day-card{display:block!important;padding:4mm!important;border-radius:2mm;break-inside:auto!important;page-break-inside:auto!important}
 .itinerary-document .itinerary-item{border-bottom:1px solid #e2ece8;grid-template-columns:17mm minmax(0,1fr);gap:3mm;padding-block:3.5mm}
 .itinerary-document .itinerary-item>div>strong{font-size:11pt}
 .itinerary-weather{break-before:auto;page-break-before:auto;margin:0;padding-top:0;border-top:0}
 .weather-section-heading{break-after:avoid-page}
 .weather-month{break-inside:auto}.weather-month>h3{break-after:avoid-page}
 .itinerary-document .document-heading>p:first-of-type{text-align:left}
 .weather-week-head,.weather-empty{display:none}
 .weather-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm}
 .weather-month-grid .weather-day{break-inside:avoid-page;page-break-inside:avoid;padding:3mm;border:1px solid #b8cec6!important;background:white!important}
 .weather-month-grid .weather-top{font-size:9pt}.weather-month-grid .weather-facts{font-size:9pt}
 .itinerary-document .weather-month-grid p{font-size:10pt!important;text-align:left;line-height:1.4!important}
 .weather-month-grid .weather-temp{font-size:14pt!important}
 .weather-emoji{animation:none!important;filter:none}
}

.weather-emoji svg{display:block;width:1em;height:1em}.weather-emoji{color:#168476}.weather-emoji.sun{color:#bd831e}


/* On paper, group related information while allowing oversized content to flow. */
.activity-print-time{display:none}
@media print{
 @page{margin:14mm}
 .itinerary-document{overflow:visible!important}
 .itinerary-document .document-heading{break-inside:auto;page-break-inside:auto}
 .itinerary-document .document-heading>img{break-after:avoid-page}
 .itinerary-document h2,.itinerary-document h3,.itinerary-document .eyebrow{break-after:avoid-page;page-break-after:avoid}
 .itinerary-document .document-heading>h2{break-inside:avoid-page}
 .itinerary-document .document-heading>p:last-child{break-inside:avoid-page}
 .itinerary-document .day-title{break-inside:avoid-page;page-break-inside:avoid}
 .itinerary-document .day-card{box-decoration-break:clone;-webkit-box-decoration-break:clone}
 .itinerary-document .itinerary-item{display:block!important;break-inside:avoid-page;page-break-inside:avoid;overflow:visible!important;padding:3.5mm 0;clear:both}
 .itinerary-document .itinerary-item>b{display:none}
 .itinerary-document .activity-heading{display:block;break-inside:avoid-page;page-break-inside:avoid;break-after:avoid-page;page-break-after:avoid}
 .itinerary-document .activity-heading:after{content:"";display:block;clear:both}
 .itinerary-document .activity-heading>strong{display:block;font-size:11pt;line-height:1.35}
 .itinerary-document .activity-print-time{display:block;float:right;margin:0 0 2mm 4mm;max-width:30%;font-family:Arial,sans-serif;font-size:10pt;font-weight:700;text-align:right;line-height:1.4}
 .itinerary-document .activity-heading .chip-row{margin-bottom:1.5mm}
 .itinerary-document .itinerary-item p{orphans:3;widows:3}
 .itinerary-document .itinerary-item p:empty{display:none}
 .itinerary-document .itinerary-item p:has(>b:first-child){break-inside:avoid-page;page-break-inside:avoid}
 .itinerary-document .weather-section-heading{break-inside:avoid-page;break-after:avoid-page}
 .itinerary-document .weather-month>h3{break-inside:avoid-page;break-after:avoid-page}
 .itinerary-document .weather-top{break-inside:avoid-page;break-after:avoid-page}
 .itinerary-document .weather-facts{break-inside:avoid-page}
 .document .table-wrap{overflow:visible!important}
 .document table{width:100%!important;min-width:0!important;table-layout:auto}
 .document thead{display:table-header-group}
 .document tfoot{display:table-footer-group}
 .document tr{break-inside:avoid-page;page-break-inside:avoid}
 .document td,.document th{overflow-wrap:anywhere}
}
