.quick-bar-shell-2026 { height: 0; min-height: 0; padding: 0; background: transparent; }
.quick-bar-shell-2026:not(.is-fixed) .quick-bar-2026 { display: none; }
.charterbus-page { padding: 96px 0 70px; color: #201f1b; background: #f7faf8; }
.charterbus-page * { box-sizing: border-box; }
.charterbus-page .container { width: min(1160px, calc(100% - 48px)); max-width: none; margin: 0 auto; padding: 0; }
.charterbus-heading { width: 100%; margin-bottom: 48px; padding: 0; overflow: visible; background: #f7faf8; border: 0; }
.charterbus-eyebrow { margin: 0 0 10px; color: #147a4e; font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.charterbus-heading h1 { margin: 0; color: #093825; font-size: clamp(38px, 5vw, 64px); font-weight: 850; line-height: 1.16; letter-spacing: -.045em; }
.charterbus-heading > p:last-child { margin: 18px 0 0; color: #5f5f57; font-size: 18px; }
.charterbus-search { position: relative; z-index: 1; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 530px auto; min-height: 0; overflow: hidden; background: #fff; border: 1px solid #e1e1dd; border-radius: 24px; box-shadow: 0 22px 60px rgba(9,56,37,.1); }
.charterbus-map-wrap { position: relative; z-index: 0; min-height: 530px; scroll-margin-top: 88px; background: #dce8e0; }
.charterbus-map { width: 100%; height: 100%; min-height: 530px; }
.charterbus-map.is-unavailable { background: linear-gradient(135deg,#eaf7ef,#cfeedc); }
.charterbus-map-message { position: absolute; top: 50%; left: 50%; margin: 0; color: #0f5e3c; font-weight: 700; transform: translate(-50%,-50%); }
.charterbus-count-marker { position: relative; display: flex; align-items: center; justify-content: center; width: 68px; height: 68px; color: #fff; text-align: center; cursor: pointer; background: rgba(9,56,37,.92); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 7px 20px rgba(9,56,37,.3); transform: translate(var(--count-offset-x,0),var(--count-offset-y,0)); }
.charterbus-count-marker strong { font-size: 18px; font-weight: 850; }
.charterbus-count-marker span { position: absolute; top: calc(100% + 5px); left: 50%; padding: 3px 7px; color: #093825; font-size: 11px; font-weight: 800; white-space: nowrap; background: rgba(255,255,255,.94); border-radius: 5px; transform: translateX(-50%); }
.charterbus-count-marker-sigungu { width: 58px; height: 58px; background: rgba(20,122,78,.92); }
.charterbus-featured-marker { display: flex; align-items: center; justify-content: center; width: 190px; height: 38px; padding: 0 16px; color: #fff; font-size: 16px; font-weight: 500; white-space: nowrap; background: #093825; border: 2px solid #fff; border-radius: 19px; box-shadow: 0 7px 20px rgba(9,56,37,.32); }
.charterbus-region-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 24px; align-items: end; padding: 28px 46px 32px; }
.charterbus-select-group + .charterbus-select-group { margin-top: 18px; }
.charterbus-region-panel .charterbus-select-group + .charterbus-select-group { margin-top: 0; }
.charterbus-select-group label { display: block; margin: 0 0 8px; color: #33332d; font-size: 14px; font-weight: 750; }
.charterbus-select-wrap { position: relative; }
.charterbus-select-wrap::after { content: ''; position: absolute; top: 50%; right: 18px; width: 8px; height: 8px; border-right: 2px solid #147a4e; border-bottom: 2px solid #147a4e; pointer-events: none; transform: translateY(-70%) rotate(45deg); }
.charterbus-select-wrap select { width: 100%; height: 58px; padding: 0 48px 0 17px; color: #33332d; font-size: 15px; font-weight: 600; appearance: none; background: #fafaf9; border: 1px solid #d6ddd8; border-radius: 10px; outline: none; cursor: pointer; }
.charterbus-select-wrap select:focus { border-color: #1f9a63; box-shadow: 0 0 0 3px rgba(31,154,99,.13); }
.charterbus-select-wrap select:disabled { color: #a3a39b; cursor: wait; background: #f0f0ee; }
.charterbus-companies { margin-top: 100px; }
.charterbus-list-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.charterbus-list-heading h2 { margin: 0; color: #093825; font-size: 36px; font-weight: 820; letter-spacing: -.035em; }
.charterbus-list-heading > p { margin: 0 0 5px; color: #7d7d74; font-size: 14px; }
.charterbus-list-heading strong { color: #147a4e; }.charterbus-list-heading b { color: #201f1b; font-weight: 900; }
.charterbus-company-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }.charterbus-company-grid[aria-busy='true'] { min-height: 180px; opacity: .55; }
.charterbus-company-card { position: relative; display: flex; min-height: 225px; padding: 28px; background: #fff; border: 1px solid #e1e1dd; border-radius: 17px; transition: transform .25s,border-color .25s,box-shadow .25s; }.charterbus-company-card:hover,.charterbus-company-card:focus-visible { border-color: #a3debe; box-shadow: 0 15px 35px rgba(9,56,37,.09); outline: 0; transform: translateY(-4px); }.charterbus-company-card.is-selected { border-color: #147a4e; box-shadow: 0 15px 35px rgba(9,56,37,.14),inset 0 0 0 1px #147a4e; }
.charterbus-card-content { display: flex; flex: 1; min-width: 0; flex-direction: column; }.charterbus-card-region { padding-right: 70px; color: #f27b05; font-size: 12px; font-weight: 750; }.charterbus-card-content h3 { margin: 7px 0 12px; color: #201f1b; font-size: 21px; font-weight: 800; line-height: 1.4; word-break: keep-all; }.charterbus-card-address { margin: 0; color: #74746c; font-size: 14px; line-height: 1.65; word-break: keep-all; }
.charterbus-card-contacts { display: flex; align-items: center; gap: 9px; min-height: 40px; margin-top: auto; padding-top: 20px; border-top: 1px solid #f0f0ee; }.charterbus-contact { position: relative; }.charterbus-contact-trigger { display: grid; place-items: center; width: 40px; height: 40px; color: #147a4e; background: #edf8f2; border: 1px solid #d2eddf; border-radius: 12px; }.charterbus-contact-trigger svg { width: 20px; height: 20px; fill: currentColor; }.charterbus-contact-popover { position: absolute; z-index: 30; bottom: calc(100% + 11px); left: 0; display: none; min-width: 164px; padding: 12px 14px; color: #fff; background: #093825; border-radius: 10px; }.charterbus-contact.is-open .charterbus-contact-popover { display: block; }.charterbus-contact-popover strong { display: block; margin-bottom: 6px; color: #9fe0bd; font-size: 11px; }.charterbus-contact-popover span { display: block; font-size: 14px; font-weight: 750; line-height: 1.65; white-space: nowrap; }
.charterbus-company-message { margin: 24px 0 0; padding: 42px 24px; color: #7d7d74; font-size: 14px; text-align: center; background: #fff; border: 1px solid #e1e1dd; border-radius: 17px; }.charterbus-company-message[hidden],.charterbus-pagination[hidden],.charterbus-more-notice[hidden] { display: none; }.charterbus-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 34px; }.charterbus-page-button { min-width: 42px; height: 42px; padding: 0 10px; color: #55554e; font-size: 14px; font-weight: 750; background: #fff; border: 1px solid #d9dfdb; border-radius: 10px; cursor: pointer; }.charterbus-page-button.is-current { color: #fff; background: #147a4e; border-color: #147a4e; }
.charterbus-source-notice { margin: 22px 0 0; color: #92928a; font-size: 12px; line-height: 1.6; text-align: right; }.charterbus-source-notice button { padding: 0; color: #147a4e; font: inherit; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; }.charterbus-more-notice { margin: 34px 0 0; padding: 20px 24px; color: #0f5e3c; font-size: 15px; font-weight: 750; line-height: 1.6; text-align: center; background: #eaf7ef; border: 1px solid #d2eddf; border-radius: 12px; cursor: pointer; }.charterbus-more-notice > span { display: block; white-space: nowrap; }
.charterbus-company-card.is-featured { background: linear-gradient(145deg,#fff 55%,#f2faf6 100%); border-color: #78c69f; box-shadow: 0 10px 26px rgba(20,122,78,.08); }.charterbus-card-nationwide { position: absolute; top: 26px; right: 26px; padding: 5px 9px; color: #147a4e; font-size: 11px; font-weight: 800; background: #edf8f2; border: 1px solid #d2eddf; border-radius: 999px; }.charterbus-company-card.is-featured .charterbus-card-nationwide { color: #fff; background: #147a4e; border-color: #147a4e; }.charterbus-company-card.is-featured .charterbus-featured-thumbnail { display: block; width: auto; height: 46px; max-width: 0; margin-left: auto; opacity: 0; object-fit: contain; transform: translateX(22px) scale(.9); transition: max-width .52s,opacity .22s,transform .52s; }.charterbus-company-card.is-featured:hover .charterbus-featured-thumbnail,.charterbus-company-card.is-featured:focus-visible .charterbus-featured-thumbnail { max-width: 116px; opacity: 1; transform: translateX(0) scale(1); }
@media (hover:none) and (pointer:coarse) { .charterbus-company-card.is-featured.is-scroll-revealed .charterbus-featured-thumbnail { max-width: var(--featured-bus-width); opacity: var(--featured-bus-opacity); transform: translateX(var(--featured-bus-offset)) scale(var(--featured-bus-scale)); transition: none; } }
@media (max-width:640px) { .charterbus-source-notice { text-align: center; line-height: 1.8; word-break: keep-all; }.charterbus-source-notice > span { display: block; } }
.charterbus-media-modal,.charterbus-edit-modal { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 24px; }.charterbus-media-modal[hidden],.charterbus-edit-modal[hidden] { display: none; }.charterbus-media-backdrop,.charterbus-edit-backdrop { position: absolute; inset: 0; background: rgba(4,31,21,.76); }.charterbus-media-dialog,.charterbus-edit-dialog { position: relative; z-index: 1; width: min(920px,100%); max-height: calc(100vh - 48px); overflow: auto; background: #fff; border-radius: 16px; box-shadow: 0 30px 90px rgba(0,0,0,.45); }.charterbus-media-video { display: block; width: 100%; max-height: calc(100vh - 56px); background: #000; }.charterbus-media-close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 36px; height: 36px; color: #fff; font-size: 24px; background: rgba(0,0,0,.6); border: none; border-radius: 50%; cursor: pointer; }
.charterbus-edit-dialog { width: min(760px,100%); }.charterbus-edit-dialog > header { display: flex; align-items: center; justify-content: space-between; padding: 22px 26px; border-bottom: 1px solid #e5ebe7; }.charterbus-edit-dialog h2 { margin: 0; color: #093825; font-size: 25px; }.charterbus-edit-close { width: 36px; height: 36px; color: #214235; font-size: 28px; line-height: 1; background: transparent; border: 0; cursor: pointer; }.charterbus-edit-dialog form { padding: 24px 26px 28px; }.charterbus-edit-help,.charterbus-edit-location { margin: 0 0 12px; color: #5f6e67; font-size: 14px; }.charterbus-edit-map { height: 280px; overflow: hidden; background: #e5eee8; border: 1px solid #d6e1db; border-radius: 12px; }.charterbus-edit-location { min-height: 21px; margin-top: 10px; color: #147a4e; }.charterbus-edit-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 22px; }.charterbus-edit-fields label,.charterbus-edit-upload { display: block; }.charterbus-edit-fields span,.charterbus-edit-upload > span { display: block; margin-bottom: 7px; color: #273a31; font-size: 14px; font-weight: 750; }.charterbus-edit-fields b { color: #dc5d38; }.charterbus-edit-fields input { width: 100%; height: 48px; padding: 0 13px; font: inherit; border: 1px solid #d6ddd8; border-radius: 9px; }.charterbus-edit-upload { margin-top: 20px; padding: 15px; background: #f5faf7; border: 1px dashed #a8cbbc; border-radius: 10px; }.charterbus-edit-upload input { display: block; max-width: 100%; }.charterbus-edit-upload small { display: block; margin-top: 8px; color: #68766f; }.charterbus-edit-image-name { min-height: 18px; margin: 8px 0 0; color: #147a4e; font-size: 13px; }.charterbus-edit-submit { width: 100%; height: 54px; margin-top: 20px; color: #fff; font-size: 16px; font-weight: 800; background: #147a4e; border: 0; border-radius: 10px; cursor: pointer; }.charterbus-edit-submit:disabled { opacity: .55; cursor: wait; }body.is-charterbus-edit-open { overflow: hidden; }
@media (max-width:960px) { .charterbus-search { grid-template-columns: 1fr; grid-template-rows: none; }.charterbus-map-wrap,.charterbus-map { min-height: 430px; }.charterbus-region-panel { display: flex; flex-direction: column; justify-content: center; padding: 42px; }.charterbus-region-panel .charterbus-select-group { width: 100%; }.charterbus-company-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .charterbus-page { padding: 64px 0 80px; }.charterbus-page .container { width: calc(100% - 36px); }.charterbus-heading { margin-bottom: 32px; }.charterbus-heading > p:last-child { font-size: 16px; }.charterbus-search { border-radius: 18px; }.charterbus-map-wrap,.charterbus-map { min-height: 330px; }.charterbus-region-panel { justify-content: flex-start; padding: 24px 24px 14px; }.charterbus-region-panel .charterbus-select-group + .charterbus-select-group { margin-top: 28px; }.charterbus-companies { margin-top: 72px; }.charterbus-list-heading { display: block; }.charterbus-list-heading > p { margin-top: 12px; }.charterbus-company-grid { grid-template-columns: 1fr; }.charterbus-company-card { min-height: 210px; padding: 24px; }.charterbus-card-nationwide { top: 22px; right: 22px; }.charterbus-more-notice { margin-top: 26px; padding: 17px 18px; font-size: 13px; }.charterbus-edit-modal { padding: 10px; }.charterbus-edit-dialog > header { padding: 18px 20px; }.charterbus-edit-dialog form { padding: 18px 20px 22px; }.charterbus-edit-map { height: 230px; }.charterbus-edit-fields { grid-template-columns: 1fr; gap: 13px; } }
.charterbus-edit-agree{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;color:#52645c;font-size:13px}.charterbus-edit-agree label{display:flex;align-items:flex-start;gap:6px}.charterbus-edit-agree input{margin:3px 0 0;accent-color:#147a4e}.charterbus-edit-agree button{padding:0;color:#147a4e;font:700 13px inherit;text-decoration:underline;background:transparent;border:0;white-space:nowrap;cursor:pointer}.charterbus-edit-privacy-modal{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:24px}.charterbus-edit-privacy-modal[hidden]{display:none}.charterbus-edit-privacy-backdrop{position:absolute;inset:0;background:rgba(4,31,21,.7)}.charterbus-edit-privacy-dialog{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.charterbus-edit-privacy-dialog header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5ebe7}.charterbus-edit-privacy-dialog h2{margin:0;color:#093825;font-size:19px}.charterbus-edit-privacy-dialog header button{width:34px;height:34px;color:#214235;font-size:26px;background:transparent;border:0;cursor:pointer}.charterbus-edit-privacy-dialog>div{padding:22px 24px;color:#52645c;font-size:14px;line-height:1.7}.charterbus-edit-privacy-dialog p{margin:0 0 18px}.charterbus-edit-privacy-dialog strong{color:#093825}@media(max-width:640px){.charterbus-edit-agree{align-items:flex-start;flex-direction:column}.charterbus-edit-privacy-modal{padding:14px}.charterbus-edit-privacy-dialog header{padding:17px}.charterbus-edit-privacy-dialog>div{padding:18px;font-size:13px}}
@media(max-width:640px){.charterbus-edit-modal{align-items:stretch;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));height:100dvh}.charterbus-edit-dialog{display:flex;width:100%;height:100%;max-height:none;flex-direction:column;overflow:hidden;border-radius:14px}.charterbus-edit-dialog>header{flex:0 0 auto;padding:14px 18px}.charterbus-edit-dialog form{display:block;min-height:0;padding:16px 18px max(16px,env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.charterbus-edit-map{height:300px;min-height:300px;flex-shrink:0}.charterbus-edit-submit{position:sticky;z-index:2;bottom:0;margin-bottom:0;box-shadow:0 -8px 16px rgba(255,255,255,.95)}.charterbus-edit-fields{gap:12px}.charterbus-edit-fields input{height:46px}}
.charterbus-media-modal,.charterbus-edit-modal,.charterbus-edit-privacy-modal{width:100vw;height:100vh;height:100dvh}
.charterbus-media-dialog { display: flex; flex-direction: column; background: #000; }
.charterbus-media-header { display: flex; flex: 0 0 76px; align-items: center; justify-content: space-between; padding: 0 20px; }
.charterbus-media-logo { display: block; width: 300px; height: 72px; }
.charterbus-media-logo img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.charterbus-media-close { position: static; flex: 0 0 36px; }
.charterbus-media-close { display: grid; place-items: center; padding: 0; line-height: 0; }
.charterbus-media-close svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.charterbus-media-placeholder { min-height: 0; padding-bottom: 12px; }
.charterbus-media-video { aspect-ratio: 2.76 / 1; max-height: calc(100dvh - 160px); object-fit: cover; }
@media (max-width: 640px) { .charterbus-media-modal { padding: 16px; }.charterbus-media-header { flex-basis: 68px; padding: 0 14px; }.charterbus-media-logo { width: 248px; height: 60px; }.charterbus-media-placeholder { padding-bottom: 12px; }.charterbus-media-video { max-height: calc(100dvh - 142px); aspect-ratio: 2.76 / 1; } }
