/* Shared phone-first interaction rules for discovery and course planning. */
@media(max-width:760px){
 html{-webkit-text-size-adjust:100%;scroll-padding-bottom:100px}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:44px;max-width:100%}
 button{touch-action:manipulation}
 .filters input,.filters select{height:46px}
 .filters label{font-size:12px}
 .top-links{gap:8px;justify-content:space-between}
 .top-links a{display:inline-flex;align-items:center;min-height:44px}
 .topbar{gap:0;padding:8px 0;min-height:0}
 .heart{width:44px;height:44px;font-size:23px}
 .quick-filters button,.district-chip,.weather-choices button,.forecast-week-tabs button,
 .reservation-badge,.closure-badge,.review-teaser,.card-title,.bottom-nav button{min-height:44px}
 .review-teaser{font-size:12px;text-align:left}
 .card-title{display:flex;align-items:center}
 .forecast-controls{flex-wrap:wrap}
 .forecast-controls input{width:155px;max-width:155px}
 .forecast-controls select{width:90px;max-width:90px}
 .forecast-week-tabs{margin-left:0}
 .forecast-days{grid-template-columns:repeat(7,minmax(0,1fr))}
 .forecast-day{min-height:54px}
 .bottom-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 .visit-check-grid{grid-template-columns:minmax(0,1fr)}
 .facts strong,.visit-check,.blog-result,.card-body{overflow-wrap:anywhere}
 .detail-title h1{font-size:25px}
 .layout aside{padding:14px}
 .layout button,.layout summary{min-height:44px}
 .layout summary{padding:10px 0}
 .layout .actions{flex-wrap:wrap}
 .layout .actions button{flex:1;min-width:100px}
 #list li{padding:14px 0;border-bottom:1px solid #dfe7dd;overflow-wrap:anywhere}
 #list li button{min-width:44px;min-height:44px;margin:4px}
 #list input{width:100px;display:inline-block}
 #list a{display:inline-flex;align-items:center;min-height:44px}
 #results{overscroll-behavior-y:contain}
 nav[aria-label="여행 메뉴"]{gap:4px!important;justify-content:space-around;padding:4px 8px!important}
 nav[aria-label="여행 메뉴"] a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;font-size:12px}
 .layout header,header{gap:8px}
 .selection{overflow-wrap:anywhere}
 .layout input[type=checkbox]{width:22px;height:22px;vertical-align:middle}
}
@media(max-width:360px){
 .shell{padding:0 12px}
 .places-grid{grid-template-columns:minmax(0,1fr)}
 .places-grid .photo{height:210px}
 .intro h1{font-size:21px}
 .forecast-controls{gap:4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}
@media(max-width:760px){
 .events-page h1{font-size:25px;line-height:1.4;margin-top:22px}
 .events-page .event-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px;background:#f3f6ef;border-radius:16px}
 .events-page .event-controls label{min-width:0;font-size:13px}
 .events-page .event-controls label:has(input[type=search]),.events-page .day-only{grid-column:1/-1}
 .events-page .event-controls input,.events-page .event-controls select{width:100%;min-width:0}
 .events-page .event-controls input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:0}
 .events-page .day-only{min-height:44px;line-height:1.5}
 .events-page .event-controls button{min-height:48px;padding:12px}
 .events-page .places-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .events-page .event-poster{height:280px}
 .events-page .event-actions{flex-wrap:wrap}
 .events-page .event-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;min-width:110px}
 .events-page .event-card{overflow:hidden;border:1px solid #e0e7dc;border-radius:16px}
 .events-page .event-card h2{line-height:1.45;overflow-wrap:anywhere}
 .events-page .topbar>a:last-child,.rewards-page header a{display:flex;align-items:center;min-height:44px}
 .rewards-page main{margin:0 auto;padding:16px 14px;max-width:480px}
 .rewards-page header{margin-bottom:12px;flex-wrap:wrap;gap:4px 12px}
 .rewards-page .screen{padding:20px 16px;border-radius:18px}
 .rewards-page .rating{gap:8px}
 .rewards-page .rating button{min-width:0;min-height:48px}
 .rewards-page textarea{min-height:112px;line-height:1.6}
 .rewards-page input[type=file]{padding:10px 6px;font-size:14px!important;overflow:hidden}
 .rewards-page input[type=file]::file-selector-button{min-height:44px;border:0;border-radius:8px;background:#e5f2e6;color:#235f42;margin-right:6px;padding:8px}
 .rewards-page .primary,.rewards-page .secondary{min-height:48px;line-height:1.5}
 .rewards-page .row{flex-wrap:wrap;overflow-wrap:anywhere}
 .rewards-page .photo{height:auto;max-height:280px;object-fit:contain}
 .rewards-page .small{font-size:12px}
}

.mobile-tabs{display:none}
@media(max-width:760px){
.mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid #e4e8dc;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
.mobile-tabs a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;min-width:0;font-size:12px;line-height:1.4;text-decoration:none;color:#5d7165}
.mobile-tabs a>span,.bottom-nav button>span{font-size:22px;line-height:1.2}
.mobile-tabs a:focus-visible{outline:3px solid #e5b955;outline-offset:2px;border-radius:8px}
.bottom-nav{z-index:60;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
}

.detail-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.detail-jumps button{min-height:44px}.facts,.visit-check-section,#child-result{scroll-margin-top:16px}
@media(max-width:760px){.detail-title h1{padding-right:0;font-size:26px;line-height:1.4;overflow-wrap:anywhere}.detail-title .outline{position:static;min-height:44px;font-size:14px;margin-bottom:8px}.detail-title>p{font-size:16px}.detail-jumps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.detail-jumps button{padding:10px 5px;font-size:13px}.facts{grid-template-columns:minmax(0,1fr)}.facts div{gap:7px;padding:16px}.facts span{font-size:14px}.facts strong{font-size:16px;line-height:1.6}.visit-check p,#child-result p{font-size:16px}.visit-check summary{font-size:14px;min-height:44px;padding:10px 0}.detail-actions a,.review-links a{min-height:48px}.quick-course{font-size:16px;margin:12px 0}.back{min-height:48px}}

.live-place{padding:20px;border:1px solid #ccdccc;border-radius:18px;background:#f0f6ee;margin:18px 0}.live-place h2{font-size:22px;margin:0 0 14px}.live-place strong{display:block;font-size:17px}.live-place p,.live-place li{line-height:1.6}.live-place ul{padding-left:20px}.live-place button,.live-place>a{display:inline-flex;align-items:center;min-height:48px;margin:8px 12px 8px 0}.live-place small{display:block;font-size:12px;color:#627363}

.parking-tip-badge{display:block;min-height:44px;margin-top:6px;padding:8px 12px;border:0;border-radius:12px;background:#edf4ec;color:#285d47;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.parking-tip-badge:focus-visible{outline:2px solid #285d47;outline-offset:2px}.parking-tips{scroll-margin-top:16px}

.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.active-filters button{min-height:44px;padding:10px 14px;border-radius:22px;background:#e8f1e6;color:#285d47}#start-registration-help{padding:14px;background:#e8f1e6;color:#285d47;font-size:15px}

.readiness{margin:18px 0;padding:16px;border-radius:18px;background:#f0f5ed}.readiness h2{margin:0 0 8px}.readiness-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.readiness-tile{display:flex;flex-direction:column;gap:7px;text-align:left;padding:14px;border:1px solid #dce5d9;border-radius:12px;background:#fff;color:#284132;min-width:0}.readiness-tile small{font-size:12px;line-height:1.5}.readiness-tile.limited{border-color:#be7247;background:#fff4e9}.readiness-tile.matched{border-color:#438365}.readiness-tile strong{font-size:15px;overflow-wrap:anywhere}

.readiness-tile:last-child:nth-child(odd){grid-column:1 / -1}

@media(max-width:760px){
 .family-page main{box-sizing:border-box;width:100%;padding:16px 14px calc(24px + env(safe-area-inset-bottom,0px));overflow-wrap:anywhere}
 .family-page main>a{display:inline-flex;align-items:center;min-height:44px}
 .family-page article,.family-page form{min-width:0;padding:16px}
 .family-page button{max-width:100%;white-space:normal;line-height:1.5;min-height:48px}
 .family-page summary{min-height:48px;padding:12px 0;line-height:1.5;cursor:pointer}
 .family-page label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center;min-height:48px}
 .family-page input[type=checkbox]{width:22px;height:22px;min-height:22px;padding:0;flex:0 0 22px}
 .family-page #apply{width:100%;margin:16px 0}
}
