/* Mobile adaptation only; desktop brand/layout rules remain in themes.css. */
html{min-width:280px;-webkit-text-size-adjust:100%}body{overflow-wrap:break-word}.dialog-open{overflow:hidden;overscroll-behavior:none}button,input,textarea,select{max-width:100%}img{max-width:100%}.row>*{min-width:0}.dialog-head{position:sticky;top:0;background:var(--white,#fff);z-index:2;padding-bottom:12px;border-bottom:1px solid var(--line)}.dialog-head button{flex-shrink:0;min-width:44px;min-height:44px}.dialog-body{overflow-wrap:anywhere}dialog{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 24px)}.checkbox input{flex-shrink:0}.modal-error{color:#9b2338}.mobile-calendar-hint{display:none}
@supports not(height:100dvh){dialog{max-height:90vh}}
@media(max-width:740px){
 body{padding-bottom:env(safe-area-inset-bottom)}.header,main,footer{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .header{padding-top:max(10px,env(safe-area-inset-top))}main{margin-bottom:36px;min-width:0}.brand{min-width:0}.brand img{object-fit:contain}
 nav{width:100%;flex-wrap:nowrap;min-width:0}nav a{display:flex;align-items:center;justify-content:center;min-height:44px;flex:1;white-space:nowrap;font-size:12px;padding:10px 2px}
 button,.text-link,.segmented button,.agenda-event button,.suggestion button,.starter-list .starter-card button,.check-item button,.trip-stop button{min-height:44px}
 input,select,textarea{font-size:16px;min-height:44px}input[type=checkbox]{width:22px;height:22px;min-height:22px}.checkbox{min-height:44px;font-size:14px;align-items:center}
 label{font-size:13px}.interest-grid{gap:6px 14px}.interest-grid .checkbox{font-size:13px;min-width:0}.form-grid{grid-template-columns:minmax(0,1fr)}.full{grid-column:1}.form-actions{position:static;gap:10px;flex-wrap:wrap}.form-actions button{flex:1 1 130px}
 dialog{width:calc(100% - 20px);max-width:650px;max-height:calc(100dvh - 20px);margin:auto;border-radius:12px}.dialog-head{padding:12px 14px}.dialog-head h2{font-size:25px;line-height:1.2}.dialog-body{padding:16px 14px 22px}.detail-list{grid-template-columns:75px minmax(0,1fr)}.detail-list dd{margin-left:0;overflow-wrap:anywhere}
 .section-title{flex-wrap:wrap;align-items:flex-start}.section-title h2{font-size:28px}.tradition-row{flex-direction:column;align-items:stretch;gap:14px}.tradition-row .row{justify-content:flex-start}.editorial-listing{gap:12px;flex-wrap:wrap}.listing-copy{min-width:0}.listing-copy h3{font-size:25px}.listing-copy .text-link{line-height:1.3}
 .calendar{overflow-x:auto;-webkit-overflow-scrolling:touch}.month-grid,.weekday{min-width:308px}.day-cell{padding:1px;min-height:98px}.date-button{width:44px;min-width:44px;min-height:44px;font-size:14px}.event-chip{font-size:11px;min-height:36px;padding:4px 2px}.count{font-size:12px}.mobile-calendar-hint{display:block;font-size:12px;color:var(--muted)}
 .toolbar{align-items:flex-start}.toolbar>.row{max-width:100%}.toolbar>.row>input,.toolbar>.row>select{width:100%;max-width:100%;flex:1 1 140px}.toolbar .segmented{max-width:100%;flex-wrap:wrap}.week-day{grid-template-columns:minmax(0,1fr);gap:8px}.month-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.month-tabs button{min-height:44px;font-size:14px}
 .card-actions{flex-wrap:wrap}.card-actions button{flex:1 1 110px}.card-top{gap:12px;align-items:flex-start;flex-wrap:wrap}.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.starter-card .row{gap:8px}.starter-list .starter-card button{font-size:14px}.small,.source-caption{font-size:12px}.notice{font-size:12px;line-height:1.6}
 #toast{bottom:max(14px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px);white-space:normal;line-height:1.5}.trip-stop .stop-info{min-width:0;overflow-wrap:anywhere}.trip-stop{flex-wrap:wrap}.trip-stop .stop-number{flex-shrink:0}.yearbook-tools{flex-wrap:wrap}.yearbook-chapter{padding:26px 18px}.memory-content{min-width:0}
}
@media(max-width:359px){.filters-grid,.interest-grid{grid-template-columns:minmax(0,1fr)}.header .brand{width:150px}.header>button{padding:8px}.chapter-copy h1{font-size:30px}.discovery-personalization .row>button{flex:1 1 100%}}

.series-date{font-size:16px;line-height:1.3;display:block;min-width:72px}.date-block:has(.series-date){width:auto;max-width:65%;padding:10px}.occurrence-choices{display:grid;gap:12px}

.availability-note{margin:12px 0}.availability-note p{margin:6px 0 0}.availability-sold-out{color:#8e2535;border-color:#d9a6af;background:#fff3f5}.availability-limited{color:#754815;background:#fff6e9}.availability-available{color:var(--green);background:var(--green-light)}.availability-session{padding:16px 0;border-top:1px solid var(--line)}.availability-session p{margin:8px 0}.availability-details{margin:20px 0}.availability-filter{margin-top:16px}
.calendar-import-rows{margin-block:14px}.calendar-import-row{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start;font-weight:normal}.calendar-import-row input{flex-shrink:0;margin-top:4px;width:20px;height:20px;min-height:20px}.calendar-import-row>span{display:grid;gap:5px;min-width:0}.calendar-import-row strong{font-size:15px;line-height:1.5}.calendar-import-row span span{font-size:13px;overflow-wrap:anywhere}.calendar-import-row small{font-size:12px;color:var(--muted);font-weight:normal}.import-pages{justify-content:space-between;margin-block:16px}.import-pages span{font-size:12px}.import-warnings{margin-block:18px}.import-warnings li{margin-block:8px}
