@charset "utf-8";

:root {
--primary:#0d4968;
--bg:#f5f7f8;
--radius:16px;
}

.splide__container, .splide__slide {
    box-sizing: border-box;
    position: relative
}
.splide.is-initialized:not(.is-active) .splide__list, .splide__track--ttb > .splide__list {
    display: block
}
.splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important
}
.splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}
.splide__pagination li {
    display: inline-block;
    list-style-type: none;
    margin-right: 6px;
    pointer-events: auto;
    line-height: 0
}
.splide:not(.is-overflow) .splide__pagination, .splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
    display: none
}
.splide__progress__bar {
    width: 0
}
.splide {
    position: relative;
    visibility: hidden
}
.splide.is-initialized, .splide.is-rendered {
    visibility: visible
}
.splide__slide {
    backface-visibility: hidden;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    -webkit-tap-highlight-color: #fff0
}
.splide__slide img {
    vertical-align: bottom
}
.splide__slide a {
    color: #000
}
.splide__spinner {
    animation: 1s linear infinite splide-loading;
    border: 2px solid #999;
    border-left-color: #fff0;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}
.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}
.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}
.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}
@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }
    to {
        transform: rotate(1turn)
    }
}
.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}
.splide__track--fade > .splide__list > .splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
    opacity: 1;
    z-index: 1
}
.splide--rtl {
    direction: rtl
}
.splide__arrow {
    -ms-flex-align: center;
    position: absolute;
    align-items: center;
    background: var(--bs-dark-blue);
    color: #fff;
    border: 0;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 1;
    padding: 0;
    top: 50%;
    width: 40px;
    height: 40px;
    font-size: .85rem;
    z-index: 1;
    border-radius: var(--bs-border-radius);
    transform: translateY(-50%);
    transition: .25s ease-in-out
}
.splide__arrows--primary .splide__arrow {
    background: var(--bs-primary)
}
.splide__arrow.splide__arrow__small {
    width: 24px;
    height: 24px;
    font-size: .65rem
}
.splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em
}
.splide__arrow:hover:not(:disabled) {
    opacity: .9
}
.splide__arrow:disabled {
    opacity: .3
}
.splide__arrow:focus-visible {
    outline: #0bf solid 3px;
    outline-offset: 3px
}
.splide__arrow--prev {
    left: -20px
}
.splide__arrow--prev.splide__arrow__small {
    left: -12px
}
.splide__arrow--prev svg {
    transform: scaleX(-1)
}
.splide__arrow--next {
    right: -20px
}
.splide__arrow--next.splide__arrow__small {
    right: -12px
}
.splide.is-focus-in .splide__arrow:focus {
    outline: #0bf solid 3px;
    outline-offset: 3px
}
.splide__pagination {
    bottom: -2.5rem;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1
}
.splide__pagination__page {
    position: relative;
    background: var(--bs-secondary);
    border: 0;
    border-radius: 3px;
    display: inline-block;
    height: 6px;
    width: 18px;
    margin: initial 3px;
    padding: 0;
    opacity: .7;
    transition: .35s ease-in-out;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    -ms-transition: .35s ease-in-out;
    -o-transition: .35s ease-in-out
}
.splide__pagination__page.is-active {
    background: var(--bs-primary);
    /*    width: 48px;*/
    z-index: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1)
}
.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}
.splide__pagination__page:focus-visible {
    outline: #0bf solid 3px;
    outline-offset: 3px
}
.splide.is-focus-in .splide__pagination__page:focus {
    outline: #0bf solid 3px;
    outline-offset: 3px
}
.splide__pagination__end .splide__pagination {
    justify-content: end;
    padding-right: 0
}
.splide__pagination__start .splide__pagination {
    justify-content: start;
    padding-left: 0
}
.splide__progress__bar {
    background: #ccc;
    height: 3px
}
.splide__slide:focus {
    outline: 0
}
@supports(outline-offset:-3px) {
    .splide__slide:focus-visible {
        outline: #0bf solid 3px;
        outline-offset: -3px
    }
    .splide.is-focus-in .splide__slide:focus {
        outline: #0bf solid 3px;
        outline-offset: -3px
    }
}
@media screen and (-ms-high-contrast:none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }
    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }
    .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
        border-color: #0bf
    }
}
.splide__toggle {
    cursor: pointer
}
.splide__toggle:focus-visible {
    outline: #0bf solid 3px;
    outline-offset: 3px
}
.splide.is-focus-in .splide__toggle:focus {
    outline: #0bf solid 3px;
    outline-offset: 3px
}
.splide__track--nav > .splide__list > .splide__slide {
    border: 3px solid #fff0;
    cursor: pointer
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
    border: 3px solid #000
}
.splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em
}
.splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1)
}
.splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto
}
.splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1)
}
.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%)
}
.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}
.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg)
}
.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto
}
.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg)
}
.splide__arrows__right {
    align-items: center;
    display: flex
}
.splide__arrows__right .splide__arrow {
    left: 0;
    position: static;
    right: 0;
    transform: none;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none
}
.splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: .5em;
    top: 0
}
.hicon {
    --hicon-size: 100%;
    font-family: icons !important;
    display: inline-flex;
    align-items: center;
    line-height: 1;
    font-weight: 400 !important;
    font-style: normal !important;
    speak: none;
    text-decoration: inherit;
    text-transform: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: var(--hicon-size)
}
.fw-bold > .hicon, .fw-bolder > .hicon, .fw-medium > .hicon, .fw-semibold > .hicon, .hicon.hicon-bold {
    font-weight: 700
}
.hicon.hicon-60 {
    font-size: calc(.6 * var(--hicon-size)) !important
}
.hicon.hicon-70 {
    font-size: calc(.7 * var(--hicon-size)) !important
}
.hicon.hicon-80, .hicon.hicon-90, .hicon.hicon-sm {
    font-size: calc(.8 * var(--hicon-size)) !important
}
.hicon.hicon-100, .hicon.hicon-md {
    font-size: calc(1 * var(--hicon-size)) !important
}
.hicon.hicon-110 {
    font-size: calc(1.1 * var(--hicon-size)) !important
}
.hicon.hicon-120, .hicon.hicon-lg {
    font-size: calc(1.2 * var(--hicon-size)) !important
}
.hicon.hicon-130 {
    font-size: calc(1.3 * var(--hicon-size)) !important
}
.hicon.hicon-140 {
    font-size: calc(1.4 * var(--hicon-size)) !important
}
.hicon.hicon-150 {
    font-size: calc(1.5 * var(--hicon-size)) !important
}
.hicon.hicon-175 {
    font-size: calc(1.75 * var(--hicon-size)) !important
}
.hicon.hicon-200 {
    font-size: calc(2 * var(--hicon-size)) !important
}
.hicon.hicon-225 {
    font-size: calc(2.25 * var(--hicon-size)) !important
}
.hicon.hicon-250 {
    font-size: calc(2.5 * var(--hicon-size)) !important
}
.hicon.hicon-275 {
    font-size: calc(2.75 * var(--hicon-size)) !important
}
.hicon.hicon-300 {
    font-size: calc(3 * var(--hicon-size)) !important
}
.hicon.hicon-325 {
    font-size: calc(3.25 * var(--hicon-size)) !important
}
.hicon.hicon-350 {
    font-size: calc(3.5 * var(--hicon-size)) !important
}
.hicon.hicon-375 {
    font-size: calc(3.75 * var(--hicon-size)) !important
}
.hicon.hicon-400 {
    font-size: calc(4 * var(--hicon-size)) !important
}
@font-face {
    font-family: icons;
    src: url(fonts/hotel-icons.eot);
    src: url(fonts/hotel-icons.eot#iefix) format("embedded-opentype"), url(fonts/hotel-icons.woff) format("woff"), url(fonts/hotel-icons.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}
.hicon-1ah:before {
    content: "\F101"
}
.hicon-24-hour-finess-center:before {
    content: "\F102"
}
.hicon-24hour-check-in:before {
    content: "\F103"
}
.hicon-24hour-frontdesk:before {
    content: "\F104"
}
.hicon-24hour-room-service:before {
    content: "\F105"
}
.hicon-24hour-security:before {
    content: "\F106"
}
.hicon-5-star-deal:before {
    content: "\F107"
}
.hicon-desktop-ic-black-down:before {
    content: "\F108"
}
.hicon-desktop-ic-black-down-arrow:before {
    content: "\F109"
}
.hicon-desktop-ic-profile:before {
    content: "\F10A"
}
.hicon-installment-payment:before {
    content: "\F10B"
}
.hicon-internet:before {
    content: "\F10C"
}
.hicon-iron:before {
    content: "\F10D"
}
.hicon-add-a-website:before {
    content: "\F10E"
}
.hicon-additional-bathroom:before {
    content: "\F10F"
}
.hicon-additional-fee-for-pets:before {
    content: "\F110"
}
.hicon-additional-information:before {
    content: "\F111"
}
.hicon-additional-toilet:before {
    content: "\F112"
}
.hicon-address:before {
    content: "\F113"
}
.hicon-adults-line:before {
    content: "\F114"
}
.hicon-adults-one:before {
    content: "\F115"
}
.hicon-after-hours:before {
    content: "\F116"
}
.hicon-afternoon-tea:before {
    content: "\F117"
}
.hicon-agoda-cash:before {
    content: "\F118"
}
.hicon-agoda-homes:before {
    content: "\F119"
}
.hicon-agoda-price-guarante-filled:before {
    content: "\F11A"
}
.hicon-agoda-price-guarante:before {
    content: "\F11B"
}
.hicon-air-bath-access:before {
    content: "\F11C"
}
.hicon-air-conditioning:before {
    content: "\F11D"
}
.hicon-air-purifier:before {
    content: "\F11E"
}
.hicon-airport-transfer-big:before {
    content: "\F11F"
}
.hicon-airport-transfer-oneway:before {
    content: "\F120"
}
.hicon-airport-transfer-roundtrip:before {
    content: "\F121"
}
.hicon-airport-transfer-small:before {
    content: "\F122"
}
.hicon-airport-transfer-solid:before {
    content: "\F123"
}
.hicon-airport-transfer:before {
    content: "\F124"
}
.hicon-airports-plane:before {
    content: "\F125"
}
.hicon-airports:before {
    content: "\F126"
}
.hicon-alarm-clock:before {
    content: "\F127"
}
.hicon-already-booking:before {
    content: "\F128"
}
.hicon-american-express:before {
    content: "\F129"
}
.hicon-apartment:before {
    content: "\F12A"
}
.hicon-app-android:before {
    content: "\F12B"
}
.hicon-app-apple:before {
    content: "\F12C"
}
.hicon-app-windos:before {
    content: "\F12D"
}
.hicon-aps-lock:before {
    content: "\F12E"
}
.hicon-area:before {
    content: "\F12F"
}
.hicon-arrow-big-down:before {
    content: "\F130"
}
.hicon-arrow-big-right:before {
    content: "\F131"
}
.hicon-arrow-big-up:before {
    content: "\F132"
}
.hicon-arrow-right-box:before {
    content: "\F133"
}
.hicon-arrow-right:before {
    content: "\F134"
}
.hicon-assembly-pin-border:before {
    content: "\F135"
}
.hicon-assembly-restaurant-line:before {
    content: "\F136"
}
.hicon-assembly-restaurant:before {
    content: "\F137"
}
.hicon-atm-cash-machine-on-site:before {
    content: "\F138"
}
.hicon-attractions:before {
    content: "\F139"
}
.hicon-avatar-hotel:before {
    content: "\F13A"
}
.hicon-avatar-property:before {
    content: "\F13B"
}
.hicon-baby-cot:before {
    content: "\F13C"
}
.hicon-babysitting:before {
    content: "\F13D"
}
.hicon-back-to-top:before {
    content: "\F13E"
}
.hicon-badge-insider:before {
    content: "\F13F"
}
.hicon-badminton-court:before {
    content: "\F140"
}
.hicon-balcony-terrace:before {
    content: "\F141"
}
.hicon-balloon-minus:before {
    content: "\F142"
}
.hicon-balloon-plus:before {
    content: "\F143"
}
.hicon-balloon:before {
    content: "\F144"
}
.hicon-bathrobes:before {
    content: "\F145"
}
.hicon-bathroom-basics:before {
    content: "\F146"
}
.hicon-bathroom-phone:before {
    content: "\F147"
}
.hicon-bathrooms:before {
    content: "\F148"
}
.hicon-bathtub:before {
    content: "\F149"
}
.hicon-bbq-facilities:before {
    content: "\F14A"
}
.hicon-bc-global-card:before {
    content: "\F14B"
}
.hicon-beach:before {
    content: "\F14C"
}
.hicon-bed-property:before {
    content: "\F14D"
}
.hicon-bed:before {
    content: "\F14E"
}
.hicon-bedroom-door:before {
    content: "\F14F"
}
.hicon-bedroom:before {
    content: "\F150"
}
.hicon-bell-alerts:before {
    content: "\F151"
}
.hicon-best-value:before {
    content: "\F152"
}
.hicon-bicycle-rental:before {
    content: "\F153"
}
.hicon-billiards:before {
    content: "\F154"
}
.hicon-blackout-curtains:before {
    content: "\F155"
}
.hicon-blizzard:before {
    content: "\F156"
}
.hicon-blowing-drifting-snow:before {
    content: "\F157"
}
.hicon-blowing-dust-sandstorm:before {
    content: "\F158"
}
.hicon-blowing-spray-windy:before {
    content: "\F159"
}
.hicon-boat:before {
    content: "\F15A"
}
.hicon-bold-baby-diaper:before {
    content: "\F15B"
}
.hicon-bold-baby:before {
    content: "\F15C"
}
.hicon-bold-bath-materials:before {
    content: "\F15D"
}
.hicon-bold-bath-temperature:before {
    content: "\F15E"
}
.hicon-bold-bath-water:before {
    content: "\F15F"
}
.hicon-bold-capacity:before {
    content: "\F160"
}
.hicon-bold-change-flight:before {
    content: "\F161"
}
.hicon-bold-child-meal-a:before {
    content: "\F162"
}
.hicon-bold-child-meal-b:before {
    content: "\F163"
}
.hicon-bold-children-yukata:before {
    content: "\F164"
}
.hicon-bold-family-with-teens-new:before {
    content: "\F165"
}
.hicon-bold-female-only:before {
    content: "\F166"
}
.hicon-bold-first-aid:before {
    content: "\F167"
}
.hicon-bold-floor-plan:before {
    content: "\F168"
}
.hicon-bold-gender:before {
    content: "\F169"
}
.hicon-bold-group-travelers:before {
    content: "\F16A"
}
.hicon-bold-hot-spring-access:before {
    content: "\F16B"
}
.hicon-bold-hot-spring-bath:before {
    content: "\F16C"
}
.hicon-bold-infant:before {
    content: "\F16D"
}
.hicon-bold-itinerary:before {
    content: "\F16E"
}
.hicon-bold-male-only:before {
    content: "\F16F"
}
.hicon-bold-meal:before {
    content: "\F170"
}
.hicon-bold-modify-search:before {
    content: "\F171"
}
.hicon-bold-mountain-view:before {
    content: "\F172"
}
.hicon-bold-package-savings:before {
    content: "\F173"
}
.hicon-bold-package:before {
    content: "\F174"
}
.hicon-bold-preselected-flight:before {
    content: "\F175"
}
.hicon-bold-price-fluctuates:before {
    content: "\F176"
}
.hicon-bold-salt:before {
    content: "\F177"
}
.hicon-bold-spa-sauna:before {
    content: "\F178"
}
.hicon-bold-tap-water:before {
    content: "\F179"
}
.hicon-bold-time-icon:before {
    content: "\F17A"
}
.hicon-bold-travel-protection:before {
    content: "\F17B"
}
.hicon-bold-walkability:before {
    content: "\F17C"
}
.hicon-book-now-pay-later:before {
    content: "\F17D"
}
.hicon-book-without-a-creditcard:before {
    content: "\F17E"
}
.hicon-bottle-of-sparkling-wine:before {
    content: "\F17F"
}
.hicon-bottle-of-wine:before {
    content: "\F180"
}
.hicon-bowling-alley:before {
    content: "\F181"
}
.hicon-bracket-left:before {
    content: "\F182"
}
.hicon-bracket-right:before {
    content: "\F183"
}
.hicon-breakfast-buffet:before {
    content: "\F184"
}
.hicon-breakfast-one-person:before {
    content: "\F185"
}
.hicon-breakfast:before {
    content: "\F186"
}
.hicon-breezy:before {
    content: "\F187"
}
.hicon-broken-clouds:before {
    content: "\F188"
}
.hicon-budget:before {
    content: "\F189"
}
.hicon-bullet:before {
    content: "\F18A"
}
.hicon-bungalow:before {
    content: "\F18B"
}
.hicon-bunk-bed:before {
    content: "\F18C"
}
.hicon-bus-and-rail-stations:before {
    content: "\F18D"
}
.hicon-bus-station:before {
    content: "\F18E"
}
.hicon-business-center:before {
    content: "\F18F"
}
.hicon-business-facilities:before {
    content: "\F190"
}
.hicon-business-hover:before {
    content: "\F191"
}
.hicon-business:before {
    content: "\F192"
}
.hicon-buzzer-wireless-intercom:before {
    content: "\F193"
}
.hicon-c-coupon:before {
    content: "\F194"
}
.hicon-cable-car-station:before {
    content: "\F195"
}
.hicon-calendar-onmap:before {
    content: "\F196"
}
.hicon-callcenter-24hour:before {
    content: "\F197"
}
.hicon-callcenter-line:before {
    content: "\F198"
}
.hicon-callcenter:before {
    content: "\F199"
}
.hicon-camera-hover:before {
    content: "\F19A"
}
.hicon-cancel-anytime:before {
    content: "\F19B"
}
.hicon-cancel-booking:before {
    content: "\F19C"
}
.hicon-cancellation-policy-non-refund-special-condition:before {
    content: "\F19D"
}
.hicon-canoe:before {
    content: "\F19E"
}
.hicon-capsule:before {
    content: "\F19F"
}
.hicon-car-hire:before {
    content: "\F1A0"
}
.hicon-car-park-charges:before {
    content: "\F1A1"
}
.hicon-car-park-free-charge:before {
    content: "\F1A2"
}
.hicon-car-park-nearby:before {
    content: "\F1A3"
}
.hicon-car-park-onsite:before {
    content: "\F1A4"
}
.hicon-car-park:before {
    content: "\F1A5"
}
.hicon-car-power-charging-station:before {
    content: "\F1A6"
}
.hicon-carbon-monoxide-detector:before {
    content: "\F1A7"
}
.hicon-carpeting:before {
    content: "\F1A8"
}
.hicon-carrouselarrow-left:before {
    content: "\F1A9"
}
.hicon-carrouselarrow-right:before {
    content: "\F1AA"
}
.hicon-cash-a-line-new:before {
    content: "\F1AB"
}
.hicon-cash-a-solid-new:before {
    content: "\F1AC"
}
.hicon-cash-circle-h:before {
    content: "\F1AD"
}
.hicon-cash-circle-s:before {
    content: "\F1AE"
}
.hicon-cash-h:before {
    content: "\F1AF"
}
.hicon-cash-line-circle-h:before {
    content: "\F1B0"
}
.hicon-cash-line-circle-s:before {
    content: "\F1B1"
}
.hicon-cash-line-h:before {
    content: "\F1B2"
}
.hicon-cash-line-new:before {
    content: "\F1B3"
}
.hicon-cash-line-s:before {
    content: "\F1B4"
}
.hicon-cash-s:before {
    content: "\F1B5"
}
.hicon-cash-solid-new:before {
    content: "\F1B6"
}
.hicon-cash:before {
    content: "\F1B7"
}
.hicon-casino:before {
    content: "\F1B8"
}
.hicon-cats-allowed:before {
    content: "\F1B9"
}
.hicon-chapel:before {
    content: "\F1BA"
}
.hicon-chat:before {
    content: "\F1BB"
}
.hicon-check-box:before {
    content: "\F1BC"
}
.hicon-check-circle-o:before {
    content: "\F1BD"
}
.hicon-check-circle:before {
    content: "\F1BE"
}
.hicon-check-in:before {
    content: "\F1BF"
}
.hicon-check-out:before {
    content: "\F1C0"
}
.hicon-check-valid-state:before {
    content: "\F1C1"
}
.hicon-check:before {
    content: "\F1C2"
}
.hicon-checkbox-icon:before {
    content: "\F1C3"
}
.hicon-checkin-date:before {
    content: "\F1C4"
}
.hicon-checkin-hover-date:before {
    content: "\F1C5"
}
.hicon-checkout-date:before {
    content: "\F1C6"
}
.hicon-checkout-hover-date:before {
    content: "\F1C7"
}
.hicon-child-icon:before {
    content: "\F1C8"
}
.hicon-child-line:before {
    content: "\F1C9"
}
.hicon-child:before {
    content: "\F1CA"
}
.hicon-children-high-chair:before {
    content: "\F1CB"
}
.hicon-children-one:before {
    content: "\F1CC"
}
.hicon-children-playground:before {
    content: "\F1CD"
}
.hicon-china-event:before {
    content: "\F1CE"
}
.hicon-china-only:before {
    content: "\F1CF"
}
.hicon-chinese-friendly:before {
    content: "\F1D0"
}
.hicon-circle-05:before {
    content: "\F1D1"
}
.hicon-circle-1:before {
    content: "\F1D2"
}
.hicon-circle-15:before {
    content: "\F1D3"
}
.hicon-circle-2:before {
    content: "\F1D4"
}
.hicon-circle-25:before {
    content: "\F1D5"
}
.hicon-circle-3:before {
    content: "\F1D6"
}
.hicon-circle-35:before {
    content: "\F1D7"
}
.hicon-circle-4:before {
    content: "\F1D8"
}
.hicon-circle-45:before {
    content: "\F1D9"
}
.hicon-circle-5:before {
    content: "\F1DA"
}
.hicon-circle-arrow-left:before {
    content: "\F1DB"
}
.hicon-circle-arrow-right:before {
    content: "\F1DC"
}
.hicon-circle-bus:before {
    content: "\F1DD"
}
.hicon-circle-home:before {
    content: "\F1DE"
}
.hicon-circle-pin:before {
    content: "\F1DF"
}
.hicon-circle-plane:before {
    content: "\F1E0"
}
.hicon-circle-star:before {
    content: "\F1E1"
}
.hicon-cities:before {
    content: "\F1E2"
}
.hicon-city-buses:before {
    content: "\F1E3"
}
.hicon-city-view:before {
    content: "\F1E4"
}
.hicon-cleaning-products:before {
    content: "\F1E5"
}
.hicon-clear-mark:before {
    content: "\F1E6"
}
.hicon-clear-sky-b:before {
    content: "\F1E7"
}
.hicon-clear-sky:before {
    content: "\F1E8"
}
.hicon-clear:before {
    content: "\F1E9"
}
.hicon-close-popup-solid:before {
    content: "\F1EA"
}
.hicon-close-popup:before {
    content: "\F1EB"
}
.hicon-closest-bar:before {
    content: "\F1EC"
}
.hicon-closest-market:before {
    content: "\F1ED"
}
.hicon-closet:before {
    content: "\F1EE"
}
.hicon-clothes-dryer-pay:before {
    content: "\F1EF"
}
.hicon-clothes-rack:before {
    content: "\F1F0"
}
.hicon-clothes-washer-free:before {
    content: "\F1F1"
}
.hicon-cloudy:before {
    content: "\F1F2"
}
.hicon-club-lounge-access:before {
    content: "\F1F3"
}
.hicon-coffee-shop:before {
    content: "\F1F4"
}
.hicon-coffee-tea-maker:before {
    content: "\F1F5"
}
.hicon-complimentary-bottled-water:before {
    content: "\F1F6"
}
.hicon-complimentary-instant-coffee:before {
    content: "\F1F7"
}
.hicon-complimentary-tea:before {
    content: "\F1F8"
}
.hicon-compset-comparison:before {
    content: "\F1F9"
}
.hicon-concierge:before {
    content: "\F1FA"
}
.hicon-confirmation-instant:before {
    content: "\F1FB"
}
.hicon-confirmation-later:before {
    content: "\F1FC"
}
.hicon-confirmation-solid:before {
    content: "\F1FD"
}
.hicon-confirmation:before {
    content: "\F1FE"
}
.hicon-congratulations:before {
    content: "\F1FF"
}
.hicon-continental-breakfast:before {
    content: "\F200"
}
.hicon-control-close-circle:before {
    content: "\F201"
}
.hicon-control-collapse:before {
    content: "\F202"
}
.hicon-control-expand:before {
    content: "\F203"
}
.hicon-cookie:before {
    content: "\F204"
}
.hicon-couple-hover:before {
    content: "\F205"
}
.hicon-couple:before {
    content: "\F206"
}
.hicon-coupon-card-no-circle:before {
    content: "\F207"
}
.hicon-coupon-card-solid:before {
    content: "\F208"
}
.hicon-coupon-card:before {
    content: "\F209"
}
.hicon-coupon-promo:before {
    content: "\F20A"
}
.hicon-coupon:before {
    content: "\F20B"
}
.hicon-credit-card-bf:before {
    content: "\F20C"
}
.hicon-credit-card-required:before {
    content: "\F20D"
}
.hicon-credit-card:before {
    content: "\F20E"
}
.hicon-culture:before {
    content: "\F20F"
}
.hicon-currency-exchange:before {
    content: "\F210"
}
.hicon-daily-housekeeping:before {
    content: "\F211"
}
.hicon-daily-newspaper:before {
    content: "\F212"
}
.hicon-dart-board:before {
    content: "\F213"
}
.hicon-dashboard:before {
    content: "\F214"
}
.hicon-data-at-your-fingertips:before {
    content: "\F215"
}
.hicon-deal-gift-card:before {
    content: "\F216"
}
.hicon-deal-insider:before {
    content: "\F217"
}
.hicon-default-feedback:before {
    content: "\F218"
}
.hicon-desk:before {
    content: "\F219"
}
.hicon-diners-clubs-card:before {
    content: "\F21A"
}
.hicon-dinner:before {
    content: "\F21B"
}
.hicon-discount:before {
    content: "\F21C"
}
.hicon-discover-card:before {
    content: "\F21D"
}
.hicon-dishwasher:before {
    content: "\F21E"
}
.hicon-distance-from-city-center:before {
    content: "\F21F"
}
.hicon-distance-to-airport:before {
    content: "\F220"
}
.hicon-diving:before {
    content: "\F221"
}
.hicon-document:before {
    content: "\F222"
}
.hicon-dog-allowed:before {
    content: "\F223"
}
.hicon-domestic-rates:before {
    content: "\F224"
}
.hicon-dot-seperater:before {
    content: "\F225"
}
.hicon-double-bed:before {
    content: "\F226"
}
.hicon-double-super-king-queen:before {
    content: "\F227"
}
.hicon-download-apps:before {
    content: "\F228"
}
.hicon-download:before {
    content: "\F229"
}
.hicon-dressing-room:before {
    content: "\F22A"
}
.hicon-drinks:before {
    content: "\F22B"
}
.hicon-drizzle:before {
    content: "\F22C"
}
.hicon-drug-stores:before {
    content: "\F22D"
}
.hicon-dryer:before {
    content: "\F22E"
}
.hicon-dvd-cd-player:before {
    content: "\F22F"
}
.hicon-dynamic-banner:before {
    content: "\F230"
}
.hicon-early-bird-deal-solid:before {
    content: "\F231"
}
.hicon-early-bird-deal:before {
    content: "\F232"
}
.hicon-early-check-in:before {
    content: "\F233"
}
.hicon-easy-integration:before {
    content: "\F234"
}
.hicon-edge-arrow-left:before {
    content: "\F235"
}
.hicon-edge-arrow-right:before {
    content: "\F236"
}
.hicon-edit-filled:before {
    content: "\F237"
}
.hicon-edit:before {
    content: "\F238"
}
.hicon-electric-blanket:before {
    content: "\F239"
}
.hicon-elevator:before {
    content: "\F23A"
}
.hicon-email-envelope:before {
    content: "\F23B"
}
.hicon-emo-dislike-ani1:before {
    content: "\F23C"
}
.hicon-emo-dislike-ani2:before {
    content: "\F23D"
}
.hicon-emo-dislike-ani3:before {
    content: "\F23E"
}
.hicon-emo-dislike-click:before {
    content: "\F23F"
}
.hicon-emo-dont-care-ani1:before {
    content: "\F240"
}
.hicon-emo-dont-care-ani2:before {
    content: "\F241"
}
.hicon-emo-dont-care-ani3:before {
    content: "\F242"
}
.hicon-emo-dont-care-click:before {
    content: "\F243"
}
.hicon-emo-great-ani1:before {
    content: "\F244"
}
.hicon-emo-great-ani2:before {
    content: "\F245"
}
.hicon-emo-great-ani3:before {
    content: "\F246"
}
.hicon-emo-great-click:before {
    content: "\F247"
}
.hicon-emo-nice-ani1:before {
    content: "\F248"
}
.hicon-emo-nice-ani2:before {
    content: "\F249"
}
.hicon-emo-nice-ani3:before {
    content: "\F24A"
}
.hicon-emo-nice-click:before {
    content: "\F24B"
}
.hicon-emo-sad-ani1:before {
    content: "\F24C"
}
.hicon-emo-sad-ani2:before {
    content: "\F24D"
}
.hicon-emo-sad-ani3:before {
    content: "\F24E"
}
.hicon-emo-sad-click:before {
    content: "\F24F"
}
.hicon-entire-place:before {
    content: "\F250"
}
.hicon-essentials:before {
    content: "\F251"
}
.hicon-everybody-fits:before {
    content: "\F252"
}
.hicon-exclusive-sale:before {
    content: "\F253"
}
.hicon-executive-floor:before {
    content: "\F254"
}
.hicon-executive-lounge-access:before {
    content: "\F255"
}
.hicon-export-calendar:before {
    content: "\F256"
}
.hicon-express-check-in-check-out:before {
    content: "\F257"
}
.hicon-exterior:before {
    content: "\F258"
}
.hicon-extra-bed:before {
    content: "\F259"
}
.hicon-extra-long-beds:before {
    content: "\F25A"
}
.hicon-facebook-logo:before {
    content: "\F25B"
}
.hicon-facilities-for-disabled-guests:before {
    content: "\F25C"
}
.hicon-facilities-rich:before {
    content: "\F25D"
}
.hicon-failed-o:before {
    content: "\F25E"
}
.hicon-failed:before {
    content: "\F25F"
}
.hicon-fair-mostly-clear:before {
    content: "\F260"
}
.hicon-fair-mostly-sunny:before {
    content: "\F261"
}
.hicon-family-friendly:before {
    content: "\F262"
}
.hicon-family-fun:before {
    content: "\F263"
}
.hicon-family-line:before {
    content: "\F264"
}
.hicon-family-room:before {
    content: "\F265"
}
.hicon-family-special-deal:before {
    content: "\F266"
}
.hicon-family-with-small-kids-hover:before {
    content: "\F267"
}
.hicon-family-with-teens-hover:before {
    content: "\F268"
}
.hicon-family-with-teens:before {
    content: "\F269"
}
.hicon-fan:before {
    content: "\F26A"
}
.hicon-faq:before {
    content: "\F26B"
}
.hicon-favorite-filled:before {
    content: "\F26C"
}
.hicon-favorite:before {
    content: "\F26D"
}
.hicon-fax-machine:before {
    content: "\F26E"
}
.hicon-fax-or-photo:before {
    content: "\F26F"
}
.hicon-feedback:before {
    content: "\F270"
}
.hicon-female-capsule:before {
    content: "\F271"
}
.hicon-few-clouds:before {
    content: "\F272"
}
.hicon-filled-baby-diaper:before {
    content: "\F273"
}
.hicon-filled-baby:before {
    content: "\F274"
}
.hicon-filled-bath-materials:before {
    content: "\F275"
}
.hicon-filled-bath-temperature:before {
    content: "\F276"
}
.hicon-filled-bath-water:before {
    content: "\F277"
}
.hicon-filled-capacity:before {
    content: "\F278"
}
.hicon-filled-change-flight:before {
    content: "\F279"
}
.hicon-filled-child-meal-a:before {
    content: "\F27A"
}
.hicon-filled-child-meal-b:before {
    content: "\F27B"
}
.hicon-filled-children-yukata:before {
    content: "\F27C"
}
.hicon-filled-family-with-teens-new:before {
    content: "\F27D"
}
.hicon-filled-female-only:before {
    content: "\F27E"
}
.hicon-filled-first-aid:before {
    content: "\F27F"
}
.hicon-filled-gender:before {
    content: "\F280"
}
.hicon-filled-hot-spring-access:before {
    content: "\F281"
}
.hicon-filled-hot-spring-bath:before {
    content: "\F282"
}
.hicon-filled-infant:before {
    content: "\F283"
}
.hicon-filled-itinerary:before {
    content: "\F284"
}
.hicon-filled-male-only:before {
    content: "\F285"
}
.hicon-filled-meal:before {
    content: "\F286"
}
.hicon-filled-modify-search:before {
    content: "\F287"
}
.hicon-filled-mountain-view:before {
    content: "\F288"
}
.hicon-filled-package-savings:before {
    content: "\F289"
}
.hicon-filled-package:before {
    content: "\F28A"
}
.hicon-filled-preselected-flight:before {
    content: "\F28B"
}
.hicon-filled-price-fluctuates:before {
    content: "\F28C"
}
.hicon-filled-salt:before {
    content: "\F28D"
}
.hicon-filled-spa-sauna:before {
    content: "\F28E"
}
.hicon-filled-tap-water:before {
    content: "\F28F"
}
.hicon-filled-time-icon:before {
    content: "\F290"
}
.hicon-filled-travel-protection:before {
    content: "\F291"
}
.hicon-filled-walkability:before {
    content: "\F292"
}
.hicon-filter-icon:before {
    content: "\F293"
}
.hicon-filter-line:before {
    content: "\F294"
}
.hicon-fire-extinguisher:before {
    content: "\F295"
}
.hicon-fire-solid:before {
    content: "\F296"
}
.hicon-fireplace:before {
    content: "\F297"
}
.hicon-first-aid-kit:before {
    content: "\F298"
}
.hicon-fishing:before {
    content: "\F299"
}
.hicon-fitness-center-charge:before {
    content: "\F29A"
}
.hicon-fitness-center:before {
    content: "\F29B"
}
.hicon-fitness-club:before {
    content: "\F29C"
}
.hicon-flash-deal-solid:before {
    content: "\F29D"
}
.hicon-flash-deal:before {
    content: "\F29E"
}
.hicon-flash-sale:before {
    content: "\F29F"
}
.hicon-flight-earn:before {
    content: "\F2A0"
}
.hicon-flights-airplane:before {
    content: "\F2A1"
}
.hicon-flights-destination-line:before {
    content: "\F2A2"
}
.hicon-flights-hotel-line:before {
    content: "\F2A3"
}
.hicon-flights-layover-exchange-line:before {
    content: "\F2A4"
}
.hicon-flights-one-ways:before {
    content: "\F2A5"
}
.hicon-flights-pin:before {
    content: "\F2A6"
}
.hicon-flights-round-trip:before {
    content: "\F2A7"
}
.hicon-flights-stop-layover-line:before {
    content: "\F2A8"
}
.hicon-foggy:before {
    content: "\F2A9"
}
.hicon-forgot-pass:before {
    content: "\F2AA"
}
.hicon-free-bicycle:before {
    content: "\F2AB"
}
.hicon-free-breakfast-line:before {
    content: "\F2AC"
}
.hicon-free-breakfast:before {
    content: "\F2AD"
}
.hicon-free-cancellation:before {
    content: "\F2AE"
}
.hicon-free-fitness-center:before {
    content: "\F2AF"
}
.hicon-free-night-stay-circle:before {
    content: "\F2B0"
}
.hicon-free-night-stay-solid:before {
    content: "\F2B1"
}
.hicon-free-night-stay:before {
    content: "\F2B2"
}
.hicon-free-night:before {
    content: "\F2B3"
}
.hicon-free-welcome-drink:before {
    content: "\F2B4"
}
.hicon-free-wifi-in-all-rooms:before {
    content: "\F2B5"
}
.hicon-freezing-drizzle:before {
    content: "\F2B6"
}
.hicon-freezing-rain:before {
    content: "\F2B7"
}
.hicon-frequent-traveler:before {
    content: "\F2B8"
}
.hicon-fresh-newly-built-property:before {
    content: "\F2B9"
}
.hicon-frigid-ice-crystals:before {
    content: "\F2BA"
}
.hicon-g-giftcard:before {
    content: "\F2BB"
}
.hicon-garden:before {
    content: "\F2BC"
}
.hicon-gca-wreath-left:before {
    content: "\F2BD"
}
.hicon-gca-wreath-right:before {
    content: "\F2BE"
}
.hicon-get-extra-space:before {
    content: "\F2BF"
}
.hicon-gift-card:before {
    content: "\F2C0"
}
.hicon-gift-souvenir-shop:before {
    content: "\F2C1"
}
.hicon-giftcard-instant:before {
    content: "\F2C2"
}
.hicon-giftcard:before {
    content: "\F2C3"
}
.hicon-give-us-feedback:before {
    content: "\F2C4"
}
.hicon-global:before {
    content: "\F2C5"
}
.hicon-golf-course-on-site:before {
    content: "\F2C6"
}
.hicon-golf-course-within-3k:before {
    content: "\F2C7"
}
.hicon-grocery-deliveries:before {
    content: "\F2C8"
}
.hicon-ground-floor:before {
    content: "\F2C9"
}
.hicon-group-travelers-hover:before {
    content: "\F2CA"
}
.hicon-group-travelers:before {
    content: "\F2CB"
}
.hicon-guest-house:before {
    content: "\F2CC"
}
.hicon-gym:before {
    content: "\F2CD"
}
.hicon-hail:before {
    content: "\F2CE"
}
.hicon-hair-dryer:before {
    content: "\F2CF"
}
.hicon-halal-restaurant-b:before {
    content: "\F2D0"
}
.hicon-halal-restaurant:before {
    content: "\F2D1"
}
.hicon-half-full-board:before {
    content: "\F2D2"
}
.hicon-hamburger-dote:before {
    content: "\F2D3"
}
.hicon-hamburger-menu:before {
    content: "\F2D4"
}
.hicon-hangers:before {
    content: "\F2D5"
}
.hicon-haze-windy:before {
    content: "\F2D6"
}
.hicon-heart-of-the-city:before {
    content: "\F2D7"
}
.hicon-heating:before {
    content: "\F2D8"
}
.hicon-heavy-rain:before {
    content: "\F2D9"
}
.hicon-heavy-snow:before {
    content: "\F2DA"
}
.hicon-high-floor:before {
    content: "\F2DB"
}
.hicon-high-to-low:before {
    content: "\F2DC"
}
.hicon-hiking-trails:before {
    content: "\F2DD"
}
.hicon-holiday-house:before {
    content: "\F2DE"
}
.hicon-homestay:before {
    content: "\F2DF"
}
.hicon-horse-riding:before {
    content: "\F2E0"
}
.hicon-hospitals-clinics:before {
    content: "\F2E1"
}
.hicon-hot-spring-access:before {
    content: "\F2E2"
}
.hicon-hot-spring-bath:before {
    content: "\F2E3"
}
.hicon-hot-tub:before {
    content: "\F2E4"
}
.hicon-hot:before {
    content: "\F2E5"
}
.hicon-hotel-benefit:before {
    content: "\F2E6"
}
.hicon-hotel-book-last:before {
    content: "\F2E7"
}
.hicon-hotel-data:before {
    content: "\F2E8"
}
.hicon-hotel-great-location:before {
    content: "\F2E9"
}
.hicon-hotel-people-looking:before {
    content: "\F2EA"
}
.hicon-hotel-star-half:before {
    content: "\F2EB"
}
.hicon-hotel-star:before {
    content: "\F2EC"
}
.hicon-hotel-wifi:before {
    content: "\F2ED"
}
.hicon-hotel:before {
    content: "\F2EE"
}
.hicon-hover-details:before {
    content: "\F2EF"
}
.hicon-human-large:before {
    content: "\F2F0"
}
.hicon-humidifier:before {
    content: "\F2F1"
}
.hicon-hurricane:before {
    content: "\F2F2"
}
.hicon-ic-filter-bestseller:before {
    content: "\F2F3"
}
.hicon-icon-arrow-down:before {
    content: "\F2F4"
}
.hicon-icon-arrow-up:before {
    content: "\F2F5"
}
.hicon-iftar:before {
    content: "\F2F6"
}
.hicon-import-calendar:before {
    content: "\F2F7"
}
.hicon-in-room-safe:before {
    content: "\F2F8"
}
.hicon-in-room-tablet:before {
    content: "\F2F9"
}
.hicon-in-room-video-games:before {
    content: "\F2FA"
}
.hicon-indoor-poor:before {
    content: "\F2FB"
}
.hicon-infant:before {
    content: "\F2FC"
}
.hicon-infirmary:before {
    content: "\F2FD"
}
.hicon-info-alert:before {
    content: "\F2FE"
}
.hicon-info-with-circle:before {
    content: "\F2FF"
}
.hicon-information:before {
    content: "\F300"
}
.hicon-inhouse-movies:before {
    content: "\F301"
}
.hicon-insider-deal-desktop:before {
    content: "\F302"
}
.hicon-installment-graph:before {
    content: "\F303"
}
.hicon-installment-line:before {
    content: "\F304"
}
.hicon-installment-solid:before {
    content: "\F305"
}
.hicon-instant-booking:before {
    content: "\F306"
}
.hicon-instant:before {
    content: "\F307"
}
.hicon-insure-your-hotel:before {
    content: "\F308"
}
.hicon-interconnecting-room-available:before {
    content: "\F309"
}
.hicon-invalided-file:before {
    content: "\F30A"
}
.hicon-ipod-docking-station:before {
    content: "\F30B"
}
.hicon-islamic-prayer-room:before {
    content: "\F30C"
}
.hicon-isolated-thunderstorms:before {
    content: "\F30D"
}
.hicon-jacuzzi-bathtub:before {
    content: "\F30E"
}
.hicon-japanese-futon:before {
    content: "\F30F"
}
.hicon-jcb:before {
    content: "\F310"
}
.hicon-karaoke:before {
    content: "\F311"
}
.hicon-keyless-access:before {
    content: "\F312"
}
.hicon-kids-club:before {
    content: "\F313"
}
.hicon-king-bed:before {
    content: "\F314"
}
.hicon-kitchen-new:before {
    content: "\F315"
}
.hicon-kitchen:before {
    content: "\F316"
}
.hicon-kitchenette-bold:before {
    content: "\F317"
}
.hicon-kitchenette:before {
    content: "\F318"
}
.hicon-kitchenware:before {
    content: "\F319"
}
.hicon-kosher-restaurant:before {
    content: "\F31A"
}
.hicon-lake-view:before {
    content: "\F31B"
}
.hicon-landmark:before {
    content: "\F31C"
}
.hicon-laptop-friendly-workspace:before {
    content: "\F31D"
}
.hicon-laptop-safe-box:before {
    content: "\F31E"
}
.hicon-last-minute-deal-2:before {
    content: "\F31F"
}
.hicon-last-minute-deal-solid:before {
    content: "\F320"
}
.hicon-last-minute-deal:before {
    content: "\F321"
}
.hicon-last-viewed:before {
    content: "\F322"
}
.hicon-late-check-out:before {
    content: "\F323"
}
.hicon-laundromat:before {
    content: "\F324"
}
.hicon-laundry-service:before {
    content: "\F325"
}
.hicon-length-of-stay:before {
    content: "\F326"
}
.hicon-library:before {
    content: "\F327"
}
.hicon-light-rain:before {
    content: "\F328"
}
.hicon-light-snow:before {
    content: "\F329"
}
.hicon-lightbox:before {
    content: "\F32A"
}
.hicon-limit-deal:before {
    content: "\F32B"
}
.hicon-limited-access-floor:before {
    content: "\F32C"
}
.hicon-line-close:before {
    content: "\F32D"
}
.hicon-line-empty-circle:before {
    content: "\F32E"
}
.hicon-linens:before {
    content: "\F32F"
}
.hicon-link-out-bold:before {
    content: "\F330"
}
.hicon-link-out:before {
    content: "\F331"
}
.hicon-lobby:before {
    content: "\F332"
}
.hicon-lockers:before {
    content: "\F333"
}
.hicon-logo-ah:before {
    content: "\F334"
}
.hicon-logo-wechat:before {
    content: "\F335"
}
.hicon-long-stay-deal:before {
    content: "\F336"
}
.hicon-long-stays-promotion:before {
    content: "\F337"
}
.hicon-long-stays:before {
    content: "\F338"
}
.hicon-low-floor:before {
    content: "\F339"
}
.hicon-low-to-high:before {
    content: "\F33A"
}
.hicon-luggage-storage:before {
    content: "\F33B"
}
.hicon-luggage:before {
    content: "\F33C"
}
.hicon-lunch:before {
    content: "\F33D"
}
.hicon-luxury:before {
    content: "\F33E"
}
.hicon-m-and-s:before {
    content: "\F33F"
}
.hicon-male-capsule-b:before {
    content: "\F340"
}
.hicon-male-capsule:before {
    content: "\F341"
}
.hicon-mandarin:before {
    content: "\F342"
}
.hicon-map-airport:before {
    content: "\F343"
}
.hicon-map-attraction:before {
    content: "\F344"
}
.hicon-map-city:before {
    content: "\F345"
}
.hicon-map-night:before {
    content: "\F346"
}
.hicon-map-pin-fat:before {
    content: "\F347"
}
.hicon-map-room:before {
    content: "\F348"
}
.hicon-map-transportation:before {
    content: "\F349"
}
.hicon-map-view:before {
    content: "\F34A"
}
.hicon-map-entry:before {
    content: "\F34B"
}
.hicon-massage:before {
    content: "\F34C"
}
.hicon-mastercard:before {
    content: "\F34D"
}
.hicon-max-occupancy-plus:before {
    content: "\F34E"
}
.hicon-max-occupancy:before {
    content: "\F34F"
}
.hicon-meeting-banquet:before {
    content: "\F350"
}
.hicon-meeting-facilities:before {
    content: "\F351"
}
.hicon-menu-about:before {
    content: "\F352"
}
.hicon-menu-account-hover:before {
    content: "\F353"
}
.hicon-menu-account:before {
    content: "\F354"
}
.hicon-menu-bookings:before {
    content: "\F355"
}
.hicon-menu-bug:before {
    content: "\F356"
}
.hicon-menu-calendar-hover:before {
    content: "\F357"
}
.hicon-menu-calendar:before {
    content: "\F358"
}
.hicon-menu-contact-us:before {
    content: "\F359"
}
.hicon-menu-favorite:before {
    content: "\F35A"
}
.hicon-menu-inbox-hover:before {
    content: "\F35B"
}
.hicon-menu-inbox:before {
    content: "\F35C"
}
.hicon-menu-listings-hover:before {
    content: "\F35D"
}
.hicon-menu-listings:before {
    content: "\F35E"
}
.hicon-menu-overviews-hover:before {
    content: "\F35F"
}
.hicon-menu-overviews:before {
    content: "\F360"
}
.hicon-menu-price-display:before {
    content: "\F361"
}
.hicon-menu-reservations-hover:before {
    content: "\F362"
}
.hicon-menu-reservations:before {
    content: "\F363"
}
.hicon-menu-reviews:before {
    content: "\F364"
}
.hicon-menu-today-deals:before {
    content: "\F365"
}
.hicon-message-left:before {
    content: "\F366"
}
.hicon-message-right:before {
    content: "\F367"
}
.hicon-metro-subway-station:before {
    content: "\F368"
}
.hicon-microwave:before {
    content: "\F369"
}
.hicon-mini-bar:before {
    content: "\F36A"
}
.hicon-minibar-b:before {
    content: "\F36B"
}
.hicon-minus-thin:before {
    content: "\F36C"
}
.hicon-minus-with-circle:before {
    content: "\F36D"
}
.hicon-mirror:before {
    content: "\F36E"
}
.hicon-mist:before {
    content: "\F36F"
}
.hicon-mixed-rain-hail:before {
    content: "\F370"
}
.hicon-mmb-account:before {
    content: "\F371"
}
.hicon-mmb-booking:before {
    content: "\F372"
}
.hicon-mmb-g-giftcard:before {
    content: "\F373"
}
.hicon-mmb-gift-cards:before {
    content: "\F374"
}
.hicon-mmb-inbox:before {
    content: "\F375"
}
.hicon-mmb-my-booking:before {
    content: "\F376"
}
.hicon-mmb-my-rewards:before {
    content: "\F377"
}
.hicon-mmb-payment-methods:before {
    content: "\F378"
}
.hicon-mmb-pointsmax:before {
    content: "\F379"
}
.hicon-mmb-refer-a-friend:before {
    content: "\F37A"
}
.hicon-mmb-reviews-b:before {
    content: "\F37B"
}
.hicon-mmb-reviews:before {
    content: "\F37C"
}
.hicon-mmb-vip:before {
    content: "\F37D"
}
.hicon-more-bedrooms:before {
    content: "\F37E"
}
.hicon-more-images:before {
    content: "\F37F"
}
.hicon-more-money:before {
    content: "\F380"
}
.hicon-mosquitonet:before {
    content: "\F381"
}
.hicon-most-popular-destinations:before {
    content: "\F382"
}
.hicon-mostly-cloudy-day:before {
    content: "\F383"
}
.hicon-mostly-cloudy-night:before {
    content: "\F384"
}
.hicon-motorbike:before {
    content: "\F385"
}
.hicon-mountain-view:before {
    content: "\F386"
}
.hicon-mse-icon:before {
    content: "\F387"
}
.hicon-mse-price-icon:before {
    content: "\F388"
}
.hicon-museum-arts:before {
    content: "\F389"
}
.hicon-nav-back:before {
    content: "\F38A"
}
.hicon-nav-down-bold:before {
    content: "\F38B"
}
.hicon-nav-down-thin:before {
    content: "\F38C"
}
.hicon-nav-left-bold:before {
    content: "\F38D"
}
.hicon-nav-left-thin:before {
    content: "\F38E"
}
.hicon-nav-right-bold:before {
    content: "\F38F"
}
.hicon-nav-right-thin:before {
    content: "\F390"
}
.hicon-nav-up-bold:before {
    content: "\F391"
}
.hicon-nav-up-thin:before {
    content: "\F392"
}
.hicon-negative:before {
    content: "\F393"
}
.hicon-neighborhood-line:before {
    content: "\F394"
}
.hicon-neighborhood:before {
    content: "\F395"
}
.hicon-new-property:before {
    content: "\F396"
}
.hicon-nha-icon:before {
    content: "\F397"
}
.hicon-nha-logo:before {
    content: "\F398"
}
.hicon-nightclub:before {
    content: "\F399"
}
.hicon-nightlife:before {
    content: "\F39A"
}
.hicon-no-breakfast-a:before {
    content: "\F39B"
}
.hicon-no-breakfast-b:before {
    content: "\F39C"
}
.hicon-no-cc-fee:before {
    content: "\F39D"
}
.hicon-no-cc:before {
    content: "\F39E"
}
.hicon-no-children-allowed:before {
    content: "\F39F"
}
.hicon-non-smoking-room:before {
    content: "\F3A0"
}
.hicon-non-smoking:before {
    content: "\F3A1"
}
.hicon-not-available:before {
    content: "\F3A2"
}
.hicon-noti-balloon-answer:before {
    content: "\F3A3"
}
.hicon-noti-balloon-question:before {
    content: "\F3A4"
}
.hicon-noti-check-mark-rounded-inner:before {
    content: "\F3A5"
}
.hicon-noti-check-mark-sharp:before {
    content: "\F3A6"
}
.hicon-notice-info:before {
    content: "\F3A7"
}
.hicon-number-of-floors:before {
    content: "\F3A8"
}
.hicon-number-of-rooms:before {
    content: "\F3A9"
}
.hicon-number-reviews:before {
    content: "\F3AA"
}
.hicon-number1:before {
    content: "\F3AB"
}
.hicon-occupancy:before {
    content: "\F3AC"
}
.hicon-ocean-view:before {
    content: "\F3AD"
}
.hicon-one-click:before {
    content: "\F3AE"
}
.hicon-open-a-new-tab:before {
    content: "\F3AF"
}
.hicon-outdoor-pool:before {
    content: "\F3B0"
}
.hicon-paperclip:before {
    content: "\F3B1"
}
.hicon-partly-cloudy-day:before {
    content: "\F3B2"
}
.hicon-partly-cloudy-night:before {
    content: "\F3B3"
}
.hicon-password:before {
    content: "\F3B4"
}
.hicon-pay-at-hotel-in-cash:before {
    content: "\F3B5"
}
.hicon-pay-at-the-place:before {
    content: "\F3B6"
}
.hicon-pay-on-checkin:before {
    content: "\F3B7"
}
.hicon-payment-option-no-credit-card:before {
    content: "\F3B8"
}
.hicon-payments-active:before {
    content: "\F3B9"
}
.hicon-payments:before {
    content: "\F3BA"
}
.hicon-pending-bold:before {
    content: "\F3BB"
}
.hicon-pending:before {
    content: "\F3BC"
}
.hicon-personal-cheque:before {
    content: "\F3BD"
}
.hicon-personal-details-filled:before {
    content: "\F3BE"
}
.hicon-personal-details:before {
    content: "\F3BF"
}
.hicon-pet-allowed-room:before {
    content: "\F3C0"
}
.hicon-pets-allowed:before {
    content: "\F3C1"
}
.hicon-photo-uploader:before {
    content: "\F3C2"
}
.hicon-photocopying:before {
    content: "\F3C3"
}
.hicon-pin-airport:before {
    content: "\F3C4"
}
.hicon-pin-beach:before {
    content: "\F3C5"
}
.hicon-pin-business:before {
    content: "\F3C6"
}
.hicon-pin-casino:before {
    content: "\F3C7"
}
.hicon-pin-culture:before {
    content: "\F3C8"
}
.hicon-pin-excellent:before {
    content: "\F3C9"
}
.hicon-pin-family-fun:before {
    content: "\F3CA"
}
.hicon-pin-heart-of-city-building:before {
    content: "\F3CB"
}
.hicon-pin-heart-of-city-mind:before {
    content: "\F3CC"
}
.hicon-pin-heart-of-city:before {
    content: "\F3CD"
}
.hicon-pin-heart-of-the-city:before {
    content: "\F3CE"
}
.hicon-pin-mountain-view:before {
    content: "\F3CF"
}
.hicon-pin-museum-arts:before {
    content: "\F3D0"
}
.hicon-pin-nightlife:before {
    content: "\F3D1"
}
.hicon-pin-poi:before {
    content: "\F3D2"
}
.hicon-pin-religious:before {
    content: "\F3D3"
}
.hicon-pin-restaurant:before {
    content: "\F3D4"
}
.hicon-pin-romance:before {
    content: "\F3D5"
}
.hicon-pin-shopping-markets:before {
    content: "\F3D6"
}
.hicon-pin-sightseeing:before {
    content: "\F3D7"
}
.hicon-pin-skiing:before {
    content: "\F3D8"
}
.hicon-pin-spas:before {
    content: "\F3D9"
}
.hicon-pin-tennis-courts:before {
    content: "\F3DA"
}
.hicon-pin-transportation-hub:before {
    content: "\F3DB"
}
.hicon-pin:before {
    content: "\F3DC"
}
.hicon-pin-star:before {
    content: "\F3DD"
}
.hicon-plus-thin:before {
    content: "\F3DE"
}
.hicon-plus-with-circle:before {
    content: "\F3DF"
}
.hicon-poi-text-search:before {
    content: "\F3E0"
}
.hicon-poi:before {
    content: "\F3E1"
}
.hicon-pointsmax-line-logo:before {
    content: "\F3E2"
}
.hicon-pointsmax-logo:before {
    content: "\F3E3"
}
.hicon-pointsmax-placeholder:before {
    content: "\F3E4"
}
.hicon-pointsmax:before {
    content: "\F3E5"
}
.hicon-police:before {
    content: "\F3E6"
}
.hicon-pool-kids:before {
    content: "\F3E7"
}
.hicon-pool:before {
    content: "\F3E8"
}
.hicon-poolside-bar:before {
    content: "\F3E9"
}
.hicon-popular-guests:before {
    content: "\F3EA"
}
.hicon-popular-icon:before {
    content: "\F3EB"
}
.hicon-portable-wifi-rental:before {
    content: "\F3EC"
}
.hicon-positive:before {
    content: "\F3ED"
}
.hicon-postal-service:before {
    content: "\F3EE"
}
.hicon-prepayment:before {
    content: "\F3EF"
}
.hicon-price-display:before {
    content: "\F3F0"
}
.hicon-price-drop:before {
    content: "\F3F1"
}
.hicon-price-messaging:before {
    content: "\F3F2"
}
.hicon-price-seen-user:before {
    content: "\F3F3"
}
.hicon-printer:before {
    content: "\F3F4"
}
.hicon-privacy-policy:before {
    content: "\F3F5"
}
.hicon-private-bath:before {
    content: "\F3F6"
}
.hicon-private-beach:before {
    content: "\F3F7"
}
.hicon-private-entrance:before {
    content: "\F3F8"
}
.hicon-private-pool:before {
    content: "\F3F9"
}
.hicon-profiles:before {
    content: "\F3FA"
}
.hicon-promo-code:before {
    content: "\F3FB"
}
.hicon-promo-score:before {
    content: "\F3FC"
}
.hicon-promoeligible-star:before {
    content: "\F3FD"
}
.hicon-promotion-right:before {
    content: "\F3FE"
}
.hicon-properties-without-price:before {
    content: "\F3FF"
}
.hicon-properties:before {
    content: "\F400"
}
.hicon-property-name:before {
    content: "\F401"
}
.hicon-property-owner:before {
    content: "\F402"
}
.hicon-property-tooltip:before {
    content: "\F403"
}
.hicon-property-upgrades-line:before {
    content: "\F404"
}
.hicon-queen-bed-bold:before {
    content: "\F405"
}
.hicon-queen-bed:before {
    content: "\F406"
}
.hicon-question-mark:before {
    content: "\F407"
}
.hicon-questions:before {
    content: "\F408"
}
.hicon-quick-filter:before {
    content: "\F409"
}
.hicon-rain-sleet:before {
    content: "\F40A"
}
.hicon-rain-to-snow-showers:before {
    content: "\F40B"
}
.hicon-rain:before {
    content: "\F40C"
}
.hicon-ratings:before {
    content: "\F40D"
}
.hicon-recently:before {
    content: "\F40E"
}
.hicon-reception:before {
    content: "\F40F"
}
.hicon-recommendations:before {
    content: "\F410"
}
.hicon-refresh-bold:before {
    content: "\F411"
}
.hicon-refresh:before {
    content: "\F412"
}
.hicon-refrigerator:before {
    content: "\F413"
}
.hicon-regular-in-room-emergency-alarm:before {
    content: "\F414"
}
.hicon-regular-in-room-toilet-and-bathtub-with-handrails:before {
    content: "\F415"
}
.hicon-regular-internet-access-connecting-port-only:before {
    content: "\F416"
}
.hicon-regular-accept-guide-dog-in-guest-room:before {
    content: "\F417"
}
.hicon-regular-accept-guide-dog:before {
    content: "\F418"
}
.hicon-regular-aesthetic-salon:before {
    content: "\F419"
}
.hicon-regular-airline-counter:before {
    content: "\F41A"
}
.hicon-regular-amusement-arcade:before {
    content: "\F41B"
}
.hicon-regular-amusement-park:before {
    content: "\F41C"
}
.hicon-regular-ana-crowne-plaza:before {
    content: "\F41D"
}
.hicon-regular-annex:before {
    content: "\F41E"
}
.hicon-regular-archery:before {
    content: "\F41F"
}
.hicon-regular-aromatherapy:before {
    content: "\F420"
}
.hicon-regular-automatic-mahjong:before {
    content: "\F421"
}
.hicon-regular-baby-diaper:before {
    content: "\F422"
}
.hicon-regular-baby-food-prepared:before {
    content: "\F423"
}
.hicon-regular-baby-kids-room:before {
    content: "\F424"
}
.hicon-regular-baby:before {
    content: "\F425"
}
.hicon-regular-barber-shop:before {
    content: "\F426"
}
.hicon-regular-baseball:before {
    content: "\F427"
}
.hicon-regular-bath-materials:before {
    content: "\F428"
}
.hicon-regular-bath-temperature:before {
    content: "\F429"
}
.hicon-regular-bath-water:before {
    content: "\F42A"
}
.hicon-regular-beauty-salon:before {
    content: "\F42B"
}
.hicon-regular-bicycle-rental-for-kids:before {
    content: "\F42C"
}
.hicon-regular-big-dog-allowed:before {
    content: "\F42D"
}
.hicon-regular-botanical-observation:before {
    content: "\F42E"
}
.hicon-regular-braille-support-in-rooms-and-public-spaces:before {
    content: "\F42F"
}
.hicon-regular-braille-support:before {
    content: "\F430"
}
.hicon-regular-capacity:before {
    content: "\F431"
}
.hicon-regular-change-flight:before {
    content: "\F432"
}
.hicon-regular-chargeable-internet-access:before {
    content: "\F433"
}
.hicon-regular-child-meal-a:before {
    content: "\F434"
}
.hicon-regular-child-meal-b:before {
    content: "\F435"
}
.hicon-regular-children-yukata:before {
    content: "\F436"
}
.hicon-regular-chinese-cuisine:before {
    content: "\F437"
}
.hicon-regular-clam-digging:before {
    content: "\F438"
}
.hicon-regular-complimentary-shuttle-service-reservation-required:before {
    content: "\F439"
}
.hicon-regular-complimentary-shuttle-service:before {
    content: "\F43A"
}
.hicon-regular-computer:before {
    content: "\F43B"
}
.hicon-regular-cormorant-fishing:before {
    content: "\F43C"
}
.hicon-regular-cosmetics:before {
    content: "\F43D"
}
.hicon-regular-countryside:before {
    content: "\F43E"
}
.hicon-regular-craft-workshop:before {
    content: "\F43F"
}
.hicon-regular-cycling:before {
    content: "\F440"
}
.hicon-regular-dance-hall:before {
    content: "\F441"
}
.hicon-regular-electric-hot-water-pot:before {
    content: "\F442"
}
.hicon-regular-elevator-for-wheelchair:before {
    content: "\F443"
}
.hicon-regular-emergency-alarm-for-hearing-impaired:before {
    content: "\F444"
}
.hicon-regular-emergency-alarm:before {
    content: "\F445"
}
.hicon-regular-english:before {
    content: "\F446"
}
.hicon-regular-exposition-hall:before {
    content: "\F447"
}
.hicon-regular-family-bath:before {
    content: "\F448"
}
.hicon-regular-family-with-teens-new:before {
    content: "\F449"
}
.hicon-regular-farm-fish-tourism:before {
    content: "\F44A"
}
.hicon-regular-female-only:before {
    content: "\F44B"
}
.hicon-regular-first-aid:before {
    content: "\F44C"
}
.hicon-regular-fishing-gear-rental:before {
    content: "\F44D"
}
.hicon-regular-gallery:before {
    content: "\F44E"
}
.hicon-regular-gateball-field:before {
    content: "\F44F"
}
.hicon-regular-gateball:before {
    content: "\F450"
}
.hicon-regular-gender:before {
    content: "\F451"
}
.hicon-regular-go-game:before {
    content: "\F452"
}
.hicon-regular-gravel-path-at-entrance:before {
    content: "\F453"
}
.hicon-regular-gymnasium:before {
    content: "\F454"
}
.hicon-regular-handrails-in-stairs-and-hallways:before {
    content: "\F455"
}
.hicon-regular-hang-gliding:before {
    content: "\F456"
}
.hicon-regular-hiking:before {
    content: "\F457"
}
.hicon-regular-hot-spring-access:before {
    content: "\F458"
}
.hicon-regular-hot-spring-bath:before {
    content: "\F459"
}
.hicon-regular-hotel-chain:before {
    content: "\F45A"
}
.hicon-regular-hotel-inside-accessible-by-wheelchair:before {
    content: "\F45B"
}
.hicon-regular-hunting:before {
    content: "\F45C"
}
.hicon-regular-in-room-emergency-alarm-for-hearing-impaired:before {
    content: "\F45D"
}
.hicon-regular-infant:before {
    content: "\F45E"
}
.hicon-regular-insect-collection:before {
    content: "\F45F"
}
.hicon-regular-internet-access-from-all-rooms:before {
    content: "\F460"
}
.hicon-regular-internet-access-limited-number-of-rooms:before {
    content: "\F461"
}
.hicon-regular-itinerary:before {
    content: "\F462"
}
.hicon-regular-japanese-cuisine:before {
    content: "\F463"
}
.hicon-regular-japanese-style-tea-room:before {
    content: "\F464"
}
.hicon-regular-japanese-style-toilet-squat-type:before {
    content: "\F465"
}
.hicon-regular-large-indoor-bath:before {
    content: "\F466"
}
.hicon-regular-light-meal-corner:before {
    content: "\F467"
}
.hicon-regular-local-event:before {
    content: "\F468"
}
.hicon-regular-mahjong:before {
    content: "\F469"
}
.hicon-regular-male-only:before {
    content: "\F46A"
}
.hicon-regular-martial-arts-gym:before {
    content: "\F46B"
}
.hicon-regular-meal:before {
    content: "\F46C"
}
.hicon-regular-meditation-hall:before {
    content: "\F46D"
}
.hicon-regular-modify-search:before {
    content: "\F46E"
}
.hicon-regular-mountain-view:before {
    content: "\F46F"
}
.hicon-regular-multipurpose-sports-ground:before {
    content: "\F470"
}
.hicon-regular-night:before {
    content: "\F471"
}
.hicon-regular-noh-stage:before {
    content: "\F472"
}
.hicon-regular-open-air-bath-mixed-gender:before {
    content: "\F473"
}
.hicon-regular-open-air-bath-none-mixed:before {
    content: "\F474"
}
.hicon-regular-open-air-workshop:before {
    content: "\F475"
}
.hicon-regular-orienteering:before {
    content: "\F476"
}
.hicon-regular-package-savings:before {
    content: "\F477"
}
.hicon-regular-package:before {
    content: "\F478"
}
.hicon-regular-pet-can-bath-in-room:before {
    content: "\F479"
}
.hicon-regular-pet-can-eat-in-room:before {
    content: "\F47A"
}
.hicon-regular-pharmacy:before {
    content: "\F47B"
}
.hicon-regular-pool-seasonal-opening:before {
    content: "\F47C"
}
.hicon-regular-pool-year-round:before {
    content: "\F47D"
}
.hicon-regular-prayer-room:before {
    content: "\F47E"
}
.hicon-regular-preselected-flight:before {
    content: "\F47F"
}
.hicon-regular-price-fluctuates:before {
    content: "\F480"
}
.hicon-regular-private-open-air-bath:before {
    content: "\F481"
}
.hicon-regular-queen-bed:before {
    content: "\F482"
}
.hicon-regular-razor:before {
    content: "\F483"
}
.hicon-regular-reading-room:before {
    content: "\F484"
}
.hicon-regular-rooms-with-kotatsu:before {
    content: "\F485"
}
.hicon-regular-ropes-course:before {
    content: "\F486"
}
.hicon-regular-rugby:before {
    content: "\F487"
}
.hicon-regular-salt:before {
    content: "\F488"
}
.hicon-regular-scuba-diving:before {
    content: "\F489"
}
.hicon-regular-seat-with-leg-room:before {
    content: "\F48A"
}
.hicon-regular-seine-fishing:before {
    content: "\F48B"
}
.hicon-regular-shared-acccessible-toilet:before {
    content: "\F48C"
}
.hicon-regular-shared-private-hot-bath-accessible-by-wheelchair:before {
    content: "\F48D"
}
.hicon-regular-shared-western-style-toilets:before {
    content: "\F48E"
}
.hicon-regular-shogi:before {
    content: "\F48F"
}
.hicon-regular-show-more:before {
    content: "\F490"
}
.hicon-regular-shower-booth:before {
    content: "\F491"
}
.hicon-regular-sign-language-support-at-reception:before {
    content: "\F492"
}
.hicon-regular-skating:before {
    content: "\F493"
}
.hicon-regular-ski-clothes-rental:before {
    content: "\F494"
}
.hicon-regular-ski-equipment-rentals-for-kids:before {
    content: "\F495"
}
.hicon-regular-ski-rental:before {
    content: "\F496"
}
.hicon-regular-ski-shoes-rental:before {
    content: "\F497"
}
.hicon-regular-ski-slope:before {
    content: "\F498"
}
.hicon-regular-skin-diving:before {
    content: "\F499"
}
.hicon-regular-skylounge:before {
    content: "\F49A"
}
.hicon-regular-sled-rental-for-kids:before {
    content: "\F49B"
}
.hicon-regular-slippers-for-kids:before {
    content: "\F49C"
}
.hicon-regular-slope-at-entrance:before {
    content: "\F49D"
}
.hicon-regular-small-dog-allowed-indoor-dogs:before {
    content: "\F49E"
}
.hicon-regular-snowboard-rental:before {
    content: "\F49F"
}
.hicon-regular-soccer:before {
    content: "\F4A0"
}
.hicon-regular-spa-sauna:before {
    content: "\F4A1"
}
.hicon-regular-sudate:before {
    content: "\F4A2"
}
.hicon-regular-tap-water:before {
    content: "\F4A3"
}
.hicon-regular-tea-lounge:before {
    content: "\F4A4"
}
.hicon-regular-tennis-racket-rental:before {
    content: "\F4A5"
}
.hicon-regular-tennis:before {
    content: "\F4A6"
}
.hicon-regular-theatre:before {
    content: "\F4A7"
}
.hicon-regular-time-icon:before {
    content: "\F4A8"
}
.hicon-regular-toilet-and-bathtub-with-handrails:before {
    content: "\F4A9"
}
.hicon-regular-toilet-with-bidet:before {
    content: "\F4AA"
}
.hicon-regular-toilet:before {
    content: "\F4AB"
}
.hicon-regular-toothbrush:before {
    content: "\F4AC"
}
.hicon-regular-travel-agency:before {
    content: "\F4AD"
}
.hicon-regular-travel-protection:before {
    content: "\F4AE"
}
.hicon-regular-travelers:before {
    content: "\F4AF"
}
.hicon-regular-valley:before {
    content: "\F4B0"
}
.hicon-regular-voleyball:before {
    content: "\F4B1"
}
.hicon-regular-walkability:before {
    content: "\F4B2"
}
.hicon-regular-wedding-venue:before {
    content: "\F4B3"
}
.hicon-regular-western-cuisine:before {
    content: "\F4B4"
}
.hicon-regular-wheel-chair-friendly-rooms:before {
    content: "\F4B5"
}
.hicon-regular-wheelchair-accessible-rooms:before {
    content: "\F4B6"
}
.hicon-regular-wild-bird-observation:before {
    content: "\F4B7"
}
.hicon-regular-workshop:before {
    content: "\F4B8"
}
.hicon-regular-yachting:before {
    content: "\F4B9"
}
.hicon-regular-yukata-for-kids:before {
    content: "\F4BA"
}
.hicon-regular-yukata-japanese-pajamas:before {
    content: "\F4BB"
}
.hicon-religious:before {
    content: "\F4BC"
}
.hicon-reporting-property:before {
    content: "\F4BD"
}
.hicon-reporting:before {
    content: "\F4BE"
}
.hicon-reservation-active:before {
    content: "\F4BF"
}
.hicon-reservation:before {
    content: "\F4C0"
}
.hicon-residence:before {
    content: "\F4C1"
}
.hicon-resort-property-plan:before {
    content: "\F4C2"
}
.hicon-restaurant-credit:before {
    content: "\F4C3"
}
.hicon-restaurant:before {
    content: "\F4C4"
}
.hicon-review-icon:before {
    content: "\F4C5"
}
.hicon-review-line:before {
    content: "\F4C6"
}
.hicon-review-your-stay:before {
    content: "\F4C7"
}
.hicon-ribbon-card-no-circle:before {
    content: "\F4C8"
}
.hicon-ribbon-card-solid:before {
    content: "\F4C9"
}
.hicon-ribbon-card:before {
    content: "\F4CA"
}
.hicon-right-tick:before {
    content: "\F4CB"
}
.hicon-romance:before {
    content: "\F4CC"
}
.hicon-room-plan:before {
    content: "\F4CD"
}
.hicon-room-promotion-for-flashdeal:before {
    content: "\F4CE"
}
.hicon-room-promotion-for-mobiledeal:before {
    content: "\F4CF"
}
.hicon-room-promotion-for-otherdeal:before {
    content: "\F4D0"
}
.hicon-room-promotion-for-smartdeal:before {
    content: "\F4D1"
}
.hicon-room-promotion-super-savedeal:before {
    content: "\F4D2"
}
.hicon-room-promotion:before {
    content: "\F4D3"
}
.hicon-room-service:before {
    content: "\F4D4"
}
.hicon-room-size:before {
    content: "\F4D5"
}
.hicon-room-voltage:before {
    content: "\F4D6"
}
.hicon-round-trip:before {
    content: "\F4D7"
}
.hicon-safety-deposit-boxes:before {
    content: "\F4D8"
}
.hicon-salon:before {
    content: "\F4D9"
}
.hicon-satellite-cable-channels:before {
    content: "\F4DA"
}
.hicon-satellite-television:before {
    content: "\F4DB"
}
.hicon-sauna:before {
    content: "\F4DC"
}
.hicon-save-to-pdf:before {
    content: "\F4DD"
}
.hicon-scale:before {
    content: "\F4DE"
}
.hicon-scattered-clouds:before {
    content: "\F4DF"
}
.hicon-scattered-flurries:before {
    content: "\F4E0"
}
.hicon-scattered-showers:before {
    content: "\F4E1"
}
.hicon-scattered-snow-showe:before {
    content: "\F4E2"
}
.hicon-scattered-thunderstorms:before {
    content: "\F4E3"
}
.hicon-scissor:before {
    content: "\F4E4"
}
.hicon-search-box:before {
    content: "\F4E5"
}
.hicon-search-calendar:before {
    content: "\F4E6"
}
.hicon-search-icon:before {
    content: "\F4E7"
}
.hicon-seating-area:before {
    content: "\F4E8"
}
.hicon-sec:before {
    content: "\F4E9"
}
.hicon-secure-icon:before {
    content: "\F4EA"
}
.hicon-secure-payment:before {
    content: "\F4EB"
}
.hicon-selected-property:before {
    content: "\F4EC"
}
.hicon-self-parking:before {
    content: "\F4ED"
}
.hicon-semi-double-bed-b:before {
    content: "\F4EE"
}
.hicon-semi-double-bed:before {
    content: "\F4EF"
}
.hicon-send-arrow:before {
    content: "\F4F0"
}
.hicon-separate-dining-area:before {
    content: "\F4F1"
}
.hicon-separate-dinning-area-regular:before {
    content: "\F4F2"
}
.hicon-separate-living-room:before {
    content: "\F4F3"
}
.hicon-separate-shower-and-tub:before {
    content: "\F4F4"
}
.hicon-seriously-multilingual:before {
    content: "\F4F5"
}
.hicon-sewing-kit:before {
    content: "\F4F6"
}
.hicon-shampoo:before {
    content: "\F4F7"
}
.hicon-share:before {
    content: "\F4F8"
}
.hicon-shared-bath:before {
    content: "\F4F9"
}
.hicon-shared-kitchen:before {
    content: "\F4FA"
}
.hicon-shoeshine-kit:before {
    content: "\F4FB"
}
.hicon-shopping-markets:before {
    content: "\F4FC"
}
.hicon-shopping:before {
    content: "\F4FD"
}
.hicon-shops:before {
    content: "\F4FE"
}
.hicon-show-more:before {
    content: "\F4FF"
}
.hicon-shower-and-bathtub:before {
    content: "\F500"
}
.hicon-shower-rain:before {
    content: "\F501"
}
.hicon-shower:before {
    content: "\F502"
}
.hicon-shrine:before {
    content: "\F503"
}
.hicon-shuttle-service:before {
    content: "\F504"
}
.hicon-sightseeing:before {
    content: "\F505"
}
.hicon-single-bed-b:before {
    content: "\F506"
}
.hicon-single-bed:before {
    content: "\F507"
}
.hicon-size-of-rooms:before {
    content: "\F508"
}
.hicon-ski-equipment-rentals:before {
    content: "\F509"
}
.hicon-ski-lessons:before {
    content: "\F50A"
}
.hicon-skiing:before {
    content: "\F50B"
}
.hicon-sleet:before {
    content: "\F50C"
}
.hicon-slippers:before {
    content: "\F50D"
}
.hicon-smoke-detector:before {
    content: "\F50E"
}
.hicon-smoke-windy:before {
    content: "\F50F"
}
.hicon-smoking-allowed:before {
    content: "\F510"
}
.hicon-smoking-area:before {
    content: "\F511"
}
.hicon-smorking-yes-no:before {
    content: "\F512"
}
.hicon-snorkeling:before {
    content: "\F513"
}
.hicon-snow:before {
    content: "\F514"
}
.hicon-sofa-bed:before {
    content: "\F515"
}
.hicon-sofa:before {
    content: "\F516"
}
.hicon-solarium:before {
    content: "\F517"
}
.hicon-solid-24hour-front-desk:before {
    content: "\F518"
}
.hicon-solid-24hour-room-service:before {
    content: "\F519"
}
.hicon-solid-adults-b:before {
    content: "\F51A"
}
.hicon-solid-adults-c:before {
    content: "\F51B"
}
.hicon-solid-adults:before {
    content: "\F51C"
}
.hicon-solid-air-conditioning:before {
    content: "\F51D"
}
.hicon-solid-airport-transfer-service:before {
    content: "\F51E"
}
.hicon-solid-airport-transfer:before {
    content: "\F51F"
}
.hicon-solid-babies:before {
    content: "\F520"
}
.hicon-solid-bar:before {
    content: "\F521"
}
.hicon-solid-beach:before {
    content: "\F522"
}
.hicon-solid-bedroom-door:before {
    content: "\F523"
}
.hicon-solid-bedroom:before {
    content: "\F524"
}
.hicon-solid-best-seller:before {
    content: "\F525"
}
.hicon-solid-breakfast:before {
    content: "\F526"
}
.hicon-solid-business-hover:before {
    content: "\F527"
}
.hicon-solid-business-travel:before {
    content: "\F528"
}
.hicon-solid-calendar:before {
    content: "\F529"
}
.hicon-solid-car-park:before {
    content: "\F52A"
}
.hicon-solid-chat:before {
    content: "\F52B"
}
.hicon-solid-cleanliness:before {
    content: "\F52C"
}
.hicon-solid-clock:before {
    content: "\F52D"
}
.hicon-solid-compset-comparison:before {
    content: "\F52E"
}
.hicon-solid-contact-details:before {
    content: "\F52F"
}
.hicon-solid-couple-hover:before {
    content: "\F530"
}
.hicon-solid-couple:before {
    content: "\F531"
}
.hicon-solid-email-envelope:before {
    content: "\F532"
}
.hicon-solid-everybody-fits:before {
    content: "\F533"
}
.hicon-solid-families-b:before {
    content: "\F534"
}
.hicon-solid-families:before {
    content: "\F535"
}
.hicon-solid-family-friendly:before {
    content: "\F536"
}
.hicon-solid-family-with-teens:before {
    content: "\F537"
}
.hicon-solid-fitness:before {
    content: "\F538"
}
.hicon-solid-flash:before {
    content: "\F539"
}
.hicon-solid-flights-airplane:before {
    content: "\F53A"
}
.hicon-solid-flights-destination:before {
    content: "\F53B"
}
.hicon-solid-flights-hotel:before {
    content: "\F53C"
}
.hicon-solid-flights-layover-exchange:before {
    content: "\F53D"
}
.hicon-solid-flights-stop-layover:before {
    content: "\F53E"
}
.hicon-solid-free-cancellation:before {
    content: "\F53F"
}
.hicon-solid-free-extra-bed:before {
    content: "\F540"
}
.hicon-solid-free-wi-fi:before {
    content: "\F541"
}
.hicon-solid-garden:before {
    content: "\F542"
}
.hicon-solid-generic-traveler-type:before {
    content: "\F543"
}
.hicon-solid-green-credit-card:before {
    content: "\F544"
}
.hicon-solid-groups-b:before {
    content: "\F545"
}
.hicon-solid-groups:before {
    content: "\F546"
}
.hicon-solid-hair-dryer:before {
    content: "\F547"
}
.hicon-solid-insider-deal-flag:before {
    content: "\F548"
}
.hicon-solid-jtb-loyalty:before {
    content: "\F549"
}
.hicon-solid-ms-key-dark-grey:before {
    content: "\F54A"
}
.hicon-solid-number-of-rooms:before {
    content: "\F54B"
}
.hicon-solid-payment-options:before {
    content: "\F54C"
}
.hicon-solid-price-match:before {
    content: "\F54D"
}
.hicon-solid-private-entrance:before {
    content: "\F54E"
}
.hicon-solid-property-upgrades:before {
    content: "\F54F"
}
.hicon-solid-restaurant:before {
    content: "\F550"
}
.hicon-solid-room-offers:before {
    content: "\F551"
}
.hicon-solid-secure-icon:before {
    content: "\F552"
}
.hicon-solid-spa:before {
    content: "\F553"
}
.hicon-solid-special-requests-new:before {
    content: "\F554"
}
.hicon-solid-special-requests:before {
    content: "\F555"
}
.hicon-solid-swimming-pool:before {
    content: "\F556"
}
.hicon-solid-tax-receipt:before {
    content: "\F557"
}
.hicon-solid-telephone:before {
    content: "\F558"
}
.hicon-solid-total-support:before {
    content: "\F559"
}
.hicon-solid-transportation:before {
    content: "\F55A"
}
.hicon-solid-unlock:before {
    content: "\F55B"
}
.hicon-solo-hover:before {
    content: "\F55C"
}
.hicon-solo:before {
    content: "\F55D"
}
.hicon-sort-line:before {
    content: "\F55E"
}
.hicon-soundproofing:before {
    content: "\F55F"
}
.hicon-spa-credit:before {
    content: "\F560"
}
.hicon-spa-sauna:before {
    content: "\F561"
}
.hicon-spas:before {
    content: "\F562"
}
.hicon-special-condition:before {
    content: "\F563"
}
.hicon-spoken-1:before {
    content: "\F564"
}
.hicon-spoken-10:before {
    content: "\F565"
}
.hicon-spoken-11:before {
    content: "\F566"
}
.hicon-spoken-12:before {
    content: "\F567"
}
.hicon-spoken-13:before {
    content: "\F568"
}
.hicon-spoken-2:before {
    content: "\F569"
}
.hicon-spoken-20:before {
    content: "\F56A"
}
.hicon-spoken-22:before {
    content: "\F56B"
}
.hicon-spoken-23:before {
    content: "\F56C"
}
.hicon-spoken-24:before {
    content: "\F56D"
}
.hicon-spoken-25:before {
    content: "\F56E"
}
.hicon-spoken-26:before {
    content: "\F56F"
}
.hicon-spoken-27:before {
    content: "\F570"
}
.hicon-spoken-28:before {
    content: "\F571"
}
.hicon-spoken-29:before {
    content: "\F572"
}
.hicon-spoken-3:before {
    content: "\F573"
}
.hicon-spoken-30:before {
    content: "\F574"
}
.hicon-spoken-31:before {
    content: "\F575"
}
.hicon-spoken-32:before {
    content: "\F576"
}
.hicon-spoken-33:before {
    content: "\F577"
}
.hicon-spoken-34:before {
    content: "\F578"
}
.hicon-spoken-35:before {
    content: "\F579"
}
.hicon-spoken-36:before {
    content: "\F57A"
}
.hicon-spoken-37:before {
    content: "\F57B"
}
.hicon-spoken-38:before {
    content: "\F57C"
}
.hicon-spoken-39:before {
    content: "\F57D"
}
.hicon-spoken-4:before {
    content: "\F57E"
}
.hicon-spoken-40:before {
    content: "\F57F"
}
.hicon-spoken-43:before {
    content: "\F580"
}
.hicon-spoken-46:before {
    content: "\F581"
}
.hicon-spoken-47:before {
    content: "\F582"
}
.hicon-spoken-48:before {
    content: "\F583"
}
.hicon-spoken-49:before {
    content: "\F584"
}
.hicon-spoken-5:before {
    content: "\F585"
}
.hicon-spoken-50:before {
    content: "\F586"
}
.hicon-spoken-6:before {
    content: "\F587"
}
.hicon-spoken-7:before {
    content: "\F588"
}
.hicon-spoken-8:before {
    content: "\F589"
}
.hicon-spoken-9:before {
    content: "\F58A"
}
.hicon-sqm:before {
    content: "\F58B"
}
.hicon-squash-courts:before {
    content: "\F58C"
}
.hicon-stack-of-square-papers:before {
    content: "\F58D"
}
.hicon-star-1:before {
    content: "\F58E"
}
.hicon-star-15:before {
    content: "\F58F"
}
.hicon-star-2:before {
    content: "\F590"
}
.hicon-star-25:before {
    content: "\F591"
}
.hicon-star-3:before {
    content: "\F592"
}
.hicon-star-35:before {
    content: "\F593"
}
.hicon-star-4:before {
    content: "\F594"
}
.hicon-star-45:before {
    content: "\F595"
}
.hicon-star-5:before {
    content: "\F596"
}
.hicon-steamroom:before {
    content: "\F597"
}
.hicon-strong-storms:before {
    content: "\F598"
}
.hicon-subways:before {
    content: "\F599"
}
.hicon-suitable-for-events:before {
    content: "\F59A"
}
.hicon-sunny:before {
    content: "\F59B"
}
.hicon-super-king-bed:before {
    content: "\F59C"
}
.hicon-surfing-lessons:before {
    content: "\F59D"
}
.hicon-swimming-pool-access:before {
    content: "\F59E"
}
.hicon-table-tennis:before {
    content: "\F59F"
}
.hicon-tamil:before {
    content: "\F5A0"
}
.hicon-tax-id:before {
    content: "\F5A1"
}
.hicon-tax-receipt-available:before {
    content: "\F5A2"
}
.hicon-taxi-service:before {
    content: "\F5A3"
}
.hicon-telephone:before {
    content: "\F5A4"
}
.hicon-television-plasma:before {
    content: "\F5A5"
}
.hicon-tennis-courts:before {
    content: "\F5A6"
}
.hicon-text-area:before {
    content: "\F5A7"
}
.hicon-text-links:before {
    content: "\F5A8"
}
.hicon-theme-park:before {
    content: "\F5A9"
}
.hicon-thin-arrow-down:before {
    content: "\F5AA"
}
.hicon-thin-arrow-left:before {
    content: "\F5AB"
}
.hicon-thin-arrow-right:before {
    content: "\F5AC"
}
.hicon-thin-arrow-up:before {
    content: "\F5AD"
}
.hicon-thin-circle-arrow-left:before {
    content: "\F5AE"
}
.hicon-thin-sub-arrow:before {
    content: "\F5AF"
}
.hicon-thumb-down-line:before {
    content: "\F5B0"
}
.hicon-thumb-up-line:before {
    content: "\F5B1"
}
.hicon-thumb-up-solid-map:before {
    content: "\F5B2"
}
.hicon-thumb-up-solid:before {
    content: "\F5B3"
}
.hicon-thumb-up:before {
    content: "\F5B4"
}
.hicon-thunder-and-hail:before {
    content: "\F5B5"
}
.hicon-thunderstorm:before {
    content: "\F5B6"
}
.hicon-ticket-service:before {
    content: "\F5B7"
}
.hicon-time-clock:before {
    content: "\F5B8"
}
.hicon-time-filled-icon:before {
    content: "\F5B9"
}
.hicon-time-icon:before {
    content: "\F5BA"
}
.hicon-time-to-airport:before {
    content: "\F5BB"
}
.hicon-timer:before {
    content: "\F5BC"
}
.hicon-toiletries:before {
    content: "\F5BD"
}
.hicon-tonight-only:before {
    content: "\F5BE"
}
.hicon-tools:before {
    content: "\F5BF"
}
.hicon-tooltip-details:before {
    content: "\F5C0"
}
.hicon-tooltip:before {
    content: "\F5C1"
}
.hicon-top-floor:before {
    content: "\F5C2"
}
.hicon-top-rated:before {
    content: "\F5C3"
}
.hicon-topic-calendar:before {
    content: "\F5C4"
}
.hicon-topic-filter:before {
    content: "\F5C5"
}
.hicon-topic-hotel-highlight:before {
    content: "\F5C6"
}
.hicon-topic-search:before {
    content: "\F5C7"
}
.hicon-topic-user:before {
    content: "\F5C8"
}
.hicon-tornado:before {
    content: "\F5C9"
}
.hicon-total-savings:before {
    content: "\F5CA"
}
.hicon-total-support:before {
    content: "\F5CB"
}
.hicon-tours:before {
    content: "\F5CC"
}
.hicon-towels:before {
    content: "\F5CD"
}
.hicon-train-new-solid:before {
    content: "\F5CE"
}
.hicon-train-new:before {
    content: "\F5CF"
}
.hicon-train-station:before {
    content: "\F5D0"
}
.hicon-tram-station:before {
    content: "\F5D1"
}
.hicon-transfer-both-ways:before {
    content: "\F5D2"
}
.hicon-transfer-one-ways:before {
    content: "\F5D3"
}
.hicon-transportation-hub:before {
    content: "\F5D4"
}
.hicon-transportation:before {
    content: "\F5D5"
}
.hicon-trash-b:before {
    content: "\F5D6"
}
.hicon-trash:before {
    content: "\F5D7"
}
.hicon-travelers:before {
    content: "\F5D8"
}
.hicon-trending-up:before {
    content: "\F5D9"
}
.hicon-triangle-warning:before {
    content: "\F5DA"
}
.hicon-tropical-storm:before {
    content: "\F5DB"
}
.hicon-trouser-press:before {
    content: "\F5DC"
}
.hicon-tv-area:before {
    content: "\F5DD"
}
.hicon-tv-flat-screen:before {
    content: "\F5DE"
}
.hicon-tv:before {
    content: "\F5DF"
}
.hicon-twin-bed:before {
    content: "\F5E0"
}
.hicon-umbrella:before {
    content: "\F5E1"
}
.hicon-unionpay:before {
    content: "\F5E2"
}
.hicon-unlock:before {
    content: "\F5E3"
}
.hicon-upload-your-logo:before {
    content: "\F5E4"
}
.hicon-user-b:before {
    content: "\F5E5"
}
.hicon-user-font-icon:before {
    content: "\F5E6"
}
.hicon-user:before {
    content: "\F5E7"
}
.hicon-valet-parking:before {
    content: "\F5E8"
}
.hicon-vending-machine:before {
    content: "\F5E9"
}
.hicon-verified-checkmark:before {
    content: "\F5EA"
}
.hicon-view-point:before {
    content: "\F5EB"
}
.hicon-views:before {
    content: "\F5EC"
}
.hicon-villa:before {
    content: "\F5ED"
}
.hicon-vip:before {
    content: "\F5EE"
}
.hicon-visa-stamp:before {
    content: "\F5EF"
}
.hicon-visa:before {
    content: "\F5F0"
}
.hicon-wake-up-service:before {
    content: "\F5F1"
}
.hicon-walking:before {
    content: "\F5F2"
}
.hicon-want-to-talk:before {
    content: "\F5F3"
}
.hicon-washer:before {
    content: "\F5F4"
}
.hicon-watch:before {
    content: "\F5F5"
}
.hicon-water-park:before {
    content: "\F5F6"
}
.hicon-water-sports-motorized:before {
    content: "\F5F7"
}
.hicon-water-sports-non-motorized:before {
    content: "\F5F8"
}
.hicon-watersports-equipment-rentals:before {
    content: "\F5F9"
}
.hicon-weekend-discount:before {
    content: "\F5FA"
}
.hicon-wheelchair-accessible:before {
    content: "\F5FB"
}
.hicon-wifi-additional-charge:before {
    content: "\F5FC"
}
.hicon-wifi-in-public-areas:before {
    content: "\F5FD"
}
.hicon-wifi:before {
    content: "\F5FE"
}
.hicon-wind-surfing:before {
    content: "\F5FF"
}
.hicon-wintry-mix-snow-sleet:before {
    content: "\F600"
}
.hicon-wired-internet:before {
    content: "\F601"
}
.hicon-wooden-parqueted-flooring:before {
    content: "\F602"
}
.hicon-world:before {
    content: "\F603"
}
.hicon-x-icon:before {
    content: "\F604"
}
.hicon-ycs-channels:before {
    content: "\F605"
}
.hicon-ycs-dashboard:before {
    content: "\F606"
}
.hicon-ycs-doc-csv:before {
    content: "\F607"
}
.hicon-ycs-doc-excel:before {
    content: "\F608"
}
.hicon-ycs-doc-pdf:before {
    content: "\F609"
}
.hicon-ycs-doc-update:before {
    content: "\F60A"
}
.hicon-ycs-generic:before {
    content: "\F60B"
}
.hicon-ycs-no-show:before {
    content: "\F60C"
}
.hicon-year-hotel-built:before {
    content: "\F60D"
}
.hicon-year-hotel-last-renovated:before {
    content: "\F60E"
}
.hicon-yoga-room:before {
    content: "\F60F"
}
.hicon-zoom-bold:before {
    content: "\F610"
}
:root, [data-bs-theme=light] {
    --bs-primary: #6cb015;
    --bs-primary-rgb: 108, 176, 21;
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-decoration: none;
    --bs-link-hover-color: var(--bs-secondary);
    --bs-link-hover-color-rgb: var(--bs-secondary-rgb);
    --bs-font-sans-serif: "Gothic A1", sans-serif;
    --bs-body-font-size: 1.075rem;
    --bs-body-line-height: 1.55;
    --bs-body-font-weight: 300;
    --bs-border-radius: 0.675rem;
    --bs-border-radius-sm: 0.35rem;
    --bs-border-radius-lg: 1.25rem;
    --bs-box-shadow: 0 0.25rem 0.65rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-xs: 0.1rem 0.25rem 0.25rem rgba(0, 0, 0, 0.055);
    --bs-box-shadow-sm: 0 0.15rem 0.35rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 0.55rem 1rem rgba(0, 0, 0, 0.175);
    --bs-dark-blue: #0a3e59;
    --bs-dark-blue-rgb: 10, 62, 89;
    --bs-light-gray: #e9ecef;
    --bs-light-gray-rgb: 244, 245, 247
}
a {
    color: var(--bs-link-color);
    -webkit-text-decoration: var(--bs-link-decoration);
    text-decoration: var(--bs-link-decoration);
    transition: color 0.25s ease-in-out
}
a:hover, a:focus {
    color: var(--bs-link-hover-color)
}
b, strong {
    font-weight: 500
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    line-height: 1.35;
    margin-bottom: 1rem
}
.h5, h5 {
    font-size: 1.275rem
}
.h6, h6 {
    font-size: 1.175rem
}
.link-hover:hover {
    color: #6cb015 !important
}
.link-hover:hover svg {
    stroke: #6cb015 !important
}
.text-primary {
    color: var(--bs-primary) !important
}
/*
.vertical-box {
    transform: rotate(180deg);
    writing-mode: vertical-lr
}
*/
.float-text, .float-text:hover {
    display: inline-block;
    color: #fff;
    text-wrap: nowrap;
    line-height: 1;
    text-transform: uppercase;
    font-size: .65rem;
    letter-spacing: .115rem;
    font-weight: 400;
    background-color: rgba(var(--bs-black-rgb), .45);
    padding: .4rem .55rem .4rem .75rem;
    border-radius: var(--bs-border-radius-sm)
}
.float-text.float-absolute, .float-text:hover.float-absolute {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 1
}
.btn {
    padding: .625rem 1rem;
    font-size: var(--bs-body-font-size);
    font-weight: 400;
    text-decoration: none
}
.btn.btn-uppercase {
    text-transform: uppercase;
    font-size: .95rem;
    letter-spacing: .115rem;
    padding: .72rem 1rem
}
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: var(--bs-link-hover-color);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary)
}
.btn-video-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: content-box;
    width: 74px;
    height: 74px;
    padding-left: 5px;
    border-radius: 50%
}
.btn-video-play::before, .btn-video-play::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 64px;
    height: 64px;
    background: var(--bs-primary);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.25s ease-in-out;
    z-index: 0
}
.btn-video-play::before {
    animation: pulse-border 1500ms ease-out infinite
}
.btn-video-play:hover::before, .btn-video-play:hover::after {
    opacity: .55
}
.btn-video-play span {
    display: block;
    width: 0;
    height: 0;
    border-left: 16px solid #fff;
    border-top: 10px solid #fff0;
    border-bottom: 10px solid #fff0;
    position: relative;
    z-index: 3
}
.btn-video-play.btn-video-play-sm {
    width: 56px;
    height: 56px
}
.btn-video-play.btn-video-play-sm::before, .btn-video-play.btn-video-play-sm::after {
    width: 48px;
    height: 48px
}
.btn-video-play.btn-video-play-sm span {
    border-left: 12px solid #fff;
    border-top: 8px solid #fff0;
    border-bottom: 8px solid #fff0
}
@keyframes pulse-border {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1)
    }
    to {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.5)
    }
}
.btn-facebook, .btn-google {
    background-color: var(--bs-light-gray);
    border-color: var(--bs-border-color)
}
.btn-facebook:hover, .btn-facebook:focus, .btn-google:hover, .btn-google:focus {
    border-color: var(--bs-border-color)
}
.form-check-input.checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary)
}
.form-check-input:focus {
    border-color: rgba(var(--bs-primary-rgb), .15);
    box-shadow: none
}
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary)
}
.form-range:focus::-webkit-slider-thumb, .form-range:focus::-moz-range-thumb {
    box-shadow: none
}
.form-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--bs-primary);
    box-shadow: none !important
}
.form-range::-moz-range-thumb {
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-primary);
    box-shadow: none !important
}
.form-range::-moz-range-thumb:active, .form-range::-moz-range-thumb:focus {
    background-color: rgba(var(--bs-primary-rgb), .5);
    box-shadow: none
}
.form-range::-webkit-slider-thumb:active, .form-range::-webkit-slider-thumb:focus {
    background-color: rgba(var(--bs-primary-rgb), .5);
    box-shadow: none
}
.form-control {
    padding: .625rem 1rem;
    font-size: var(--bs-body-font-size)
}
.form-control:focus, .form-control:active {
    border-color: rgba(var(--bs-primary-rgb), .35);
    box-shadow: none !important
}
.dropdown-menu {
    --bs-dropdown-border-color: var(--bs-border-color);
    box-shadow: var(--bs-box-shadow-sm)
}
.dropdown-menu .dropdown-item.active, .dropdown-menu .dropdown-item:active {
    background-color: var(--bs-primary);
    color: #fff
}
.form-select {
    padding: 0.5rem 1rem;
    font-size: var(--bs-body-font-size)
}
.form-select:focus, .form-select:active {
    border-color: rgba(var(--bs-primary-rgb), .35);
    box-shadow: none !important
}
.input-icon-group {
    position: relative
}
.input-icon-group .input-icon {
    position: absolute;
    left: 1rem;
    top: 45%;
    transform: translateY(-50%);
    color: var(--bs-secondary);
    z-index: 1
}
.input-icon-group .form-control, .input-icon-group .form-select {
    padding-left: 3rem
}
.accordion-why {
    background-color: #fff0
}
.accordion-why .accordion-button {
    background-color: #fff0;
    color: inherit;
    box-shadow: none;
    font-size: 1.275rem;
    font-weight: 500;
    padding-left: 0;
    padding-right: 0
}
.accordion-why .accordion-button:hover, .accordion-why .accordion-button:not(.collapsed) {
    color: var(--bs-primary)
}
.accordion-why .accordion-button i {
    margin-right: .75rem;
    font-size: .95rem;
    color: var(--bs-primary)
}
.accordion-why .accordion-body {
    padding: 0 0 1.35rem 0
}
.accordion-itinerary {
    background-color: #fff0;
    border: 0
}
.accordion-itinerary .accordion-item {
    position: relative;
    padding-left: 40px;
    margin-left: 12px
}
.accordion-itinerary .accordion-item:not(:last-child):before {
    position: absolute;
    content: "";
    border-left: 1px solid var(--bs-accordion-border-color);
    width: 0;
    height: calc(100% + 1rem);
    left: 0;
    top: 2rem;
    z-index: 1
}
.accordion-itinerary .accordion-button {
    background-color: #fff0;
    font-size: 1.275rem;
    color: inherit;
    box-shadow: none;
    font-weight: 500;
    padding: 1.5rem 0;
    align-items: start
}
.accordion-itinerary .accordion-button::after {
    content: unset
}
.accordion-itinerary .accordion-button:before {
    position: absolute;
    left: -56px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    content: "\f3de";
    font-family: icons !important;
    font-size: .95rem;
    border-radius: 50%;
    display: flex;
    line-height: 0;
    justify-content: center;
    align-items: center;
    background: var(--bs-primary);
    border: 1px solid var(--bs-primary);
    color: #fff;
    z-index: 2;
    transition: 0.3s ease-in-out
}
.accordion-itinerary .accordion-button:not(.collapsed):before {
    content: "\f36c"
}
.accordion-itinerary .accordion-button strong {
    margin-right: .55rem;
    font-weight: 700;
    text-wrap: nowrap
}
.accordion-itinerary .accordion-button:hover, .accordion-itinerary .accordion-button:not(.collapsed) {
    color: var(--bs-primary)
}
.accordion-itinerary .accordion-body {
    padding: 0 0 1.35rem 0
}
.accordion-filter .accordion-item {
    background-color: #fff0;
    border: 0;
    font-size: 1rem
}
.accordion-filter .accordion-button {
    border-top: 1px solid var(--bs-border-color);
    background-color: #fff0;
    padding: 1.25rem 0;
    font-size: 1.25rem;
    color: var(--bs-body-color);
    font-weight: 500;
    border-radius: 0 !important;
    box-shadow: none
}
.accordion-filter .accordion-body {
    padding: .5rem 0 1.25rem 0
}
.modal {
    --bs-modal-padding: 1.5rem 2rem;
    --bs-modal-header-padding: 1.5rem 2rem
}
.tab-menu {
    display: flex;
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
    font-size: 1rem
}
.tab-menu .nav-item .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--bs-body-color);
    padding: 1rem 1.5rem 1rem 1.75rem;
    border-right: 1px solid var(--bs-border-color);
    letter-spacing: .135rem
}
.tab-menu .nav-item .nav-link::after {
    background: #fff0;
    border-right: 1px solid #fff0;
    border-bottom: 1px solid #fff0;
    content: "";
    height: .7rem;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    position: absolute;
    bottom: -.35rem;
    width: .7rem;
    z-index: 0
}
.tab-menu .nav-item .nav-link:hover {
    color: #587945
}
.tab-menu .nav-item .nav-link.active {
    background-color:#587945;
    color: white !important;
    border-right-color: #587945
}
.tab-menu .nav-item .nav-link.active::after {
    background: #587945;
    border-right: 1px solid #587945;
    border-bottom: 1px solid #587945
}
.tab-menu .nav-item:first-child .nav-link {
    border-top-left-radius: var(--bs-border-radius);
    border-bottom-left-radius: var(--bs-border-radius)
}
.tab-menu .nav-item:last-child .nav-link {
    border-top-right-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius)
}
.tab-menu .nav-item.nav-item-link {
    margin-left: auto;
    margin-right: 0
}
.tab-menu .nav-item.nav-item-link .nav-link {
    color: var(--bs-secondary)
}
.tab-menu .nav-item.nav-item-button {
    margin-left: auto;
    margin-right: 0
}
.tab-menu .nav-item.nav-item-button .nav-link {
    background-color: var(--bs-dark-blue);
    color: #fff
}
.tab-menu .nav-item .nav-link:last-child{
	border-right: none;
}



@media (max-width:1199.98px) {
    .tab-menu {
        box-shadow: none !important;
        background-color: unset;
        flex-wrap: wrap;
        margin-top: .5rem;
        margin-right: -.25rem;
        margin-left: -.25rem
    }
    .tab-menu .nav-item {
        padding-right: .25rem;
        padding-left: .25rem;
        margin-top: .5rem
    }
    .tab-menu .nav-item .nav-link {
        background-color: var(--bs-body-bg);
        border: none;
        width: 100%;
        border-radius: var(--bs-border-radius)
    }
    .tab-menu .nav-item .nav-link::after {
        content: unset
    }
    .tab-menu .nav-item.nav-item-link, .tab-menu .nav-item.nav-item-button {
        margin-left: unset;
        margin-right: unset
    }
    .tab-menu.shadow-sm .nav-item .nav-link, .tab-menu.shadow .nav-item .nav-link {
        box-shadow: var(--bs-box-shadow-sm)
    }
    .tab-menu.tour-nav .nav-item {
        width: 33.333%
    }
}
@media (max-width:767.98px) {
    .tab-menu.tour-nav .nav-item {
        width: 50%
    }
}
.card {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem
}
.float-card {
    position: relative
}
.float-card .float-image {
    position: relative
}
.float-card .card-content {
    padding: 1.5rem;
    margin: -1rem .5rem 0 .5rem;
    background-color: #fff;
    position: relative
}
@media (min-width:768px) {
    .float-card.float-card-right .card-content {
        margin: -2rem 1rem 0 1rem
    }
}
@media (min-width:1200px) {
    .float-card.float-card-right {
        display: flex
    }
    .float-card.float-card-right .float-image {
        width: calc(50% + 2rem)
    }
    .float-card.float-card-right .card-content {
        width: calc(50% + 2rem);
        margin: 1rem 0 1rem -2rem
    }
}
.info-card {
    display: block;
    padding: 1.5rem;
    background-color: #fff;
    color: var(--bs-body-color)
}
.info-card:hover {
    color: var(--bs-body-color)
}
.info-card .card-icon {
    margin-bottom: 1rem;
    color: #fff;
    display: inline-flex;
    width: 64px;
    height: 64px;
    background: var(--bs-primary);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 2rem
}
.info-card .card-title {
    color: var(--bs-emphasis-color)
}
.info-card .card-link {
    color: var(--bs-primary);
    text-transform: uppercase;
    letter-spacing: .125rem;
    font-size: .875em;
    font-weight: 500
}
.info-card .card-link:hover {
    color: var(--bs-primary-text-emphasis)
}
.info-card.card-hover, .info-card.active {
    background-color: var(--bs-primary)
}
.info-card.card-hover .card-icon, .info-card.active .card-icon {
    background-color: #fff;
    color: var(--bs-primary)
}
.info-card.card-hover .card-title, .info-card.card-hover .card-desc, .info-card.card-hover .card-link, .info-card.active .card-title, .info-card.active .card-desc, .info-card.active .card-link {
    color: #fff
}
.transparent-card {
    display: block;
    padding: 1.5rem;
    color: #fff
}
.transparent-card .card-icon {
    margin-bottom: 1.5rem;
    display: inline-flex;
    width: 64px;
    height: 64px;
    background: var(--bs-primary);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 1.85rem
}
.mini-card {
    display: flex;
    align-items: center;
    padding: .85rem 1rem;
    background-color: #fff;
    color: var(--bs-body-color)
}
.mini-card.card-center {
    padding: 1.25rem;
    flex-direction: column;
    text-align: center
}
.mini-card.card-simple {
    padding: 0;
    background-color: #fff0
}
.mini-card .card-icon {
    color: var(--bs-primary);
    border-right: 1px solid var(--bs-border-color);
    margin-right: 1.25rem;
    padding-right: 1.25rem;
    font-size: 2.25rem;
    line-height: 1
}
.mini-card.card-center .card-icon {
    border-right: unset;
    margin-right: unset;
    padding-right: unset;
    margin-bottom: .75rem
}
.mini-card .card-title {
    color: var(--bs-text-emphasis);
    display: block;
    margin-bottom: 0;
    font-size: 1.25rem
}
.mini-card.card-center .card-title {
    font-size: 1.275rem
}
.mini-card .card-desc {
    color: var(--bs-secondary);
    display: block
}
.mini-card .card-link:hover {
    color: var(--bs-text-emphasis)
}
.mini-card.card-hover:hover, .mini-card.active {
    background-color: var(--bs-primary)
}
.mini-card.card-hover:hover .card-icon, .mini-card.card-hover:hover .card-title, .mini-card.card-hover:hover .card-desc, .mini-card.active .card-icon, .mini-card.active .card-title, .mini-card.active .card-desc {
    color: #fff
}
@media (max-width:576px) {
    .mini-card.card-mobile-small .card-icon {
        margin-right: .75rem;
        padding-right: .75rem;
        font-size: 1.85rem
    }
    .mini-card.card-mobile-small .card-title {
        font-size: 1rem
    }
    .mini-card.card-mobile-small .card-desc {
        font-size: .85rem
    }
}
.table > :not(caption) > * > * {
    padding: 1rem .5rem
}
.pagination {
    --bs-pagination-focus-box-shadow: none
}
.pagination.pagination-circle .page-link {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 1rem;
    border-radius: 50% !important
}
.stats-list {
    padding-left: 0;
    list-style: none;
    margin-bottom: 0
}
.stats-list .stats-number {
    font-weight: 600;
    margin-right: 1rem;
    margin-bottom: .5rem;
    color: var(--bs-emphasis-color)
}
.stats-list .stats-desc {
    line-height: 1.35;
    margin-bottom: 1.5rem
}
@media (min-width:576px) {
    .stats-list .stats-item {
        display: flex;
        align-items: center
    }
    .stats-list .stats-number {
        margin-bottom: 1.5rem
    }
}
.strength-list {
    padding-left: 0;
    list-style: none
}
.strength-list .strength-item {
    display: flex;
    align-items: center;
    margin-bottom: .5rem
}
.strength-list .strength-icon {
    margin-right: 1rem;
    color: var(--bs-primary)
}
.cat-list {
    padding-left: 0;
    list-style: none
}
.cat-list .cat-item a {
    padding: 1.25rem 1.5rem;
    background-color: #fff;
    color: var(--bs-body-color);
    display: block;
    transition: 0.25s all ease-in-out
}
.cat-list .cat-item a:hover, .cat-list .cat-item a.active {
    background-color: var(--bs-primary);
    color: #fff
}
.social-list {
    list-style: none;
    padding-left: 0
}
.social-list li {
    display: inline-block
}
.social-list li:not(:last-child) {
    margin-right: .25rem
}
.social-list .social-item a svg {
    stroke: var(--bs-body-color)
}
.social-list .social-item a svg:hover {
    stroke: var(--bs-primary)
}
.social-list.social-list-light .social-item a svg {
    stroke: #fff
}
.highlight-list {
    list-style: none;
    padding-left: 0
}
.highlight-list li {
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: .35rem
}
.highlight-list li::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "??;
    font-weight: 600;
    margin-right: .5rem
}
.highlight-list.unchecked li::before {
    content: "??;
    color: var(--bs-danger)
}
.highlight-list.checked li::before {
    color: var(--bs-primary)
}
.filtered-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}
.filtered-list .filtered-item {
    display: inline-block;
    line-height: 1;
    margin: .5rem 0
}
.filtered-list .filtered-item:not(:last-child, :first-child) {
    border-right: 1px solid var(--bs-dark-border-subtle);
    margin-right: .75rem;
    padding-right: .75rem
}
.filtered-list .filtered-item button {
    display: inline-flex;
    align-items: center;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 0;
    background-color: #fff0;
    outline: none;
    box-shadow: none;
    font-size: 1rem;
    color: var(--bs-secondary);
    font-weight: 300;
    padding: 0
}
.filtered-list .filtered-item button:not(:last-child) {
    margin-right: .5rem
}
.filtered-list .filtered-item button:hover {
    color: var(--bs-danger)
}
.filtered-list .filtered-item button i {
    font-size: .55rem;
    margin-left: .35rem;
    color: var(--bs-danger)
}
.filtered-list .filtered-item strong {
    font-size: 1rem;
    margin-right: .5rem;
    vertical-align: middle
}
.hover-effect {
    transition: all 0.25s ease-in-out
}
.hover-effect:hover {
    transform: translateY(-.25rem)
}
.circle-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.25s ease-in-out;
    border: 0;
    font-size: 1.125rem
}
.circle-icon.circle-icon-sm {
    width: 32px;
    height: 32px;
    font-size: 1rem
}
.circle-icon.cart-icon, .circle-icon.wishlist-icon {
    color: var(--bs-body-color);
    background-color: var(--bs-light-gray);
    position: relative
}
.circle-icon.cart-icon:hover, .circle-icon.cart-icon:focus, .circle-icon.wishlist-icon:hover, .circle-icon.wishlist-icon:focus {
    color: var(--bs-primary)
}
.circle-icon.cart-icon span, .circle-icon.wishlist-icon span {
    background-color: var(--bs-primary);
    color: #fff;
    font-size: .85rem;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: absolute;
    top: -.25rem;
    right: -.25rem
}
.circle-icon.circle-icon-link {
    background-color: var(--bs-primary);
    color: white !important
}
.circle-icon.circle-icon-link:hover {
    background-color: var(--bs-secondary)
}
.circle-icon.like-icon {
    background-color: rgba(var(--bs-white-rgb), .75);
    color: var(--bs-secondary)
}
.circle-icon.like-icon:hover, .circle-icon.like-icon:focus, .circle-icon.like-icon.liked {
    color: var(--bs-primary)
}
.circle-icon.like-icon.liked:hover, .circle-icon.like-icon.liked:focus {
    color: var(--bs-secondary)
}
.circle-icon.delete-icon {
    background-color: #fff;
    color: var(--bs-danger)
}
.circle-icon.delete-icon:hover, .circle-icon.delete-icon:focus, .circle-icon.delete-icon.liked {
    color: #fff;
    background-color: var(--bs-danger)
}
@media (max-width:576px) {
    .circle-icon.icon-mobile-small {
        width: 32px;
        height: 32px;
        font-size: 1rem
    }
}
.image-info {
    position: relative
}
.image-info.image-info-vertical .image-center {
    margin-left: 3rem
}
.image-info.image-info-vertical .vertical-title {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    height: 100%
}
.image-info.image-info-vertical .vertical-title > small {
    /*    transform: rotate(180deg);*/
    writing-mode: vertical-lr;
    color: var(--bs-secondary);
    text-transform: uppercase;
    text-wrap: nowrap;
    letter-spacing: .135rem
}
.image-info.image-info-right {
    margin-right: 65px
}
.image-info.image-info-left {
    margin-left: 65px
}
.image-info .image-center {
    overflow: hidden
}
.image-info .info-top-right {
    left: unset;
    right: 1.5rem;
    top: 1.5rem;
    width: auto
}
.image-info .info-left-top {
    right: unset;
    left: 1.5rem;
    top: 1.5rem;
    width: auto
}
.image-info .info-right-bottom {
    left: unset;
    right: 1.5rem;
    bottom: 1.5rem;
    width: auto
}
.image-info .info-bottom-left {
    left: 1.5rem;
    right: unset;
    bottom: 1.5rem;
    width: auto
}
.image-info .info-bottom-left, .image-info .info-left-top, .image-info .info-top-right, .image-info .info-right-bottom {
    text-align: center;
    position: absolute;
    width: 130px;
    z-index: 1
}
.image-info.image-info-left .info-bottom-left, .image-info.image-info-left .info-left-top {
    transform: translateX(-50%)
}
.image-info.image-info-left .info-bottom-left {
    bottom: 4rem
}
.image-info.image-info-left .info-left-top {
    top: 4rem
}
.image-info.image-info-right .info-top-right, .image-info.image-info-right .info-right-bottom {
    transform: translateX(-50%)
}
.image-info.image-info-right .info-right-bottom {
    bottom: 4rem;
    left: 100%
}
.image-info.image-info-right .info-top-right {
    top: 4rem;
    left: 100%
}
@media (max-width:1399.98px) {
    .image-info.image-info-right {
        margin-right: 65px
    }
}
@media (max-width:1199.98px) {
    .image-info.image-info-right {
        margin-right: 65px
    }
}
@media (max-width:767.98px) {
    .image-info.image-info-right {
        margin-right: 0;
        margin-left: 0
    }
    .image-info.image-info-right .info-right-bottom {
        bottom: -1.5rem;
        right: 1.5rem;
        left: unset;
        transform: unset
    }
    .image-info.image-info-right .info-top-right {
        top: -1.5rem;
        right: 1.5rem;
        left: unset;
        transform: unset
    }
    .image-info.image-info-left .info-bottom-left {
        bottom: -1.5rem;
        left: 1.5rem;
        transform: unset
    }
    .image-info.image-info-vertical .image-center {
        margin-left: 1.75rem
    }
}
@media (max-width:576px) {
    .image-info.image-info-vertical .vertical-title > small {
        font-size: .65rem
    }
}
.image-hover {
    display: block;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-bottom: 0
}
.image-hover img {
    max-width: 100%;
    width: 100%
}
.image-hover.image-hover-overlay:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    background: rgba(var(--bs-black-rgb), .35);
    transition: opacity 0.25s ease-in-out;
    z-index: 0
}
.image-hover.image-hover-overlay:hover:after {
    opacity: 1
}
.image-hover.image-bottom-overlay:before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    right: 0;
    height: 6rem;
    background: linear-gradient(0deg, rgba(var(--bs-black-rgb), .75) 0%, rgba(var(--bs-black-rgb), 0) 100%);
    z-index: 1
}
.image-hover.image-hover-scale img {
    transition: transform 0.25s ease-in-out
}
.image-hover.image-hover-scale:hover img {
    transform: scale(1.055)
}
.image-hover .image-hover-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    opacity: 0;
    color: #fff;
    transition: opacity 0.25s ease-in-out;
    transform: translate(-50%, -50%);
    z-index: 2;
    background-color: rgba(var(--bs-black-rgb), .55);
    border-radius: 50%
}
.image-hover:hover .image-hover-icon {
    opacity: 1
}
.bg-primary {
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important
}
.bg-gray-gradient {
    background-color: var(--bs-light-gray) !important;
    background: linear-gradient(to bottom, var(--bs-light-gray) 0%, rgba(var(--bs-light-gray-rgb), .35) 100%) !important
}
.bg-light-gray {
    background-color: var(--bs-light-gray) !important
}
.bg-dark-blue {
    background: #0a3e59 !important
}
.bg-video {
    position: relative;
    overflow: hidden
}
.bg-video.bg-overlay:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    top: 0;
    background-image: url(../img/background/dot.png);
    background-repeat: repeat;
    bottom: 0
}
.bg-video .bg-content {
    position: relative;
    z-index: 2;
    height: 100%
}
.bg-video.ratio::before {
    content: unset
}
.bottom-overlay {
    position: relative;
    display: block;
    overflow: hidden
}
.bottom-overlay .bottom-overlay-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 5rem 1.5rem 1.5rem 1.5rem;
    color: #fff;
    background: linear-gradient(0deg, rgba(var(--bs-black-rgb), .85) 0%, rgba(var(--bs-black-rgb), 0) 100%)
}
.bottom-overlay:hover figure.image-hover-scale img {
    transform: scale(1.055)
}
.bottom-overlay:hover .image-hover-overlay:after {
    opacity: 1
}
.bottom-overlay:hover .image-hover-icon {
    opacity: 1
}
.bottom-overlay .float-badge {
    position: absolute;
    left: .7rem;
    top: .75rem;
    background-color: rgba(var(--bs-black-rgb), .45);
    padding: .45rem .4rem .25rem .4rem;
    border-radius: var(--bs-border-radius-sm)
}
.bottom-overlay .float-badge span {
    color: #fff;
    /*    transform: rotate(180deg);*/
    writing-mode: vertical-lr;
    text-wrap: nowrap;
    line-height: 1;
    text-transform: uppercase;
    font-size: .65rem;
    letter-spacing: .115rem;
    font-weight: 400
}
.video-box {
    border: 1px solid rgba(var(--bs-white-rgb), .35);
    padding: 3rem 1.5rem
}
@media (min-width:576px) {
    .video-box {
        padding: 6rem 1.5rem
    }
}
.extra-info {
    display: inline-flex;
    align-items: center
}
.extra-info strong {
    font-size: 1.75rem;
    font-weight: 600;
    margin-right: .5rem
}
.extra-info span {
    color: var(--bs-secondary);
    font-weight: 400
}
.star-rate-view {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108.9 103.6'%3E%3Cg data-name='Layer 2'%3E%3Cpath fill='%23ced4da' d='m108.9 39.6-37.6-5.5L54.4 0 37.6 34.1 0 39.6l27.2 26.5-6.4 37.5 33.6-17.7 33.7 17.7-6.4-37.5z' data-name='Layer 1'/%3E%3C/g%3E%3C/svg%3E");
    background-position: 0 0;
    background-repeat: repeat-x;
    display: inline-block;
    position: relative
}
.star-rate-view.star-rate-size-xs {
    background-size: 10px;
    height: 10px;
    width: 50px
}
.star-rate-view.star-rate-size-sm {
    background-size: 16px;
    height: 16px;
    width: 80px
}
.star-rate-view, .star-rate-view.star-rate-size-md {
    background-size: 20px;
    height: 20px;
    width: 100px
}
.star-rate-view.star-rate-size-lg {
    background-size: 24px;
    height: 24px;
    width: 144px
}
.star-rate-view .star-value {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108.9 103.6'%3E%3Cg data-name='Layer 2'%3E%3Cpath fill='%23eeb461' d='m54.4 0 16.9 34.1 37.6 5.5-27.2 26.5 6.4 37.5-33.7-17.7-33.6 17.7 6.4-37.5L0 39.6l37.6-5.5z' data-name='Layer 1'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat-x;
    height: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    background-size: inherit
}
.star-rate-view .star-value.rate-0 {
    width: 0
}
.star-rate-view .star-value.rate-5 {
    width: 10%
}
.star-rate-view .star-value.rate-10 {
    width: 20%
}
.star-rate-view .star-value.rate-15 {
    width: 30%
}
.star-rate-view .star-value.rate-20 {
    width: 40%
}
.star-rate-view .star-value.rate-25 {
    width: 50%
}
.star-rate-view .star-value.rate-30 {
    width: 60%
}
.star-rate-view .star-value.rate-35 {
    width: 70%
}
.star-rate-view .star-value.rate-40 {
    width: 80%
}
.star-rate-view .star-value.rate-45 {
    width: 90%
}
.star-rate-view .star-value.rate-50 {
    width: 100%
}
.inline-review {
    display: flex;
    align-items: center;
    padding: .5rem 0;
    border-top: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
    font-size: 14px;
}
.inline-review .review-score {
    display: inline-block;
    font-weight: 500;
    margin-right: .25rem;
}
span.review-score {
    background: #f2ceb1;
    color: #444;
    padding: 4px 10px 2px;
    border-radius: 20px;
    font-size: 12px;
}
.inline-review .star-rate-view {
    margin-right: .35rem
}
.inline-review .review-total {
    color: var(--bs-secondary)
}
.inline-review.review-border-0 {
    padding: 0;
    border: 0
}
.vertical-review {
    background-color: var(--bs-body-bg);
    text-align: center;
    overflow: hidden;
    width: 130px
}
.vertical-review .review-content {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center
}
.vertical-review .review-score, .vertical-review .star-rate-view, .vertical-review .review-total {
    margin-bottom: .5rem
}
.vertical-review .review-score {
    font-weight: 600;
    line-height: 1;
    margin-bottom: .75rem;
    font-size: 2.5rem
}
.vertical-review .review-label {
    font-weight: 500;
    background-color: var(--bs-primary);
    color: #fff;
    padding: .05rem .5rem;
    display: inline-block;
    border-radius: var(--bs-border-radius-sm)
}
.vertical-review .review-footer {
    background-color: var(--bs-dark-blue);
    color: #fff;
    font-weight: 500;
    padding: .175rem .5rem
}
.horizontal-review {
    position: relative;
    overflow: hidden;
    background-color: #fff;
    padding: 1.5rem 1.5rem 1.5rem 3.25rem;
    width: 100%
}
.horizontal-review .review-content {
    display: flex;
    align-items: center
}
.horizontal-review .review-score {
    font-weight: 600;
    font-size: 3.5rem;
    margin-right: 1rem;
    line-height: 1;
    margin-bottom: .1rem
}
.horizontal-review .review-total {
    display: flex;
    flex-direction: column;
    color: var(--bs-secondary);
    line-height: 1.35rem
}
.horizontal-review .review-total .star-rate-view {
    margin-bottom: .25rem
}
.horizontal-review .review-total strong {
    color: var(--bs-body-color)
}
.horizontal-review .review-link {
    border-top: 1px solid var(--bs-border-color);
    padding-top: .5rem;
    margin-top: .5rem
}
.horizontal-review .review-label {
    /*    transform: rotate(180deg);*/
    writing-mode: vertical-lr;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
    left: 0;
    text-align: center
}
.horizontal-review .review-label > small {
    color: #fff;
    background-color: var(--bs-primary);
    text-transform: uppercase;
    letter-spacing: .175rem;
    display: block;
    height: 100%;
    font-weight: 500;
    padding: .25rem;
    font-size: .75rem;
    min-width: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center
}
.horizontal-review .review-label.review-label-lg > small {
    font-size: 1rem
}
.horizontal-review .review-label.review-label-sm > small {
    font-size: .65rem
}
.horizontal-review .review-title {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    line-height: 1
}
.review-summary {
    background-color: #fff;
    overflow: hidden;
    padding: 1.5rem
}
.review-summary .review-title {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem
}
.review-summary li {
    display: flex;
    align-items: center;
    padding: .25rem 0
}
.review-summary .review-content {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}
.review-summary .review-score {
    display: flex;
    align-items: center
}
.review-summary .review-score strong {
    margin-right: .5rem
}
.review-summary .review-lable {
    margin-right: auto
}
.review-list .review-item {
    border-bottom: 1px solid var(--bs-border-color);
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem
}
.review-list .review-item p {
    font-style: italic
}
.review-list .review-client {
    display: flex;
    align-items: center;
    margin-bottom: 1rem
}
.review-list .review-name {
    display: flex;
    flex-direction: column
}
.review-list .review-name strong {
    margin-bottom: .35rem;
    font-size: 1.175rem;
    color: var(--bs-emphasis-color)
}
.review-list .review-name strong small {
    color: var(--bs-secondary);
    font-weight: 400;
    font-size: 1rem
}
.review-list .review-avatar {
    margin-right: 1rem;
    margin-bottom: 0
}
.review-list .review-date {
    color: var(--bs-secondary)
}
.review-list .review-verify {
    color: var(--bs-primary);
    font-weight: 500
}
.vertical-award {
    background-color: var(--bs-body-bg);
    text-align: center;
    overflow: hidden;
    width: 130px
}
.vertical-award .award-content {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center
}
.vertical-award .award-title {
    font-weight: 500;
    display: inline-block;
    line-height: 1.35;
    margin-top: .75rem;
    line-height: 1.15
}
.vertical-award .award-footer {
    background-color: var(--bs-dark-blue);
    color: #fff;
    font-weight: 500;
    padding: .175rem .5rem
}
.vertical-experience {
    background-color: var(--bs-primary);
    color: #fff;
    padding: 1rem;
    text-align: center;
    overflow: hidden;
    width: 130px
}
.vertical-experience.experience-white {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color)
}
.vertical-experience.experience-white .experience-year {
    color: var(--bs-primary)
}
.vertical-experience .experience-year {
    line-height: 1;
    margin-bottom: .55rem;
    font-size: 2.5rem
}
.vertical-experience .experience-title {
    text-transform: uppercase;
    font-weight: 400;
    display: inline-block;
    line-height: 1.35
}
.price-range {
    margin-bottom: .5rem
}
.price-range .price-slider {
    height: .35rem;
    position: relative;
    background: #ddd;
    border-radius: .25rem
}
.price-range .price-slider .progress {
    height: 100%;
    left: 0;
    right: 0;
    position: absolute;
    border-radius: .25rem;
    background: var(--bs-primary)
}
.price-range .price-slider .range-input {
    position: relative
}
.price-range .price-slider .range-input input {
    position: absolute;
    width: 100%;
    height: .35rem;
    top: 0;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer
}
.price-range .price-slider input[type=range]::-webkit-slider-thumb {
    height: 1rem;
    width: 1rem;
    border-radius: 50%;
    background: var(--bs-primary);
    pointer-events: auto;
    -webkit-appearance: none
}
.price-range .price-slider input[type=range]::-moz-range-thumb {
    height: 1rem;
    width: 1rem;
    border: none;
    border-radius: 50%;
    background: var(--bs-primary);
    pointer-events: auto;
    -moz-appearance: none
}
.countdown {
    display: inline-flex;
    align-items: center;
    padding-left: 0;
    list-style: none;
    text-align: center
}
.countdown .date-time {
    display: block;
    min-width: 90px;
    padding: .5rem;
    background-color: rgba(var(--bs-white-rgb), .15)
}
.countdown .date-time:not(:last-child) {
    margin-right: 1rem
}
.countdown .date-time .num {
    display: block;
    font-size: 2.15rem;
    font-weight: 500;
    line-height: 1.1
}
.countdown .date-time .word {
    display: block;
    font-size: .85rem;
    text-transform: uppercase
}
@media (max-width:575.98px) {
    .countdown .date-time {
        min-width: 70px
    }
    .countdown .date-time:not(:last-child) {
        margin-right: .5rem
    }
    .countdown .date-time .num {
        font-size: 1.85rem
    }
    .countdown .date-time .word {
        font-size: .75rem
    }
}
#preloader {
    position: fixed;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    z-index: 999
}
@keyframes slideIn {
    0% {
        opacity: 0;
        transform: translateY(-1rem)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}
.slideIn {
    animation-delay: 0s;
    animation-fill-mode: both;
    animation: slideIn 0.35s both
}
.scroll-top {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    opacity: 0;
    visibility: hidden;
    color: #fff;
    background: rgba(var(--bs-primary-rgb), .75);
    z-index: 100000;
    transition: all 0.35s ease-in-out;
    border-radius: 50%
}
.scroll-top.active {
    opacity: 1;
    visibility: visible
}
.scroll-top:hover {
    background: rgba(var(--bs-primary-rgb), 1)
}
.header-topbar {
    background-color: var(--bs-dark-blue);
    height: 40px;
    display: flex;
    align-items: center;
    font-size: 1rem
}
.header-topbar a {
    color: #fff
}
.header-topbar a:hover {
    color: var(--bs-primary)
}
.header-navbar {
    transition: 0.5s ease-in-out
}
.header-navbar .navbar {
    padding: 0;
    height: 90px
}
.header-navbar .navbar .navbar-brand {
    padding: 0
}
.header-navbar .navbar .navbar-nav {
    margin-bottom: 1.5rem
}
.header-navbar .navbar .nav-link {
    color: var(--bs-dark);
    font-size: 1.575rem;
    font-weight: 500;
    position: relative
}
.header-navbar .navbar .nav-link:hover, .header-navbar .navbar .nav-link:focus, .header-navbar .navbar .nav-link.active {
    color: var(--bs-primary)
}
.header-navbar .navbar .nav-link .dropdown-toggle-icon {
    position: absolute;
    top: 50%;
    right: -.5rem;
    font-size: 1.35rem;
    padding: .5rem;
    transform: translateY(-50%)
}
.header-navbar .navbar .dropdown-menu {
    border: 0;
    font-size: 1.25rem;
    padding: .35rem 0;
    box-shadow: none
}
.header-navbar .navbar .dropdown-menu .dropdown-item {
    font-weight: var(--bs-body-font-weight);
    min-width: auto;
    padding: .35rem 1.5rem
}
.header-navbar .navbar .dropdown-menu .dropdown-item:hover, .header-navbar .navbar .dropdown-menu .dropdown-item:focus, .header-navbar .navbar .dropdown-menu .dropdown-item.active {
    color: var(--bs-primary);
    background-color: var(--bs-tertiary-bg)
}
.header-navbar .navbar .mega-menu-title {
    display: block;
    padding: .35rem 1.5rem;
    font-weight: 500;
    font-size: 1.25rem
}
.header-navbar .navbar .mega-menu-item {
    padding: 0
}
.header-navbar .navbar .mega-menu-item .nav {
    padding-left: 1rem
}
.header-navbar .user-menu .dropdown-menu {
    margin-top: 1.55rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}
.header-navbar .user-menu .user-menu-avatar {
    border: 0;
    padding: 0;
    box-shadow: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    overflow: hidden
}
.header-navbar .user-menu .user-menu-avatar img {
    width: 100%;
    height: 100%
}
@media (min-width:1200px) {
    .header-navbar .navbar .navbar-brand {
        margin-right: 3rem
    }
    .header-navbar .navbar .navbar-nav {
        margin-bottom: 0;
        width: 100%;
        justify-content: center
    }
    .header-navbar .navbar .navbar-left {
        display: flex;
        align-items: center;
        margin-right: auto
    }
    .header-navbar .navbar .navbar-right {
        display: flex;
        align-items: center;
        justify-content: end
    }
    .header-navbar .navbar .nav-link {
        font-size: 1.25rem;
        font-weight: 700;
        padding: 1.7rem 0;
        margin-right: 1.5rem
    }
    .header-navbar .navbar .nav-link .dropdown-toggle-icon {
        font-size: .85rem;
        position: unset;
        top: unset;
        right: unset;
        padding: unset;
        transform: unset
    }
    .header-navbar .navbar .dropdown-menu {
        font-size: var(--bs-body-font-size);
        box-shadow: var(--bs-box-shadow-sm);
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        padding: .75rem 0
    }
    .header-navbar .navbar .dropdown-menu .dropdown-item {
        min-width: 12rem
    }
    .header-navbar .navbar .mega-menu {
        display: flex
    }
    .header-navbar .navbar .mega-menu-item .nav {
        padding-left: 0
    }
}
.navbar-toggler {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: var(--bs-light-gray);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 0;
    box-shadow: none;
    font-size: 1.125rem
}
.navbar-toggler:focus, .navbar-toggler:hover {
    border: 0;
    box-shadow: none
}
.header-sticked .header-navbar {
    background: #fff;
    opacity: 0;
    position: fixed;
    top: -90px;
    left: 0;
    right: 0;
    z-index: 1030;
    box-shadow: var(--bs-box-shadow-sm)
}
.header-sticked.header-showed .header-navbar {
    opacity: 1;
    top: 0
}
.header-sticked + main {
    margin-top: 90px
}
.hero {
    position: relative
}
.hero .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
.hero .hero-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--bs-black-rgb), .5)
}
.hero .hero-bg.hero-without-overlay::after {
    content: unset
}
.hero .hero-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}


.hero .hero-bg2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
.hero .hero-bg2::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--bs-black-rgb), .5)
}
.hero .hero-bg2 img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}



.hero .bg-content {
    position: relative
}
.hero .hero-title {
    font-weight: 500;
    color: #fff
}
.hero .hero-sub-title {
    font-weight: 400;
    color: var(--bs-light);
    text-transform: uppercase;
    letter-spacing: .175rem;
    display: block;
    /*    margin-bottom: 1rem*/
}
.hero .hero-desc {
    color: rgba(var(--bs-white-rgb), .85)
}
.hero .hero-badge {
    color: #fff;
    background-color: var(--bs-primary);
    display: inline-block;
    padding: .45rem 1rem;
    font-weight: 400;
    margin-bottom: 1.5rem
}
.hero .hero-carousel .hero-item {
    position: relative
}
.hero .hero-carousel .hero-caption {
    position: relative;
    text-align: center;
    padding-top: 200px;
    padding-bottom: 160px
}
.hero .hero-carousel .hero-action {
    display: inline-flex;
    align-items: center;
    margin-top: 1.5rem
}
.hero .hero-carousel .carousel-indicators.hero-indicators {
    margin: 0;
    padding-left: .75rem;
    margin-bottom: 0;
    bottom: 2rem
}
.hero .hero-carousel .carousel-indicators.hero-indicators [data-bs-target] {
    height: 6px;
    width: 18px;
    padding: 0;
    margin: 0 3px;
    border-top: 0 solid #fff0;
    border-bottom: 0 solid #fff0;
    transition: all 0.25s ease-in-out;
    border-radius: 3px
}
.hero .hero-carousel .carousel-indicators.hero-indicators [data-bs-target].active {
    width: 40px
}
.hero .hero-carousel .carousel-indicators.hero-indicators-right {
    left: 0;
    right: 0;
    margin: 0;
    bottom: 0.3rem;
    align-items: center
}
.hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target] {
    width: 1.25rem;
    height: 1.25rem;
    background-color: #fff0;
    border: 1px solid #fff0;
    border-radius: 50%;
    margin: .35rem 0 .35rem .5rem;
    position: relative;
    transition: all 0.35s ease-in-out
}
.hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target]::after {
    position: absolute;
    content: "";
    width: .85rem;
    height: .85rem;
    background-color: #fff;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    transition: all 0.35s ease-in-out
}
.hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target].active {
    border-color: var(--bs-primary);
    opacity: 1;
    transition: all 0.35s ease-in-out
}
.hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target].active::after {
    width: .35rem;
    height: .35rem;
    background-color: var(--bs-primary)
}
.hero .hero-carousel .carousel-control-next-icon, .hero .hero-carousel .carousel-control-prev-icon {
    background-color: rgba(var(--bs-black-rgb), .75);
    width: 48px;
    height: 48px;
    border: .75rem solid #fff0;
    border-radius: 50%
}
.hero .hero-carousel .carousel-control {
    display: none;
    align-items: center;
    bottom: 6rem;
    position: absolute;
    z-index: 1
}
.hero .hero-carousel .carousel-control .carousel-control-next, .hero .hero-carousel .carousel-control .carousel-control-prev {
    position: relative;
    width: auto;
    transition: all 0.35s ease-in-out
}
.hero .hero-carousel .carousel-control .carousel-control-next::after, .hero .hero-carousel .carousel-control .carousel-control-next::before, .hero .hero-carousel .carousel-control .carousel-control-prev::after, .hero .hero-carousel .carousel-control .carousel-control-prev::before {
    background-color: #fff;
    content: ""
}
.hero .hero-carousel .carousel-control .carousel-control-next::after, .hero .hero-carousel .carousel-control .carousel-control-prev::before {
    height: 1px;
    width: 80px
}
.hero .hero-carousel .carousel-control .carousel-control-next::before, .hero .hero-carousel .carousel-control .carousel-control-prev::after {
    position: absolute;
    width: .5rem;
    height: .5rem;
    border-radius: 50%
}
.hero .hero-carousel .carousel-control .carousel-control-next {
    margin-right: .5rem
}
.hero .hero-carousel .carousel-control .carousel-control-next::after {
    margin-left: -1rem
}
.hero .hero-carousel .carousel-control .carousel-control-next::before {
    right: 0
}
.hero .hero-carousel .carousel-control .carousel-control-prev {
    margin-left: .5rem
}
.hero .hero-carousel .carousel-control .carousel-control-prev::before {
    margin-right: -1rem
}
.hero .hero-carousel .carousel-control .carousel-control-prev::after {
    left: 0
}
.hero .hero-carousel .carousel-control .carousel-control-next-icon, .hero .hero-carousel .carousel-control .carousel-control-prev-icon {
    width: 1.5rem;
    height: 1.5rem;
    background-color: unset;
    border: unset
}
@media (min-width: 576px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
        flex-direction: column;
        left: unset;
        right: unset;
        bottom: unset;
        top: 50%;
        transform: translateY(-50%);
    }
    .hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target] {
        margin: .35rem 0;
    }
}
@media (min-width: 768px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
        right: calc((100% - 740px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
        display: none;
        left: calc((100% - 640px) / 2);
    }
}
@media (min-width: 992px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
        right: calc((100% - 780px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
        display: none;
    }
}
@media (min-width: 1100px) {
    .hero .hero-carousel .carousel-control {
        display: flex;
    }
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
        right: calc((100% - 960px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
        left: calc((100% - 960px) / 2);
    }
}
@media (min-width: 1200px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
        right: calc((100% - 1260px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
        left: calc((100% - 1160px) / 2);
    }
}
@media (min-width: 1300px) {
    .hero .hero-carousel .hero-caption {
        display: flex;
        align-items: center;
        height: calc(100vh - 130px);
        padding-top: unset;
        padding-bottom: 4rem;
    }
    .hero .hero-carousel .hero-indicators {
        bottom: 7rem;
    }
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
        /* 기존: right: calc((100% - 1260px) / 2 + 0.75rem) */
        /* 컨테?�너 ?�곽 바깥쪽으�??�전???�동 */
        right: calc((100% - 1260px) / 2 - 1.5rem);
    }
    .hero .hero-carousel .carousel-control {
        left: calc((100% - 1100px) / 2);
    }
}
@media (min-width: 1400px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
        /* 기존: right: calc((100% - 1400px) / 2 + 0.75rem) */
        right: calc((100% - 1300px) / 2 - 1.5rem);
    }
    .hero .hero-carousel .carousel-control {
        left: calc((100% - 1360px) / 2);
    }
}
.hero .hero-video .hero-caption {
    height: calc(100vh - 130px);
    position: relative;
    text-align: center;
    padding-top: 160px;
    padding-bottom: 160px
}
.hero .hero-page-title {
    text-align: center;
    padding-top: 160px;
    padding-bottom: 160px
}

/*  스토리 디테일 */

.hero .hero-page-title2 {
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px
}
.hero-badge-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}





.hero .hero-page-title.hero-title-search {
    padding-bottom: calc(160px + 3rem)
}
.hero .hero-review {
    display: inline-block;
    position: relative;
    color: #fff
}
.hero .hero-review .review-content {
    display: flex;
    align-items: center;
    margin-bottom: 1rem
}
.hero .hero-review .review-score {
    font-weight: 600;
    font-size: 3.5rem;
    margin-right: 1rem;
    line-height: 1;
    margin-bottom: .1rem
}
.hero .hero-review .review-total {
    display: flex;
    flex-direction: column;
    line-height: 1.35rem
}
.hero .hero-review .review-total .star-rate-view {
    margin-bottom: .25rem
}
.hero .hero-review .review-label {
    text-align: center;
    display: inline-block
}
.hero .hero-review .review-label > small {
    color: #fff;
    background-color: var(--bs-primary);
    text-transform: uppercase;
    letter-spacing: .175rem;
    display: block;
    height: 100%;
    font-weight: 500;
    padding: .25rem .75rem .25rem 1rem;
    font-size: .75rem;
    min-width: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--bs-border-radius-sm)
}
.hero .hero-review .review-label > small.review-label-lg {
    font-size: 1rem
}
.hero .hero-review .review-label > small.review-label-sm {
    font-size: .65rem
}
.hero .hero-review .review-title {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    line-height: 1
}
.hero nav[aria-label=breadcrumb] {
    left: -150px;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    height: 100%;
    font-size: .65rem;
    letter-spacing: .135rem;
    z-index: 1;
    display: none
}
.hero nav[aria-label=breadcrumb] .breadcrumb {
    writing-mode: unset; /* writing-mode ?�전 ?�거 */
    transform: rotate(90deg);
    color: var(--bs-dark-gray);
    text-transform: uppercase;
    background-color: rgba(var(--bs-black-rgb), .35);
    padding: .5rem .85rem; /* ?�딩 가로형?�로 조정 */
    margin: 0;
    border-radius: var(--bs-border-radius-sm);
    white-space: nowrap; /* 줄바�?방�? */
}
.hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item + .breadcrumb-item {
    padding-left: unset;
    /*    padding-top: .35rem*/
}
.hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    padding-right: unset;
    /*    padding-bottom: .35rem*/
}
.hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item a {
    color: #fff
}
.hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item a:hover {
    color: var(--bs-primary)
}
.hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item.active, .hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(var(--bs-white-rgb), .5)
}
@media (min-width:768px) {
    .hero nav[aria-label=breadcrumb] {
        display: flex;
        left: .75rem
    }
}
@media (min-width:1200px) {
    .hero nav[aria-label=breadcrumb] {
        left: calc((100% - 1300px) / 2 + 0.75rem)
    }
}
@media (min-width:1400px) {
    .hero nav[aria-label=breadcrumb] {
        left: calc((100% - 1400px) / 2 + 0.75rem)
    }
}
.search-tours {
    position: relative;
    z-index: 1;
    padding-top: 1rem;
    padding-bottom: 1rem
}
.search-tours .search-tour-form {
    border-radius: var(--bs-border-radius)
}
.search-tours .btn-search-tour {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    min-width: auto
}
/*
.search-tours.search-hero {
    border-bottom: 1px solid var(--bs-border-color)
}
*/
.search-tours.search-hero .search-tour-form {
    background-color: var(--bs-light-gray)
}
.search-tours.search-hero .search-tour-input {
    position: relative;
    padding: 1.5rem
}
.search-tours.search-hero .search-tour-input.pad-0 {
    padding: 0px;
}
@media (min-width:1200px) {
    .search-tours {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }
    .search-tours.search-hero {
        padding-top: unset;
        padding-bottom: unset;
        border-bottom: unset
    }
    .search-tours.search-hero .search-tour-form {
        border-radius: 0;
        border-top-right-radius: var(--bs-border-radius);
        border-top-left-radius: var(--bs-border-radius);
        position: absolute;
        bottom: 100%;
        right: 0;
        width: 100%;
        background-color: rgba(255, 255, 255, .6);
        /*			var(--bs-light-gray);*/
        z-index: 1
    }
    .search-tours.search-hero .search-tour-input {
        padding: 1rem
    }
    .search-tours.search-hero.search-hero-half .search-tour-input {
        padding: 1.25rem
    }
}
.block-title {
    margin-bottom: 1rem
}
.block-title .title {
    margin-bottom: 0;
    font-weight: 600;
    letter-spacing: -1px
}
.block-title .sub-title {
    text-transform: uppercase;
    color: #888;
    letter-spacing: -.5px;
    font-weight: 400;
    display: block;
    margin-bottom: .5rem
}
.title-info {
    position: relative;
    z-index: 2
}
@media (min-width:1200px) {
    .title-info {
        padding-top: 0
    }
}
@media (min-width:1200px) {
    .title-info .title-info-body {
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0
    }
}
.destination .destination-content {
    display: flex;
    align-items: center
}
.destination .destination-content .destination-info {
    margin-right: auto
}
.destination .destination-content .destination-info .destination-title {
    margin-bottom: 0
}
.destination.destination-center {
    text-align: center
}
.destination.destination-center .destination-icon {
    margin-bottom: 1rem
}
.destination.destination-center .destination-title {
    margin-bottom: 0
}
@media (max-width:768px) {
    .destination.destination-center .destination-icon {
        margin-bottom: .35rem
    }
}
.tour-list .tour-item {
    background-color: var(--bs-body-bg);
    overflow: hidden
}
.tour-list .tour-item .tour-img {
    position: relative
}
.tour-list .tour-item .tour-like {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem
}
.tour-list .tour-item .tour-content {
    position: relative;
    padding: 1.5rem;
    width: 100%
}
.tour-list .tour-item .tour-content .tour-title {
    font-size: 1.5rem
}
.tour-list .tour-item .tour-content .tour-title a {
    color: var(--bs-body-color)
}
.tour-list .tour-item .tour-content .tour-title a:hover {
    color: var(--bs-primary)
}
.tour-list .tour-item .tour-content .tour-info {
    display: flex;
    align-items: center
}
.tour-list .tour-item .tour-content .tour-info .tour-itinerary {
    margin-bottom: 1rem;
    margin-right: .5rem;
    font-size: 1rem
}
.tour-list .tour-item .tour-content .tour-info .tour-itinerary span {
    margin-right: .75rem
}
.tour-list .tour-item .tour-content .tour-info .inline-review {
    margin-bottom: 1rem
}
.tour-list .tour-item .tour-content .tour-booking {
    display: flex;
    align-items: center;
    width: 100%
}
.tour-list .tour-item .tour-content .tour-booking .tour-price {
    margin-right: auto;
    display: inline-flex;
    align-items: center;

}
.tour-list .tour-item .tour-content .tour-booking .tour-price strong {
    font-weight: 600;
    font-size: 1.5rem;
    margin-right: .25rem
}
.tour-list .tour-item .tour-content .tour-booking .tour-price span {
    font-size: 1rem;
    color: var(--bs-secondary);
    font-weight: 400
}

.tour-price{
	border-top:1px solid #eee;
    padding-top:12px;

}

@media (max-width:1399.98px) {
    .tour-list .tour-item .tour-content .tour-title {
        font-size: 1.275rem
    }
    .tour-list .tour-item .tour-content .tour-info {
        margin-bottom: .75rem
    }
    .tour-list .tour-item .tour-content .tour-info .tour-itinerary {
        margin-bottom: .75rem
    }
}
@media (max-width:1199.98px) {
    .tour-list .tour-item .tour-content .tour-info {
        display: block;
        align-items: unset
    }
    .tour-list .tour-item .tour-content .tour-info .tour-itinerary {
        margin-bottom: .55rem
    }
    .tour-list .tour-item .tour-content .tour-info .inline-review {
        margin-bottom: .55rem
    }
    .tour-list .tour-item .tour-content .tour-booking {
        display: flex;
        align-items: center;
        width: 100%
    }
    .tour-list .tour-item .tour-content .tour-booking .tour-price strong {
        font-size: 1.35rem
    }
    .tour-list .tour-item .tour-content .tour-booking .tour-price span {
        font-size: .85rem
    }
}
.tour-grid .tour-item {
    background-color: var(--bs-body-bg);
    overflow: hidden
}
.tour-grid .tour-item .tour-img {
    position: relative
}
.tour-grid .tour-item .tour-like {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem
}
.tour-grid .tour-item .tour-content {
    position: relative;
    padding: 1.5rem;
    width: 100%;
	
}
.tour-grid .tour-item .tour-content .tour-title {
    font-size: 1.275rem
}
.tour-grid .tour-item .tour-content .tour-title a {
    color: var(--bs-body-color)
}
.tour-grid .tour-item .tour-content .tour-title a:hover {
    color: var(--bs-primary)
}
.tour-grid .tour-item .tour-content .tour-itinerary {
    margin-bottom: 0.5rem;
    margin-right: .5rem;
    font-size: 14px
}
.tour-grid .tour-item .tour-content .tour-itinerary span {
    margin-right: .75rem
}
.tour-grid .tour-item .tour-content .inline-review {
    margin-bottom: 0rem
}
.tour-grid .tour-item .tour-content .tour-booking {
    display: flex;
    align-items: center;
    /*    width: 100%;*/
    font-size: 14px;
    padding: 8px 0;
}
.tour-grid .tour-item .tour-content .tour-booking .tour-price {
    margin-right: auto;
    display: inline-flex;
    align-items: center
}
.tour-grid .tour-item .tour-content .tour-booking .tour-price strong {
    font-weight: 600;
    font-size: 1.5rem;
    margin-right: .25rem
}
.tour-grid .tour-item .tour-content .tour-booking .tour-price span {
    font-size: 1rem;
    color: var(--bs-secondary);
    font-weight: 400
}
.testimonial-box {
    position: relative;
    background-color: var(--bs-body-bg);
    padding: 1.5rem
}
.testimonial-box .testimonial-icon {
    font-size: 3.5rem;
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    opacity: .05;
    line-height: 1
}
.testimonial-box .testimonial-client {
    display: flex;
    align-items: center;
    margin-bottom: 1.15rem
}
.testimonial-box .testimonial-client img {
    margin-right: 1rem;
    max-width: 64px;
    border-radius: 50%
}
.testimonial-box .testimonial-client span {
    font-size: .875rem;
    color: var(--bs-secondary);
    font-weight: 400
}
.testimonial-box .testimonial-review {
    font-style: italic
}
.testimonial-box .testimonial-star {
    display: flex;
    align-items: center;
    justify-content: space-between
}
.testimonial-box .testimonial-date {
    font-size: .85rem;
    padding: .15rem .45rem;
    font-weight: 400;
    color: #fff;
    background-color: var(--bs-primary)
}
.testimonial-above {
    position: relative;
    text-align: center
}
.testimonial-above .testimonial-content {
    background-color: var(--bs-body-bg);
    padding: 1.5rem;
    position: relative
}
.testimonial-above .testimonial-content .testimonial-review {
    font-style: italic
}
.testimonial-above .testimonial-content .testimonial-name span {
    font-size: .875rem;
    color: var(--bs-secondary);
    font-weight: 400
}
.testimonial-above .testimonial-content .testimonial-star {
    display: inline-block;
    margin-bottom: .5rem
}
.testimonial-above .testimonial-content::after {
    background: var(--bs-body-bg);
    border-right: 1px solid var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-body-bg);
    content: "";
    height: 1rem;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    position: absolute;
    bottom: -.5rem;
    width: 1rem;
    z-index: 0;
    box-shadow: var(--bs-box-shadow-xs)
}
.testimonial-above .testimonial-avatar {
    display: inline-block;
    position: relative;
    margin-top: 1.5rem;
    border: 3px solid var(--bs-body-bg);
    border-radius: 50%
}
.testimonial-above .testimonial-avatar img {
    width: 80px;
    border-radius: 50%
}
.testimonial-above .testimonial-avatar .testimonial-icon {
    position: absolute;
    top: 0;
    right: -.75rem;
    width: 32px;
    height: 32px;
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: .85rem;
    background-color: var(--bs-primary);
    color: #fff;
    border-radius: 50%
}
.testimonial-inline {
    text-align: center
}
.testimonial-inline .testimonial-avatar {
    display: inline-block;
    position: relative;
    margin-bottom: 1rem
}
.testimonial-inline .testimonial-avatar img {
    border-radius: 50%;
    width: 80px
}
.testimonial-inline .testimonial-icon {
    position: absolute;
    top: 0;
    right: -.75rem;
    width: 32px;
    height: 32px;
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: .85rem;
    background-color: var(--bs-primary);
    color: #fff;
    border-radius: 50%
}
.testimonial-inline .testimonial-review {
    font-style: italic;
    margin-bottom: .55rem
}
.testimonial-inline .testimonial-star {
    display: inline-flex;
    align-items: center;
    margin-bottom: .75rem
}
.testimonial-inline .testimonial-date {
    font-size: .85rem;
    margin-left: .5rem;
    color: var(--bs-secondary)
}
.testimonial-inline .testimonial-user {
    display: inline-flex;
    flex-direction: column;
    text-wrap: nowrap
}
.testimonial-inline .testimonial-user span {
    font-size: .875rem;
    color: var(--bs-secondary);
    font-weight: 400
}
@media (min-width:1200px) {
    .testimonial-inline {
        display: flex;
        align-items: center;
        text-align: left
    }
    .testimonial-inline .testimonial-avatar {
        margin-right: 2.5rem;
        margin-bottom: 0
    }
    .testimonial-inline .testimonial-star {
        margin-bottom: 0
    }
    .testimonial-inline .testimonial-user {
        border-left: 1px solid var(--bs-border-color);
        padding-left: 1.5rem;
        margin-left: 1.5rem
    }
}
.team {
    position: relative;
    overflow: hidden;
    background-color: #fff;
    text-align: center
}
.team img {
    width: 100%
}
.team .team-info {
    padding: 1.5rem;
    position: relative;
    transition: 0.25s all ease-in-out
}
.team .team-name {
    margin-bottom: 0;
    transition: 0.25s all ease-in-out
}
.team .team-city {
    font-size: .875rem;
    color: var(--bs-secondary);
    font-weight: 400;
    display: block;
    transition: 0.35s all ease-in-out
}
.team .social-list {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    opacity: 0;
    transition: 0.35s all ease-in-out
}
.team:hover .team-info .team-name, .team:hover .team-info .team-city {
    opacity: 0
}
.team:hover .social-list {
    opacity: 1
}
.post-mini {
    display: flex;
    align-items: center
}
.post-mini .post-img {
    display: block;
    max-width: 128px;
    flex-shrink: 0;
    overflow: hidden
}
.post-mini .post-img img {
    width: 100%
}
.post-mini .post-content {
    flex-grow: 1;
    padding-left: 1.5rem
}
.post-mini .post-title {
    margin-bottom: .5rem;
    font-size: 1.15rem
}
.post-mini .post-title a {
    color: var(--bs-body-color)
}
.post-mini .post-title a:hover, .post-mini .post-title a:focus {
    color: var(--bs-primary)
}
.post-mini .post-ext {
    display: inline-flex;
    align-items: center;
    font-size: .85rem;
    color: var(--bs-secondary);
    font-weight: 400
}
.post-mini .post-ext .post-date, .post-mini .post-ext .post-comment, .post-mini .post-ext .post-view {
    margin-right: .75rem
}
@media (max-width:1200px) {
    .post-mini .post-img {
        max-width: 160px
    }
}
@media (max-width:576px) {
    .post-mini .post-img {
        max-width: 110px
    }
}
.post {
    position: relative;
    background-color: var(--bs-body-bg)
}
.post .post-img {
    position: relative
}
.post .post-content {
    padding: 1.5rem
}
.post .post-title {
    margin-bottom: .5rem;
    font-size: 1.275rem
}
.post .post-title a {
    color: var(--bs-body-color)
}
.post .post-title a:hover, .post .post-title a:focus {
    color: var(--bs-primary)
}
.post .post-link {
    display: flex;
    align-items: center
}
.post .post-link .post-ext {
    display: inline-flex;
    align-items: center;
    font-size: .85rem;
    color: var(--bs-secondary);
    font-weight: 400;
    margin-right: auto
}
.post .post-link .post-ext .post-date, .post .post-link .post-ext .post-comment, .post .post-link .post-ext .post-view {
    margin-right: .75rem
}
.post-content h2 {
    font-size: 1.75rem
}
.post-content h3 {
    font-size: 1.55rem
}
.post-content h4 {
    font-size: 1.35rem
}
.post-content blockquote {
    position: relative;
    font-size: 1.175rem;
    color: var(--bs-secondary);
    font-style: italic;
    border-left: 3px solid var(--bs-border-color);
    padding-left: 1rem;
    font-weight: 400
}
.post-category {
    list-style: none;
    padding-left: 0;
    font-size: 1.175rem
}
.post-category li a {
    position: relative;
    padding: .25rem 0 .25rem 1.5rem;
    display: flex;
    align-items: center;
    color: var(--bs-body-color)
}
.post-category li a::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "\f2a5";
    padding: .25rem 0;
    font-weight: 600;
    font-family: icons;
    margin-right: .5rem
}
.post-category li a span {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 400;
    font-size: 1rem;
    color: var(--bs-secondary)
}
.post-category li a:hover, .post-category li a:hover span {
    color: var(--bs-primary)
}
.tag-list {
    list-style: none;
    padding-left: 0
}
.tag-list li {
    display: inline-block;
    margin-right: .35rem
}
.tag-list li a {
    display: inline-block;
    font-size: 1rem;
    background-color: var(--bs-gray-300);
    padding: .15rem .75rem;
    margin: .275rem 0;
    color: var(--bs-body-color);
    border-radius: .25rem;
    transition: 0.35s all ease-in-out;
    font-weight: 400
}
.tag-list li a:hover {
    background-color: var(--bs-primary);
    color: #fff
}
.tag-list.tag-lg li a {
    font-size: var(--bs-body-font-size);
    padding: .215rem 1rem
}
.comment-list .comment-item {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: .5rem;
    margin-bottom: 1.5rem
}
.comment-list .comment-item p {
    font-style: italic
}
.comment-list .comment-client {
    display: flex;
    align-items: center;
    margin-bottom: 1rem
}
.comment-list .comment-avatar {
    flex-shrink: 0;
    margin-bottom: 0;
    margin-right: 1rem
}
.comment-list .comment-name {
    display: flex;
    flex-direction: column;
    flex-grow: 1
}
.comment-list .comment-name strong {
    font-size: 1.175rem;
    color: var(--bs-emphasis-color)
}
.comment-list .comment-name small {
    color: var(--bs-secondary)
}
.comment-list .comment-report {
    font-weight: 400;
    font-size: .875rem
}
.comment-list .comment-report:hover {
    color: var(--bs-secondary)
}
.form-contact {
    background-color: var(--bs-primary);
    z-index: 1;
    position: relative;
    padding: 1.5rem
}
@media (min-width:992px) {
    .form-contact {
        margin-top: -5.55rem
    }
}
.account-menu {
    list-style: none;
    padding-left: 0
}
.account-menu .menu-item a {
    display: block;
    color: var(--bs-body-color);
    padding: .35rem 0
}
.account-menu .menu-item a:hover, .account-menu .menu-item a.active {
    color: var(--bs-primary)
}
.account-menu .menu-item a i {
    margin-right: .25rem
}
.account-user {
    display: flex;
    align-items: center
}
.account-user .user-avatar {
    position: relative;
    display: inline-block;
    margin-right: 1.25rem
}
.account-user .user-avatar .show-avatar {
    width: 64px;
    height: 64px
}
.account-user .user-avatar .btn-update-avatar, .account-user .user-avatar .select-avatar {
    position: absolute;
    padding: 0;
    height: 24px;
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: .75rem
}
.account-user .user-avatar .btn-update-avatar {
    bottom: 0;
    right: 0
}
.account-user .user-avatar .select-avatar {
    background-color: var(--bs-light-gray);
    border: 1px solid var(--bs-border-color);
    top: 0;
    right: 0;
    transition: all 0.25s ease-in-out;
    cursor: pointer
}
.account-user .user-avatar .select-avatar:hover, .account-user .user-avatar .select-avatar:focus {
    background-color: var(--bs-secondary);
    border: 1px solid var(--bs-secondary);
    color: #fff
}
.account-user .username {
    display: flex;
    flex-direction: column
}
.account-user .username span {
    font-weight: 400;
    color: var(--bs-secondary)
}
.account-user .username strong {
    font-weight: 500;
    font-size: 1.275rem
}
.booking-status {
    padding: .25rem .75rem;
    border-radius: var(--bs-border-radius-sm);
    display: inline-block;
    font-size: .75rem;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.15;
    min-width: 100px;
    text-align: center
}
.booking-status.booking-unpaid {
    background-color: rgba(var(--bs-danger-rgb), .1);
    color: var(--bs-danger)
}
.booking-status.booking-cancelled {
    background-color: rgba(var(--bs-dark-rgb), .1);
    color: var(--bs-dark)
}
.booking-status.booking-completed {
    background-color: rgba(var(--bs-success-rgb), .1);
    color: var(--bs-success)
}
.booking-status.booking-processing {
    background-color: rgba(var(--bs-warning-rgb), .1);
    color: var(--bs-warning)
}
.book-info {
    margin-bottom: 2rem
}
.book-info .block-title .title {
    color: var(--bs-emphasis-color)
}
.book-info .book-question {
    margin-top: 1.5rem
}
.book-info .question-contact {
    display: flex;
    flex-direction: column
}
.book-info .question-contact > * {
    margin-right: 1rem;
    color: var(--bs-emphasis-color);
    font-weight: 500;
    margin-bottom: 1rem
}
.book-info .question-contact > *:hover {
    color: var(--bs-secondary)
}
.book-info.info-light, .book-info.info-light .block-title .title, .book-info.info-light .question-contact > * {
    color: #fff
}
.book-info.info-light .question-contact > *:hover {
    color: var(--bs-primary)
}
@media (min-width:768px) {
    .book-info .question-contact {
        align-items: center;
        flex-direction: row
    }
}
@media (min-width:1200px) {
    .book-info {
        margin-bottom: 0
    }
    .book-info {
        margin-right: 3rem
    }
}
.booking-process {
    position: relative;
    height: 32px;
    margin-left: 16px;
    margin-right: 16px
}
.booking-process::before, .booking-process::after {
    position: absolute;
    content: "";
    height: 2px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0
}
.booking-process::before {
    background-color: var(--bs-dark-border-subtle);
    right: 0
}
.booking-process::after {
    background-color: var(--bs-primary)
}
.booking-process[data-booking-step="1"]::after {
    background-color: var(--bs-primary);
    right: 50%
}
.booking-process[data-booking-step="2"]::after {
    background-color: var(--bs-primary);
    right: 0
}
.booking-process[data-booking-step="3"]::after, .booking-process[data-booking-step="4"]::after {
    background-color: var(--bs-primary);
    right: 0
}
.booking-process .booking-step {
    background-color: var(--bs-dark-border-subtle);
    color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1
}
.booking-process .booking-step.step-1 {
    left: -16px
}
.booking-process .booking-step.step-2 {
    left: calc(50% - 16px)
}
.booking-process .booking-step.step-3 {
    left: calc(100% - 16px)
}
.booking-process[data-booking-step="1"] .step-1 {
    background-color: var(--bs-primary)
}
.booking-process[data-booking-step="2"] .step-1, .booking-process[data-booking-step="2"] .step-2 {
    background-color: var(--bs-primary)
}
.booking-process[data-booking-step="3"] .step-1, .booking-process[data-booking-step="3"] .step-2, .booking-process[data-booking-step="3"] .step-3 {
    background-color: var(--bs-primary)
}
.footer {
    position: relative;
    background-color: #042233;
    color: rgba(var(--bs-white-rgb), .65)
}
.footer .footer-top {
    border-bottom: 1px solid rgba(var(--bs-white-rgb), .15);
    margin-bottom: 45px
}
.footer a {
    color: #fff
}
.footer a:hover {
    color: var(--bs-primary)
}
.footer .social-list .social-item a svg {
    stroke: #fff
}
.footer .footer-widget {
    margin-bottom: 2.5rem
}
.footer .footer-widget h2 {
    color: #fff
}
.footer .brand-img {
    display: inline-block;
    margin-bottom: 1.5rem
}
.footer .footer-link {
    list-style: none;
    padding: 0;
    margin: 0
}
.footer .footer-link .link-item {
    padding: 0 0 .5rem 0
}
.footer .footer-link .link-item a {
    display: inline-block;
    padding: .125rem 0
}
.footer .footer-local, .footer .footer-local a {
    display: flex;
    align-items: center
}
.p-top-50 {
    padding-top: 50px !important
}
.p-bottom-50 {
    padding-bottom: 50px !important
}
.p-top-60 {
    padding-top: 60px !important
}
.p-bottom-60 {
    padding-bottom: 60px !important
}
.p-top-70 {
    padding-top: 70px !important
}
.p-bottom-70 {
    padding-bottom: 70px !important
}
.p-top-80 {
    padding-top: 80px !important
}
.p-bottom-80 {
    padding-bottom: 80px !important
}
.p-top-90 {
    padding-top: 90px !important
}
.p-bottom-90 {
    padding-bottom: 90px !important
}
.p-top-100 {
    padding-top: 100px !important
}
.p-bottom-100 {
    padding-bottom: 100px !important
}
.p-top-110 {
    padding-top: 110px !important
}
.p-bottom-110 {
    padding-bottom: 110px !important
}
.p-top-120 {
    padding-top: 120px !important
}
.p-bottom-120 {
    padding-bottom: 120px !important
}
.p-top-130 {
    padding-top: 130px !important
}
.p-bottom-130 {
    padding-bottom: 130px !important
}
.p-top-140 {
    padding-top: 140px !important
}
.p-bottom-140 {
    padding-bottom: 140px !important
}
.p-top-150 {
    padding-top: 150px !important
}
.p-bottom-150 {
    padding-bottom: 150px !important
}
.p-top-160 {
    padding-top: 160px !important
}
.p-bottom-160 {
    padding-bottom: 160px !important
}
.p-top-170 {
    padding-top: 170px !important
}
.p-bottom-170 {
    padding-bottom: 170px !important
}
.p-top-180 {
    padding-top: 180px !important
}
.p-bottom-180 {
    padding-bottom: 180px !important
}
.p-top-190 {
    padding-top: 190px !important
}
.p-bottom-190 {
    padding-bottom: 190px !important
}
.p-top-200 {
    padding-top: 200px !important
}
.p-bottom-200 {
    padding-bottom: 200px !important
}
.mnw-150 {
    min-width: 150px !important
}
.mnw-160 {
    min-width: 160px !important
}
.mnw-170 {
    min-width: 170px !important
}
.mnw-180 {
    min-width: 180px !important
}
.mnw-190 {
    min-width: 190px !important
}
.mnw-200 {
    min-width: 200px !important
}
.fsm-1 {
    font-size: 1rem !important
}
.fsm-2 {
    font-size: 0.95rem !important
}
.fsm-3 {
    font-size: 0.9rem !important
}
.fsm-4 {
    font-size: 0.85rem !important
}
.fsm-5 {
    font-size: 0.8rem !important
}
.fsm-6 {
    font-size: 0.75rem !important
}
.fsm-7 {
    font-size: 0.7rem !important
}
.fsm-8 {
    font-size: 0.65rem !important
}
.lh-xs {
    line-height: 1.15 !important
}
.sticky-top-120 {
    top: 120px !important
}
@media (min-width:576px) {
    .container, .container-sm {
        max-width: 540px
    }
}
@media (min-width:768px) {
    .container, .container-md, .container-sm {
        max-width: 640px
    }
}
@media (min-width:992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 720px
    }
}
@media (min-width:1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1200px
    }
}
@media (min-width:1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1360px
    }
}
.input-icon-group::after {
    content: "??;
    position: absolute;
    top: 18%;
    right: 12px;
    pointer-events: none;
    font-size: 20px;
    color: inherit;
}
.form-select2 {
    padding-top: 4px;
    padding-left: 16px;
    padding-right: 32px;
    height: 36px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 130px;
    outline: none;
    box-shadow: none;
    appearance: none; /* 기본 화살표 제거 */
    -webkit-appearance: none;
    border: 1px solid #eee;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333333' d='M6 8.825L1.175 4 2.575 2.6 6 6.025 9.425 2.6 10.825 4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center;
}
.form-select2:focus {
    outline: none;
    box-shadow: none;
}
/* ?�어�?배경 ?�체(메인) */
.hero-item, .hero-caption {
    height: auto !important;
    min-height: 70vh !important;
    max-height: unset !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.hero-item, .hero-caption2 {
    /*    height: 55vh !important;*/
    min-height: unset !important;
    max-height: 55vh !important;
}
.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* ?�두???�버?�이 */
.hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
/* 캡션 ?�체 */
.hero-split-row {
    width: 100%;
    align-items: center;
    margin: 0 !important; /* Bootstrap ?�수마진 ?�거 */
}
.hero-caption > .container, .hero-caption2 > .container {
    height: 100%;
    max-height: 100%;
    display: flex;
    align-items: center;
    overflow: visible;
}
/* 카루?� 관???�이 초기??*/
.carousel, .carousel-inner, .carousel-item {
    height: auto !important;
    max-height: unset !important;
}
.carousel-inner2, .carousel-item2 {
    height: auto !important;
    max-height: 55vh !important;
}
/* ?�?� ?�쪽 ?�?� */
.hero-left {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 70px;
    z-index: 999 !important;
    position: relative;
}
.hero-right {
    overflow: visible;
}
.hero-sub-title span {
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 999px;
    padding: 4px 14px;
    font-size: 13px;
    color: #fff;
    margin-bottom: 20px;
}
.hero-title {
    color: #fff !important;
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 16px;
}
.hero-title2 {
    color: #fff !important;
    font-size: clamp(2rem, 2.3vw, 2.4rem);
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 16px;
}
.hero-desc {
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    line-height: 1.7;
    /*    margin-bottom: 28px;*/
}
/* 검?�바 */
.hero-search-wrap {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 999px;
    padding: 6px 6px 6px 20px;
    width: 80%; /* �?차게 */
    max-width: 100%; /* ?�한 ?�제 */
    /*    margin-bottom: 20px;*/
}
.hero-search-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: #333;
}
.hero-search-input::placeholder {
    color: #aaa;
}
.hero-search-btn {
    background: #4a7c59;
    color: #fff;
    border: none;
    border-radius: 999px;
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
    flex-shrink: 0;
}
.hero-search-btn:hover {
    background: #3a6347;
}
/* ?�씨/?�벤??뱃�? */
.hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0
}
.hero-badge {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    padding: 5px 14px;
    font-size: 13px;
    color: #fff;
}
/* ?�?� ?�른�??�시 카드 ?�?� */
.hero-right {
    display: flex;
    align-items: center;
    justify-content: center;
}
.city-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    width: 100%;
    max-width: 320px;
    overflow: visible;
	margin-bottom: 10px
}
.city-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 8px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    text-decoration: none;
    color: #fff;
    transition: background 0.2s, transform 0.2s;
    aspect-ratio: 1 / 1;
}
.city-card:hover {
    background: rgba(255, 255, 255, 0.22);
    transform: translateY(-3px);
    color: #fff;
    text-decoration: none;
}
.city-icon {
    display: inline-block;
    width: 90px;
    height: 68px;
    flex-shrink: 0;
    overflow: hidden;
    padding: 2px
}
.city-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    padding: 4px
}
.city-name {
    font-size: 17px;
    font-weight: 700;
}
.city-sub {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.75);
}
/* ?�?� 반응???�?� */
@media (max-width: 1199px) {
    .city-grid {
        gap: 8px;
        /*        padding-bottom: 30px*/
    }
    .city-card {
        padding: 12px 8px;
        min-height: 100px;
    }
    .city-icon {
        font-size: 22px;
    }
    .city-name {
        font-size: 14px;
    }
    .city-sub {
        font-size: 11px;
    }
    .hero-badges {
        flex-wrap: wrap;
        gap: 6px;
    }
}
@media (max-width: 991px) {
    .hero-left {
        padding-left: 20px;
    }
    .hero-item {
        height: auto;
        min-height: 80vh;
    }
    .hero-caption {
        height: auto;
        min-height: 70vh;
        padding: 20px 0;
    }
    .hero-item .hero-caption {
        height: auto !important;
        min-height: 70vh !important;
        max-height: unset !important;
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }
    /*
	.hero .hero-carousel .hero-caption {
        padding: 80px 0 60px !important;
    }
*/
    .hero-caption2 {
        height: auto;
        min-height: 55vh;
        /*        padding: 20px 0;*/
    }
    .hero-right {
        justify-content: flex-start;
    }
    .city-card {
        padding: 10px 8px; /* 카드 ?�이 축소 */
        aspect-ratio: unset;
        min-height: 100px;
    }
    .city-grid {
        max-width: 100%;
        /*        padding-bottom: 40px*/
    }
    .hero-caption > .container {
        height: auto;
    }
    .hero-item, .hero-caption2 {
        min-height: 55vh;
        height: auto !important;
    }
    /* 검?�바 */
    .hero-search-wrap {
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px
    }
    .carousel-item2, .hero-item.carousel-item2 {
        height: auto !important;
        max-height: unset !important;
    }
    .hero-caption2 {
        height: auto !important;
        min-height: unset !important;
        max-height: unset !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .carousel-inner2 {
        height: auto !important;
        max-height: unset !important;
    }
}
@media (max-width: 576px) {
    .hero-left {
        padding-left: 10px;
    }
    .hero-badges {
        gap: 6px; /* 뱃�? 간격 축소 */
        margin-bottom: 0;
    }
    .hero-badge {
        padding: 3px 10px; /* 뱃�? ?�하 ?�딩 축소 */
        font-size: 12px;
    }
    .hero-search-wrap {
        width: 98%;
        margin-bottom: 16px
    }
    .city-grid {
        gap: 8px;
        /*        padding-bottom: 40px*/
    }
    .city-card {
        padding: 10px 8px; /* 카드 ?�이 축소 */
        aspect-ratio: unset;
        min-height: 90px;
    }
    .city-icon {
        font-size: 20px;
    }
    .city-name {
        font-size: 14px;
    }
    .hero-item, .hero-caption2 {
        /*        min-height: 35vh;*/
        height: auto !important;
    }
}
.realtime-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    overflow: hidden;
    flex-wrap: nowrap;
}
/* ?�시�??�벨 */
.realtime-label {
    font-size: 13px;
    font-weight: 700;
    color: #333;
    white-space: nowrap;
    padding-right: 12px;
    border-right: 2px solid #ccc;
    flex-shrink: 0;
    margin-right: 12px;
}
/* ?�이??리스??*/
.realtime-items {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    gap: 10px;
}
.realtime-items::-webkit-scrollbar {
    display: none;
}
/* 개별 ?�이??*/
.realtime-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 13px;
    color: #444;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: default;
    transition: background 0.2s, color 0.2s;
}
.realtime-item:last-child {
    margin-right: 0;
}
.realtime-item:hover {
    background: #f7faf8;
    color: #2d5a3d;
}
.realtime-item .hicon {
    font-size: 15px;
    color: #999;
    transition: color 0.2s;
}
.realtime-item:hover .hicon {
    color: #2d5a3d;
}
.realtime-items span.last {
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: -0.5px;
    padding: 6px;
    background: orangered;
    color: #fff;
    border-radius: 20px;
}
@media (max-width: 1199px) {
    .realtime-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .realtime-label {
        border-right: none;
        padding-right: 0;
        margin-right: 0;
    }
    .realtime-items {
        flex-wrap: wrap;
        overflow-x: visible;
        justify-content: flex-start;
    }
    .realtime-item {
        padding: 7px 13px;
        font-size: 12px;
    }
}
/* ?�블�?*/
@media (max-width: 1024px) {
    .realtime-bar {
        justify-content: flex-start;
    }
    .realtime-items {
        justify-content: flex-start;
    }
    .realtime-item {
        padding: 7px 13px;
        font-size: 12px;
    }
}
/* 모바??*/
@media (max-width: 768px) {
    .realtime-bar {
        justify-content: flex-start;
        overflow: hidden;
    }
    .realtime-label {
        font-size: 12px;
        padding-right: 10px;
        margin-right: 10px;
    }
    .realtime-items {
        overflow-x: auto;
        gap: 8px;
    }
    .realtime-item {
        padding: 6px 12px;
        font-size: 12px;
    }
}
/* ?�형 모바??*/
@media (max-width: 480px) {
    .realtime-label {
        font-size: 11px;
        padding-right: 8px;
        margin-right: 8px;
    }
    .realtime-item {
        padding: 5px 10px;
        font-size: 11px;
        gap: 4px;
    }
    .realtime-item .hicon {
        font-size: 13px;
    }
}
/* ?�?� AI 코스 ?�성 조건 �??�?� */
.condition-bar {
    /*    background: #f5f5f0;*/
    padding: 18px 0 20px;
    width: 100%;
}
.condition-bar > .container {
    padding-top: 0;
    padding-bottom: 0;
}
/* 2??그리??*/
.cond-grid {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    grid-template-rows: auto 1px auto;
    margin-bottom: 20px;
}
#cond-duration {
    grid-column: 1;
    grid-row: 1;
    padding: 0 32px 24px 0;
}
#cond-companion {
    grid-column: 3;
    grid-row: 1;
    padding: 0 0 24px 32px;
}
#cond-transport {
    grid-column: 1;
    grid-row: 3;
    padding: 24px 32px 0 0;
}
#cond-vibe {
    grid-column: 3;
    grid-row: 3;
    padding: 24px 0 0 32px;
}
.cond-divider-v {
    grid-column: 2;
    grid-row: 1 / span 3;
    background: #ddd;
    width: 1px;
    justify-self: center;
}
.cond-divider-h:nth-of-type(1) {
    grid-column: 1;
    grid-row: 2;
    background: #ddd;
    height: 1px;
    margin: 0;
}
.cond-divider-h:nth-of-type(2) {
    grid-column: 3;
    grid-row: 2;
    background: #ddd;
    height: 1px;
    margin: 0;
}
.cond-group {
    display: flex;
    flex-direction: column;
    position: relative;
}
.cond-group::before {
    content: attr(data-label);
    font-size: 13px;
    font-weight: 600;
    color: #999;
    margin-bottom: 12px;
    letter-spacing: 0.03em;
}
.cond-pills-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    width: 100%;
}
.cond-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1.5px solid #e0e0e0;
    border-radius: 16px;
    padding: 2px 14px 2px;
    font-size: 14px;
    font-weight: 600;
    color: #aaa;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 90px;
}
.cond-pill:hover {
    border-color: #2d5a3d;
    color: #2d5a3d;
}
.cond-pill.active {
    background: #eee;
    border-color: #aaa;
    color: #111;
}
.cond-icon {
    display: block;
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    overflow: hidden;
    padding: 2px
}
.cond-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/*.cond-pill.active .cond-icon { background: rgba(255,255,255,0.25); }*/
.cond-footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 16px;
    border-top: 1px solid #ddd;
}
.generate-btn {
    background: #2d5a3d;
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 12px 28px 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}
.generate-btn:hover {
    background: #1e3f2b;
}
.cond-divider {
    display: none;
}
.cond-label {
    display: none;
}
.weather-icon {
    display: block;
    width: 26px;
    height: 26px;
    background: #eee;
    border-radius: 100%;
    flex-shrink: 0;
    overflow: hidden;
}
.weather-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    padding: 4px
}
@media (max-width: 768px) {
    .condition-bar {
        padding: 20px 0 16px;
    }
    .cond-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0;
    }
    #cond-duration {
        grid-column: 1;
        grid-row: 1;
        padding: 0 0 20px;
    }
    #cond-companion {
        grid-column: 1;
        grid-row: 3;
        padding: 20px 0;
    }
    #cond-transport {
        grid-column: 1;
        grid-row: 5;
        padding: 20px 0;
    }
    #cond-vibe {
        grid-column: 1;
        grid-row: 7;
        padding: 20px 0 0;
    }
    .cond-divider-v {
        display: none;
    }
    /* 가로선??구분?�으�??�활??*/
    .cond-divider-h:nth-of-type(1) {
        grid-column: 1;
        grid-row: 2;
    }
    .cond-divider-h:nth-of-type(2) {
        grid-column: 1;
        grid-row: 4;
    }
    /* 3번째 가로선 (?�동?�단 ?�래) ??JS ?�이 CSS�?처리 */
    #cond-transport::after {
        content: '';
        display: block;
        height: 1px;
        background: #ddd;
        margin-top: 20px;
    }
    .cond-pill {
        min-width: 72px;
        padding: 12px 14px 10px;
        font-size: 13px;
    }
    .cond-icon {
        width: 42px;
        height: 42px;
    }
    .generate-btn {
        width: 100%;
        padding: 12px;
        font-size: 14px;
    }
}
.tour-category-slider .splide__arrows {
    display: none;
}
/* ?�?� ?�토�?카드 v2 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.story-card-v2 {
    display: block;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: pointer !important;
    background: #fff;
    border: 1px solid #e0ede5;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.story-card-v2:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(26, 58, 42, 0.08);
    border-color: #c0daca;
}
.story-card-img {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto !important;
    overflow: hidden;
}
.story-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.story-card-v2:hover .story-card-img img {
    transform: scale(1.05);
}
.story-card-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: rgba(255, 255, 255, 0.92);
    color: #1a3a2a;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
    white-space: nowrap;
}
.story-card-body {
    position: relative;
    z-index: 2;
    padding: 0.875rem 0.95rem 1rem;
}
.story-card-region {
    font-size: 0.8rem;
    color: #555;
    margin: 0 0 0.4rem;
    font-family: 'Noto Sans KR', sans-serif;
    line-height: 1.3;
}
.story-card-desc {
    font-size: 0.8rem;
    color: #517561;
    margin: 0;
    line-height: 1.5;
    font-weight: 400;
}

/* 카드 정보 보강: 유형 뱃지 / hover CTA / 소요시간·가격·거리 메타 라인 */
.story-card-badges {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: calc(100% - 28px);
    flex-wrap: wrap;
}
.story-card-badges .story-card-tag {
    position: static;
    top: auto;
    left: auto;
}
.story-card-type {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 999px;
    white-space: nowrap;
    color: #fff;
}
.story-card-type.type-tour     { background: #1d4e38; }
.story-card-type.type-food     { background: #c9622a; }
.story-card-type.type-stay     { background: #6a3fa0; }
.story-card-type.type-festival { background: #c23158; }

.story-card-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(8, 28, 18, .6), rgba(8, 28, 18, 0) 55%);
    opacity: 0;
    transition: opacity .25s;
    z-index: 1;
    pointer-events: none;
}
.story-card-v2:hover .story-card-img::after {
    opacity: 1;
}
.story-card-hover-cta {
    position: absolute;
    left: 14px;
    bottom: 12px;
    z-index: 2;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: -.1px;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .25s, transform .25s;
    pointer-events: none;
}
.story-card-v2:hover .story-card-hover-cta {
    opacity: 1;
    transform: translateY(0);
}

.story-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin: 0.55rem 0 0;
    padding-top: 0.55rem;
    border-top: 1px dashed #e5ece7;
}
.story-card-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    color: #7a8c80;
    white-space: nowrap;
}
.story-card-meta-item svg {
    flex-shrink: 0;
    color: #8faa96;
}
/* ?�?� ?�토�?검?�바 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.story-search-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f5f2ec;
    border: 1.5px solid #e0ede5;
    border-radius: 999px;
    padding: 4px 10px;
    transition: border-color 0.2s, background 0.2s;
    width: 100%;
}
.story-search-bar:focus-within {
    background: #fff;
    border-color: #5a9e78;
}
.story-search-bar i {
    font-size: 1rem;
    color: #9db5a8;
    flex-shrink: 0;
}
.story-search-bar input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.9rem;
    color: #1a3a2a;
    font-family: 'Noto Sans KR', sans-serif;
    min-width: 0; /* flex ??말줄??방�? */
}
.story-search-bar input::placeholder {
    color: #b0c8ba;
}
.story-quick-tags {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.story-tag {
    font-size: 0.85rem;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1.5px solid #e0ede5;
    background: #fff;
    color: #1a3a2a;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
    transition: all 0.2s;
    white-space: nowrap;
}
.story-tag:hover {
    border-color: #5a9e78;
    background: #eaf4ee;
}
.story-tag.active {
    background: #1a3a2a;
    border-color: #1a3a2a;
    color: #fff;
}
/* ?�블�?(768px ?�하) */
@media (max-width: 768px) {
    .story-quick-tags {
        justify-content: flex-start;
    }
    .story-tag {
        font-size: 0.8rem;
        padding: 7px 14px;
    }
}
/* 모바??(576px ?�하) */
@media (max-width: 576px) {
    .story-search-bar {
        padding: 9px 14px;
        border-radius: 12px; /* 모바?��? pill ?�???�근 ?�각??*/
    }
    .story-search-bar input {
        font-size: 0.85rem;
    }
    .story-quick-tags {
        gap: 5px;
    }
    .story-tag {
        font-size: 0.78rem;
        padding: 6px 12px;
        flex: 1; /* 모바?�에???�그 균등 분배 */
        text-align: center;
        min-width: calc(25% - 5px);
    }
}
.story-search-btn {
    background: #1a3a2a;
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 7px 18px;
    font-size: 0.83rem;
    font-weight: 500;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s;
}
.story-search-btn:hover {
    background: #122a1e;
}
/* ?�?� ?�터 �??�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.filter-bar {
    position: sticky;
    top: 70px; /* GNB ?�이??맞게 조정 */
    z-index: 900;
    background: #fff;
    border-bottom: 1px solid #e0ede5;
}
/* ?�?� 지?????�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.region-tabs {
    display: flex;
    padding: 0 20px;
    border-bottom: 1px solid #e0ede5;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.region-tabs::-webkit-scrollbar {
    display: none;
}
.region-tab {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: #9db5a8;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    cursor: pointer;
    white-space: nowrap;
    font-family: 'Noto Sans KR', sans-serif;
    transition: color 0.15s, border-color 0.15s;
    flex-shrink: 0;
}
.region-tab:hover {
    color: #2a5c40;
}
.region-tab.active {
    color: #1a3a2a;
    font-weight: 500;
    border-bottom-color: #1a3a2a;
}
/* ?�?� 카테고리 + ?�렬 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.cat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 20px;
    gap: 12px;
}
.cat-pills {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}
.cat-pill {
    font-size: 0.8rem;
    padding: 5px 13px;
    border-radius: 999px;
    border: 1px solid #e0ede5;
    background: transparent;
    color: #6b8c7a;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
    white-space: nowrap;
    transition: all 0.15s;
}
.cat-pill:hover {
    border-color: #5a9e78;
    color: #1a3a2a;
}
.cat-pill.active {
    background: #1a3a2a;
    color: #fff;
    border-color: #1a3a2a;
}
.sort-select {
    font-size: 0.8rem;
    color: #9db5a8;
    border: 1px solid #e0ede5;
    border-radius: 8px;
    padding: 5px 10px;
    background: transparent;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    outline: none;
    flex-shrink: 0;
    transition: border-color 0.15s;
}
.sort-select:hover {
    border-color: #5a9e78;
}
/* ?�?� 반응???�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
@media (max-width: 768px) {
    .filter-bar {
        top: 60px;
    }
    .region-tabs {
        padding: 0 12px;
    }
    .region-tab {
        padding: 10px 12px;
        font-size: 0.82rem;
    }
    .cat-row {
        padding: 7px 12px;
    }
    .cat-pill {
        font-size: 0.75rem;
        padding: 4px 10px;
    }
}
@media (max-width: 576px) {
    .cat-pills {
        gap: 4px;
    }
    .cat-pill {
        font-size: 0.72rem;
        padding: 4px 9px;
    }
    .sort-select {
        font-size: 0.75rem;
        padding: 4px 8px;
    }
}
/* ?�?� 지???�이�?sticky �??�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
/* sticky ?�퍼: container 밖에 ?�치, ?�체 ?�비 ?�용 */
.region-sticky-bar {
    position: sticky;
    top: 0; /* ?�더 ?�이??맞게 조정 (?�더가 ?�으�?top: 64px ?�으�?변�? */
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid #e8f0eb;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    width: 100%;
    overflow: visible;
}
.category-slider, .category-slider .splide__track {
    overflow: visible;
}
/* 가�??�크�?컨테?�너 */
.region-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.region-scroll::-webkit-scrollbar {
    display: none;
}
/* ?�이�?�? 1200px ?�상?�서??가?�데 ?�렬 */
.region-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    padding: 8px 20px;
    width: max-content;
    min-width: 100%;
}
.region-icon-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 4px 16px;
    border-radius: 12px;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
    transition: all 0.15s;
    flex-shrink: 0;
    min-width: fit-content;
}
.region-icon-btn:hover {
    background: #f5faf7;
}
.region-icon-btn.active {
    background: #d6eeef;
    border-color: #c0daca;
}
/*
.region-icon-img {
    display: inline-block;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    overflow: hidden;
    padding: 2px;
}
*/
.region-icon-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    padding: 4px;
}
.region-icon-name {
    font-size: 0.78rem;
    color: #6b8c7a;
}
.region-icon-btn.active .region-icon-name {
    color: #1a3a2a;
    font-weight: 500;
}
/* 1199px ?�하: ?�쪽 ?�렬�??�환, ?�크�??�용 */
@media (max-width: 1199px) {
    .region-sticky-bar {
        top: 0; /* ?�요???�더 ?�이�?조정 */
    }
    .region-icons {
        justify-content: flex-start;
        gap: 8px;
        padding: 8px 16px;
    }
    .region-icon-btn {
        width: 100px;
    }
}
@media (max-width: 768px) {
    .region-icon-btn {
        padding: 6px 10px;
        width: 80px;
    }
    .region-icon-name {
        font-size: 0.72rem;
    }
    .region-icon-img {
        width: 60%;
        height: auto;
    }
}
@media (max-width: 576px) {
    .region-icon-btn {
        padding: 5px 8px;
        width: 72px;
    }
    .region-icon-img {
        width: 66px;
        height:auto;
    }
}
/* ?�?� 검?�바 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.story-search-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f5f2ec;
    border: 1.5px solid #e0ede5;
    border-radius: 999px;
    padding: 4px 12px;
    width: 100%;
    transition: border-color 0.2s, background 0.2s;
}
.story-search-bar:focus-within {
    background: #fff;
    border-color: #5a9e78;
}
.story-search-bar .hicon {
    font-size: 1rem;
    color: #9db5a8;
    flex-shrink: 0;
}
.story-search-bar input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.875rem;
    color: #1a3a2a;
    font-family: 'Noto Sans KR', sans-serif;
    min-width: 0;
}
.story-search-bar input::placeholder {
    color: #b0c8ba;
}
.story-search-btn {
    background: #1a3a2a;
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 6px 20px;
    font-size: 0.82rem;
    font-weight: 500;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s;
}
.story-search-btn:hover {
    background: #122a1e;
}
/* ?�?� 카테고리 + ?�렬 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.cat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.cat-pills {
    display: flex;
    gap: 5px;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.cat-pills::-webkit-scrollbar {
    display: none;
}
.cat-pill {
    font-size: 0.8rem;
    padding: 5px 14px;
    border-radius: 999px;
    border: 1px solid #a8ccb6;
    background: transparent;
    color: #6b8c7a;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.15s;
}
.cat-pill:hover {
    border-color: #5a9e78;
    color: #1a3a2a;
}
.cat-pill.active {
    background: #1a3a2a;
    color: #fff;
    border-color: #1a3a2a;
}
.sort-select {
    font-size: 0.8rem;
    color: #619f7e;
    border: 1px solid #a8ccb6;
    border-radius: 8px;
    padding: 5px 10px;
    background: transparent;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    outline: none;
    flex-shrink: 0;
    transition: border-color 0.15s;
}
.sort-select:hover {
    border-color: #5a9e78;
}
/* ?�?� 배�? ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.c-count-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
}
.c-count-badge img {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    filter: brightness(0) invert(1);
}
/* PC (1200px ?�상): 7�??��? ?�시, ?�살???��? */
.category-slider .splide__slide {
    display: flex;
    align-items: center;
    justify-content: center;
}
.category-slider .splide__track {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
.category-slider .splide__slide:last-child {
    margin-right: 0 !important;
}
.category-slider .region-icon-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.category-slider .region-icon-btn {
    width: 120px; /* ??값으�?좌우 ?�백 ?�기 조절 */
}
/* PC: ?�살???��? */
.category-slider .splide__arrows {
    display: none;
}
/* ?�블�?991~1199px: ?�살???�시 */
@media (max-width: 1199px) {
    .category-slider .splide__arrows {
        display: block;
    }
    .category-slider .splide__track {
        margin-left: 32px;
        margin-right: 32px;
    }
    .category-slider .splide__arrow--prev {
        left: 0;
    }
    .category-slider .splide__arrow--next {
        right: 0;
    }
    .category-slider .splide__arrow {
        width: 32px;
        height: 32px;
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid #dde8e2;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
        border-radius: 50%;
        color: #1a3a2a;
        font-size: 0.7rem;
    }
    .category-slider .splide__arrow i {
        color: #1a3a2a;
    }
    .category-slider .splide__arrow:hover {
        background: #fff;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
    }
}
/* 767px ?�하: Splide destroy ??CSS grid 2�?(4+3) */
@media (max-width: 767px) {
    .category-slider .splide__arrows {
        display: none;
    }
    .category-slider .splide__track {
        margin-left: 0;
        margin-right: 0;
        overflow: visible;
    }
    .category-slider .splide__list {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
        transform: none !important;
        flex-wrap: wrap;
    }
    /* 5번째 ?�라?�드부??3개�? 가?�데 ?�렬 */
    .category-slider .splide__slide:nth-child(5) {
        grid-column: 1;
    }
    .category-slider .splide__slide {
        width: auto !important;
        margin: 0 !important;
    }
    /* ??번째 �?3�?가?�데 ?�렬 */
    .category-slider .splide__list::after {
        content: '';
        grid-column: 4;
    }
    .category-slider .splide__slide:nth-child(n+5) {
        grid-column: auto;
    }
    /* 5~7번째 3개�? 가?�데 ?�도�?offset */
    .category-slider .splide__slide:nth-child(5) {
        grid-column: 1;
    }
    .category-slider .splide__list {
        justify-items: center;
    }
    .category-slider .region-icon-btn {
        width: 100%;
        padding: 4px;
    }
    .category-slider .region-icon-img {
        width: 60%;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    .category-slider .region-icon-img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    /*
  .category-slider .region-icon-img {
  width: 60px;
  height:60px;
}
*/
}
@media (min-width: 1200px) {
    .category-slider .splide__track {
        overflow: visible;
    }
    .category-slider .splide__list {
        display: flex !important;
        justify-content: center !important;
        transform: none !important;
        width: 100% !important;
        gap: 20px;
    }
    .category-slider .splide__slide {
        width: auto !important;
        margin: 0 !important;
    }
}
/* ?�?� ?�처??카드 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.featured-img-wrap {
    margin-bottom: 0;
}
.featured-img-inner {
    position: relative;
    overflow: hidden;
}
.featured-img-inner img {
    display: block;
    width: 100%;
    transition: transform 0.5s ease;
}
.featured-card:hover .featured-img-inner img {
    transform: scale(1.03);
}
/* 배�? */
.featured-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #1a3a2a;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 5px 13px;
    border-radius: 999px;
    font-family: 'Noto Sans KR', sans-serif;
    z-index: 2;
}
/* ?�스???�역 */
.featured-body {
    padding: 2rem 1.75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: auto;
    height: 100%
}
.featured-region {
    font-size: 0.875rem;
    color: #6b8c7a;
    margin-bottom: 0.6rem;
    font-family: 'Noto Sans KR', sans-serif;
}
.featured-title {
    font-family: 'Noto Serif KR', serif;
    font-size: 2rem;
    font-weight: 400;
    color: #1a3a2a;
    line-height: 1.4;
    letter-spacing: -0.3px;
    margin-bottom: 0.85rem;
}
.featured-desc {
    font-size: 1rem;
    color: #111;
    line-height: 1.85;
    font-weight: 400;
    font-family: 'Noto Sans KR', sans-serif;
    flex: 1;
}
/* ?�단 */
.featured-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e0ede5;
}
.featured-tags {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}
.featured-tag {
    font-size: 0.72rem;
    padding: 3px 10px;
    border-radius: 999px;
    background: #eaf4ee;
    color: #2a5c40;
    font-family: 'Noto Sans KR', sans-serif;
}
.featured-btn {
    display: inline-flex;
    align-items: center;
    font-size: 0.82rem;
    font-weight: 500;
    color: #1a3a2a;
    background: #f5f2ec;
    border: 1px solid #c0daca;
    border-radius: 8px;
    padding: 7px 16px;
    text-decoration: none;
    font-family: 'Noto Sans KR', sans-serif;
    white-space: nowrap;
    transition: all 0.2s;
}
.featured-btn:hover {
    background: #eaf4ee;
    border-color: #5a9e78;
    color: #1a3a2a;
}
@media (max-width: 1199px) {
    .featured-title {
        font-size: 1.35rem;
    }
    .featured-body {
        padding: 1rem 0;
    }
    .featured-body {
        min-height: 250px
    }
}
@media (max-width: 767px) {
    .featured-body {
        padding: 1.25rem 0 0;
    }
    .featured-title {
        font-size: 1.2rem;
    }
    .featured-desc {
        display: none;
    }
    .featured-body {
        padding-top: 10px;
        min-height: 200px
    }
    .featured-footer {
        margin-top: 5px;
        padding-top: 0px;
        margin-bottom: 1.5rem;
    }
    .featured-card-section {
        padding-top: 0 !important;
        padding-body: 0 !important;
    }
}
.card-heart {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(120, 120, 120, 0.5); /* ?�색 배경 */
    border: none;
    cursor: pointer !important;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    pointer-events: auto !important;
    transition: background 0.2s;
}
.card-heart:hover {
    background: rgba(100, 100, 100, 0.7);
}
.card-heart.liked {
    background: rgba(120, 120, 120, 0.5); /* ?�릭 ?�도 ?�색 ?��? */
}
.card-planner-btn {
    font-size: 0.85rem;
    color: #243414;
	font-weight: 600;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    font-family: 'Noto Sans KR', sans-serif;
    margin-top: 6px;
    transition: color 0.15s;
	border-radius: 4px
}
.card-planner-btn:hover {
    color: #fff;
    background: #243414;
}
/* ?�?� ?�트 버튼 커서 + ??�� ?�시 ?�?�?�?�?�?�?�?�?�?�?� */
.card-heart {
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
/* ?�?� Splide ?�비게이??dots PC?�서 ??�� ?�시 ?�?� */
.splide__pagination {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.splide__pagination__page {
    display: inline-block !important;
    opacity: 0.3 !important;
}
.splide__pagination__page.is-active {
    opacity: 1 !important;
    background: #1a3a2a !important;
    transform: scale(1.4) !important;
}
.splide__pagination {
    display: flex !important;
    gap: 6px;
}
.splide__pagination__page {
    width: 8px !important;
    height: 8px !important;
    background: #c0daca !important;
    opacity: 1 !important;
    border-radius: 999px !important;
    transition: all 0.3s ease !important;
}
.splide__pagination__page.is-active {
    width: 24px !important;
    height: 8px !important;
    background: #1a3a2a !important;
    border-radius: 999px !important;
    transform: none !important;
}
/* ?�?� Splide dots PC?�서 ?��? ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
/*
@media (min-width: 1200px) {
  .splide__pagination {
    display: none !important;
  }
}
*/
/* ?�?� ?�블릿·모바일?�서�??�시 ?�?�?�?�?�?�?�?�?�?�?�?�?� */
@media (max-width: 1199px) {}
.card-heart {
    position: absolute !important;
    z-index: 10 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
/* ?�?� ?�보�?버튼 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.load-more-wrap {
    text-align: center;
    padding: 2.5rem 0 3rem;
}
.load-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #1a3a2a;
    background: #fff;
    border: 1.5px solid #c0daca;
    border-radius: 999px;
    padding: 11px 32px;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
    transition: all 0.2s;
}
.load-more-btn:hover {
    background: #eaf4ee;
    border-color: #5a9e78;
}
.load-more-btn:disabled {
    color: #9db5a8;
    border-color: #e0ede5;
    background: #fff;
    cursor: default;
}
/* 여행계획담기 */
.float-planner {
    position: fixed;
    bottom: 1.4rem;
    right: 4.5rem;
    z-index: 999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #114ade;
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(26, 58, 42, 0.3);
    transition: all 0.2s;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
}
.float-planner.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.float-planner:hover {
    background: #122a1e;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(26, 58, 42, 0.35);
}
/* 배�? */
.float-planner-badge {
    background: #fff;
    color: #1a3a2a;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 999px;
    min-width: 20px;
    text-align: center;
    line-height: 1.4;
}
/* 반응??*/
@media (max-width: 576px) {
    .float-planner {
        bottom: 1.25rem;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        padding: 10px 18px;
        font-size: 0.82rem;
    }
    .float-planner.visible {
        transform: translateX(-50%);
    }
    .float-planner:hover {
        transform: translateX(-50%) translateY(-2px);
    }
}

/* ── 저장 여행지 플로팅 패널 (담은/찜한 두 탭) ── */
.saved-fab-wrap {
    position: fixed;
    bottom: 1.45rem;
    right: 4.2rem;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}
/* wrap 안에서는 버튼을 정적 배치로 되돌림 (fixed 중복 방지) */
.saved-fab-wrap .float-planner {
    position: static;
    transform: translateY(10px);
}
.saved-fab-wrap .float-planner.visible {
    transform: translateY(0);
}
.saved-fab-wrap .float-planner:hover {
    transform: translateY(-2px);
}

.saved-panel {
    width: 320px;
    max-width: calc(100vw - 2.4rem);
    max-height: 60vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(26, 58, 42, 0.22);
    overflow: hidden;
    animation: savedPanelIn 0.18s ease-out;
}
@keyframes savedPanelIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.saved-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 12px 0;
    border-bottom: 1px solid #eef2f0;
}
.saved-tabs {
    display: flex;
    gap: 4px;
}
.saved-tab {
    background: none;
    border: none;
    padding: 8px 10px 12px;
    font-size: 0.86rem;
    font-weight: 600;
    color: #8a978f;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    font-family: 'Noto Sans KR', sans-serif;
}
.saved-tab.active {
    color: #1a3a2a;
    border-bottom-color: #52B788;
}
.saved-tab-count {
    display: inline-block;
    min-width: 18px;
    padding: 0 5px;
    margin-left: 2px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #52B788;
    background: #e9f5ee;
    border-radius: 999px;
    line-height: 1.5;
}
.saved-tab.active .saved-tab-count {
    color: #fff;
    background: #52B788;
}
.saved-panel-close {
    background: none;
    border: none;
    font-size: 1.4rem;
    line-height: 1;
    color: #9aa79f;
    cursor: pointer;
    padding: 0 4px 8px;
}
.saved-panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}
.saved-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: 10px;
    transition: background 0.15s;
}
.saved-item:hover {
    background: #f5f8f6;
}
.saved-item-thumb {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
    background: #eef2f0;
}
.saved-item-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}
.saved-item-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #23302a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.saved-item-region {
    font-size: 0.76rem;
    color: #8a978f;
    margin-top: 2px;
}
.saved-item-remove {
    background: none;
    border: none;
    font-size: 1.2rem;
    line-height: 1;
    color: #b7c1ba;
    cursor: pointer;
    padding: 4px 6px;
    flex-shrink: 0;
    border-radius: 6px;
}
.saved-item-remove:hover {
    color: #e25454;
    background: #fbeaea;
}
.saved-empty {
    text-align: center;
    color: #9aa79f;
    font-size: 0.85rem;
    line-height: 1.7;
    padding: 32px 16px;
}
.saved-panel-foot {
    padding: 10px 12px;
    border-top: 1px solid #eef2f0;
}
.saved-goplanner-btn {
    width: 100%;
    background: #52B788;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 11px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
    transition: background 0.15s;
}
.saved-goplanner-btn:hover {
    background: #429a72;
}

@media (max-width: 576px) {
    .saved-fab-wrap {
        bottom: 1.25rem;
        right: 0;
        left: 0;
        align-items: center;
        padding: 0 1rem;
    }
    .saved-panel {
        width: 100%;
        max-width: 100%;
    }
}
/* ?�?� ?�어�???찜·공??버튼 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.bg-content {
    position: relative; /* 부�?relative ?�수 */
}
.detail-hero-actions,.detail-hero-actions2{
    position: absolute;
    top: 20px;
    right: 0;
    display: flex;
    gap: 8px;
    z-index: 10;
}
.detail-action-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
}
.detail-action-btn:hover {
    background: rgba(255, 255, 255, 0.28);
}
.detail-action-btn.liked path {
    fill: #e25454 !important;
    stroke: #e25454 !important;
}
/* 반응??*/
@media (max-width: 576px) {
    .detail-hero-actions {
        top: auto;
        bottom: 1rem;
        right: 0;
        left: 0;
        display: flex;
        justify-content: center;
    }
	 .detail-hero-actions2 {
        position: static;
        display: flex;
        gap: 8px;
    }
    .detail-action-btn {
        width: 36px;
        height: 36px;
    }
    .hero-badge-row {
        gap: 8px;
    }
}
/* ?�?� 갤러�??�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.gallery-section {
    background: #fff;
    padding: 2rem 0 2.5rem;
    border-bottom: 1px solid #e0ede5;
}
.gallery-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 10px;
}
.gallery-main {
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
}
.gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
    min-height: 320px;
}
.gallery-main:hover img {
    transform: scale(1.03);
}
.gallery-thumbs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.gallery-thumb {
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
}
.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 148px;
    transition: transform 0.3s ease;
}
.gallery-thumb:hover img {
    transform: scale(1.05);
}
.gallery-thumb-more {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    font-family: 'Noto Sans KR', sans-serif;
}
/* ?�?� 기본 ?�보 + 지???�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.info-section {
    padding: 3rem 0;
    background: #f5f2ec;
}
.detail-panel {
    background: #fff;
    border: 1px solid #e0ede5;
    border-radius: 16px;
    padding: 1.75rem;
}
.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: stretch;
}
.detail-action-bar {
    display: flex;
    gap: 10px;
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e0ede5;
}
.info-card {
    background: #fff;
    border: 1px solid #e0ede5;
    border-radius: 16px;
    padding: 1.75rem;
}
.info-tags {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}
.info-tag {
    display: inline-block;
    font-size: 0.82rem;
    padding: 3px 10px;
    border-radius: 999px;
    /*      background: #eaf4ee;*/
    color: #2a5c40;
    margin-bottom: 0.75rem;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 500;
}
.info-title {
    font-family: 'Noto Serif KR', serif;
    font-size: 1.8rem;
    font-weight: 500;
    color: #1a3a2a;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}
.info-region {
    font-size: 0.82rem;
    color: #6b8c7a;
    margin-bottom: 1.25rem;
    font-family: 'Noto Sans KR', sans-serif;
}
.info-desc {
    font-size: 1rem;
    color: #333;
    line-height: 1.85;
    font-weight: 400;
    font-family: 'Noto Sans KR', sans-serif;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e0ede5;
}
.info-rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 1.5rem;
    font-weight: 400;
}
.info-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.85rem;
    font-family: 'Noto Sans KR', sans-serif;
}
.info-row-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #6b8c7a;
    margin-top: 1px;
}
.info-row-label {
    color: #759b86;
    min-width: 52px;
    flex-shrink: 0;
}
.info-row-value {
    color: #111;
    font-weight: 500;
}
.info-cta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.btn-cta-primary {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #1a3a2a;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 11px 20px;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s;
}
.btn-cta-primary:hover {
    background: #111;
    color: #fff;
}
.btn-cta-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #fff;
    color: #1a3a2a;
    border: 1.5px solid #c0daca;
    border-radius: 10px;
    padding: 11px 18px;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    flex-shrink: 0;
}
.btn-cta-ghost:hover {
    background: #eaf4ee;
    border-color: #5a9e78;
    color: #1a3a2a;
}
/* 지??*/
.map-card {
    height: 100%;
    background: #fff;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.map-placeholder {
    flex: 1; /* ?��? 공간 ?��? 차�? */
    min-height: 300px;
    background: #e8f0ec;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #6b8c7a;
}
.map-placeholder svg {
    opacity: 0.5;
}
.map-placeholder p {
    font-size: 0.82rem;
    font-family: 'Noto Sans KR', sans-serif;
}
.map-info {
	width:96%;
    padding: 1rem 1.25rem;
    border-top: 1px solid #e0ede5;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.map-addr {
    font-size: 0.82rem;
    color: #6b8c7a;
    font-family: 'Noto Sans KR', sans-serif;
}
.map-link {
    font-size: 0.78rem;
    color: #1a3a2a;
    text-decoration: none;
    font-weight: 500;
    font-family: 'Noto Sans KR', sans-serif;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: color 0.15s;
}
.map-link:hover {
    color: #2a5c40;
}
/* ?�?� 주�? 추천 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.nearby-section {
    padding: 2.5rem 0 3rem;
    background: #fff;
}
.nearby-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}
.nearby-title {
    font-size: 1rem;
    font-weight: 500;
    color: #1a3a2a;
    font-family: 'Noto Sans KR', sans-serif;
}
.nearby-more {
    font-size: 0.8rem;
    color: #517561;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: 'Noto Sans KR', sans-serif;
    transition: color 0.15s;
}
.nearby-more:hover {
    color: #111;
}
.nearby-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.nearby-card {
    background: #f5f5f5;
    border: 1px solid #e0ede5;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: all 0.2s;
}
.nearby-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(26, 58, 42, 0.08);
    border-color: #c0daca;
}
.nearby-img {
    position: relative;
    aspect-ratio: 1 / 1; /* ?�사각형 */
    overflow: hidden;
    height: auto !important; /* 고정 height ?�거 */
}
.nearby-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.nearby-card:hover .nearby-img img {
    transform: scale(1.05);
}
.nearby-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(8, 28, 18, .6), rgba(8, 28, 18, 0) 55%);
    opacity: 0;
    transition: opacity .25s;
    pointer-events: none;
}
.nearby-card:hover .nearby-img::after {
    opacity: 1;
}
.nearby-hover-cta {
    position: absolute;
    left: 12px;
    bottom: 10px;
    z-index: 2;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .25s, transform .25s;
    pointer-events: none;
}
.nearby-card:hover .nearby-hover-cta {
    opacity: 1;
    transform: translateY(0);
}
.nearby-body {
    padding: 0.75rem 0.875rem 0.875rem;
}
.nearby-region {
    font-size: 0.8rem;
    color: #555;
    margin-bottom: 3px;
    font-family: 'Noto Sans KR', sans-serif;
}
.nearby-name {
    font-size: 1rem;
    font-weight: 600;
    color: #1a3a2a;
    margin-bottom: 5px;
    font-family: 'Noto Sans KR', sans-serif;
}
.nearby-desc {
    font-size: 0.85rem;
    color: #6b8c7a;
    line-height: 1.5;
    margin-bottom: 8px;
    font-family: 'Noto Sans KR', sans-serif;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.nearby-tag {
    font-size: 0.7rem;
    padding: 2px 8px;
    border-radius: 999px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 500;
}
/* ?�연 ??그린 */
.nearby-tag.tag-nature {
    background: #cce4d6;
    color: #2a5c40;
}
/* ?�망 ??블루 */
.nearby-tag.tag-view {
    background: #e8f0fb;
    color: #2a4a7a;
}
/* 맛집 ???�렌지 */
.nearby-tag.tag-food {
    background: #fff0e8;
    color: #7a3a0a;
}
/* ???�행 ???�일 */
.nearby-tag.tag-island {
    background: #e8f6f8;
    color: #1a5a6a;
}
/* ?�?� AI CTA 배너 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.ai-cta-section {
    background: #fff;
    padding: 3rem 0 1rem;
}
.ai-cta-panel {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0d3d2c 0%, #093853 100%);
    border-radius: 20px;
    padding: 2.75rem 3rem;
}
.ai-cta-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
}
.ai-cta-glow-1 {
    width: 260px;
    height: 260px;
    background: rgba(111, 207, 151, 0.25);
    top: -120px;
    right: 8%;
}
.ai-cta-glow-2 {
    width: 180px;
    height: 180px;
    background: rgba(255, 255, 255, 0.08);
    bottom: -90px;
    left: 12%;
}
.ai-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}
.ai-cta-text {}
.ai-cta-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 0.75rem;
    font-family: 'Noto Sans KR', sans-serif;
}
.ai-cta-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #9fe0b8;
}
.ai-cta-title {
    font-family: 'Noto Serif KR', serif;
    font-size: 1.65rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}
.ai-cta-sub {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.55);
    font-weight: 300;
    font-family: 'Noto Sans KR', sans-serif;
}
.ai-cta-btn {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #0d3d2c;
    border: none;
    border-radius: 10px;
    padding: 13px 26px;
    font-size: 0.9rem;
    font-weight: 700;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    transition: all 0.2s;
}
.ai-cta-btn:hover {
    background: #f5f2ec;
    color: #0d3d2c;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
/* ?�?� 반응???�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
@media (max-width: 1199px) {
    .nearby-img {
        aspect-ratio: 1 / 1; /* ?�사각형 ?��? */
        height: auto !important;
    }
}
@media (max-width: 992px) {
    .gallery-grid {
        grid-template-columns: 1fr;
    }
    .gallery-thumbs {
        grid-template-columns: repeat(4, 1fr);
    }
    .gallery-thumb img {
        min-height: 100px;
    }
    .info-grid {
        grid-template-columns: 1fr;
    }
    .nearby-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ai-cta-inner {
        flex-direction: column;
        text-align: center;
    }
    .ai-cta-panel {
        padding: 2.25rem 1.75rem;
    }
    .ai-cta-eyebrow {
        justify-content: center;
    }
    .nearby-img {
        aspect-ratio: 1 / 1; /* 2?�일 ?�도 ?�사각형 */
        height: auto !important;
    }
}
@media (max-width: 576px) {
    .detail-hero {
        min-height: 320px;
    }
    .gallery-thumbs {
        grid-template-columns: repeat(2, 1fr);
    }
    .nearby-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .detail-action-bar {
        flex-direction: column;
    }
    .btn-cta-primary {
        flex: none;
        width: 100%;
    }
    .btn-cta-ghost {
        width: 100%;
    }
    .detail-panel {
        padding: 1.25rem;
    }
    .nearby-img {
        aspect-ratio: 1 / 1; /* 모바?�도 ?�사각형 */
        height: auto !important;
    }
    .gallery-grid {
        padding-top: 50px;
    }
}
/* =========================
   SEARCH GRID
========================= */
.search-grid {
    display: grid;
    /* ?�?�트 5�?균등 */
    grid-template-columns:
        repeat(5, minmax(0, 1fr)) 220px;
    gap: 16px;
    align-items: center;
}
/* =========================
   SELECT BOX
========================= */
.input-icon-group {
    position: relative;
}
.dropdown-select {
    height: 45px;
    line-height: 45px;
    border-radius: 10px;
    padding-left: 46px;
    font-size: 15px;
    font-weight: 600;
    border: 1px solid #e5e5e5;
    background-color: #fff;
}
.input-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    font-size: 20px;
    color: #8d8d8d;
}
/* =========================
   BUTTON
========================= */
.search-btn {
    height: 45px;
    border-radius: 10px;
    font-size: 1.1rem;
    font-weight: 700;
    white-space: nowrap;
}
/* =========================
   TABLET
========================= */
@media (max-width:1200px) {
    .search-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }
    .search-btn {
        grid-column: span 3;
    }
}
/* =========================
   MOBILE
========================= */
@media (max-width:768px) {
    .search-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .search-btn {
        grid-column: span 2;
    }
    .dropdown-select, .search-btn {
        height: 50px;
    }
}
.dropdown-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
.input-icon img {
    max-width: 26px;
    height: auto
}
/* ?�?� planner.html ?�용 지??리스???�?�?�?�?�?�?�?� */
.planner-region-list {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 0;
    list-style: none;
    margin: 0;
}
.planner-region-item {
    flex: 1;
    min-width: 0; /* flex ??축소 ?�용 */
}
.planner-region-item .region-icon-btn {
    width: 100%;
    aspect-ratio: 4 / 3; /* ?�사각형 ?��? */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 5px;
    border: 1px solid #eee
}
.planner-region-item .region-icon-btn .region-icon-img {
    display: inline-block;
    width: 80%;
    height: auto;
    flex-shrink: 0;
    overflow: hidden;
    padding: 2px;
}
.region-wrap .tour-content h5.tour-title, .tour-content h5.tour-title {
    font-size: 18px !important;
    font-weight: 700
}
.planner-region-item .region-icon-name {
    font-size: 0.875rem;
    color: #6b8c7a;
}
.planner-region-item .region-icon-btn.active {
    border-color: #14552a;
    background: #eee;
    box-shadow: 0 4px 16px rgba(26, 58, 42, 0.14);
}
/* 체크 ?�시 추�? (?�택?�항) */
.planner-region-item .region-icon-btn.active .region-icon-name {
    color: #1a3a2a;
    font-weight: 700;
}
/* ?�?� 반응???�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
@media (max-width: 992px) {
    .planner-region-list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
	.region-wrap .tour-content h5.tour-title, .tour-content h5.tour-title {
    font-size: 16px !important;
    font-weight: 700
}
}
@media (max-width: 576px) {
    .planner-region-list {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* ?�?� ?�래???�택 버튼 그룹 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.planner-btn-group {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.planner-select-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    padding: 5px 14px;
    border-radius: 999px;
    border: 1px solid #a8ccb6;
    background: transparent;
    color: #6b8c7a;
    cursor: pointer;
    font-family: 'Noto Sans KR', sans-serif;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.15s;
}
.planner-select-btn:hover {
    border-color: #5a9e78;
    color: #1a3a2a;
}
.planner-select-btn.active {
    background: #1a3a2a;
    color: #fff;
    border-color: #1a3a2a;
}
.planner-select-btn.active i, .planner-select-btn.active svg {
    stroke: #fff;
}
/* 반응??*/
@media (max-width: 576px) {
    .planner-select-btn {
        padding: 8px 14px;
        font-size: 0.82rem;
    }
}
/* ?�?� AI 코스 ?�성 버튼 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.ai-generate-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 480px;
    padding: 18px 40px;
    background: linear-gradient(135deg, #2a7a45 0%, #1a3a2a 100%);
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: 1.1rem;
    font-weight: 600;
    font-family: 'Noto Sans KR', sans-serif;
    cursor: pointer;
    letter-spacing: -0.3px;
    box-shadow: 0 6px 24px rgba(26, 58, 42, 0.25);
    transition: all 0.25s;
}
.ai-generate-btn:hover {
    background: linear-gradient(135deg, #1a5a35 0%, #122a1e 100%);
    box-shadow: 0 8px 32px rgba(26, 58, 42, 0.35);
    transform: translateY(-2px);
}
.ai-generate-btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 16px rgba(26, 58, 42, 0.2);
}
/* ?�명 ?�스??*/
.ai-generate-desc {
    font-size: 0.875rem;
    color: #0e4110;
    margin-top: 10px;
    font-family: 'Noto Sans KR', sans-serif;
}
/*?�터*/
.travel-summary {
    position: sticky;
    top: 100px;
}
.summary-card {
    background: #ecf8eb;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}
.summary-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
}
.summary-subtitle {
    color: #9aa0a6;
    font-size: 16px;
    margin-bottom: 16px;
}
.trip-info-card {
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid #edf1ef;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .04);
}
.trip-cover {
    height: 200px;
    overflow: hidden;
}
.trip-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.trip-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 16px;
    border-bottom: 1px solid #eef1ee;
}
.trip-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: #f3f9f2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.trip-icon img {
    width: 30px;
    height: 30px;
}
.trip-content {
    display: flex;
    flex-direction: column;
}
.trip-content span {
    color: #195a1c;
    font-size: 13px;
    font-weight: 500;
}
.trip-content strong {
    font-size: 16px;
    font-weight: 700;
    color: #111;
}
.ai-point-box {
    margin-top: 24px;
    position: relative;
    background: #f5fbf4;
    border: 1px solid #e0efe0;
    border-radius: 24px;
    padding: 28px;
    overflow: hidden;
}
.ai-point-title {
    color: #4b8d57;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 12px;
}
.ai-point-box p {
    color: #65896d;
    line-height: 1.8;
    margin: 0;
    font-size: 14px;
}
@media (max-width:768px) {
    .summary-card {
        padding: 20px;
        border-radius: 24px;
    }
    .trip-cover {
        height: 180px;
    }
    .trip-content strong {
        font-size: 18px;
    }
    .trip-row {
        padding: 18px;
    }
    .trip-icon {
        width: 48px;
        height: 48px;
    }
    .ai-point-box br {
        display: none;
    }
    .ai-point-box p {
        line-height: 1.6;
    }
}
/* ======================
   STEP2
====================== */
.planner-loading-card {
    background: #fff;
    border: 1px solid #e7ebe6;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
}
.planner-loading-header {
    padding: 20px 30px;
    border-bottom: 1px solid #eef2ed;
    background: #fafcf9;
}
.planner-loading-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #233526;
}
.planner-loading-body {
    padding: 60px 20px;
    text-align: center;
}
.planner-loading-body h4 {
    margin-top: 24px;
    margin-bottom: 12px;
    font-size: 24px;
    font-weight: 700;
    color: #233526;
}
.planner-loading-summary {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 24px 0;
}
.loading-chip {
    background: #215841;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    padding: 6px 20px 4px;
    font-size: 18px;
    font-weight: 500;
}
/* ======================
   Spinner
====================== */
.planner-spinner {
    width: 70px;
    height: 70px;
    margin: 0 auto;
    border: 5px solid #dfe8df;
    border-top: 5px solid #1f5c3c;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
/* ======================
   Progress
====================== */
.planner-loading-steps {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 320px;
    text-align: left;
}
.planner-loading-steps li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #9aa59d;
    padding: 10px 0;
    font-size: 15px;
    transition: .3s;
}
.planner-loading-steps .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d8ddd8;
    flex-shrink: 0;
}
/* ?�재 진행 */
.planner-loading-steps li.active {
    color: #1f5c3c;
    font-weight: 600;
}
.planner-loading-steps li.active .dot {
    background: #1f5c3c;
    box-shadow: 0 0 0 5px rgba(31, 92, 60, .12);
}
/* ?�료 */
.planner-loading-steps li.done {
    color: #4b6957;
}
.planner-loading-steps li.done .dot {
    background: #3f7d57;
}
/* ======================
   Footer
====================== */
.planner-loading-footer {
    padding: 18px 30px;
    border-top: 1px solid #eef2ed;
    background: #fafcf9;
    font-size: 14px;
    color: #879188;
}
/* =========================
   STEP3
========================= */
.planner-result-card {
    background: #fff;
    border: 1px solid #e5e8e5;
    border-radius: 20px;
}
/* ?�더 */
.planner-result-header {
    padding: 10px 30px;
    border-bottom: 1px solid #ecefec;
    border-radius: 20px 20px 0 0;
}
.planner-result-label {
    display: block;
    font-size: 13px;
    color: #8b938c;
    margin-bottom: 6px;
}
.planner-result-title {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 0px;
}
.planner-result-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.planner-result-tags span {
    font-size: 14px;
    color: #6f766f;
}
/* 본문 */
.planner-result-body {
    display: grid;
    grid-template-columns: 40% 60%;
    min-height: 700px;
}
/* 좌측 */
.timeline-panel {
    padding: 28px;
    border-right: 1px solid #ecefec;
    background: #fff;
    border-radius: 0 0 0 20px;
}
/* DAY */
.day-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 16px;
    background: #1f4c39;
    color: #fff;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 24px;
}
/* ?�?�라??*/
.course-timeline {
    width: 100%;
}
/**/
.timeline-item {
    display: grid;
    grid-template-columns: 55px 25px 1fr;
    gap: 12px;
    position: relative;
    padding-bottom: 24px;
}
.timeline-time {
    text-align: right;
    color: #7d847d;
    font-size: 13px;
    padding-top: 2px;
}
.timeline-line {
    position: relative;
}
.timeline-line::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 10px;
    width: 1px;
    height: calc(100% + 24px);
    background: #d8ddd8;
}
.timeline-item:last-child .timeline-line::before {
    display: none;
}
.timeline-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: block;
    position: relative;
    z-index: 2;
}
.timeline-dot.spot {
    background: #1f4c39;
}
.timeline-dot.food {
    background: #8b4b17;
}
.timeline-card {
    background: #f8f7f2;
    border: 1px solid #d9d4ca;
    border-radius: 12px;
    padding: 14px;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
.timeline-card.map-highlight {
    border-color: #297443;
    box-shadow: 0 0 0 2px rgba(41,116,67,0.25);
    background: #f0f7f2;
}
.timeline-num-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #297443;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    margin-right: 6px;
    vertical-align: middle;
}
.timeline-title {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
}
.timeline-meta {
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #ddd7cc;
}
.timeline-meta-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 999px;
}
.timeline-meta-badge.type-transit    { background:#fff4e0; color:#b8780f; }
.timeline-meta-badge.type-spot       { background:#eaf4ee; color:#2a5c40; }
.timeline-meta-badge.type-food       { background:#fef3e2; color:#7a4a0a; }
.timeline-meta-badge.type-experience { background:#cbebf4; color:#1a5c78; }
.timeline-meta-badge.type-culture    { background:#f9e8d1; color:#8a5a16; }
.timeline-meta-badge.type-stay       { background:#e8f0fb; color:#2a4a7a; }
.timeline-meta-badge.type-picked     { background:#297443; color:#ffffff; }
.timeline-tip {
    font-size: 12px;
    color: #847d73;
}
/* 카드 */
.timeline-card {
    background: #f8f7f2;
    border: 1px solid #d9d4ca;
    border-radius: 12px;
    padding: 14px;
    transition: .2s;
}
.timeline-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
}
.timeline-title {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
}
/* 지??*/
.map-panel {
    background: #eef3ef;
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    max-height: 700px;
    border-radius: 0 20px 20px 0;
    overflow: hidden;
}
#courseMap {
    width: 100%;
    height: 100%;
}
.map-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #7d847d;
}
/* 버튼 */
.planner-result-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}
.planner-result-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.result-btn {
    height: 52px;
    width: 200px;
    border: 1px solid #d8ddd8;
    background: #fff;
    border-radius: 12px;
    font-weight: 600;
}
.result-btn.primary {
    background: #1f4c39;
    color: #fff;
    border: none;
}
/* 모바??*/
@media(max-width:991px) {
    .planner-result-body {
        grid-template-columns: 1fr;
    }
    .timeline-panel {
        border-right: none;
        border-bottom: 1px solid #ecefec;
        border-radius: 0;
    }
    .map-panel {
        position: static;
        height: auto;
        max-height: none;
        border-radius: 0 0 20px 20px;
    }
    #courseMap {
        min-height: 400px;
    }
    .planner-result-actions {
        grid-template-columns: 1fr;
    }
}
@media (max-width:768px) {
    .planner-result-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .action-group {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        width: 100%;
    }
    .planner-result-actions .primary {
        width: 100%;
    }
}
.result-btn {
    height: 54px;
    border: 1px solid #d8ddd8;
    background: #fff;
    border-radius: 14px;
    font-weight: 600;
    transition: all .25s ease;
    cursor: pointer;
}
/* Hover */
.result-btn:hover {
    background: #1f4c39;
    color: #fff;
    border-color: #1f4c39;
    transform: translateY(-2px);
    box-shadow:
        0 8px 20px rgba(31, 76, 57, .18);
}
/* Active */
.result-btn:active {
    transform: translateY(0);
}
/* ?�??버튼 */
.result-btn.primary {
    background: #1f4c39;
    color: #fff;
    border-color: #1f4c39;
}
.result-btn.primary:hover {
    background: #2a6349;
    border-color: #2a6349;
    box-shadow:
        0 10px 24px rgba(31, 76, 57, .22);
    transform: translateY(-2px);
}
ul.search-point {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0;
    margin: 0
}
ul.search-point li {
    padding: 6px 10px;
    background: #edf4ee;
    border-radius: 40px;
    font-size: 12px;
}
ul.search-point li.active {
    background: #596a5b;
    color: #fff;
    border-radius: 10px;
    margin-right: 10px;
    padding: 8px 12px 4px
}
/*?�브 ?�어�?버튼 조정*/
.city-grid-sub {
    transform: scale(.9);
    transform-origin: center center;
}
/* 480px mobile: scale() only shrinks visually, layout box stays same size,
   causing a gap between the 6 region buttons and text. Disable scale and
   shrink actual size/margin on small screens instead. */
@media (max-width: 480px) {
    .city-grid-sub {
        transform: none;
        margin-top: 0;
    }
    .hero-right-sub {
        margin-top: 12px;
    }
}
.hero-caption2 {
    opacity: 1 !important;
    visibility: visible !important;
}
.tour-slider-2 .splide__slide, .tour-slider-3 .splide__slide, .tour-slider-4 .splide__slide {
    height: auto !important;
}
.tour-slider-2 .splide__list, .tour-slider-3 .splide__list, .tour-slider-4 .splide__list {
    align-items: flex-start !important;
}
/* market.html <style> ?�그??추�? */
@media (max-width: 576px) {
    .tour-slider-2 .splide__slide, .tour-slider-3 .splide__slide, .tour-slider-4 .splide__slide {
        width: calc(50% - 0.5rem) !important;
    }
}
@media (max-width: 1400px) {
    .tour-slider-2 .tour-item, .tour-slider-3 .tour-item, .tour-slider-4 .tour-item {
        height: auto !important;
        min-height: unset !important;
    }
    .tour-slider-2 .tour-content, .tour-slider-3 .tour-content, .tour-slider-4 .tour-content {
        height: auto !important;
        min-height: unset !important;
    }
}
.tour-slider-2 .splide__slide.is-visible ~ .splide__slide:not(.is-visible), .tour-slider-3 .splide__slide.is-visible ~ .splide__slide:not(.is-visible), .tour-slider-4 .splide__slide.is-visible ~ .splide__slide:not(.is-visible) {
    height: 0 !important;
    overflow: hidden !important;
}
.tour-slider-2 .tour-item, .tour-slider-3 .tour-item, .tour-slider-4 .tour-item {
    height: auto !important;
}
.tour-slider-2 .tour-content, .tour-slider-3 .tour-content, .tour-slider-4 .tour-content {
    min-height: unset !important;
    height: auto !important;
}
@media (min-width: 992px) and (max-width: 1199px) {
    .hero-search-wrap {
        width: calc(100% + (100vw - 780px) / 2 + (100vw / 2));
        max-width: 55vw;
    }
}
/*==========메인 ?�축===================*/
.hero-fixed-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    pointer-events: auto;
    right: calc((100vw - 1320px) / 2);
    width: calc(1320px / 2 - 24px);
}
@media (max-width: 1400px) {
    .hero-fixed-right {
        right: calc((100vw - 1140px) / 2);
        width: calc(1140px / 2 - 24px);
    }
}
@media (max-width: 1200px) {
    .hero-fixed-right {
        right: calc((100vw - 960px) / 2);
        width: calc(960px / 2 - 24px);
    }
}
@media (max-width: 1199px) {
    .hero-fixed-right {
        position: absolute;
        top: auto;
        bottom: 80px; 
        right: 16px;
        left: 16px;
        width: auto;
        transform: none;
    }
    .hero-left {
        width: 100%;
        max-width: 50%;
        flex: 0 0 50%;
    }
}
@media (max-width: 768px) {
    .hero-fixed-right {
        bottom: 40px;
        right: 12px;
        left: auto;
        width: 45%;
    }
  
}
@media (max-width: 992px) {
    .hero-fixed-right {
        position: relative;
        top: auto;
        right: auto;
        transform: none;
        width: 100%;
        margin-top: 24px;
        padding: 0 12px;
    }
   .hero-left {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    } 
	
	
	
    .hero-item.carousel-item.active {
        display: flex;
        flex-direction: column;
    }
}
@media (max-width: 768px) {
    .hero-fixed-right {
        padding: 0 16px;
        margin-top: 16px;
    }
    .city-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }
}
@media (max-width: 480px) {
    .city-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 1199px) {
    .hero-fixed-right {
        position: absolute;
        top: auto;
        bottom: 120px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: 90%;
        max-width: 600px;
    }
    /*    padding-bottom: 220px;*/
    }
    .hero-search-wrap {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 768px) {
    .hero-fixed-right {
        bottom: 80px;
        width: 95%;
    }
    .city-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }
    /*
  .hero-left {
    padding-bottom: 200px;
  }
*/
}
@media (max-width: 480px) {
    .hero-fixed-right {
        bottom: 60px;
    }
    .hero-left {
        padding-bottom: 50px;
    }
}
/*지??맛집*/
.ybm-section{
    padding:80px 0;
    background:#f5f7f8;
}

.ybm-container{
    max-width:1320px;
    margin:0 auto;
    padding:0 20px;
}

.ybm-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:30px;
}

.ybm-title{
    font-size:34px;
    font-weight:700;
    margin:0 0 8px;
}

.ybm-subtitle{
    color:#777;
    margin:0;
}

.ybm-nav{
    display:none;
    gap:8px;
}

.ybm-btn{
    width:42px;
    height:42px;
    border:none;
    border-radius:12px;
    background:#0d4968;
    color:#fff;
    cursor:pointer;
    font-size:22px;
}

.ybm-track{
    overflow:hidden;
}

.ybm-list{
    display:flex;
    gap:24px;
    transition:.35s ease;
}


.ybm-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 3px 12px rgba(0,0,0,.06);
    height:100%;
}

.ybm-image{
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
}

.ybm-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.ybm-badge{
    position:absolute;
    left:12px;
    top:12px;
    background:#fff;
    padding:5px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
}

.ybm-content{
    padding:18px;
}

.ybm-content h3{
    margin:0 0 12px;
    font-size:18px;
    font-weight:700;
}

.ybm-location{
	font-size: 15px;
    color:#0a4b55;
	font-weight: 500;
    margin-bottom:10px;
}

.ybm-desc{
    border-top:1px solid #eee;
    padding:12px 0px 10px 0;
    color:#777;
   font-size: 15px;
}

.ybm-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:30px;
}

.ybm-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#bfd0c0;
    cursor:pointer;
}

.ybm-dot.active{
    width:28px;
    border-radius:20px;
    background:#184d38;
}
.ybm-item a{
	color:#000
}
.ybm-item a:hover{
	color:#343b0b
}
/* PC ?�수 (gap=24px 기�?) */
.ybm-section[data-pc="2"] .ybm-item{ flex:0 0 calc((100% - 24px) / 2); }
.ybm-section[data-pc="3"] .ybm-item{ flex:0 0 calc((100% - 48px) / 3); }
.ybm-section[data-pc="4"] .ybm-item{ flex:0 0 calc((100% - 72px) / 4); }
.ybm-section[data-pc="5"] .ybm-item{ flex:0 0 calc((100% - 96px) / 5); }

/* ?�블�?(992px ?�하, gap=24px) */
@media(max-width:991px){
    .ybm-section[data-tablet="2"] .ybm-item{ flex:0 0 calc((100% - 24px) / 2) !important; max-width:calc((100% - 24px) / 2) !important; }
    .ybm-section[data-tablet="3"] .ybm-item{ flex:0 0 calc((100% - 48px) / 3) !important; max-width:calc((100% - 48px) / 3) !important; }
    .ybm-section[data-tablet="4"] .ybm-item{ flex:0 0 calc((100% - 72px) / 4) !important; max-width:calc((100% - 72px) / 4) !important; }
}

/* 모바??(767px ?�하, gap=16px) */
@media(max-width:767px){
    .ybm-list{ gap:16px; }
    .ybm-title{ font-size:26px; }

    .ybm-section[data-mobile="1"] .ybm-item{ flex:0 0 100% !important; max-width:100% !important; }
    .ybm-section[data-mobile="2"] .ybm-item{ flex:0 0 calc((100% - 16px) / 2) !important; max-width:calc((100% - 16px) / 2) !important; }
    .ybm-section[data-mobile="3"] .ybm-item{ flex:0 0 calc((100% - 32px) / 3) !important; max-width:calc((100% - 32px) / 3) !important; }
    .ybm-section[data-mobile="4"] .ybm-item{ flex:0 0 calc((100% - 48px) / 4) !important; max-width:calc((100% - 48px) / 4) !important; }

    /* data-mobile 미�??�시 기본 2??*/
    .ybm-item{
        flex:0 0 calc((100% - 16px) / 2) !important;
        max-width:calc((100% - 16px) / 2) !important;
    }
}


/* ?�?� ?�로???�더 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.my-profile-header {
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    background:
        linear-gradient(rgba(9, 46, 29, .78), rgba(9, 46, 29, .78)), url("../img/hero/03.jpeg") center center / cover no-repeat;
}


.my-profile-inner {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

/* ?�바?� */
.my-avatar {
  width: 90px; height: 90px;
  border-radius: 50%;
  background: rgba(255,255,255,0.45);
  border: 2px solid rgba(255,255,255,0.45);
  display: flex; align-items: center; justify-content: center;
  font-size: 46px; flex-shrink: 0;
  overflow: hidden;
}
.my-avatar img {
  width: 100%; height: 100%; object-fit: cover;
}

/* ?�름 · ?�메??*/
.my-profile-info { flex: 1; }
.my-profile-name {
  font-size: 1.1rem; font-weight: 700;
  color: #fff; margin-bottom: 4px;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-profile-email {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.8);
  margin-bottom: 12px;
  font-family: 'Noto Sans KR', sans-serif;
}

/* ?�계 */
.my-profile-stats {
  display: flex;
  align-items: center;
  gap: 0;
}
.my-stat { text-align: center; padding: 0 16px; }
.my-stat:first-child { padding-left: 0; }
.my-stat-num {
  font-size: 2rem; font-weight: 600;
  color: #fff; line-height: 1;
  margin-bottom: 3px;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-stat-label {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.7);
  font-family: 'Noto Sans KR', sans-serif;
}
.my-stat-divider {
  width: 1px; height: 24px;
  background: rgba(255,255,255,0.15);
  flex-shrink: 0;
}

/* ?�집 버튼 */
.my-edit-btn{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);
    color:#fff;
    border-radius:999px;
    padding:12px 24px;
    backdrop-filter: blur(10px);
    transition:.25s;
}

.my-edit-btn:hover{
    background:#587945;
    border-color:#587945;
}

/* 반응??*/
@media (max-width: 576px) {
  .my-profile-inner { flex-wrap: wrap; }
  .my-edit-btn { width: 100%; text-align: center; margin-top: 4px; }
  .my-avatar { width: 52px; height: 52px; font-size: 22px; }
  .my-profile-name { font-size: 1rem; }
  .my-stat { padding: 0 12px; }
}

/* ?�?� ???�행 코스 리스???�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.my-course-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* 코스 카드 */
.my-course-card {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  gap: 16px;
  align-items: center;
  background: #fff;
  border: 1px solid #e0ede5;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.2s;
}
.my-course-card:hover {
  border-color: #c0daca;
  box-shadow: 0 4px 16px rgba(26,58,42,0.07);
}

/* ?�네??*/
.my-course-thumb {
  height: 120px;
  overflow: hidden;
  flex-shrink: 0;
}
.my-course-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.my-course-card:hover .my-course-thumb img {
  transform: scale(1.04);
}

/* ?�보 */
.my-course-info {
  padding: 16px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-left:20px
}
.my-course-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1a3a2a;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-course-tags {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.my-course-tag {
  font-size: 0.72rem;
  padding: 3px 10px;
  border-radius: 999px;
  background: #eaf4ee;
  color: #2a5c40;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-course-tag.tag-blue {
  background: #e8f0fb;
  color: #2a4a7a;
}
.my-course-tag.tag-amber {
  background: #fef3e2;
  color: #7a4a0a;
}
.my-course-date {
  font-size: 0.75rem;
  color: #9db5a8;
  font-family: 'Noto Sans KR', sans-serif;
}

/* 버튼 ?�역 */
.my-course-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
  flex-shrink: 0;
}
.my-btn-view {
  font-size: 0.8rem;
  padding: 7px 18px;
  border-radius: 8px;
  background: #fff;
  border: 1.5px solid #c0daca;
  color: #1a3a2a;
  cursor: pointer;
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 500;
  white-space: nowrap;
  transition: all 0.2s;
}
.my-btn-view:hover {
  background: #eaf4ee;
  border-color: #5a9e78;
}
.my-btn-del {
  font-size: 0.8rem;
  padding: 7px 18px;
  border-radius: 8px;
  background: transparent;
  border: 1px solid #e0ede5;
  color: #9db5a8;
  cursor: pointer;
  font-family: 'Noto Sans KR', sans-serif;
  white-space: nowrap;
  transition: all 0.2s;
}
.my-btn-del:hover {
  border-color: #e25454;
  color: #e25454;
}

/* �??�태 */
.my-empty-state {
  text-align: center;
  padding: 3rem 1rem;
}
.my-empty-icon { font-size: 2.5rem; margin-bottom: 0.75rem; }
.my-empty-title {
  font-size: 1rem; font-weight: 500;
  color: #1a3a2a; margin-bottom: 0.35rem;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-empty-sub {
  font-size: 0.85rem; color: #9db5a8;
  margin-bottom: 1rem;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-empty-btn {
  display: inline-block;
  font-size: 0.85rem; font-weight: 500;
  padding: 8px 22px;
  background: #1a3a2a; color: #fff;
  border-radius: 999px; text-decoration: none;
  font-family: 'Noto Sans KR', sans-serif;
  transition: background 0.2s;
}
.my-empty-btn:hover { background: #122a1e; color: #fff; }

/* 반응??*/
@media (max-width: 992px) {
  .my-course-card { grid-template-columns: 120px 1fr auto; }
  .my-course-thumb { height: 100px; }
}
@media (max-width: 576px) {
  .my-course-card { grid-template-columns: 90px 1fr; }
  .my-course-actions { display: none; } /* 모바?�에??카드 ?�릭?�로 ?��?*/
  .my-course-thumb { height: 90px; }
  .my-course-title { font-size: 0.9rem; }
}


/* ?�?� 찜한 ?�행지 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.my-liked-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.my-liked-count {
  font-size: 0.85rem;
  color: #6b8c7a;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-liked-count b { color: #1a3a2a; }
.my-liked-clear {
  font-size: 0.78rem;
  color: #9db5a8;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Noto Sans KR', sans-serif;
  transition: color 0.15s;
}
.my-liked-clear:hover { color: #e25454; }

/* 카드 그리??*/
.my-liked-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.my-liked-card {
  background: #fff;
  border: 1px solid #e0ede5;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
}
.my-liked-card:hover {
  border-color: #c0daca;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(26,58,42,0.08);
}

/* ?��?지 */
.my-liked-img {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.my-liked-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.my-liked-card:hover .my-liked-img img { transform: scale(1.05); }

/* ?�트 버튼 */
.my-liked-heart {
  position: absolute;
  top: 8px; right: 8px;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
  z-index: 2;
}
.my-liked-heart:hover { transform: scale(1.15); }

/* ?�스??*/
.my-liked-body { padding: 10px 12px 8px; flex: 1; }
.my-liked-region {
  font-size: 0.72rem; color: #9db5a8;
  margin-bottom: 3px;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-liked-name {
  font-size: 0.9rem; font-weight: 500;
  color: #1a3a2a; margin-bottom: 6px;
  font-family: 'Noto Sans KR', sans-serif;
}

/* ?�그 */
.my-liked-tag {
  font-size: 0.7rem; padding: 2px 9px;
  border-radius: 999px;
  font-family: 'Noto Sans KR', sans-serif;
}

/* ?�세??보기 링크 */
.my-liked-link {
  display: block;
  padding: 8px 12px;
  font-size: 0.75rem;
  color: #6b8c7a;
  text-decoration: none;
  border-top: 1px solid #f0ede8;
  text-align: right;
  transition: color 0.15s;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-liked-link:hover { color: #1a3a2a; }

/* 반응??*/
@media (max-width: 992px) {
  .my-liked-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
  .my-liked-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .my-liked-name { font-size: 0.82rem; }
}

/* ?�?� 최근 �??�행지 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.my-recent-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.my-recent-count {
  font-size: 0.85rem;
  color: #6b8c7a;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-recent-count b { color: #1a3a2a; }
.my-recent-clear {
  font-size: 0.78rem;
  color: #9db5a8;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Noto Sans KR', sans-serif;
  transition: color 0.15s;
}
.my-recent-clear:hover { color: #e25454; }

/* 리스??*/
.my-recent-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.my-recent-item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 12px;
  align-items: center;
  background: #fff;
  border: 1px solid #e0ede5;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s;
}
.my-recent-item:hover {
  border-color: #c0daca;
  box-shadow: 0 2px 12px rgba(26,58,42,0.06);
}

/* ?��?지 */
.my-recent-img {
  display: block;
  height: 120px;
  overflow: hidden;
  flex-shrink: 0;
}
.my-recent-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.my-recent-item:hover .my-recent-img img { transform: scale(1.05); }
.my-recent-name, .my-recent-info p{
	margin-bottom: 0
}

/* ?�보 */
.my-recent-info {
  padding: 10px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.my-recent-region {
  font-size: 0.85rem;
  color: #555;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-recent-name {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1a3a2a;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-recent-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.my-recent-tag {
  font-size: 0.68rem;
  padding: 2px 8px;
  border-radius: 999px;
  font-family: 'Noto Sans KR', sans-serif;
}
.my-recent-time {
  font-size: 0.8rem;
  color: #9C82C9;
  font-family: 'Noto Sans KR', sans-serif;
}

/* ?�션 버튼 */
.my-recent-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
}
.my-recent-go {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #f5f2ec;
  border: 1px solid #e0ede5;
  display: flex; align-items: center; justify-content: center;
  color: #6b8c7a; text-decoration: none;
  transition: all 0.2s;
}
.my-recent-go:hover {
  background: #1a3a2a;
  border-color: #1a3a2a;
  color: #fff;
}
.my-recent-del {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid #e0ede5;
  display: flex; align-items: center; justify-content: center;
  color: #b0c8ba; cursor: pointer;
  transition: all 0.2s;
}
.my-recent-del:hover {
  border-color: #e25454;
  color: #e25454;
}

/* 반응??*/
@media (max-width: 576px) {
  .my-recent-item { grid-template-columns: 60px 1fr auto; }
  .my-recent-img { height: 60px; }
  .my-recent-name { font-size: 0.82rem; }
}

/*?�정 부�?/
/* ?�?� ?�정 ???�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?� */
.mypage-setting{
    display:flex;
    flex-direction:column;
    gap:28px;
}

.setting-section{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:28px;
    align-items:flex-start;
}

.setting-side{
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.setting-icon{
    width:56px;
    height:56px;
    flex-shrink:0;
    border-radius:50%;
    background:#eef5eb;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:#1d4e38;
}
.setting-icon img{width:60%}
.setting-side h5{
    font-size:16px;
    font-weight:700;
    margin-bottom:6px;
    color:#1a2a1a;
}

.setting-side p{
    color:#888;
    font-size:13px;
    line-height:1.6;
    margin:0;
}

.setting-content{
    background:#fff;
    border:1px solid #e8ede8;
    border-radius:16px;
    overflow:hidden;
}

/* 기본 ??*/
.setting-row{
    padding:22px 28px;
    border-bottom:1px solid #f0f3f0;
    display:flex;
/*    align-items:center;*/
    gap:16px;
}
.setting-row:last-child{
    border-bottom:none;
}

/* ?�름/로그?�웃 ???�벨 */
.setting-row > label:first-child{
    min-width:90px;
    font-size:14px;
    font-weight:600;
    color:#333;
    flex-shrink:0;
    margin:0;
}

/* ?�름 ?�력 컨트�?*/
.setting-control{
    flex:1;
    display:flex;
/*    align-items:center;*/
    gap:0;
}
.setting-control input{
    flex:1;
    border:1px solid #e0e5e0;
    border-radius:8px;
    padding:10px 14px;
    font-size:14px;
    color:#333;
    background:#fff;
    max-width:none;
}
.setting-control input:focus{
    outline:none;
    border-color:#1d4e38;
}

.setting-desc{
    font-size:14px;
    color:#888;
}

.btn-save{
    background:#1d4e38;
    color:#fff;
    border:none;
    padding:10px 22px;
    border-radius:9px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    white-space:nowrap;
    flex-shrink:0;
}
.btn-save:hover{ background:#163b2b; }

.btn-logout{
    background:#fff;
    color:#ef4444;
    border:1.5px solid #ef4444;
    padding:10px 20px;
    border-radius:9px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    white-space:nowrap;
    flex-shrink:0;
}
.btn-logout:hover{ background:#fff5f5; }

/* �???*/
.setting-row-chip{
    flex-wrap:nowrap;
    gap:12px;
}
.setting-row-chip > label:first-child{
    min-width:110px;
}
.setting-chip-wrap{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    flex:1;
}

.setting-chip{
    border:1.5px solid #e4e8e4;
    background:#fff;
    padding:7px 16px;
    border-radius:999px;
    font-size:13px;
    color:#555;
    cursor:pointer;
    transition:all .18s;
}
.setting-chip:hover{
    border-color:#1d4e38;
    color:#1d4e38;
}
.setting-chip.active{
    background:#e8f3e5;
    border-color:#1d4e38;
    color:#1d4e38;
    font-weight:700;
}

/* ============================================
   지역별 알림 설정 - 박스 여백 / 아이콘 크기 조정
   ============================================ */
#regionAlertSection .setting-content{
    padding:20px 24px;
}
#regionAlertSection .setting-icon{
    width:33.6px;
    height:33.6px;
}
#regionAlertSection .setting-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.setting-chip-more{
    width:34px;
    height:34px;
    border:1.5px solid #e4e8e4;
    background:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    flex-shrink:0;
    color:#888;
}

/* ?��? ??*/
.setting-row-toggle{
    justify-content:space-between;
}
.setting-toggle-info{
    flex:1;
}
.setting-toggle-info strong{
    display:block;
    font-size:14px;
    font-weight:600;
    color:#222;
    margin-bottom:4px;
}
.setting-toggle-info p{
    font-size:13px;
    color:#999;
    margin:0;
}

/* iOS ?��? ?�위�?*/
.setting-toggle{
    position:relative;
    display:inline-block;
    cursor:pointer;
    flex-shrink:0;
}
.setting-toggle input{
    opacity:0;
    width:0;
    height:0;
    position:absolute;
}
.setting-toggle-track{
    display:block;
    width:50px;
    height:28px;
    background:#d1d5db;
    border-radius:999px;
    transition:background .25s;
    position:relative;
}
.setting-toggle input:checked + .setting-toggle-track{
    background:#1d4e38;
}
.setting-toggle-thumb{
    position:absolute;
    top:3px;
    left:3px;
    width:22px;
    height:22px;
    background:#fff;
    border-radius:50%;
    box-shadow:0 1px 4px rgba(0,0,0,.18);
    transition:transform .25s;
}
.setting-toggle input:checked + .setting-toggle-track .setting-toggle-thumb{
    transform:translateX(22px);
}

/* ?�원 ?�퇴 */
.setting-withdraw{
    border:1px solid #e8ede8;
    border-radius:16px;
    background:#f8faf8;
    padding:20px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}
.setting-withdraw-text{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    color:#888;
}

.btn-cs{
    color:#1d4e38;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
}
.btn-cs:hover{ text-decoration:underline; }



/* ?�?� 마이?�이지 ??메뉴 (밑줄 ?��??? ?�?�?�?�?�?�?� */
.tab-menu.tour-nav {
    background: #fff;
    border-radius: 0;
    box-shadow: none !important;
    border-bottom: 1px solid #e8ede8;
    gap: 0;
}

.tab-menu.tour-nav .nav-item .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: transparent;
    color: #888;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    padding: 18px 28px;
    border-right: none;
    border-radius: 0;
}

/* ?�성 ??밑줄 ?�거 (기존 ?�이?�몬???�살???�거) */
.tab-menu.tour-nav .nav-item .nav-link::after {
    content: none;
}

/* 밑줄 ?��? before�??�로 ?�의 */
.tab-menu.tour-nav .nav-item .nav-link::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2.5px;
    background: transparent;
    border-radius: 2px 2px 0 0;
    transition: background .2s;
}

.tab-menu.tour-nav .nav-item .nav-link:hover {
    color: #1d4e38;
    background: transparent;
}

.tab-menu.tour-nav .nav-item .nav-link.active {
    background: transparent !important;
    color: #1d4e38 !important;
    font-weight: 700;
    border-right-color: transparent;
}

.tab-menu.tour-nav .nav-item .nav-link.active::before {
    background: #1d4e38;
}

/* ?�이�?*/
.tab-menu.tour-nav .nav-item .nav-link svg {
    opacity: 0.55;
    transition: opacity .2s;
}
.tab-menu.tour-nav .nav-item .nav-link.active svg,
.tab-menu.tour-nav .nav-item .nav-link:hover svg {
    opacity: 1;
}

/* 반응??*/
@media (max-width: 1199.98px) {
    .tab-menu.tour-nav {
        background: #fff;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0;
        border-radius: 0;
    }
    .tab-menu.tour-nav .nav-item {
        width: auto;
        padding: 0;
        margin: 0;
        white-space: nowrap;
    }
    .tab-menu.tour-nav .nav-item .nav-link {
        background: transparent;
        border: none;
        border-radius: 0;
        width: auto;
    }
    .tab-menu.tour-nav .nav-item .nav-link::after {
        content: none;
    }
	    .tab-menu.shadow-sm .nav-item .nav-link, .tab-menu.shadow .nav-item .nav-link {
        box-shadow: none;
    }
}
@media (max-width: 767.98px) {
    .tab-menu.tour-nav .nav-item {
        width: auto;
    }
    .tab-menu.tour-nav .nav-item .nav-link {
        padding: 14px 16px;
        font-size: 13px;
        gap: 5px;
    }
}


@media (max-width: 990.98px) {

    /* 2컬럼 ??1컬럼 */
    .setting-section {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    /* ???�딩 축소 */
    .setting-row {
        padding: 16px 18px;
        flex-wrap: wrap;
        gap: 10px;
    }

    /* ?�스???�로 깨짐 방�? */
    .setting-desc {
        word-break: keep-all;
        white-space: normal;
    }

    /* ?�름 ?�력�?+ ?�?�버??줄바�?방�? */
    .setting-control {
        flex-wrap: nowrap;
        min-width: 0;
    }
    .setting-control input {
        min-width: 0;
        flex: 1;
    }

    /* �????�벨 ?�로 */
    .setting-row-chip {
        flex-direction: column;
        align-items: flex-start;
    }

    /* ?�원?�퇴 줄바�?*/
    .setting-withdraw {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}




@media (max-width: 1199.98px) {
    .tab-menu.tour-nav {
        background: #fff;
        flex-wrap: nowrap;          /* 줄바�?금�? */
        overflow-x: auto;           /* 가�??�크�?*/
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;      /* Firefox ?�크롤바 ?��? */
        margin: 0;
        border-radius: 0;
    }
    .tab-menu.tour-nav::-webkit-scrollbar {
        display: none;              /* Chrome/Safari ?�크롤바 ?��? */
    }
    .tab-menu.tour-nav .nav-item {
        width: auto !important;     /* 기존 33.333% 강제 ?�제 */
        flex-shrink: 0;             /* 찌그?�짐 방�? */
        padding: 0;
        margin: 0;
    }
    .tab-menu.tour-nav .nav-item .nav-link {
        background: transparent;
        border: none;
        border-radius: 0;
        width: auto;
        white-space: nowrap;
    }
    .tab-menu.tour-nav .nav-item .nav-link::after {
        content: none;
    }
}



@media (max-width: 767.98px) {
    .tab-menu.tour-nav {
        flex-wrap: wrap;        /* 줄바�??�용 */
        overflow-x: unset;      /* 가�??�크�??�제 */
    }
    .tab-menu.tour-nav .nav-item {
        width: 50% !important;  /* 2개씩 ??�?*/
        flex-shrink: unset;
    }
    .tab-menu.tour-nav .nav-item .nav-link {
        width: 100%;
        justify-content: center;
        padding: 14px 10px;
        font-size: 13px;
        border-bottom: 1px solid #e8ede8;
    }
    /* ?�단 구분??중복 ?�거 */
    .tab-menu.tour-nav .nav-item:nth-child(3) .nav-link,
    .tab-menu.tour-nav .nav-item:nth-child(4) .nav-link {
        border-bottom: none;
    }
}
/* Bootstrap ??��?�기 */
/* Bootstrap .carousel-item 충돌 ?�정 */
.carousel-section .carousel-item {
  display: block !important;
  flex: 0 0 calc(25% - 15px) !important;
  width: calc(25% - 15px) !important;
  min-width: 0;
}

@media (max-width: 991px) {
  .carousel-section .carousel-item {
    flex: 0 0 calc(33.333% - 14px) !important;
    width: calc(33.333% - 14px) !important;
  }
}

@media (max-width: 767px) {
  .carousel-section .carousel-item {
    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
  }
}

.carousel-section {
  overflow: visible;
}

/* ?�심: overflow hidden???�기 ?�어??카드가 ?�림 */
.carousel-track {
  overflow: hidden !important;
  width: 100%;
}

.carousel-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

/* 캐러?� ?�더 */
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
}

.section-title h2 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 4px;
}

.section-title p {
  font-size: 14px;
  color: #6c757d;
  margin: 0;
}

/* ?�전/?�음 버튼 */
.carousel-nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.carousel-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #dee2e6;
  background: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

.carousel-btn:hover {
  background: #2D6A4F;
  color: #fff;
  border-color: #2D6A4F;
}

/* ?�트 */
.carousel-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 20px;
}

.carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dee2e6;
  cursor: pointer;
  transition: all 0.2s;
}

.carousel-dot.active {
  background: #2D6A4F;
  width: 20px;
  border-radius: 4px;
}

/* 카드 */
.carousel-section .card {
  border: 1px solid #e9ecef;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
  height: 100%;
  background: #fff;
}

.carousel-section .card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}

.carousel-section .card-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #f0f4f0;
}

.carousel-section .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.carousel-section .card-image .badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #2D6A4F;
  color: #fff !important;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 20px;
  font-weight: 600;
}

.carousel-section .card-body {
  padding: 14px;
}

.carousel-section .card-title {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #1a2e1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.carousel-section .card-location {
  font-size: 12px;
  color: #6c757d;
  margin-bottom: 4px;
}

.carousel-section .card-desc {
  font-size: 12px;
  color: #6c757d;
  margin-bottom: 6px;
}

.carousel-section .card-review {
  font-size: 11px;
  color: #adb5bd;
}
/*?�토�?카드?�이?�웃*/
.story-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1199px) {
  .story-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .story-grid { grid-template-columns: 1fr; gap: 0.75rem; }
}

/* ?�덱???�이지 "지�??�는 ?�남 ?�토�? 5?��??�? 카드 그리??*/
.story-card-grid-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}
@media (max-width: 1199px) {
  .story-card-grid-5 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .story-card-grid-5 { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
}
@media (max-width: 480px) {
  .story-card-grid-5 { grid-template-columns: 1fr; }
}

/* 추�? ?�그 ?�상 (theme-3???�는 것들) */
.story-card-tag.tag-food     { background: #fef3e2; color: #7a4a0a; }
.story-card-tag.tag-stay     { background: #f3e8fb; color: #5a2a7a; }
.story-card-tag.tag-festival { background: #fde8ec; color: #a02040; }

/* ?�?� 마켓 카드 그리??(?�남 ?�산�?/ 지??맛집 / 체험 ?�로그램) ?�?� */
.market-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.market-grid-item a{
	color:#333
}
.market-grid-item a:hover{color:#59700b}
@media (max-width: 1199px) {
  .market-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .market-grid { grid-template-columns: 1fr; gap: 0.75rem; }
}

/* ??보기 / ?�기 버튼 */
.market-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 32px;
  border-radius: 999px;
  border: 1px solid #d9e4d9;
  background: #fff;
  color: #2D6A4F;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
.market-more-btn:hover {
  background: #eaf4ee;
}
.market-more-btn svg {
  transition: transform 0.2s;
}

/* ?�?� 모바??카테고리 ?�터 wrap 처리 (가�??�크�??�??줄바�? ?�?� */
@media (max-width: 768px) {
  .cat-pills {
    overflow-x: visible;
    flex-wrap: wrap;
  }
}

/* ?�?� 마켓 카드 ?�스???�리 (?�산�?맛집/체험) ?�?� */
/* ?�?��?: 18px ??16px, ?�쪽 ?�렬, 기본 검??/ ?�버 진한 ?�색 */
#specialtyGrid .tour-title,
#foodGrid .tour-title,
#experienceGrid .tour-title {
  font-size: 16px;
  text-align: left;
  color: #1a1a1a;
  margin-bottom: 0.4rem;
}
#specialtyGrid .tour-title a,
#foodGrid .tour-title a,
#experienceGrid .tour-title a {
  color: #1a1a1a;
}
#specialtyGrid .tour-title a:hover,
#foodGrid .tour-title a:hover,
#experienceGrid .tour-title a:hover,
#specialtyGrid .story-card-v2:hover .tour-title,
#foodGrid .story-card-v2:hover .tour-title,
#experienceGrid .story-card-v2:hover .tour-title {
  color: #1a3a2a;
}

/* 지???�명 ?�스?? ?�쪽 ?�렬 + ?�아??간격 ?�리 */
#specialtyGrid .tour-itinerary,
#foodGrid .tour-itinerary,
#experienceGrid .tour-itinerary {
  text-align: left;
  margin-bottom: 0.35rem;
}
#specialtyGrid .inline-review,
#foodGrid .inline-review,
#experienceGrid .inline-review {
  text-align: left;
  padding: 0.35rem 0;
}
#specialtyGrid .tour-content,
#foodGrid .tour-content,
#experienceGrid .tour-content {
  padding: 1rem 1.1rem;

}
.market-grid-item .tour-item .tour-content{
	border:1px solid #eee;
	border-top:0;
	border-radius: 0 0 10px 10px;
	background: #fff
}

@media (max-width: 991px) {
  #specialtyGrid .tour-itinerary,
  #foodGrid .tour-itinerary,
  #experienceGrid .tour-itinerary,
  #specialtyGrid .inline-review,
  #foodGrid .inline-review,
  #experienceGrid .inline-review {
    font-size: 15px;
	
  }
	
}


/* 모바?? 2??+ ?�스???�짝 ??컴팩?�하�?*/
@media (max-width: 575px) {
  .market-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }

  #specialtyGrid .tour-title,
  #foodGrid .tour-title,
  #experienceGrid .tour-title {
    font-size: 14px;
  }
  #specialtyGrid .tour-itinerary,
  #foodGrid .tour-itinerary,
  #experienceGrid .tour-itinerary,
  #specialtyGrid .inline-review,
  #foodGrid .inline-review,
  #experienceGrid .inline-review {
    font-size: 14px;
	
  }
  #specialtyGrid .tour-content,
  #foodGrid .tour-content,
  #experienceGrid .tour-content {
    padding: 0.75rem 0.85rem;
	 box-shadow: 0 0px 12px rgba(0,0,0,0.12);
	
  }

}

/* ?�체 검?????�버?�이 박스 */
.search-tours-v2 {
    width: 100%;

    border-radius: 20px;
    padding: 30px;
/*    box-shadow: 0 10px 30px rgba(13, 73, 104, 0.08);*/
    box-sizing: border-box;
}

/* ?�직 ?�층??강제?�는 Form ?�이?�웃 */
.search-tour-form {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 16px !important; /* �?컴포?�트 �?명확???�직 마진 ?�보 */
}

/* 공통 ?�력 ???��???*/
.search-tour-form select {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border-radius: 12px;
    border: 1px solid #dbe3eb;
    background-color: #ffffff;
    font-size: 15px;
    color: #333333;
    font-weight: 500;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230d4968' d='M6 8.825L1.175 4 2.575 2.6 6 6.025 9.425 2.6 10.825 4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 8px) center;
    box-sizing: border-box;
}

/* ?�� [1�? ?�단 그리?? 지???�?�터?� ?�력 ?�리�?�?(가�?1:1 분할) */
.search-grid-top {
  display: flex;
  gap: 10px;
}
.region-box {
  flex: 2;
}

.date-summary-box {
  flex: 6;
}

.date-box {
  flex: 4;
}
.date-summary-box[hidden] {
  display: none !important;
}

/* ?�력 ?�리�?�??�용 ?�자??*/
.date-trigger {
    height: 52px;
    padding: 0 16px;
    border-radius: 12px;
    border: 1px solid #dbe3eb;
    background: #ffffff;
    font-size: 15px;
    color: #333333;
    display: flex !important;
    align-items: center !important;
    cursor: pointer;
    box-sizing: border-box;
	 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230d4968' d='M6 8.825L1.175 4 2.575 2.6 6 6.025 9.425 2.6 10.825 4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center;
}
.date-trigger .input-icon {
    margin-right: 8px;
}

.date-trigger2 {
    height: 45px;
    padding: 0 16px;
    border-radius: 12px;
    border: 1px solid #dbe3eb;
    background: #ffffff;
    font-size: 15px;
    color: #333333;
    display: flex !important;
    align-items: center !important;
    cursor: pointer;
    box-sizing: border-box;
	 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230d4968' d='M6 8.825L1.175 4 2.575 2.6 6 6.025 9.425 2.6 10.825 4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center;
}
.date-trigger2 .input-icon {
    margin-right: 8px;
}






/* [?�라??캘린???�널] ?�직?�로 ?�전???�립?�어 ?�쳐�?*/
.calendar-panel {
    width: 100% !important;
    border: 1px solid #eef2f5;
    border-radius: 14px;
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    box-sizing: border-box;
}
.cal-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 16px;
    font-weight: 700;
    color: #0d4968;
}
.cal-grid {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 6px !important;
    text-align: center;
}
.cal-grid .day-lbl {
    font-size: 12px;
    font-weight: 600;
    color: #8898a5;
    padding-bottom: 8px;
}
.cal-grid .day-lbl:nth-child(7n+1) { color: #eb5757; }
.cal-grid .day-lbl:nth-child(7n) { color: #2f80ed; }

.cal-day-node {
    font-size: 14px;
    font-weight: 500;
    padding: 10px 0;
    cursor: pointer;
    border-radius: 8px;
    position: relative;
}
.cal-day-node:hover:not(.disabled) { background-color: #f0f4f7; }
.cal-day-node.disabled { color: #d2d9df; cursor: not-allowed; }
.cal-day-node.active-start, .cal-day-node.active-end {
    background-color: #0d4968 !important;
    color: #ffffff !important;
    font-weight: 700;
}
.cal-day-node.active-range {
    background-color: #e6f0f5 !important;
    color: #0d4968 !important;
    border-radius: 0px;
}
.cal-day-node.has-dot::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    background-color: #eb5757;
    border-radius: 50%;
}
/* ?�늘 ?�짜 ?�시 (?�덱???�래???�력 공통) */
.cal-day-node.cal-today {
    font-weight: 700;
    color: #0d4968;
}
/* [플래너] 여행 날짜 카드: 트리거 + 펼쳐진 달력을 하나의 카드로 표시
   - 바깥 카드는 둥근 모서리 유지, 트리거/달력 이음새는 각지게(radius 0) + 상단 구분선
   - 트리거는 더 이상 클릭해도 접히지 않음 (항상 펼침 고정) */
#dateCardWrap.tour-item {
    border-radius: 16px;
}
#dateCardWrap .date-trigger2 {
    border-radius: 0;
    border-bottom: none;
    cursor: default;
}
#dateCardWrap .calendar-panel {
    border-radius: 0;
    border-top: 1px solid #eef2f5;
    box-shadow: none;
    margin-top: 0;
}

/* [플래너] 날짜/동행/이동수단/스타일/예산 카드 배치: CSS Grid
   - Bootstrap row/col 방식은 줄바꿈 시 세로 gap이 자동으로 안 생겨서 grid로 전환
   - gap 하나로 가로/세로 간격이 모든 구간에서 일관되게 유지됨 */
.planner-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "date companion"
        "date transport"
        "vibe budget";
    gap: 24px;
    align-items: stretch;
}
.grid-area-date       { grid-area: date; }
.grid-area-companion  { grid-area: companion; }
.grid-area-transport  { grid-area: transport; }
.grid-area-vibe       { grid-area: vibe; }
.grid-area-budget     { grid-area: budget; }

/* 991px 미만 ~ 768px 이상: 날짜 100% 한 줄 / 동행+이동수단 나란히 한 줄 / 스타일+예산 나란히 한 줄 */
@media (max-width: 991.98px) {
    .planner-cards-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "date date"
            "companion transport"
            "vibe budget";
    }
}

/* 767px 미만: 전부 한 줄씩 (gap이 위아래 여백을 자동으로 처리) */
@media (max-width: 767.98px) {
    .planner-cards-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "date"
            "companion"
            "transport"
            "vibe"
            "budget";
        gap: 16px;
    }
}

.cal-day-node.cal-today::before {
    content: '';
    position: absolute;
    inset: 2px;
    border: 1.5px solid #0d4968;
    border-radius: 8px;
    pointer-events: none;
}
.cal-day-node.cal-today.active-start,
.cal-day-node.cal-today.active-end {
    color: #ffffff;
}
.cal-day-node.cal-today.active-start::before,
.cal-day-node.cal-today.active-end::before {
    border-color: #ffffff;
}

/* [?�짜 ?�택 결과 ?�선 박스] 배경 �??�두�??�선 ?�벽 구현 */
.date-summary-box {
    width: 100% !important;
    background: #f8fafb !important;
    border: 1px dashed #ced7de !important; /* ?�구?�신 명확???�???�두�?*/
    padding: 16px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #0d4968;
    box-sizing: border-box;
	
}

/* [2�? 축제 ?�림 박스] ?�직 ?�벤??매칭 ?�에�??�출 */
.festival-alert-box {
    width: 100% !important;
    background: #fff5f5 !important;
    border: 1px solid #ffe3e3 !important;
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 14px;
    color: #c92a2a;
    line-height: 1.5;
    box-sizing: border-box;
}

/* ?�� [3�? ?�단 그리?? ?�행, ?�동?�단, ?�행?��???(3???�등 분할) */
.search-grid-bottom {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
}

/* 최하???�???�행 버튼 */
.ai-generate-btn-wide {
    width: 100% !important;
    height: 54px;
    background: #0d4968;
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(13, 73, 104, 0.15);
}
.ai-generate-btn-wide:hover {
    background: #09344b;
}
/* 모바??*/
@media (max-width: 991px) {
.search-tour-form select {

    padding: 0 8px;

    font-size: 13px;

}
  .search-grid-top {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }
	.search-tours-v2 {
    padding: 20px 0;
}

  /* 1�?- 지???�택 */
  .search-grid-top .region-box {
    flex: 0 0 calc(25% - 6px);
  }

  /* 1�?- ?�력 ?�택 */
  .search-grid-top .date-box {
    flex: 0 0 calc(75% - 6px);
  }

  /* 2�?- ?�짜 ?�보 ?�체 */
  .search-grid-top .date-summary-box {
    flex: 0 0 100%;
    order: 3;
  }

  /* ?�짜 ?�을 ???�전???��? */
  .search-grid-top .date-summary-box[hidden] {
    display: none !important;
  }
	
.input-icon-group::after {

    right: 4px;

}
  .search-grid-bottom {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px;
  }
  /* ?�?�트 박스가 �??�체�?채우?�록 */
  .search-grid-bottom .input-icon-group {
    width: 100%;
    min-width: 0;
  }

  /* select??100% */
  .search-grid-bottom select {
    width: 100%;
  }

  /* AI 버튼?� ?�래 ??�??�체 */
  .search-grid-bottom .ai-generate-btn-wide {
    grid-column: 1 / -1;
    width: 100%;
  }

}

.summary-date{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:#777;
  font-weight:500;
}
.planner-result-date {
  margin-top: 0px;
  margin-bottom: 10px;
  font-size: 15px;
  color: #666;
  font-weight: 500;
}

/* �Ⱓ + ���� ��¥ */
.my-course-meta{
  display:flex;
  align-items:center;
  gap:10px;
}

.my-course-trip-date{
  padding:7px 14px 4px;
  border-radius:999px;
  background:#4070ea;
  color:#fff;
  font-size:12px;
  font-weight:500;
}

/* ���� �Ⱓ ���� (����ġ�� / 1��2�� / 2��3�� / 3��4��) - �ٸ� ���� �±׿� �и� */
.my-course-duration-badge{
  display:inline-block;
  margin:0;
  padding:7px 14px 5px;
  border-radius:999px;
  background:#58920f;
  color:#fff;
  font-size:12px;
  font-weight:500;
  letter-spacing:.2px;
}

/* �ڽ� �� ���� �˾� - Day �� ��ư */
.tl-day-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.tl-day-tab{
  border:1px solid #d8e6da;
  background:#fff;
  color:#3a5a4a;
  font-size:13px;
  font-weight:600;
  padding:6px 16px;
  border-radius:999px;
  cursor:pointer;
  transition:all .15s ease;
}
.tl-day-tab.active{
  background:#1A3A2A;
  color:#fff;
  border-color:#1A3A2A;
}

/* �� ���� �ڽ� ����� �ֱ� �� ������ ��Ÿ�� ���� */
.my-course-thumb {
    width: 160px;
    height: 160px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f5f5f5;
}

.my-course-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ==========================
   �� ���� �ڽ� ����� ����
========================== */
@media (max-width: 991px) {
.my-course-info {
    padding: 0;
}
  .my-course-card {
    display: block !important;
    padding: 16px !important;
    position: relative;
  }

  /* ���簢�� ����� */
  .my-course-thumb {
    width: 140px !important;
    height: 140px !important;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 14px;
  }

  .my-course-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* ���� ��ü */
  .my-course-info {
    width: 100%;
    margin: 0 !important;
  }

  /* ���� */
  .my-course-title {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 0px;
  }

  /* �Ⱓ + ��¥ ���� */
  .my-course-meta {
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 0px;
  }

  /* �±� */
  .my-course-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
  }

  /* ������ */
  .my-course-date {
    margin-bottom: 5px;
  }

  /* ��ư ���� ���� */
  .my-course-actions {
    display: flex;
	flex-direction: row;
    gap: 10px;
    width: 100%;
  }

  .my-btn-view,
  .my-btn-del {
    flex: 1;
    height: 48px;
  }

}
/* ���� �Ⱓ ���� (����ġ�� / 1��2�� / 2��3�� / 3��4��) - �ٸ� ���� �±׿� �и� */
.my-course-duration-badge{
  display:inline-block;
  margin:6px 0 8px;
  padding:8px 14px 4px;
  border-radius:999px;
  background:#58920f;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.2px;
}

/* �ڽ� �� ���� �˾� - Day �� ��ư */
.tl-day-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.tl-day-tab{
  border:1px solid #d8e6da;
  background:#fff;
  color:#3a5a4a;
  font-size:13px;
  font-weight:600;
  padding:6px 16px;
  border-radius:999px;
  cursor:pointer;
  transition:all .15s ease;
}
.tl-day-tab.active{
  background:#1A3A2A;
  color:#fff;
  border-color:#1A3A2A;
}







/* Day �� �׷� (1����/2����/3���� ��ư) */
.day-badge-group{
  display:flex;
  gap:8px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.day-badge-group .day-badge{
  border:1px solid #d8e6da;
  background:#fff;
  color:#3a5a4a;
  font-size:13px;
  font-weight:600;
  padding:6px 16px;
  border-radius:999px;
  cursor:pointer;
  transition:all .15s ease;
}
.day-badge-group .day-badge.active{
  background:#1A3A2A;
  color:#fff;
  border-color:#1A3A2A;
}
.day-badge-group .day-badge:hover{
  border-color:#1A3A2A;
}

/* ���� ���� ��� spot (����) Ÿ�Ӷ��� �� ��Ÿ�� */
.timeline-dot.transit{
  background:#f5a623;
  border-color:#f5a623;
}

/* �ǽð� ��������� �˸� Ĩ (SearchFestival1 ���� ������) */
.festival-alert-box{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  font-size:13px;
}
.festival-alert-label{
  font-weight:600;
}
.festival-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.festival-chip{
  display:inline-block;
  padding:4px 12px;
  border-radius:999px;
  background:#1A3A2A;
  color:#fff;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}

/* ���� ��� - �Ⱓ �� ��¥ ���� ǥ�� (��: 1�� 2�� / 2026.10.05~ 10.06) */
.summary-date{
  color:#8a9a8e;
  font-size:12px;
  font-weight:500;
  margin-left:2px;
}

/* AI �ڽ� ��� - �ڽ� Ÿ��Ʋ �� ��¥ ǥ�� (��: ���� �ٻ� ���� �ڽ� (2026.10.05~ 10.06)) */
.planner-result-title-row{
  display:flex;
  align-items:baseline;
/*  gap:8px;*/
  flex-wrap:wrap;
}
.planner-result-date{
  font-size:14px;
  font-weight:600;
  color:#8a9a8e;
  white-space:nowrap;
}

/* ==========================================
   ���� ���� �±� �÷� �ý���
========================================== */

/* ���� �±� (����) */
.tag-region {
    background: #EDF1F5 !important;
    color: #5A6775 !important;
}

/* ?�래??결과(featured-tag)?�서 ?�용?�는 ?��??�별 뱃�? ?�상
   - tagClassMap(JS)?�서 ?�링/?�차/?�연?�healing, ?�보/감성/?�진?�walk,
     ?�여??맛집/미식?�island, ??��/문화?�history, 체험/?�티비티?�experience �?매핑??*/
.tag-healing    { background: #eaf4ee; color: #2a5c40; }
.tag-walk       { background: #e8f0fb; color: #2a4a7a; }
.tag-island     { background: #fef3e2; color: #7a4a0a; }
.tag-history    { background: #f9e8d1; color: #8a5a16; }
.tag-experience { background: #cbebf4; color: #1a5c78; }
.tag-emotion    { background: #f3e8fb; color: #5a2a7a; }
.tag-food       { background: #fcc0ae; color: #7a3a1a; }
.tag-stay       { background: #e3d4fb; color: #5a2a7a; }
.tag-festival   { background: #fde8ec; color: #a02040; }

.planner-picked-box{
  grid-column: 1 / -1;
  background:#fff;
  border-radius:16px;
  padding:16px;
  margin-bottom:15px;
}

.planner-picked-title{
  font-weight:700;
  margin-bottom:10px;
}

.planner-picked-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}

.planner-picked-list li{
  font-size:12px;
  color:#fff;
  background:#297543;
  border-radius:999px;
  padding:4px 10px;
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
}

.planner-picked-remove{
  background:none;
  border:none;
  color:#fff;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  padding:0;
  flex-shrink:0;
  opacity:0.8;
}

.planner-picked-remove:hover{
  opacity:1;
}

/* AI �÷��� ���� ���� 2�÷� */
.trip-info-card{
    display:grid;
    grid-template-columns:1fr 1fr;
}

.trip-row{
    padding:20px 15px;
    border-bottom:1px solid #eee;
}

/* ��� �̹��� ��ü�� */
.trip-image{
    grid-column:1 / -1;
    padding:0;
}

.trip-image img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

/* ���ེŸ�� ��ü�� */
.trip-full{
    grid-column:1 / -1;
}




/* ?�덱??검???�수 ?�력 미선????강조 ?�시 */
.input-error{
  outline:2px solid #e55353 !important;
  outline-offset:2px;
  border-radius:8px;
  animation: input-error-shake .3s;
}
@keyframes input-error-shake{
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}
	

	
	
	
	


/* ============================================================
   ?�이지�??�라??<style> ?�합 (theme-3.min.css ?�리�?
   - index.html / market.html / mypage.html / planner.html /
     story.html / story-detail.html ??<style> 블록???�합
   - 중복?� ??번만 ?�언, 기존 theme-3.min.css 규칙�?충돌?�는
     ??��?� ?�선?�위가 ?��??�도�??�일 ?�에 배치
   ============================================================ */

/* ?�?� [공통] 모바??메뉴 ?�어?�택 select 가?�성 개선
   index / market / mypage / planner / story / story-detail 6�??�이지?�서 공통 ?�용 ?�?� */
@media (max-width: 1199px){
  .offcanvas-navbar .form-select2.dropdown-select2{
    width: 100%;
    max-width: 100%;
    height: 46px;
    padding: 0 36px 0 16px;
    border: 1px solid #cfdccf;
    background-color: #f3f7f3;
    color: #1a3a2a;
    font-weight: 600;
  }
  .offcanvas-navbar .input-icon-group{
    width: 100%;
    margin-right: 0 !important;
    margin-top: 12px;
  }
  .offcanvas-navbar .input-icon-group::after{
    color: #1a3a2a;
  }
}

/* ============================================================
   [index.html] 메인 ?�이지 ?�용
   ============================================================ */

/* ?�시�?축제·?�사 ?�림 박스 ??�?가�??�렬 ?�이?�웃
   ??같�? ?�?�터가 ?�쪽(?�인 12587, 12923 부�????�의?�어 ?�어
     ?�일 ?�에 ?�어 ?�선 ?�용?�도�??�다 */
.festival-alert-box{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
/* .festival-chip ?� 기존 ?�의?� ?�일?�여 ?�략 (?�인 12938 부�? */

/* 모바???�어�?캐러?� prev/next 버튼 (?�단 중앙 배치) */
.carousel-control-mobile{
  display: flex;
  position: absolute;
  bottom: 14px;
  top: auto;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.45);
  border-radius: 50%;
  opacity: 1;
  z-index: 5;
}
.carousel-control-mobile.carousel-control-prev{ left: 14px; }
.carousel-control-mobile.carousel-control-next{ right: 14px; }
.carousel-control-mobile .carousel-control-prev-icon,
.carousel-control-mobile .carousel-control-next-icon{
  width: 18px;
  height: 18px;
}

/* ============================================================
   [market.html] 5?�장·마켓 ?�이지 ?�용
   ============================================================ */

/* 특산물·맛집·체험 카드: 링크 카드(specialty-card-link/food-card-link)는 제외 */
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link),
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link) *{
  cursor: default !important;
}

/* 링크 카드가 아닌 경우에만 hover 움직임 제거 */
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link),
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link):hover,
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link) *,
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link) *:hover,
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link) .image-hover img,
.market-grid-item .story-card-v2:not(.specialty-card-link):not(.food-card-link) .image-hover:hover img{
  transform: none !important;
  transition: none !important;
}

/* 마켓 카드?� ?�보�?버튼 ?�이 간격 */
.market-more-wrap{
  margin-top: 25px;
}

/* 지??���?뱃�?: ?�스??줄바�?방�?, 뱃�?가 ?�치�?�??�위�??�려�?*/
.food-badge-row{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  row-gap: 6px;
}
.food-badge-row .market-badge{
  margin-right: 0 !important;
}
.market-badge{
  display: inline-block;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}
.market-badge-keyword{
  background: #eaf4ee;
  color: #2a5c40;
}
.market-badge-rating{
  background: #fff8e1;
  color: #7a5c00;
}
.market-badge-review{
  background: #f0f4f8;
  color: #4a6741;
}

/* ============================================================
   [mypage.html] 마이?�이지 UI (mypage-patch.css ?�합)
   - 코스 카드 ?�션 버튼 (?�정/??��)
   - 코스 ?�세 모달 (강제 고정 + sticky ?�기)
   - 찜한·최근 �??�행지 "+ ?�기 / ???��?" 버튼
   ============================================================ */

/* ?�?� ??코스 카드 ?�션 버튼 ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�
   코스 보기 = theme-3 기본 ???�색 outline) ?��?
   ?�정      = ?�렌지?�드(#FF4500) outline
   ??��      = 부?�러???�렌지?�드 soft outline */
.my-course-actions{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  flex-shrink: 0;
  align-items: stretch;
}
.my-course-actions .my-btn-edit,
.my-course-actions .my-btn-del{
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  padding: 7px 18px;
  min-width: 96px;
  border-radius: 8px;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease,
              border-color .2s ease, box-shadow .2s ease;
  letter-spacing: -0.2px;
  line-height: 1.4;
  text-align: center;
}
.my-course-actions .my-btn-edit{
  background: #fff;
  border: 1.5px solid #D7B8A6;
  color: #D7B8A6;
}
.my-course-actions .my-btn-edit:hover{
  background: #FFF5F0;
  border-color: #E63E00;
  color: #E63E00;
}
.my-course-actions .my-btn-edit:active{ background: #FFE9DD; }
.my-course-actions .my-btn-del{
  background: #fff;
  border: 1.5px solid #FFD4C2;
  color: #FF7A55;
}
.my-course-actions .my-btn-del:hover{
  background: #FFF5F0;
  border-color: #FF4500;
  color: #FF4500;
}
.my-course-actions .my-btn-del:active{ background: #FFE9DD; }
.my-course-actions .my-btn-edit:focus,
.my-course-actions .my-btn-del:focus{ outline: none; }
.my-course-actions .my-btn-edit:focus-visible,
.my-course-actions .my-btn-del:focus-visible{
  outline: 2px solid #FF4500;
  outline-offset: 2px;
}
@media (max-width: 575.98px){
  .my-course-actions{
    flex-direction: row;
    gap: 6px;
  }
  .my-course-actions .my-btn-view,
  .my-course-actions .my-btn-edit,
  .my-course-actions .my-btn-del{
    flex: 1;
    min-width: 0;
    height: 44px;
    padding: 8px 6px;
  }
}

/* ?�?� ??"+ ?�기 / ???��?" 버튼 (찜한·최근 �??�행지)
   검??버튼(.story-search-btn) ??#1a3a2a �??�일 */
.my-recent-add,
.my-liked-add{
  background: #fff;
  border: 1.5px solid #1a3a2a;
  color: #1a3a2a;
   font-size: 12px;
  border-radius:20px;
  padding: 4px 8px 2px
}
.my-recent-add:hover,
.my-liked-add:hover{
  background: #f3f7f4;
  border-color: #122a1e;
  color: #122a1e;
}
.my-recent-add:focus,
.my-liked-add:focus{ outline: none; }
.my-recent-add:focus-visible,
.my-liked-add:focus-visible{
  outline: 2px solid #1a3a2a;
  outline-offset: 2px;
}
.my-recent-add.is-added,
.my-liked-add.is-added{
  background: #1a3a2a;
  border-color: #1a3a2a;
  color: #fff;
  font-size: 12px;
  border-radius:20px;
  padding: 4px 8px 2px
}
.my-recent-add.is-added:hover,
.my-liked-add.is-added:hover{
  background: #122a1e;
  border-color: #122a1e;
  color: #fff;
}

/* ?�?� ??코스 ?�세 모달: ?�버?�이 + 박스 + ?�기 ?�?�?�?�?�?�?�?�
   ID ?�택??+ !important �??��? CSS·?�른 부�?컨텍?�트??
   position ?�향 ?�이 ??�� viewport ??고정.
   sticky ?�기 [X] ??flex ?�식 align-self �??�상??고정 */
#courseDetailModal.course-modal-overlay{
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  inset: 0 !important;
  width: 100vw !important;
  z-index: 9999 !important;
  background: rgba(10, 20, 14, 0.55);
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#courseDetailModal.course-modal-overlay[hidden]{
  display: none !important;
}
body.course-modal-open{
  overflow: hidden !important;
}
#courseDetailModal .course-modal-box{
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  font-family: 'Noto Sans KR', sans-serif;
  color: #1a2e1a;
}
@media (max-width: 575.98px){
  #courseDetailModal .course-modal-box{
    min-height: 100vh;
    border-radius: 0;
  }
}
@media (min-width: 576px){
  #courseDetailModal .course-modal-box{
    margin: 40px auto;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    max-height: calc(100vh - 80px);
    overflow-y: auto;
  }
}
#courseDetailModal .course-modal-close{
  position: sticky;
  top: 12px;
  align-self: flex-end;
  float: none;
  margin: 12px 12px 0 0;
  flex-shrink: 0;
  background: #fff;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  color: #1a2e1a;
  z-index: 10;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
#courseDetailModal .course-modal-close:hover{
  background: #f3f7f4;
  color: #1a3a2a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
#courseDetailModal .course-modal-close:focus{ outline: none; }
#courseDetailModal .course-modal-close:focus-visible{
  outline: 2px solid #1a3a2a;
  outline-offset: 2px;
}
#courseDetailModal .course-modal-body{
  clear: none;
}
.course-modal-body .wrap{
  max-width: 480px;
  margin: 0 auto;
  padding: 4px 20px 48px;
}
.course-modal-body h1{
  font-size: 24px;
  font-weight: 700;
  color: #0b2518;
  margin-bottom: 12px;
  line-height: 1.3;
	text-align: center
		
}
.course-modal-body .trip-duration-pill{
  display: inline-flex;
  align-items: center;
	 gap: 10px;
	padding: 0px 0px 10px;
/*
 
  background: #fff;
  border: 1px solid #e8ede8;
  border-radius: 999px;
  padding: 9px 20px;
  box-shadow: 0 2px 8px rgba(20, 60, 40, .05);
*/
}
.course-modal-body .trip-duration-icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #1d4e38;
  flex-shrink: 0;
}
.course-modal-body .trip-duration-label{
  font-size: 15px;
  font-weight: 800;
  color: #1d4e38;
  letter-spacing: -.2px;
  white-space: nowrap;
}
.course-modal-body .trip-duration-divider{
  width: 1px;
  height: 14px;
  background: #dde3dd;
  flex-shrink: 0;
}
.course-modal-body .trip-duration-date{
  font-size: 14px;
  font-weight: 500;
  color: #444;
  letter-spacing: -.1px;
  white-space: nowrap;
}
.course-modal-body .duration-row{
  display: flex;
  flex-wrap: wrap;
	justify-content: center;
  gap: 6px;
  margin-bottom: 10px;
}
.course-modal-body .conds{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.course-modal-body .cond-badge{
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  background: #1A3A2A;
  color: #fff;
}
.course-modal-body .style-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 26px;
}
.course-modal-body .style-tag{
  display: inline-block;
  padding: 4px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
}
.course-modal-body .tl-day-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.course-modal-body .tl-day-tab{
  border: none;
  background: #eef3ee;
  color: #3a5a4a;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: 8px;
  cursor: pointer;
  transition: all .15s ease;
}
.course-modal-body .tl-day-tab.active{
  background: #58920f;
  color: #fff;
}
.course-modal-body .tl-wrap{
  position: relative;
}
.course-modal-body .tl-row{
  display: flex;
  gap: 0;
  align-items: stretch;
  margin-bottom: 0;
}
.course-modal-body .tl-left{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 28px;
  flex-shrink: 0;
  padding-top: 6px;
}
.course-modal-body .tl-dot{
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #52B788;
  flex-shrink: 0;
}
.course-modal-body .tl-line{
  width: 3px;
  background: #c8e6c9;
  flex: 1;
  min-height: 20px;
  margin-top: 4px;
}
.course-modal-body .tl-card{
  flex: 1;
  background: #fff;
  border: 1px solid #e4ece4;
  border-radius: 12px;
  padding: 14px 16px;
  margin-left: 12px;
  margin-bottom: 12px;
}
.course-modal-body .tl-time{
  font-size: 20px;
  font-weight: 700;
  color: #1a3a2a;
  line-height: 1;
  margin-bottom: 6px;
}
.course-modal-body .tl-name{
  font-size: 15px;
  font-weight: 600;
  color: #1a2e1a;
  margin-bottom: 10px;
}
.course-modal-body .tl-foot{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.course-modal-body .tl-badge{
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
}
.course-modal-body .tl-tip{
  font-size: 12px;
  color: #6b8c7a;
}
.course-modal-body .map-box{
  background: #f0f4f0;
  border-radius: 12px;
  height: 220px;
  margin-top: 8px;
  margin-bottom: 4px;
  border: 1px solid #dce8dc;
  overflow: hidden;
  position: relative;
}
.course-modal-body #courseDetailMap{
  width: 100%;
  height: 100%;
}
.course-modal-body .save-date{
  font-size: 11px;
  color: #bbb;
  margin-top: 16px;
}

/* ============================================================
   [planner.html] ?�이지 ?�용
   ��ģ���� �ѱ��� �� �̻� ������ �ʰ�
   ============================================================ */

/* ============================================================
   [story.html] ?�이지 ?�용
   ??기존??.city-card-sub.region-icon-btn ?�버?�이?�는 ?�거??
     story.html ??6�??�시 카드?�서 region-icon-btn ?�래?��? ?�고
     JS ?�?�터??.city-card-sub �?바꿔???�래??충돌 ?�체가 ?�도�??�리.
     ???�제 ?�른 ?�이지(index/market)?� ?�일?�게 ?�수 .city-card ?��??�로 ?�더링됨.
   ============================================================ */

/* ============================================================
   [story-detail.html] 
   ============================================================ */

/* 온전히 한글이 깨진다
   - 기존 .info-tag (?�인 9492) ?�서 배경??주석 처리?�어 ?�어 보강
   - .nearby-tag ??기본 배경???�고 tag-* 변???�래?��? 붙�? 경우?�만
     배경???�용?�어, 매칭 ?�그 ?�래?��? ?�을 ??기본 배경 추�? */
.info-tag{
  background: #eaf4ee;
}
.nearby-tag{
  background: #eaf4ee;
  color: #2a5c40;
}

/* 갤러�??�이?�박??*/
#galleryLightbox{
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
}
#galleryLightbox[hidden]{ display: none; }
body.lb-open{ overflow: hidden; }
.lb-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.88);
}
.lb-box{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 60px 70px;
  box-sizing: border-box;
}
.lb-box img{
  max-width: 100%;
  max-height: 100%;
  border-radius: 10px;
  object-fit: contain;
  box-shadow: 0 8px 40px rgba(0,0,0,0.5);
  display: block;
}
.lb-close{
  position: absolute;
  top: 16px;
  right: 20px;
  background: rgba(255,255,255,0.12);
  border: none;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
  z-index: 2;
}
.lb-close:hover{ background: rgba(255,255,255,0.24); }
.lb-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.12);
  border: none;
  color: #fff;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
  z-index: 2;
}
.lb-arrow:hover{ background: rgba(255,255,255,0.28); }
.lb-prev{ left: 16px; }
.lb-next{ right: 16px; }
.lb-counter{
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.75);
  font-size: 13px;
  font-weight: 500;
  background: rgba(0,0,0,0.35);
  padding: 4px 12px;
  border-radius: 999px;
  z-index: 2;
}
/* .gallery-main, .gallery-thumb { cursor:pointer; } ??기존 ?�의???��? ?�함?�어 ?�략 */
.gallery-main:hover img,
.gallery-thumb:hover img{
  opacity: 0.88;
  transition: opacity 0.15s;
}
@media (max-width: 576px){
  .lb-box{ padding: 50px 52px; }
  .lb-prev{ left: 6px; }
  .lb-next{ right: 6px; }
}


/* ============================================================
   [planner.html] 달력 - 지난 날짜 비활성화
   ============================================================ */
.cal-disabled {
  color: #ccc !important;
  cursor: not-allowed !important;
  opacity: 0.5 !important;
  background-color: #f5f5f5 !important;
  pointer-events: none !important;
}

/* ============================================================
   [mypage.html] 코스 카드 - 날짜 수정
   ============================================================ */
.my-course-date-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.date-badge-pill {
  background: #eee;
  color: #111;
  padding: 6px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
}

.my-course-meta {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.edit-date-btn {
  padding: 7px 10px 4px;
  background: #e32e2e;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  transition: background 0.2s;
}

.edit-date-btn:hover {
  background: #c41f1f;
}

/* 날짜 수정 모달 */
.date-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.date-modal-content {
  background: white;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 900px;
  width: 100%;
}

.date-modal-title {
  margin: 0 0 20px 0;
  font-size: 18px;
  color: #1a3a2a;
}

.date-calendars-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 20px;
}

.date-calendar-month {
  margin: 0;
  text-align: center;
  color: #1a3a2a;
  font-size: 16px;
}

.date-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}

.date-calendar-day-label {
  text-align: center;
  font-weight: 600;
  font-size: 13px;
  color: #666;
  padding: 8px 0;
}

.date-calendar-cell {
  padding: 10px;
  text-align: center;
  border-radius: 6px;
  font-size: 14px;
  user-select: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background 0.2s;
}

.date-calendar-cell:hover {
  background: #f0f4f0;
}

.date-calendar-cell-selected {
  background: #52B788;
  color: #fff;
  font-weight: 600;
  border-color: #2d7a5c;
}

.date-calendar-cell-range {
  background: #d4edda;
  color: #1a3a2a;
}

.date-calendar-cell-disabled {
  color: #ccc;
  cursor: not-allowed;
  opacity: 0.5;
}

.date-selection-info {
  padding: 12px;
  background: #f5f5f5;
  border-radius: 6px;
  margin-bottom: 20px;
  font-size: 13px;
  color: #333;
}

.date-selection-range {
  font-weight: 600;
}

.date-selection-duration {
  margin-top: 4px;
  font-size: 12px;
  color: #666;
}

.date-selection-hint {
  margin-top: 6px;
  font-size: 11px;
  color: #999;
}

.modal-button-group {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.btn-complete {
  padding: 10px 16px;
  background: #52B788;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: background 0.2s;
}

.btn-complete:hover {
  background: #3a8c68;
}

/* ── 날짜 수정 모달 - 월 이동 네비게이션 ── */
.date-cal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 12px;
}
.date-cal-nav-label {
  font-size: 15px;
  font-weight: 700;
  color: #1a3a2a;
  text-align: center;
  flex: 1;
}
.date-cal-nav-btn {
  width: 36px;
  height: 36px;
  border: 1.5px solid #c5dccf;
  border-radius: 50%;
  background: #fff;
  color: #2d7d5f;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  flex-shrink: 0;
}
.date-cal-nav-btn:hover {
  background: #2d7d5f;
  color: #fff;
  border-color: #2d7d5f;
}

/* ── 날짜 저장 완료 토스트 ── */
#dateSavedToast {
  position: fixed;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 14px;
  background: #1a3a2a;
  color: #fff;
  padding: 14px 20px;
  border-radius: 28px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.22);
  font-size: 14px;
  z-index: 9999;
  white-space: nowrap;
  animation: dateToastIn 0.3s ease;
}
#dateSavedToast.date-toast-hide {
  animation: dateToastOut 0.4s ease forwards;
}
.date-toast-msg {
  color: #a8d5b8;
  font-weight: 500;
}
.date-toast-btn {
  padding: 6px 14px;
  background: #52B788;
  color: #fff;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.15s;
  white-space: nowrap;
}
.date-toast-btn:hover {
  background: #3a9a6e;
  color: #fff;
}
@keyframes dateToastIn {
  from { opacity: 0; transform: translateX(-50%) translateY(12px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@keyframes dateToastOut {
  from { opacity: 1; transform: translateX(-50%) translateY(0); }
  to   { opacity: 0; transform: translateX(-50%) translateY(12px); }
}

.list-inline .list-inline-item a{font-size: 14px;}










/* ============================================================
   💰 예산(Budget) + 예약(Reservation) 기능 스타일  [추가분]
   ============================================================ */
/* ── 예산: 타임라인 비용칩 & 예약 버튼 ── */
.timeline-cost{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#eef6ef;color:#2e7d52;font-size:12px;font-weight:700;vertical-align:middle;}
.timeline-cost-free{background:#f0f0f0;color:#8a8a8a;}
.timeline-reserve-btn{display:none;} /* legacy: hidden */
.timeline-extlink-btn{margin-left:8px;padding:3px 10px;border:1px solid #3a9a6e;background:#fff;color:#2e7d52;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;vertical-align:middle;text-decoration:none;display:inline-block;}
.timeline-extlink-btn:hover{background:#3a9a6e;color:#fff;text-decoration:none;}

/* ── 예산: 예상 경비 요약 카드 ── */
.budget-summary-box{margin:18px 0 4px;padding:18px 20px;border:1px solid #e2ece4;border-radius:16px;background:linear-gradient(180deg,#f7fbf8,#ffffff);box-shadow:0 2px 10px rgba(46,125,82,.06);}
.budget-summary-box .bd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.budget-summary-box .bd-title{font-size:15px;font-weight:800;color:#1A2E1A;}
.budget-summary-box .bd-title b{font-weight:600;color:#7a8a7a;font-size:12.5px;}
.budget-summary-box .bd-band{padding:4px 12px;border-radius:999px;background:#e7f4ec;color:#2e7d52;font-size:12.5px;font-weight:800;}
.budget-summary-box .bd-total-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:12px;background:#1A2E1A;color:#fff;margin-bottom:12px;}
.budget-summary-box .bd-total-row>span:first-child{font-size:13.5px;font-weight:600;opacity:.9;}
.budget-summary-box .bd-total{font-size:22px;font-weight:900;letter-spacing:-.5px;}
.budget-summary-box .bd-break{border:1px solid #eef2ef;border-radius:12px;padding:6px 14px;}
.budget-summary-box .bd-row{display:flex;justify-content:space-between;padding:7px 0;font-size:13px;color:#4a5a4a;border-bottom:1px dashed #eef2ef;}
.budget-summary-box .bd-row:last-child{border-bottom:0;}
.budget-summary-box .bd-row.bd-sub{font-weight:800;color:#1A2E1A;border-bottom:0;border-top:1px solid #e6ece7;margin-top:2px;}
.budget-summary-box .bd-row.bd-resv span:last-child{color:#2e7d52;font-weight:700;}
.budget-summary-box .bd-resv-right{display:inline-flex;align-items:center;gap:6px;}
.budget-summary-box .bd-resv-price{color:#2e7d52;font-weight:700;}
.budget-summary-box .bd-resv-edit,.budget-summary-box .bd-resv-del{border:1px solid #d6e0d8;background:#fff;border-radius:7px;padding:2px 8px;font-size:11.5px;font-weight:700;cursor:pointer;line-height:1.5;transition:all .12s;}
.budget-summary-box .bd-resv-edit{color:#2e7d52;}
.budget-summary-box .bd-resv-edit:hover{background:#e7f4ec;border-color:#2e7d52;}
.budget-summary-box .bd-resv-del{color:#c0564e;}
.budget-summary-box .bd-resv-del:hover{background:#fbeceb;border-color:#c0564e;}
.budget-summary-box .bd-resv-head{margin:8px 0 2px;font-size:11.5px;font-weight:800;color:#2e7d52;letter-spacing:.3px;}
.budget-summary-box .bd-calc{color:#9aa79f;font-size:11px;font-weight:600;margin-left:2px;}
.budget-summary-box .bd-type-chip{display:inline-block;padding:1px 6px;border-radius:4px;background:#eef2ef;color:#5a6a5e;font-size:10.5px;font-weight:700;margin-left:2px;vertical-align:middle;}
.budget-summary-box .bd-confirmed{display:inline-block;padding:1px 6px;border-radius:4px;background:#e7f4ec;color:#2e7d52;font-size:10.5px;font-weight:700;margin-left:3px;vertical-align:middle;}
.budget-summary-box .bd-extra{display:inline-block;padding:1px 6px;border-radius:4px;background:#fff3e0;color:#b26a00;font-size:10.5px;font-weight:700;margin-left:2px;vertical-align:middle;}
.budget-summary-box .bd-partial{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:#fff3e0;color:#b26a00;font-size:10.5px;font-weight:700;}
.resv-people-hint{font-size:11px;font-weight:600;color:#9aa79f;}
.budget-summary-box .bd-row.bd-lodging span:last-child{color:#1A2E1A;font-weight:700;}
.budget-summary-box .bd-foot{margin:12px 2px 0;font-size:12px;color:#7a8a7a;line-height:1.6;}
.budget-summary-box .bd-link{color:#2e7d52;font-weight:700;text-decoration:underline;}
.budget-summary-box .bd-note{display:block;color:#aab4aa;font-size:11px;margin-top:2px;}

/* ── 마켓: 체험 카드 예약 버튼 ── */
.market-reserve-btn{
  width:100%;
  margin-top:10px;
  padding:11px 0;
  border:0;
  border-radius:10px;
  background:#2e7d52;
  color:#fff;
  font-size:13.5px;
  font-weight:800;
  cursor:pointer !important;
  transition: all .2s ease;
  box-shadow: 0 2px 6px rgba(46, 125, 82, 0.25);
}
.market-reserve-btn:hover{
  background:#256843;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(46, 125, 82, 0.35);
  cursor: pointer !important;
}
.market-reserve-btn:active{
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(46, 125, 82, 0.25);
}

/* ── 마켓: 예약 모달 ── */
.resv-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:rgba(20,30,20,.55);padding:16px;opacity:0;transition:opacity .2s;}
.resv-overlay.show{opacity:1;}
.resv-modal{position:relative;width:100%;max-width:420px;background:#fff;border-radius:20px;padding:26px 24px 22px;box-shadow:0 20px 60px rgba(0,0,0,.3);transform:translateY(10px);transition:transform .2s;max-height:92vh;overflow-y:auto;}
.resv-overlay.show .resv-modal{transform:translateY(0);}
.resv-close{position:absolute;top:16px;right:16px;width:30px;height:30px;border:0;border-radius:50%;background:#f1f4f1;color:#555;font-size:15px;cursor:pointer;}
.resv-close:hover{background:#e5e9e5;}
.resv-head{margin-bottom:18px;}
.resv-badge{display:inline-block;padding:3px 11px;border-radius:999px;background:#e7f4ec;color:#2e7d52;font-size:11.5px;font-weight:800;margin-bottom:8px;}
.resv-name{margin:0;font-size:20px;font-weight:900;color:#1A2E1A;line-height:1.3;}
.resv-region{margin-top:4px;font-size:13px;color:#7a8a7a;}
.resv-field{margin-bottom:14px;}
.resv-field>label{display:block;font-size:12.5px;font-weight:700;color:#4a5a4a;margin-bottom:6px;}
.resv-field input[type=date],.resv-field select{width:100%;padding:11px 12px;border:1px solid #dbe4dc;border-radius:10px;font-size:14px;color:#1A2E1A;background:#fff;}
.resv-field input:focus,.resv-field select:focus{outline:none;border-color:#3a9a6e;}
.resv-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.resv-stepper{display:flex;align-items:center;justify-content:space-between;border:1px solid #dbe4dc;border-radius:10px;padding:4px 6px;}
.resv-people-fixed{display:flex;align-items:baseline;gap:4px;border:1px solid #dbe4dc;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:800;color:#1A2E1A;background:#f7fbf8;}
.resv-people-fixed em{font-style:normal;font-size:11.5px;font-weight:600;color:#8a988c;}
.resv-stepper button{width:34px;height:34px;border:0;border-radius:8px;background:#f1f6f2;color:#2e7d52;font-size:18px;font-weight:700;cursor:pointer;}
.resv-stepper button:hover{background:#e2efe6;}
.resv-stepper span{font-size:15px;font-weight:800;color:#1A2E1A;}
.resv-summary{margin:16px 0;padding:12px 14px;border-radius:12px;background:#f7fbf8;border:1px solid #e2ece4;}
.resv-summary-row{display:flex;justify-content:space-between;font-size:13px;color:#4a5a4a;padding:4px 0;}
.resv-summary-total{border-top:1px dashed #d5e2d8;margin-top:4px;padding-top:8px;font-weight:900;color:#1A2E1A;font-size:15px;}
.resv-summary-total span:last-child{color:#2e7d52;}
.resv-submit{width:100%;padding:13px 0;border:0;border-radius:12px;background:#2e7d52;color:#fff;font-size:15px;font-weight:800;cursor:pointer;transition:background .15s;}
.resv-submit:hover{background:#256843;}
.resv-note{margin:10px 2px 0;font-size:11px;color:#a2aca2;line-height:1.5;text-align:center;}
.resv-done-ico{font-size:52px;text-align:center;margin:10px 0 6px;}
.resv-done-title{text-align:center;margin:0 0 8px;font-size:20px;font-weight:900;color:#1A2E1A;}
.resv-done-desc{text-align:center;font-size:14px;color:#4a5a4a;line-height:1.6;margin:0 0 20px;}
.resv-done-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.resv-done-btn{display:flex;align-items:center;justify-content:center;padding:12px 0;border:1px solid #dbe4dc;border-radius:11px;background:#fff;color:#2e7d52;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer;}
.resv-done-btn.primary{background:#2e7d52;color:#fff;border-color:#2e7d52;}
.resv-done-btn:hover{opacity:.9;}

/* ── 마이페이지: 예약 내역 ── */
.my-resv-list{display:flex;flex-direction:column;gap:10px;}
.my-resv-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e8ede9;border-radius:14px;background:#fff;transition:box-shadow .15s;}
.my-resv-item:hover{box-shadow:0 3px 12px rgba(46,125,82,.08);}
.my-resv-name{font-size:15px;font-weight:800;color:#1A2E1A;margin-bottom:5px;}
.my-resv-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#7a8a7a;}
.my-resv-right{text-align:right;flex-shrink:0;}
.my-resv-price{font-size:15px;font-weight:900;color:#2e7d52;margin-bottom:6px;white-space:nowrap;}
.my-resv-del{border:0;background:none;color:#c0392b;font-size:12px;font-weight:700;cursor:pointer;padding:2px 4px;}
.my-resv-del:hover{text-decoration:underline;}
@media(max-width:480px){
  .my-resv-item{flex-direction:column;align-items:flex-start;}
  .my-resv-right{text-align:left;width:100%;display:flex;align-items:center;justify-content:space-between;}
  .my-resv-price{margin-bottom:0;}
}
/* 예약 모달: 여행 일정 연동 힌트 */
.resv-trip-hint{margin:6px 2px 0;font-size:11.5px;color:#2e7d52;font-weight:600;}
/* 예상 경비: 일행 합계 행 & 객실 공유 노트 */
.budget-summary-box .bd-group-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin:-6px 0 12px;border-radius:10px;background:#eef6ef;color:#2e7d52;font-size:13px;font-weight:700;}
.budget-summary-box .bd-group{font-size:16px;font-weight:900;}
.budget-summary-box .bd-roomnote{display:inline-block;margin-left:4px;font-size:11px;font-weight:600;color:#8a9a8a;}
.budget-summary-box .bd-day-group{margin-bottom:4px;}
.budget-summary-box .bd-day-group:not(:first-child){margin-top:8px;padding-top:8px;border-top:1px solid #eef2ef;}
.budget-summary-box .bd-day-label{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:#52B788;border-radius:999px;padding:2px 10px;margin-bottom:4px;}
.budget-summary-box .bd-row.bd-daysub{font-weight:700;color:#2e7d52;border-bottom:0;border-top:1px dashed #e6ece7;margin-top:2px;padding-top:8px;}
/* STEP1 인원(선택) 스텝퍼 */
.pax-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;}
.pax-label{font-size:13px;font-weight:700;color:#4a5a4a;}
.pax-label em{font-style:normal;font-weight:600;color:#9aa89a;font-size:11.5px;}
.pax-stepper{display:inline-flex;align-items:center;gap:4px;border:1px solid #dbe4dc;border-radius:999px;padding:3px 6px;background:#fff;}
.pax-stepper button{width:28px;height:28px;border:0;border-radius:50%;background:#f1f6f2;color:#2e7d52;font-size:16px;font-weight:800;cursor:pointer;line-height:1;transition:background .15s;}
.pax-stepper button:hover{background:#e2efe6;}
.pax-stepper button:disabled{background:#f1f6f2;color:#c3cbc3;cursor:not-allowed;}
.pax-stepper.pax-locked{opacity:.6;}
.pax-stepper #paxCount{min-width:20px;text-align:center;font-size:15px;font-weight:800;color:#1A2E1A;}
.pax-stepper .pax-unit{font-size:12px;color:#7a8a7a;margin-right:2px;}
.pax-room{padding:3px 11px;border-radius:999px;background:#e7f4ec;color:#2e7d52;font-size:12px;font-weight:800;}
.pax-note{margin:7px 2px 0;font-size:11.5px;color:#9aa89a;line-height:1.5;}
/* 예약 모달: 인라인 예약 내역 리스트 */
.resv-li-wrap{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;margin-top:4px;}
.resv-li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #e8ede9;border-radius:12px;background:#fff;}
.resv-li-name{font-size:14px;font-weight:800;color:#1A2E1A;margin-bottom:3px;}
.resv-li-meta{font-size:11.5px;color:#7a8a7a;}
.resv-li-right{text-align:right;flex-shrink:0;}
.resv-li-price{font-size:14px;font-weight:900;color:#2e7d52;margin-bottom:4px;white-space:nowrap;}
.resv-li-del{border:0;background:none;color:#c0392b;font-size:11.5px;font-weight:700;cursor:pointer;padding:0;}
.resv-li-del:hover{text-decoration:underline;}
.resv-li-empty{text-align:center;color:#9aa89a;font-size:13px;padding:26px 0;}
/* ✨ 여행 스타일별 추천 장소 (참고용 · 담기 가능) */
.ai-preview-box{margin-top:16px;padding:22px;border:1px solid #e8f0ea;border-radius:14px;background:#f7fbf8;}
.ai-preview-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.ai-preview-icon{font-size:15px;}
.ai-preview-title{font-size:14px;font-weight:800;color:#1A2E1A;}
.ai-preview-desc{font-size:12.5px;color:#5c6b5c;margin:0 0 14px;line-height:1.5;transition:opacity .18s;}
.ai-preview-desc.updating{opacity:0;}

.ai-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;transition:opacity .18s;}
.ai-preview-list.updating{opacity:0;}

.ai-preview-spot-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e8ede9;border-radius:12px;padding:12px;}
.ai-preview-spot-thumb{position:relative;width:52px;height:52px;flex-shrink:0;border-radius:10px;overflow:hidden;background:#eef4ef;}
.ai-preview-spot-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ai-preview-spot-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;background:#eef4ef;}
.ai-preview-spot-body{min-width:0;flex:1;}
.ai-preview-spot-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.ai-preview-spot-name{font-size:13px;font-weight:700;color:#1A2E1A;}
.ai-preview-spot-tag{font-size:10px;font-weight:700;color:#2e7d52;background:#e7f4ec;border-radius:999px;padding:2px 8px;}
.ai-preview-spot-desc{margin:3px 0 0;font-size:11.5px;color:#8a978a;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;}
.ai-preview-spot-add{flex-shrink:0;border:1px solid #d8e6da;background:#fff;color:#2e7d52;font-size:11.5px;font-weight:700;padding:7px 12px;border-radius:999px;cursor:pointer;transition:all .15s ease;white-space:nowrap;}
.ai-preview-spot-add:hover{border-color:#2e7d52;}
.ai-preview-spot-add.added{background:#1A3A2A;color:#fff;border-color:#1A3A2A;}
.ai-preview-spot-add:disabled{cursor:default;opacity:1;}

.ai-preview-note{margin:14px 2px 0;font-size:11.5px;color:#8a978a;}
.ai-preview-more{display:block;margin-top:10px;text-align:center;font-size:12.5px;font-weight:700;color:#2e7d52;text-decoration:none;}
.ai-preview-more:hover{text-decoration:underline;}

/* 나의 여행 요약: 헤더 · 지역/날짜 텍스트 라인 · 선택 요약 칩 */
.summary-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.summary-reset-btn{border:1px solid #d8e6da;background:#fff;color:#3a5a4a;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;cursor:pointer;transition:all .15s ease;}
.summary-reset-btn:hover{border-color:#2e7d52;color:#2e7d52;}

.summary-top-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #eef2ef;}
.summary-region-name{font-size:17px;font-weight:800;color:#1A2E1A;}
.summary-top-divider{color:#c7d3c9;font-size:14px;}
.summary-daterange{font-size:14px;color:#5c6b5c;}

.summary-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px;}
.summary-chip{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;color:#5c6b5c;background:#f2f6f3;border-radius:999px;padding:5px 12px;}
.summary-chip b{color:#1A2E1A;font-weight:800;}

/* ═══════════════════════════════════════════════════
   마켓 프리뷰 섹션 스타일 (탭형 + 파스텔)
   ═══════════════════════════════════════════════════ */

.market-preview-section {
  background: #F2E9D8;
  position: relative;
}

/* ─── 탭 버튼 ─── */
.market-preview-tabs {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.market-preview-tab {
  padding: 10px 20px;
  border: 0.5px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #666;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.market-preview-tab:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(0, 0, 0, 0.2);
  transform: translateY(-1px);
}

.market-preview-tab.active {
  background: #639922;
  color: white;
  border-color: #639922;
  box-shadow: 0 4px 12px rgba(99, 153, 34, 0.2);
}

.market-preview-tab .tab-icon {
  font-size: 16px;
}

/* ─── 그리드 ─── */
.market-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  padding: 1.5rem 0;
  animation: mpFadeIn 0.3s ease-in;
}

@keyframes mpFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ─── 카드 ─── */
.market-preview-card {
  display: block;
  background: white;
  border-radius: 12px;
  overflow: hidden;
  border: 0.5px solid rgba(0, 0, 0, 0.08);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  text-decoration: none;
  color: inherit;
}

.market-preview-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12);
  border-color: rgba(99, 153, 34, 0.3);
  color: inherit;
  text-decoration: none;
}

/* 이미지 영역 */
.market-card-image {
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden;
  background: #f5f5f5;
}

.market-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.market-preview-card:hover .market-card-image img {
  transform: scale(1.06);
}

/* 태그 - 왼쪽 상단 */
.market-card-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(99, 153, 34, 0.95);
  color: white;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 2;
  letter-spacing: -0.3px;
}

/* 호버 시 왼쪽 하단 자세히 보기 텍스트 (배경 없이 텍스트만) */
.market-card-image::after {
  content: '자세히 보기';
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 3;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.3px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s, transform .3s;
  pointer-events: none;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.market-preview-card:hover .market-card-image::after {
  opacity: 1;
  transform: translateY(0);
}

/* 호버 시 이미지 하단 어두운 그라디언트 (흰 텍스트 가독성용) */
.market-card-image::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
  z-index: 2;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.45), transparent);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}

.market-preview-card:hover .market-card-image::before {
  opacity: 1;
}

/* 콘텐츠 */
.market-card-content {
  padding: 16px 18px 18px;
}

.market-card-title {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 6px;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.market-preview-card:hover .market-card-title {
  color: #639922;
}

.market-card-location {
  font-size: 12px;
  color: #888;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.market-card-location i {
  font-size: 13px;
  opacity: 0.7;
}

/* 설명 한 줄 (스토리 카드처럼) */
.market-card-desc {
  font-size: 13px;
  color: #555;
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 마켓 전체 보기 버튼 */
.btn.btn-outline {
  display: inline-block;
  padding: 12px 32px;
  border: 1.5px solid #639922;
  background: transparent;
  color: #639922;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

.btn.btn-outline:hover {
  background: #639922;
  color: white;
  box-shadow: 0 8px 16px rgba(99, 153, 34, 0.2);
  transform: translateY(-2px);
}

/* 탭 패널 */
.market-preview-panel {
  display: none;
}

.market-preview-panel.active {
  display: block;
  animation: mpFadeIn 0.3s ease-in;
}

/* 반응형 */
@media (max-width: 768px) {
  .market-preview-tabs {
    gap: 8px;
  }

  .market-preview-tab {
    padding: 8px 16px;
    font-size: 13px;
  }

  .market-preview-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
  }

  .market-card-image {
    height: 140px;
  }

  .market-card-content {
    padding: 12px;
  }

  .market-card-title {
    font-size: 14px;
  }

  .market-card-desc {
    font-size: 12px;
  }
}

/* ═══════════════════════════════════════════════════
   특산물 카드 링크 (마켓 페이지)
   ═══════════════════════════════════════════════════ */

.specialty-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.specialty-card-link:hover {
  text-decoration: none;
  color: inherit;
}

/* ═══════════════════════════════════════════════════
   스토리 카드 hover cta - 이미지 왼쪽 하단 (index 페이지)
   ═══════════════════════════════════════════════════ */

.story-card-v2 .story-card-img {
  position: relative;
}

.story-card-v2 .story-card-hover-cta {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: auto;
  z-index: 3;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 0;
  letter-spacing: -0.3px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s, transform .3s;
  pointer-events: none;
}

.story-card-v2:hover .story-card-hover-cta {
  opacity: 1;
  transform: translateY(0);
}

/* ═══════════════════════════════════════════════════
   마켓 페이지 - 카드 이미지 왼쪽 하단 자세히 보기 (텍스트만)
   (5일장, 특산물, 맛집 공통)
   ═══════════════════════════════════════════════════ */

/* figure 위치 기준 */
.market-grid-item .image-hover,
.market-5days-card .image-hover {
  position: relative;
  display: block;
  overflow: hidden;
}

/* 자세히 보기 - 텍스트만, 흰색, 그림자 */
.market-card-detail-badge {
  position: absolute;
  bottom: 14px;
  left: 16px;
  z-index: 3;
  background: transparent;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 0;
  border-radius: 0;
  letter-spacing: -0.3px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s, transform .3s;
  pointer-events: none;
  box-shadow: none;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6), 0 0 2px rgba(0, 0, 0, 0.4);
}

.market-card-detail-badge::after {
  content: ' →';
  font-weight: 700;
}

/* 호버 시 이미지 살짝 어둡게 (배지 가독성 확보) */
.market-grid-item .image-hover::before,
.market-5days-card .image-hover::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 40%);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 2;
  pointer-events: none;
}

.market-grid-item:hover .image-hover::before,
.market-5days-card:hover .image-hover::before {
  opacity: 1;
}

/* Hover 시 배지 표시 */
.market-grid-item:hover .market-card-detail-badge,
.market-5days-card:hover .market-card-detail-badge,
.specialty-card-link:hover .market-card-detail-badge,
.food-card-link:hover .market-card-detail-badge {
  opacity: 1;
  transform: translateY(0);
}

/* ═══════════════════════════════════════════════════
   마켓 페이지 - 맛집 카드 링크
   ═══════════════════════════════════════════════════ */

.food-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.food-card-link:hover {
  text-decoration: none;
  color: inherit;
}

.food-card-link .tour-item {
  transition: box-shadow 0.35s ease;
}

.food-card-link:hover .tour-item {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
}

.food-card-link .tour-title {
  transition: color 0.3s ease;
}

.food-card-link:hover .tour-title {
  color: #639922;
}

.food-card-link .image-hover img {
  transition: transform 0.4s ease;
}

.food-card-link:hover .image-hover img {
  transform: scale(1.06);
}

/* 5일장 카드 - 호버 시 이미지 확대 */
.market-5days-card .tour-item {
  transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.market-5days-card:hover .tour-item {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
  transform: translateY(-4px);
}

.market-5days-card .image-hover img {
  transition: transform 0.4s ease;
}

.market-5days-card:hover .image-hover img {
  transform: scale(1.06);
}

.market-5days-card .tour-title {
  transition: color 0.3s ease;
}

.market-5days-card:hover .tour-title {
  color: #639922;
}

/* ═══════════════════════════════════════════════════
   IMPORTANT: 기존 !important 규칙 오버라이드
   특산물/맛집 카드 링크 활성화 + 커서 pointer + hover 효과
   ═══════════════════════════════════════════════════ */

/* 링크 카드는 pointer 강제 */
.market-grid-item a.specialty-card-link,
.market-grid-item a.specialty-card-link *,
.market-grid-item a.food-card-link,
.market-grid-item a.food-card-link * {
  cursor: pointer !important;
}

/* 마켓 카드 이미지 강제 크기 통일 (레이아웃 붕괴 방지) */
.market-grid-item .tour-img {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
}

.market-grid-item .tour-img figure,
.market-grid-item .tour-img .image-hover {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.market-grid-item .tour-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* 호버 시 카드 살짝 뜨는 효과 - 링크 카드만 */
.market-grid-item a.specialty-card-link,
.market-grid-item a.food-card-link {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform 0.35s ease !important;
}

.market-grid-item a.specialty-card-link:hover,
.market-grid-item a.food-card-link:hover {
  transform: translateY(-4px) !important;
  text-decoration: none !important;
  color: inherit !important;
}

.market-grid-item a.specialty-card-link .tour-item,
.market-grid-item a.food-card-link .tour-item {
  transition: box-shadow 0.35s ease !important;
  background: #fff;
  overflow: hidden;
  border-radius: 10px;
}

.market-grid-item a.specialty-card-link:hover .tour-item,
.market-grid-item a.food-card-link:hover .tour-item {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
}

/* 이미지 확대 효과 */
.market-grid-item a.specialty-card-link:hover .tour-img img,
.market-grid-item a.food-card-link:hover .tour-img img {
  transform: scale(1.06) !important;
  transition: transform 0.4s ease !important;
}

/* 제목 컬러 hover */
.market-grid-item a.specialty-card-link:hover .tour-title,
.market-grid-item a.food-card-link:hover .tour-title {
  color: #639922 !important;
}

/* 체험 프로그램 예약하기 버튼 커서 강제 */
#experienceGrid .market-reserve-btn,
.market-reserve-btn {
  cursor: pointer !important;
}
#experienceGrid .market-reserve-btn:hover,
.market-reserve-btn:hover {
  cursor: pointer !important;
}

/* ═══════════════════════════════════════════════════
   체험 프로그램 예약하기 버튼 커서
   ═══════════════════════════════════════════════════ */
#experienceGrid .market-reserve-btn,
.market-reserve-btn {
  cursor: pointer !important;
}
