/* Native Safari controls must shrink with the layout, rather than set its width. */
input,select,textarea{box-sizing:border-box;min-width:0;max-width:100%}
.fieldrow{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldrow>*,.day-controls>*,.event-date-range>*,.explorer-options>*,.dining-options>*{min-width:0}
input[type="date"],input[type="time"]{display:block;appearance:none;-webkit-appearance:none;min-width:0;max-width:100%;width:100%;text-align:left;line-height:normal}
input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value{min-width:0;text-align:left}
input::-webkit-datetime-edit{padding:0;min-width:0}
.searchbar input{border:0;box-shadow:none;outline-offset:-3px;background:transparent;width:100%;min-height:48px;border-radius:inherit}
.searchbar>.icon{top:50%;transform:translateY(-50%);pointer-events:none}
.modalhead>div{min-width:0;flex:1}.modalhead>.iconbutton{flex:none}.modalhead h2{max-width:100%;line-height:1.3;text-wrap:balance}
@media(max-width:760px){
 main,.modalbody,.explorer-toolbar,.event-toolbar,.dining-toolbar,.day-planner-panel{min-width:0;max-width:100%;box-sizing:border-box}
 .modalbody input,.modalbody select,.modalbody textarea,.day-field input,.event-date-range input,.explorer-options select,.explorer-options input,.dining-options select,.plan-inputs input,.searchbar input{font-size:16px;min-width:0;max-width:100%;min-height:46px}
 .day-field input,.event-date-range input{padding:10px 12px;text-align:left;font-weight:500}
 .explorer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px 12px;padding-top:14px}
 .explorer-options>label{display:flex;flex-direction:column;min-width:0;width:100%;gap:6px;margin:0;font-size:.75rem;line-height:1.35}
 .explorer-options>label>select{width:100%;min-width:0;min-height:46px;max-width:100%;padding:9px 10px;font-size:16px;line-height:1.3}
 .explorer-options>[data-event-saved]{align-self:end;justify-content:center;text-align:center;width:100%;min-width:0;min-height:46px;margin:0;font-size:.8rem;line-height:1.35;padding:9px 10px;gap:6px}
 .explorer-options>[data-event-saved]>.icon{width:18px;height:18px;flex:none}
 .explorer-options>[data-action="reset-events"]{grid-column:1/-1;justify-self:center;align-self:center;width:auto;max-width:100%;min-height:40px;margin:0;padding:8px 16px;border:0;background:transparent;font-size:.78rem;justify-content:center;text-align:center}
 .explorer-toolbar .event-categories{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-width:100%;padding-bottom:5px;scrollbar-width:none;touch-action:pan-x pan-y}
 .explorer-toolbar .event-categories>.chip{flex:none;white-space:nowrap;min-height:40px;justify-content:center}.explorer-toolbar .event-categories::-webkit-scrollbar{display:none}
 .dining-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;align-items:end;gap:10px}.dining-options>label{width:100%;min-width:0;gap:6px;font-size:.75rem}.dining-options select{width:100%;min-width:0;min-height:46px;padding:9px 7px;font-size:16px}.dining-ranking-info{height:46px;min-width:0;width:40px;margin:0;align-self:end}
 .fieldrow input,.fieldrow select,.fieldrow textarea{width:100%;min-width:0;max-width:100%}.fieldrow .field-label{line-height:1.35;font-size:.82rem}
 .day-summary{align-items:flex-start;gap:8px}.day-summary>span{min-width:0;max-width:100%;flex-wrap:wrap;line-height:1.4}.day-summary .icon{flex:none}
 .day-programme-detail .day-controls .day-field{width:100%;min-width:0}.day-programme-detail .day-controls .day-field input{width:100%;min-width:0;max-width:100%}
 .plan-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.plan-inputs input,.plan-inputs input[type="time"]{width:100%;min-width:0;max-width:100%;padding:9px}.plan-inputs>.textlink{grid-column:1/-1;justify-self:start}
 .event-results-top{gap:12px;flex-wrap:wrap}.event-results-top>div{min-width:0;flex:1 1 150px}.event-results-top>.programme-checked{font-size:.68rem;line-height:1.5}
}
@media(max-width:600px){
 .modalbody .fieldrow,.day-programme-detail .day-controls{grid-template-columns:minmax(0,1fr);gap:10px}
 .day-programme-detail .day-controls>.day-length{grid-column:1}
 .day-programme-detail .day-field{gap:6px}.day-programme-detail .day-field>span{font-size:.8rem}.day-programme-detail .day-field input{min-height:46px;margin:0}
}
@media(max-width:420px){.event-date-range{grid-template-columns:minmax(0,1fr);gap:10px}.day-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.day-controls>.day-length{grid-column:1}.plan-inputs{grid-template-columns:minmax(0,1fr)}.dining-options{grid-template-columns:minmax(0,1fr) 40px}.dining-options>label{grid-column:1}.dining-options>.dining-ranking-info{grid-column:2;grid-row:2}}
/* Contact actions remain readable, including longer translated labels. */
#main .contactgrid,#main .contactcard,#main .contactcard .flex>div{min-width:0}
#main .contactcard .actions>.btn,#main .info-contacts .quick-actions>.btn{height:auto;max-width:100%;min-width:0;white-space:normal;line-height:1.35;text-align:center;overflow-wrap:normal;word-break:normal;hyphens:none;display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box}
#main .contactcard .actions>.btn>.icon,#main .info-contacts .quick-actions>.btn>.icon{flex:0 0 18px;width:18px;height:18px}
@media(max-width:760px){#main .contactcard .actions,#main .info-contacts .quick-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;width:100%}#main .contactcard .actions>.btn,#main .info-contacts .quick-actions>.btn{width:100%;min-height:46px;padding:12px 14px;font-size:.875rem;flex:none}#main .contactcard .phone{font-size:clamp(.95rem,4.3vw,1.15rem);overflow-wrap:anywhere}#main .contactcard .flex>div{overflow-wrap:anywhere}}
