/* Extension of the approved ARR visual system: photos stay shallow; essential
   copy lives on solid surfaces, never across an unpredictable photograph. */
.photo-highlight{display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden;min-height:0}
.photo-highlight .highlight-photo{display:block;width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;transition:transform .5s var(--ease)}
.photo-highlight:hover .highlight-photo{transform:scale(1.025)}
.highlight-copy{display:flex;flex:1;flex-direction:column;padding:17px 18px;gap:8px;text-align:left;width:100%;background:white;z-index:1}
.photo-highlight .highlight-day{align-self:flex-start;font-size:.75rem;color:var(--purple);font-weight:600}
.photo-highlight strong{font-size:1.0625rem;min-height:0;padding:0;line-height:1.4}
.photo-highlight .highlight-detail{font-size:.875rem;line-height:1.65;padding:0}
.highlight-explore{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:7px;color:var(--purple);font-size:.8125rem;font-weight:500}
.highlight-footnote,.section-caption,.map-scale-note,.journey-footnote,.booking-note{font-size:.8125rem;line-height:1.75}
.field label,.field small,.login-benefits,.map-day-links button,.discover-shortcuts button{font-size:.875rem}
.intro-description,.day-summary,.mini-heading p,.day-itinerary>li,.day-practical p{font-size:1rem;line-height:1.75}
.day-practical strong,.day-caution,.login-content p,.message,.tier-detail p{font-size:.875rem;line-height:1.75}
.booking-calendar{max-width:440px;margin:auto;padding:16px;border:1px solid var(--line);border-radius:14px;background:white}
.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.calendar-header h3{font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:600;text-align:center}
.calendar-header .icon-button{width:44px;min-height:44px;color:var(--purple);font-size:1.25rem;flex-shrink:0}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-weekdays{margin-bottom:8px;text-align:center;color:var(--muted);font-size:.8125rem}
.calendar-date{min-width:0;min-height:44px;padding:5px 0;border-radius:8px;background:white;color:var(--ink);border:1px solid transparent;font-size:.9375rem;position:relative}
.calendar-date:not(:disabled):hover{border-color:var(--purple);background:var(--purple-soft)}
.calendar-date.in-trip{background:var(--purple-soft);color:var(--purple)}
.calendar-date.departure{border:1px dashed var(--purple)}
.calendar-date.selected,.calendar-date.selected:hover{color:white;background:var(--purple);border-color:var(--purple);font-weight:600}
.calendar-date[aria-current=date]:after{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;position:absolute;left:calc(50% - 2px);bottom:4px}
.calendar-date:disabled{color:#918996;background:#f5f3f5;cursor:not-allowed}
.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:17px;color:var(--muted);font-size:.8125rem}
.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:12px;height:12px;border-radius:3px;border:1px solid var(--purple)}
.arrival-key{background:var(--purple)}.range-key{background:var(--purple-soft)}
.calendar-selection{padding:13px 0 6px;font-size:.875rem;line-height:1.75;color:var(--ink)}
#calendar-flexible{min-height:44px;font-size:.875rem}
.booking-note{color:var(--muted);display:block;margin-top:16px}
.booking-summary-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:22px}
.booking-summary-title h2{font-size:1.5rem;line-height:1.3}
.draft-badge{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid #c5afc9;background:var(--purple-soft);color:var(--purple);border-radius:7px;font-size:.8125rem;font-weight:600;white-space:nowrap}
.booking-summary dl{display:grid;gap:15px}.booking-summary dl>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px}
.booking-summary dt{color:var(--muted);font-size:.875rem;line-height:1.65}.booking-summary dd{margin:0;font-size:.875rem;line-height:1.65;overflow-wrap:anywhere}
.booking-summary>p{margin:18px 0;font-size:.875rem;line-height:1.8;color:var(--muted)}
.booking-summary>.button{margin-top:20px;font-size:.875rem;min-height:48px}
.dated-itinerary summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--purple);font-size:.875rem;font-weight:600}
.dated-itinerary ol{list-style:none;padding:0;margin:8px 0;display:grid;gap:12px}.dated-itinerary li{display:grid;gap:5px;border-left:2px solid #d2bbd5;padding:0 0 0 14px}
.dated-itinerary li>span,.dated-itinerary small{font-size:.8125rem;line-height:1.6;color:var(--muted)}.dated-itinerary strong{font-size:.9375rem;font-weight:500;line-height:1.6}
@media(max-width:600px){.highlight-grid{gap:11px}.highlight-copy{padding:13px 12px;gap:7px}.photo-highlight strong{font-size:.9375rem}.photo-highlight .highlight-detail{font-size:.8125rem}.highlight-explore{font-size:.75rem}.booking-calendar{padding:10px}.calendar-weekdays,.calendar-days{gap:2px}.booking-summary-title{gap:10px}.booking-summary dl>div{grid-template-columns:1fr;gap:3px}.calendar-header h3{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.photo-highlight .highlight-photo{transition:none}.photo-highlight:hover .highlight-photo{transform:none}}
.less-motion .photo-highlight .highlight-photo{transition:none}.less-motion .photo-highlight:hover .highlight-photo{transform:none}
.client-feedback-bar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:36px 0 12px;padding:24px 0;border-top:1px solid var(--line)}
.client-feedback-bar>div{flex:1 1 280px}.client-feedback-bar strong{font-size:1rem;font-weight:600}.client-feedback-bar p{font-size:.875rem;line-height:1.75;color:var(--muted);margin-top:6px}
.client-feedback-dialog{max-width:560px}.client-feedback-dialog form>p{font-size:.9375rem;line-height:1.75;margin-bottom:20px}.feedback-fields{display:grid;gap:20px}.feedback-fields select{width:100%;min-height:48px;font-size:1rem}
.feedback-consent{display:flex;align-items:flex-start;gap:10px;margin:24px 0;font-size:.875rem;line-height:1.75}.feedback-consent input{flex:0 0 24px;width:24px;height:24px;margin:4px 0;accent-color:var(--purple)}
.feedback-status{overflow-wrap:anywhere;margin-top:20px;color:var(--purple)}.feedback-status:empty{display:none}.client-feedback-dialog .button{min-height:48px}
.arr-login__profile>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.booking-calendar{margin-inline:-12px;padding:8px;border:0}.calendar-days{gap:2px}.calendar-date{min-height:46px}}
