.courses-section{padding:28px;background:linear-gradient(145deg,#f3f5ef,#f8f7f1);border:1px solid #e3e8de;border-radius:20px;margin-top:28px;scroll-margin-top:100px}
.courses-section .section-heading{margin-bottom:18px}
.courses-section .section-heading h2{font-size:27px}
.course-card{transition:transform .2s,border-color .2s,box-shadow .2s}
.course-card.is-selected{border:2px solid #5f8061;box-shadow:0 9px 25px #2e493112;transform:translateY(-2px)}
.course-card.is-selected .course-image:after{background:linear-gradient(0deg,#15372c70,transparent 64%)}
.course-load{min-height:44px;font-size:12px;transition:background .18s,transform .18s}
.course-card.is-selected .course-load{background:#284a38;color:#fff}
.course-card.is-selected .course-load:hover{background:#1f3e2e}
.course-duration-badge{left:14px!important;bottom:14px!important;z-index:2!important;padding:8px 13px!important;border:2px solid #fff;border-radius:999px!important;background:#173e30!important;color:#fff!important;font-size:15px!important;font-weight:900!important;letter-spacing:.1px;line-height:1.2;box-shadow:0 4px 14px #091d1470;text-shadow:0 1px 1px #0003}
.course-card.is-selected .course-duration-badge{background:#ee704d!important;border-color:#fff!important;color:#fff!important}
.course-intro{color:#526256;font-size:14px;font-weight:600;line-height:1.6}
.course-grid{margin-top:20px}
.course-footer{margin-top:16px}
.planner-section{margin:24px 0 4px;padding:25px;background:linear-gradient(145deg,#eef2e9,#f7f6f0);border:1px solid #e0e6dc;border-radius:20px;scroll-margin-top:100px}
.planner-section>.section-heading{padding:3px 2px 17px;margin-bottom:19px;border-bottom:1px solid #dfe5db}
.planner-section>.section-heading h2{font-size:25px;color:#263e31}
.planner-section>.section-heading .eyebrow{color:#bc684e}
.planner-section .editor{box-shadow:0 7px 24px #273b2709}
#place-filters .place-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#place-filters .place-city-row{padding-bottom:10px;border-bottom:1px solid #e8ebe3}
#place-filters .place-kind-row{margin-top:11px}
#place-filters .place-filter-row button{border:1px solid transparent;border-radius:999px;background:#f0f2ec;color:#687568;padding:8px 14px;font-size:11px;line-height:1.25;transition:background .15s,color .15s,border-color .15s}
#place-filters .place-city-row button{padding:9px 18px;background:#e8eee5;color:#35533e;font-size:13px;font-weight:700}
#place-filters .place-kind-row button{min-width:100px;padding:10px 18px;border-radius:9px;background:#f3eee3;color:#83694a;font-size:12px;font-weight:700}
#place-filters .place-filter-row button.active{border-color:#254b38;background:#254b38;color:#fff}
#place-filters .place-cuisine-row{margin-top:10px;padding:10px;border:1px solid #f0e4d7;border-radius:11px;background:#fff8f0}
#place-filters .place-cuisine-row>span{margin:0 4px;color:#a57449;font-size:10px;font-weight:700;white-space:nowrap}
#place-filters .place-cuisine-row button{padding:7px 10px;background:#f5eadc;color:#80674e;font-size:10px}
#place-filters .place-cuisine-row button.active{border-color:#b17b4b;background:#a86f3f;color:#fff}
@media(max-width:780px){.courses-section{padding:22px}.courses-section .section-heading h2{font-size:23px}.planner-section{padding:20px}}
@media(max-width:540px){.courses-section{padding:18px 13px;border-radius:16px;margin-top:21px}.courses-section .section-heading h2{font-size:21px}.courses-section .section-heading{align-items:flex-end}.courses-section .section-heading .text-btn{font-size:9px}.course-grid{margin-top:15px}.course-card.is-selected{transform:none}.course-duration-badge{left:8px!important;bottom:9px!important;padding:6px 8px!important;border-width:1px;font-size:12px!important}.course-intro{font-size:12px}.course-load{min-height:40px;font-size:10px}.course-footer{margin-top:12px}.planner-section{margin-top:17px;padding:15px 12px;border-radius:16px}.planner-section>.section-heading{align-items:flex-start;gap:8px;padding:3px 1px 13px;margin-bottom:14px}.planner-section>.section-heading h2{font-size:19px}.planner-section>.section-heading .subtle{max-width:120px;text-align:right;font-size:8px}.planner-section .editor{padding:14px}.planner-section .trip-controls{grid-template-columns:1fr 1fr}.planner-section .section-heading{margin-bottom:13px}#place-filters .place-filter-row{gap:6px}#place-filters .place-city-row{padding-bottom:9px}#place-filters .place-city-row button{padding:8px 16px;font-size:12px}#place-filters .place-kind-row button{flex:1;min-width:0;padding:10px 8px;font-size:11px}#place-filters .place-filter-row button{font-size:10px;padding:7px 10px}#place-filters .place-cuisine-row{align-items:center;padding:9px}#place-filters .place-cuisine-row>span{width:100%;margin:0 0 2px}}

/* Make the main course action unmistakable; keep the selected state distinct. */
.course-load{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;margin-top:15px;padding:0 17px;border:0;border-radius:12px;background:#cf472f;color:#fff;font-size:15px;font-weight:800;letter-spacing:.01em;box-shadow:0 5px 13px #b841272e;cursor:pointer;transition:background .18s,box-shadow .18s,transform .18s}
.course-load span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff80;border-radius:50%;font-size:19px;line-height:1}
.course-load:hover{background:#b93621;box-shadow:0 7px 17px #b8412740;transform:translateY(-1px)}
.course-load:focus-visible{outline:3px solid #193f32;outline-offset:3px}
.course-card.is-selected .course-load{background:#284a38;color:#fff;box-shadow:none}
.course-card.is-selected .course-load:hover{background:#1f3e2e;transform:none}
@media(max-width:540px){.course-load{min-height:48px;margin-top:12px;padding-inline:12px;font-size:12px}.course-load span{width:27px;height:27px;font-size:17px}}
@media(max-width:380px){.course-load{min-height:44px;padding-inline:9px;font-size:11px}}
.planner-section .section-heading h2{font-size:26px}
.planner-section .section-heading .subtle{font-size:12px}
.planner-section .panel-heading h3{font-size:21px}
.planner-section .trip-controls label{font-size:14px;font-weight:700;gap:7px}
.planner-section .trip-controls select{height:50px;padding:9px 12px;font-size:15px;font-weight:600}
.planner-section .traveler-note{font-size:13px;line-height:1.7}
.planner-section .hotel-row{font-size:13px;gap:12px;padding:16px 0}
.planner-section .hotel-row select{height:46px;padding:8px 12px;font-size:14px}
.planner-section .builder-bar{font-size:13px;padding:14px 0 8px}
.planner-section .builder-bar button{font-size:13px}
.planner-section .day-tabs{gap:8px}
.planner-section .day-tabs button{min-height:48px;padding:9px 17px;font-size:14px;font-weight:700}
.planner-section .day-info{font-size:13px;line-height:1.7;margin:15px 0}
.planner-section .day-info .checkbox-label{font-size:12px}
.photo-stop{grid-template-columns:96px minmax(0,1fr);gap:13px;padding:15px;border-radius:14px}
.stop-photo{height:100px;border-radius:10px}
.stop-photo .stop-count{width:29px;height:28px;font-size:11px}
.stop-main .stop-title{font-size:16px;line-height:1.55}
.stop-sub{font-size:12px;line-height:1.5}
.map-links{gap:6px 13px;margin-top:8px}
.map-links a{font-size:12px}
.stop-photo-note{font-size:10px}
.photo-stop .stop-actions{grid-column:2;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-top:5px}
.photo-stop .order-buttons{gap:7px}
.photo-stop .order-buttons button,.photo-stop .stop-actions .icon-btn[data-remove]{min-width:52px;width:auto;height:44px;padding:0 10px;border-radius:9px;font-size:13px;font-weight:800}
.photo-stop .order-buttons button{background:#e8eee5;color:#2d513a}
.photo-stop .order-buttons button:disabled{opacity:.4}
.photo-stop .stop-actions .icon-btn[data-remove]{min-width:68px;margin-left:0;background:#fff0ec;color:#b64e37;font-size:0}
.photo-stop .stop-actions .icon-btn[data-remove]::after{content:'삭제';font-size:13px}
.photo-stop .stop-options{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;padding-top:12px}
.photo-stop .stop-options .fee-label,.photo-stop .stop-options .checkbox-label{font-size:12px;gap:8px}
.photo-stop .fee-input{width:82px;height:42px;padding:6px 9px;border-radius:8px;font-size:14px}
.meal-options>span{font-size:12px}
.price-pending{font-size:11px}
.add-stop{min-height:54px;border-radius:12px;font-size:15px;font-weight:800}
.return-map{font-size:13px;margin-top:14px}
.food-section{padding:18px}
.food-heading h4{font-size:16px}
.food-heading button,.food-section>p{font-size:12px}
.food-name{font-size:12px}
.food-card-actions button{min-height:40px;font-size:12px}
.editor-foot{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-top:16px;font-size:12px}
.editor-actions{display:flex;flex-wrap:wrap;gap:9px}
.editor-actions button{min-height:46px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:750}
.editor-actions .clear-day-btn{margin-left:auto;color:#b64e37}
.saved-schedules-intro{font-size:14px;line-height:1.7;color:#657267;margin:8px 0 16px}
#saved-schedules-dialog{width:min(620px,calc(100vw - 28px));max-height:min(82vh,760px);padding:22px;border:0;border-radius:18px;box-shadow:0 22px 70px #10291e40}
#saved-schedules-dialog::backdrop{background:#10201788;backdrop-filter:blur(3px)}
.saved-schedule-list{display:grid;gap:11px;max-height:60vh;overflow:auto}
.saved-schedule-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e1e7dd;border-radius:13px;background:#fbfcf8}
.saved-schedule-card>div:first-child{display:grid;gap:5px;min-width:0}
.saved-schedule-card strong{font-size:15px;color:#294535}
.saved-schedule-card span{font-size:12px;color:#748073}
.saved-schedule-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.saved-schedule-actions button{min-height:40px;padding:8px 12px;border-radius:8px;font-size:12px}
.recommend-card .rec-desc,.compare-title>span{font-size:13px}
.recommend-card .rec-price{font-size:42px}
.daily-plan{font-size:13px}
.comparison-item>div:first-child{font-size:13px}
.comparison-item small,.compare-detail{font-size:12px}
@media(max-width:780px){.planner-section .editor{padding:18px}.planner-section .section-heading h2{font-size:23px}.photo-stop{grid-template-columns:88px minmax(0,1fr);padding:13px}.stop-photo{height:92px}.planner-section .trip-controls label{font-size:13px}.planner-section .trip-controls select{font-size:14px}.planner-section .day-tabs button{font-size:13px}.planner-section .day-info{font-size:12px}.recommend-card .rec-price{font-size:38px}}
@media(max-width:540px){.planner-section .section-heading h2{font-size:21px}.planner-section .section-heading .subtle{max-width:145px;font-size:10px}.planner-section .editor{padding:15px 12px}.planner-section .panel-heading{align-items:flex-start;gap:8px}.planner-section .panel-heading h3{font-size:18px}.planner-section .panel-heading .text-btn{font-size:11px}.planner-section .trip-controls{gap:9px}.planner-section .trip-controls label{font-size:12px}.planner-section .trip-controls select{height:48px;font-size:14px}.planner-section .traveler-note{font-size:12px}.planner-section .hotel-row{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:12px}.planner-section .hotel-row select{height:44px;font-size:13px}.planner-section .builder-bar{font-size:11px;gap:8px}.planner-section .builder-bar button{font-size:11px}.planner-section .day-tabs button{min-height:46px;padding:8px 13px;font-size:12px}.planner-section .day-info{font-size:11px;gap:7px}.planner-section .day-info .checkbox-label{font-size:10px;white-space:normal}.photo-stop{grid-template-columns:74px minmax(0,1fr);gap:9px;padding:11px;border-radius:12px}.stop-photo{height:76px}.stop-photo .stop-count{width:25px;height:24px;font-size:10px}.stop-main .stop-title{font-size:14px}.stop-sub{font-size:11px}.map-links{gap:5px 10px}.map-links a{font-size:10px}.stop-photo-note{font-size:9px}.photo-stop .stop-actions{grid-column:2;gap:6px}.photo-stop .order-buttons{gap:5px}.photo-stop .order-buttons button,.photo-stop .stop-actions .icon-btn[data-remove]{min-width:48px;height:42px;padding:0 8px;font-size:11px}.photo-stop .stop-actions .icon-btn[data-remove]{min-width:58px;font-size:0}.photo-stop .stop-actions .icon-btn[data-remove]::after{font-size:11px}.photo-stop .stop-options{gap:8px;padding-top:9px}.photo-stop .stop-options .fee-label,.photo-stop .stop-options .checkbox-label{font-size:10px;gap:5px}.photo-stop .fee-input{width:70px;height:38px;font-size:12px}.meal-options>span{font-size:10px}.add-stop{min-height:50px;font-size:14px}.food-section{padding:13px}.food-heading h4{font-size:14px}.food-heading button,.food-section>p{font-size:10px}.food-name{font-size:10px}.food-card-actions button{font-size:10px}.editor-foot{font-size:10px}.editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-actions button{min-height:46px;padding:8px 7px;font-size:11px}.editor-actions .clear-day-btn{margin:0}.saved-schedule-card{align-items:flex-start;flex-direction:column}.saved-schedule-card strong{font-size:14px}.saved-schedule-actions{width:100%}.saved-schedule-actions button{flex:1}.recommend-card .rec-price{font-size:36px}.daily-plan{font-size:11px}.comparison-item>div:first-child{font-size:12px}.comparison-item small,.compare-detail{font-size:10px}}
.photo-stop .order-buttons button{min-width:78px}
.photo-stop .stop-actions .remove-stop{min-width:72px;height:44px;padding:0 12px;border:1px solid #f1c7ba;border-radius:9px;background:#fff0ec;color:#a7432f;font-size:13px;font-weight:800}
.photo-stop .stop-actions .remove-stop:focus-visible,.photo-stop .order-buttons button:focus-visible{outline:3px solid #e7a077;outline-offset:2px}
@media(max-width:540px){.photo-stop .order-buttons button{min-width:68px}.photo-stop .stop-actions .remove-stop{min-width:62px;height:42px;padding:0 9px;font-size:11px}}
@media(max-width:540px){.planner-section>.section-heading .subtle{font-size:11px;line-height:1.5}.planner-section .panel-heading h3{font-size:19px}.planner-section .builder-bar{font-size:12px}.planner-section .builder-bar button{font-size:12px}.planner-section .day-tabs button{font-size:14px}.planner-section .day-info{font-size:13px}.planner-section .day-info .checkbox-label{font-size:12px}.photo-stop .stop-title{font-size:16px}.photo-stop .stop-sub{font-size:12px}.photo-stop .map-links a{font-size:12px}.photo-stop .stop-photo-note{font-size:11px}.photo-stop .stop-options .fee-label,.photo-stop .stop-options .checkbox-label{font-size:12px}.photo-stop .fee-input{font-size:13px}.meal-options>span{font-size:12px}.food-heading h4{font-size:16px}.food-heading button,.food-section>p{font-size:12px}.food-name{font-size:12px}.food-card-actions button{font-size:12px}.editor-foot{font-size:12px}.editor-actions button{font-size:12px}}

/* Keep itinerary reordering and removal in one compact horizontal row. */
.photo-stop .stop-actions{flex-wrap:nowrap;white-space:nowrap;gap:8px}
.photo-stop .order-buttons{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px}
.photo-stop .order-buttons button,.photo-stop .stop-actions .remove-stop{flex:0 0 auto;white-space:nowrap}
@media(max-width:540px){.photo-stop .stop-actions{flex-wrap:nowrap;gap:5px}.photo-stop .order-buttons{flex-direction:row;flex-wrap:nowrap;gap:4px}.photo-stop .order-buttons button{min-width:62px;padding:0 7px}.photo-stop .stop-actions .remove-stop{min-width:58px;padding:0 7px}}

/* Give the recommendation a clear, calmer hierarchy beside the itinerary. */
.recommend-card{background:#f0f5ed;color:#21382c;border:1px solid #d8e4d8;border-radius:18px;padding:24px;box-shadow:0 12px 28px #1f392c0b}
.recommend-card:after{display:none}
.recommend-top{color:#58745f;font-size:11px;letter-spacing:.2px}
.recommend-top .best-pill{background:#fff;border:1px solid #d7e5d7;color:#3c714d;font-size:11px;padding:5px 10px}
.recommend-card h3{color:#203a2c;font-size:24px;line-height:1.45;margin-top:17px}
.recommend-card>.rec-desc{color:#64786a;font-size:12px;line-height:1.65;margin-top:6px}
.recommend-card .rec-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;color:#173d2e;font-size:44px;line-height:1.15;letter-spacing:-1.7px;margin-top:22px}
.recommend-card .rec-price>small{color:#718175;font-size:12px;letter-spacing:0;margin-left:0}
.recommend-card .rec-savings{color:#315d40;background:#e4efe2;border:1px solid #d2e3d1;border-radius:10px;font-size:12px;padding:11px 13px;margin-top:14px}
.recommend-card .rec-savings strong{color:#245336;font-size:13px}
.recommend-card .daily-plan{display:grid;gap:0;background:#fff;border:1px solid #dfe8df;border-radius:12px;margin-top:15px;padding:10px 14px;color:#5f7064}
.recommend-card .daily-plan:before{content:'예상 금액 구성';display:block;padding:2px 0 8px;color:#718275;font-size:11px;font-weight:700}
.recommend-card .daily-plan>div{display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:9px 0;border-top:1px solid #edf1ec;color:#607166;font-size:12px}
.recommend-card .daily-plan>div>span:first-child{color:#55745e;font-weight:700;white-space:nowrap}
.recommend-card .daily-plan strong{min-width:0;color:#344a3a;font-size:12px;font-weight:600;line-height:1.45}
.recommend-card .daily-plan>div>span:last-child{color:#263d2f;font-size:12px;font-weight:700;white-space:nowrap}
.recommend-card .rec-booking{background:#2f634d;color:#fff;border-radius:11px;margin-top:15px;padding:13px 15px;font-size:14px}
.recommend-card .rec-booking:hover{background:#234f3d;color:#fff}
.recommend-card .rec-bottom{color:#708176;font-size:10px;line-height:1.5;margin-top:9px}
@media(max-width:780px){.recommend-card{padding:22px}.recommend-card h3{font-size:23px}.recommend-card .rec-price{font-size:42px}}
@media(max-width:540px){.recommend-card{padding:18px}.recommend-card h3{font-size:21px}.recommend-card>.rec-desc{font-size:12px}.recommend-card .rec-price{font-size:38px}.recommend-card .rec-price>small{display:inline;margin:0;font-size:11px}.recommend-card .daily-plan{padding:8px 11px}.recommend-card .daily-plan>div{grid-template-columns:52px minmax(0,1fr) auto;gap:7px;padding:8px 0;font-size:11px}.recommend-card .daily-plan strong,.recommend-card .daily-plan>div>span:last-child{font-size:11px}}
