.tbti-wrap{font-family:inherit;color:#162033}
.tbti-day{background:#fff;border:1px solid #dbe5f1;border-radius:12px;padding:14px 16px;margin:0 0 22px;box-shadow:0 4px 14px rgba(15,44,85,.04);max-width:1040px}
.tbti-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:12px}
.tbti-badge{background:#00579c;color:#fff;font-weight:800;font-size:20px;line-height:1;padding:12px 17px;border-radius:8px 8px 8px 0;white-space:nowrap;text-align:center}
.tbti-badge span{display:block}
.tbti-badge em{display:block;font-style:normal;font-size:11px;font-weight:600;margin-top:5px;opacity:.95}
.tbti-route{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding-top:3px}
.tbti-place{text-align:center;min-width:74px}
.tbti-place strong{display:block;font-size:18px;font-weight:800;color:#081322}
.tbti-place span{display:block;font-size:13px;color:#334155;margin-top:2px}
.tbti-arrow{font-size:22px;font-weight:900;color:#00579c;padding-top:1px}

/* v2.1.6: movement information is now a horizontal bar below the route */
.tbti-move{border:1px solid #dbe5f1;border-radius:12px;background:#f8fbff;margin:0 0 12px;overflow:hidden}
.tbti-move h3{display:none}
.tbti-move-grid{display:grid;grid-template-columns:1.2fr repeat(5,1fr);align-items:stretch}
.tbti-move-grid:before{content:'이동 정보';display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 14px;font-size:18px;font-weight:800;color:#00579c;border-right:1px solid #dbe5f1;background:#f1f7fd}
.tbti-move-grid:after{content:'🧭';position:absolute;left:-9999px}
.tbti-move-item{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:13px 14px;border-right:1px solid #dbe5f1;min-height:62px}
.tbti-move-item:last-child{border-right:0}
.tbti-move-icon{grid-row:1/3;font-size:20px;line-height:1;text-align:center;color:#1f4f86}
.tbti-move-label{font-size:12px;color:#253449;line-height:1.2}
.tbti-move-item strong{font-size:14px;font-weight:800;color:#111827;line-height:1.25}
.tbti-diff-easy .tbti-move-icon{color:#16a34a}
.tbti-diff-normal .tbti-move-icon{color:#2563eb}
.tbti-diff-hard .tbti-move-icon{color:#f59e0b}
.tbti-diff-very-hard .tbti-move-icon{color:#dc2626}

.tbti-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.95fr);gap:14px;align-items:stretch}
.tbti-gallery{display:grid;grid-template-columns:2fr 1fr;gap:4px;height:270px;min-height:270px;max-height:270px;overflow:hidden}
.tbti-side-photos{display:grid;grid-template-rows:1fr 1fr;gap:4px;min-height:0}
.tbti-photo{position:relative;overflow:hidden;border-radius:6px;background:#eef3f8;min-height:0}
.tbti-photo img{display:block;width:100%;height:100%;object-fit:cover}
.tbti-photo span{position:absolute;left:8px;bottom:7px;background:rgba(0,43,65,.82);color:#fff;font-size:12px;font-weight:700;line-height:1;padding:6px 8px;border-radius:4px}
.tbti-points{padding:24px 16px;border:1px solid #dbe5f1;border-radius:12px;background:#fff}
.tbti-points h3,.tbti-hotel h3,.tbti-tip h3{margin:0;color:#00579c;font-size:20px;font-weight:800;display:flex;align-items:center;gap:9px}
.tbti-points h3 span{font-size:19px}
.tbti-points ul{list-style:none;margin:24px 0 0;padding:0}
.tbti-points li{position:relative;margin:0 0 18px;padding-left:28px;font-size:14px;line-height:1.35}
.tbti-points li:before{content:'✓';position:absolute;left:0;top:0;color:#0057b8;font-weight:900}
.tbti-bottom{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #dbe5f1;border-radius:12px;margin-top:12px;overflow:hidden;clear:both}
.tbti-hotel,.tbti-tip{padding:16px 18px}
.tbti-hotel{border-right:1px solid #dbe5f1}
.tbti-hotel-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:center;margin-top:12px}
.tbti-hotel-img{height:118px;border-radius:6px;overflow:hidden;background:#eef3f8}
.tbti-hotel-img img{width:100%;height:100%;object-fit:cover;display:block}
.tbti-hotel-text h4{font-size:17px;line-height:1.28;margin:0 0 4px;font-weight:800;color:#111827}
.tbti-hotel-en{font-size:12px;color:#64748b;margin:0 0 4px}
.tbti-stars{color:#f4a300!important;margin:0 0 4px;font-size:16px;letter-spacing:1px}
.tbti-hotel-text p{font-size:13px;line-height:1.45;margin:0;color:#334155}
.tbti-tip ul{margin:16px 0 0;padding-left:18px}
.tbti-tip li{font-size:13px;line-height:1.55;margin:0 0 5px}
.tbti-empty{border:1px solid #dbe5f1;background:#f8fbff;border-radius:8px;padding:14px}
@media(max-width:900px){
 .tbti-main{grid-template-columns:1fr}
 .tbti-move-grid{grid-template-columns:1fr 1fr}
 .tbti-move-grid:before{grid-column:1/-1;border-right:0;border-bottom:1px solid #dbe5f1}
 .tbti-move-item{border-right:0;border-bottom:1px solid #dbe5f1}
 .tbti-gallery{height:auto;grid-template-columns:1fr}
 .tbti-photo-main{height:250px}
 .tbti-side-photos{grid-template-columns:1fr 1fr;grid-template-rows:auto}
 .tbti-side-photos .tbti-photo{height:130px}
 .tbti-bottom{grid-template-columns:1fr}
 .tbti-hotel{border-right:0;border-bottom:1px solid #dbe5f1}
}
@media(max-width:560px){
 .tbti-day{padding:12px}
 .tbti-head{display:block}
 .tbti-route{margin-top:10px}
 .tbti-badge{display:inline-block}
 .tbti-move-grid{grid-template-columns:1fr}
 .tbti-hotel-body{grid-template-columns:1fr}
 .tbti-hotel-img{height:150px}
 .tbti-place{text-align:left}
}

/* v2.1.9 meal output */
.tbti-meals{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
    font-size:13px;
}
.tbti-meals strong{
    color:#004f90;
    font-weight:800;
    margin-right:2px;
}
.tbti-meals span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:3px 9px;
    border:1px solid #d8e5f2;
    border-radius:999px;
    background:#f6fbff;
    color:#1f2d3d;
    font-weight:700;
    line-height:1.2;
}
.tbti-meals span:before{
    content:"•";
    color:#0b61a4;
    margin-right:5px;
}


/* v2.2.0 meal flags in point header */
.tbti-points-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}
.tbti-points-head h3{
    margin:0 !important;
}
.tbti-meal-flags{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex:0 0 auto;
}
.tbti-meal-flags span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:26px;
    padding:0 8px;
    border-radius:999px;
    border:1px solid transparent;
    font-size:13px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}
.tbti-meal-flags span.is-active{
    color:#0b61a4;
    background:#edf6ff;
    border-color:#cfe4f8;
}
.tbti-meal-flags span.is-active:before{
    content:"✓";
    margin-right:4px;
    font-weight:900;
}
.tbti-meal-flags span.is-empty{
    color:transparent;
    background:transparent;
    border-color:transparent;
}
.tbti-meals{
    display:none !important;
}
@media (max-width: 768px){
    .tbti-points-head{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
    .tbti-meal-flags{
        width:100%;
        justify-content:flex-start;
    }
}


/* v2.2.1 hotel display refinements */
.tbti-hotel h3 span{display:none;}
.tbti-hotel-en,.tbti-hotel-cn{display:block;line-height:1.3}
.tbti-stars{font-size:22px;font-weight:700;color:#d08a00}


/* v2.2.2 hotel rating/title refinements */
.tbti-hotel h3 span{
    display:inline-flex !important;
    width:22px;
    height:22px;
    align-items:center;
    justify-content:center;
}
.tbti-hotel h3 span::before{
    content:"🏨";
}
.tbti-hotel h3 span{
    font-size:0;
}
.tbti-hotel h3 span::before{
    font-size:20px;
}
.tbti-hotel-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:4px;
}
.tbti-hotel-title-row h4{
    margin:0;
    flex:1 1 auto;
}
.tbti-stars{
    flex:0 0 auto;
    margin:2px 0 0 !important;
    color:#f5a400 !important;
    font-size:22px !important;
    font-weight:900 !important;
    letter-spacing:1px;
    white-space:nowrap;
    line-height:1.1;
}
.tbti-hotel-en,
.tbti-hotel-cn{
    display:block;
    margin:2px 0 !important;
    line-height:1.35;
    font-size:14px;
    color:#33516f;
}
.tbti-hotel-cn{
    color:#5b6f83;
}


/* v2.2.7 stable hotel block fix */
.tbti-hotel .tbti-hotel-heading{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    margin:0 0 14px 0 !important;
    padding:0 !important;
    color:#005293 !important;
    font-size:22px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
}
.tbti-hotel .tbti-hotel-icon,
.tbti-hotel .tbti-hotel-heading-text{
    display:inline-flex !important;
    position:static !important;
    visibility:visible !important;
    opacity:1 !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:inherit !important;
    line-height:inherit !important;
    color:inherit !important;
    font-weight:inherit !important;
}
.tbti-hotel .tbti-hotel-icon::before,
.tbti-hotel .tbti-hotel-heading-text::before,
.tbti-hotel .tbti-hotel-icon::after,
.tbti-hotel .tbti-hotel-heading-text::after{
    content:none !important;
}
.tbti-hotel-title-row{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px !important;
    margin:0 0 6px 0 !important;
}
.tbti-hotel-title-row h4{
    order:1 !important;
    flex:0 1 auto !important;
    margin:0 !important;
}
.tbti-hotel-title-row .tbti-stars{
    order:2 !important;
    flex:0 0 auto !important;
    margin:0 !important;
    margin-left:0 !important;
    color:#f5a400 !important;
    font-size:24px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:1px !important;
    white-space:nowrap !important;
}
.tbti-hotel-en{
    display:block !important;
    margin:4px 0 !important;
    font-size:14px !important;
    line-height:1.4 !important;
    color:#33516f !important;
}
.tbti-hotel-cn{
    display:none !important;
}


/* v2.2.8 - 핵심포인트를 사진 아래 전체폭으로 이동 */
.tbti-main{
    display:flex !important;
    flex-wrap:wrap !important;
}
.tbti-gallery{
    width:100% !important;
}
.tbti-points{
    width:100% !important;
    flex:0 0 100% !important;
    margin-top:16px !important;
    order:99 !important;
}


/* v2.3.1 stable layout: gallery + tip on top, points below */
.tbti-main{
    display:grid !important;
    grid-template-columns:minmax(0, 2fr) minmax(280px, 1fr) !important;
    gap:18px !important;
    align-items:stretch !important;
}
.tbti-gallery{
    grid-column:1 !important;
    width:100% !important;
}
.tbti-main > .tbti-tip{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
    height:100% !important;
}
.tbti-points{
    width:100% !important;
    margin-top:18px !important;
}
.tbti-bottom{
    display:block !important;
}
.tbti-bottom > .tbti-tip{
    display:none !important;
}
@media(max-width:768px){
    .tbti-main{
        grid-template-columns:1fr !important;
    }
    .tbti-gallery,
    .tbti-main > .tbti-tip{
        grid-column:1 !important;
    }
}


/* v2.3.2 layout correction */
.tbti-main{
    display:block !important;
}
.tbti-gallery{
    width:100% !important;
}
.tbti-main > .tbti-tip{
    display:none !important;
}
.tbti-points,
[class*="tbti-points"]{
    width:100% !important;
    margin-top:18px !important;
    margin-bottom:14px !important;
}
.tbti-bottom{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
}
.tbti-bottom > .tbti-tip{
    display:block !important;
    order:1 !important;
    width:100% !important;
}
.tbti-bottom > .tbti-hotel{
    display:block !important;
    order:2 !important;
    width:100% !important;
}

/* hotel heading restore */
.tbti-hotel .tbti-hotel-heading{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    margin:0 0 12px 0 !important;
    color:#005293 !important;
    font-size:22px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
}
.tbti-hotel .tbti-hotel-icon,
.tbti-hotel .tbti-hotel-heading-text{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    color:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
}
.tbti-hotel .tbti-hotel-icon::before,
.tbti-hotel .tbti-hotel-heading-text::before,
.tbti-hotel .tbti-hotel-icon::after,
.tbti-hotel .tbti-hotel-heading-text::after{
    content:none !important;
}
.tbti-hotel-title-row{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px !important;
    margin:0 0 6px 0 !important;
}
.tbti-hotel-title-row h4{
    order:1 !important;
    margin:0 !important;
    flex:0 1 auto !important;
}
.tbti-hotel-title-row .tbti-stars{
    order:2 !important;
    margin:0 !important;
    color:#f5a400 !important;
    font-size:24px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}
.tbti-hotel-cn{
    display:none !important;
}


/* v2.3.3 restore travel tip + remove hotel icons */
.tbti-main > .tbti-tip{
    display:block !important;
    width:100% !important;
    margin-top:14px !important;
}
.tbti-tip{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}
.tbti-bottom > .tbti-tip{
    display:none !important;
}
.tbti-hotel .tbti-hotel-heading{
    display:block !important;
    margin:0 0 12px 0 !important;
    color:#005293 !important;
    font-size:22px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
}
.tbti-hotel .tbti-hotel-heading span,
.tbti-hotel .tbti-hotel-icon,
.tbti-hotel .tbti-hotel-heading-text{
    display:none !important;
}
.tbti-hotel .tbti-hotel-heading::before,
.tbti-hotel .tbti-hotel-heading::after{
    content:none !important;
}


/* v2.3.4: tbti-points inside tbti-main, above tbti-tip */
.tbti-main{
    display:block !important;
}
.tbti-main > .tbti-gallery{
    width:100% !important;
}
.tbti-main > .tbti-points{
    display:block !important;
    width:100% !important;
    margin-top:18px !important;
    margin-bottom:14px !important;
}
.tbti-main > .tbti-tip{
    display:block !important;
    width:100% !important;
    margin-top:0 !important;
}
.tbti-bottom > .tbti-tip{
    display:none !important;
}


/* v2.3.5 */
.tbti-points h3{
    font-weight:800 !important;
}

/* 관광 포인트 리스트 체크 아이콘 제거 + 진하게 */
.tbti-points ul,
.tbti-points li{
    list-style:none !important;
}
.tbti-points li::before{
    content:none !important;
    display:none !important;
}
.tbti-points li{
    font-weight:700 !important;
    color:#1f2d3d !important;
    line-height:1.9 !important;
    padding-left:0 !important;
}

/* 여행 팁은 일반 굵기 유지, 박스 유지 */
.tbti-tip li{
    font-weight:400 !important;
}


/* v2.3.6 tourism point / tip styling */

/* 오늘의 관광 포인트: 아이콘 제거, 옅은 종이색 배경, 간격 축소 */
.tbti-points{
    background:#fbf7ef !important;
    border:1px solid #eadfce !important;
    border-radius:14px !important;
    padding:22px 28px !important;
    margin-top:14px !important;
    margin-bottom:12px !important;
}
.tbti-points-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    margin:0 0 14px 0 !important;
}
.tbti-points h3{
    margin:0 !important;
    color:#005293 !important;
    font-size:24px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
}
.tbti-points h3 span,
.tbti-points h3::before,
.tbti-points h3::after{
    display:none !important;
    content:none !important;
}
.tbti-points ul{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
}
.tbti-points li{
    list-style:none !important;
    margin:0 0 10px 0 !important;
    padding:0 !important;
    color:#1f2d3d !important;
    font-weight:700 !important;
    line-height:1.75 !important;
}
.tbti-points li::before,
.tbti-points li::after{
    display:none !important;
    content:none !important;
}

/* 식사 배지는 우측 유지 */
.tbti-meal-flags{
    display:flex !important;
    justify-content:flex-end !important;
    gap:6px !important;
    flex:0 0 auto !important;
}

/* 여행 팁: 박스 처리, 아이콘 제거, 일반 굵기 */
.tbti-tip{
    display:block !important;
    background:#fff !important;
    border:1px solid #d8e5f2 !important;
    border-radius:14px !important;
    padding:22px 28px !important;
    margin-top:12px !important;
    margin-bottom:12px !important;
}
.tbti-tip h3{
    margin:0 0 14px 0 !important;
    color:#005293 !important;
    font-size:24px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
}
.tbti-tip h3 span,
.tbti-tip h3::before,
.tbti-tip h3::after{
    display:none !important;
    content:none !important;
}
.tbti-tip ul{
    margin:0 !important;
    padding-left:20px !important;
}
.tbti-tip li{
    font-weight:400 !important;
    color:#1f2d3d !important;
    line-height:1.75 !important;
    margin-bottom:6px !important;
}

/* 숙박 정보: 제목 아이콘 제거 유지 */
.tbti-hotel .tbti-hotel-heading span,
.tbti-hotel .tbti-hotel-heading::before,
.tbti-hotel .tbti-hotel-heading::after{
    display:none !important;
    content:none !important;
}


/* =========================================================
   v2.3.7 full redesign: tourism points / tip / hotel
   ========================================================= */
.tbti-design-237{
    background:#fff;
    border:1px solid #d8e5f2;
    border-radius:18px;
    padding:22px;
    overflow:hidden;
}

/* gallery full width */
.tbti-design-237 .tbti-gallery{
    display:grid !important;
    grid-template-columns:minmax(0,2fr) minmax(260px,1fr) !important;
    gap:8px !important;
    width:100% !important;
    margin:18px 0 !important;
}
.tbti-design-237 .tbti-photo{
    position:relative !important;
    overflow:hidden !important;
    border-radius:8px !important;
}
.tbti-design-237 .tbti-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}
.tbti-design-237 .tbti-photo-main{
    min-height:360px !important;
}
.tbti-design-237 .tbti-side-photos{
    display:grid !important;
    grid-template-rows:1fr 1fr !important;
    gap:8px !important;
}

/* tourism points */
.tbti-design-237 .tbti-tour-points{
    background:#fff !important;
    border:1px solid #e5e7eb !important;
    border-radius:18px !important;
    padding:26px 28px !important;
    margin:16px 0 !important;
    box-shadow:0 4px 18px rgba(15,35,60,.04) !important;
}
.tbti-design-237 .tbti-points-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    margin:0 0 16px 0 !important;
}
.tbti-design-237 .tbti-points-head h3{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin:0 !important;
    font-size:32px !important;
    line-height:1.2 !important;
    color:#101827 !important;
    font-weight:900 !important;
}
.tbti-design-237 .tbti-points-head h3 span{
    display:inline-flex !important;
    color:#f08a00 !important;
    font-size:34px !important;
}
.tbti-design-237 .tbti-meal-flags{
    display:flex !important;
    justify-content:flex-end !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}
.tbti-design-237 .tbti-meal-flags span{
    display:inline-flex !important;
    align-items:center !important;
    min-height:34px !important;
    padding:0 15px !important;
    border-radius:999px !important;
    font-size:15px !important;
    font-weight:800 !important;
    border:1px solid transparent !important;
}
.tbti-design-237 .tbti-meal-flags span:nth-child(1){
    background:#edf4fb !important;
    color:#1b355e !important;
}
.tbti-design-237 .tbti-meal-flags span:nth-child(2){
    background:#fff0df !important;
    color:#8d3f05 !important;
}
.tbti-design-237 .tbti-meal-flags span::before{
    content:"✓" !important;
    margin-right:6px !important;
}
.tbti-design-237 .tbti-tour-point-list{
    list-style:none !important;
    counter-reset:tourpoint !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #edf0f5 !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:#fff !important;
}
.tbti-design-237 .tbti-tour-point-list li{
    counter-increment:tourpoint !important;
    position:relative !important;
    list-style:none !important;
    margin:0 !important;
    padding:22px 24px 22px 94px !important;
    color:#101827 !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.65 !important;
    border-bottom:1px dashed #dfe4ea !important;
}
.tbti-design-237 .tbti-tour-point-list li:last-child{
    border-bottom:0 !important;
}
.tbti-design-237 .tbti-tour-point-list li::before{
    content:counter(tourpoint, decimal-leading-zero) !important;
    position:absolute !important;
    left:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:48px !important;
    height:48px !important;
    border-radius:50% !important;
    background:linear-gradient(135deg,#0e274a,#1d3f70) !important;
    color:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important;
    font-weight:900 !important;
    box-shadow:0 6px 16px rgba(14,39,74,.22) !important;
}
.tbti-design-237 .tbti-tour-point-list li::after{
    content:none !important;
}

/* travel tip navy card */
.tbti-design-237 .tbti-tip-navy{
    display:grid !important;
    grid-template-columns:260px minmax(0,1fr) !important;
    gap:28px !important;
    align-items:center !important;
    background:linear-gradient(135deg,#0e2a50 0%, #173c6c 100%) !important;
    color:#fff !important;
    border:0 !important;
    border-radius:18px !important;
    padding:30px 34px !important;
    margin:18px 0 !important;
    box-shadow:0 10px 24px rgba(14,42,80,.18) !important;
}
.tbti-design-237 .tbti-tip-title{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    border-right:1px solid rgba(255,255,255,.35) !important;
    min-height:120px !important;
}
.tbti-design-237 .tbti-tip-icon{
    width:70px !important;
    height:70px !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#173c6c !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:36px !important;
    flex:0 0 auto !important;
}
.tbti-design-237 .tbti-tip h3{
    margin:0 !important;
    color:#fff !important;
    font-size:32px !important;
    font-weight:900 !important;
}
.tbti-design-237 .tbti-tip ul{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}
.tbti-design-237 .tbti-tip li{
    position:relative !important;
    margin:0 !important;
    padding-left:34px !important;
    color:#fff !important;
    font-size:17px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
}
.tbti-design-237 .tbti-tip li::before{
    content:"✓" !important;
    position:absolute !important;
    left:0 !important;
    top:.05em !important;
    width:22px !important;
    height:22px !important;
    border:2px solid rgba(255,255,255,.9) !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:14px !important;
    line-height:1 !important;
}

/* hotel modern */
.tbti-design-237 .tbti-hotel-modern{
    display:grid !important;
    grid-template-columns:250px minmax(0,1fr) !important;
    gap:28px !important;
    align-items:center !important;
    background:#fff !important;
    border:1px solid #e5e7eb !important;
    border-radius:18px !important;
    padding:24px !important;
    margin:18px 0 0 !important;
    box-shadow:0 4px 18px rgba(15,35,60,.04) !important;
}
.tbti-design-237 .tbti-hotel-heading{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    margin:0 !important;
    color:#101827 !important;
}
.tbti-design-237 .tbti-hotel-heading .tbti-hotel-icon{
    width:70px !important;
    height:70px !important;
    border-radius:50% !important;
    background:#d9bd8e !important;
    color:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:36px !important;
    flex:0 0 auto !important;
}
.tbti-design-237 .tbti-hotel-heading h3{
    margin:0 !important;
    color:#101827 !important;
    font-size:32px !important;
    font-weight:900 !important;
    line-height:1.25 !important;
}
.tbti-design-237 .tbti-hotel-body{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:28px !important;
    align-items:center !important;
}
.tbti-design-237 .tbti-hotel-text{
    min-width:0 !important;
}
.tbti-design-237 .tbti-hotel-title-row{
    display:flex !important;
    align-items:baseline !important;
    gap:14px !important;
    margin:0 0 6px !important;
    flex-wrap:wrap !important;
}
.tbti-design-237 .tbti-hotel-title-row h4{
    margin:0 !important;
    color:#101827 !important;
    font-size:26px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
}
.tbti-design-237 .tbti-stars{
    margin:0 !important;
    color:#f5a400 !important;
    font-size:28px !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}
.tbti-design-237 .tbti-hotel-en,
.tbti-design-237 .tbti-hotel-desc{
    margin:4px 0 !important;
    color:#1f2d3d !important;
    font-size:15px !important;
    line-height:1.45 !important;
}
.tbti-design-237 .tbti-hotel-img{
    height:145px !important;
    border-radius:12px !important;
    overflow:hidden !important;
    background:#f1f5f9 !important;
}
.tbti-design-237 .tbti-hotel-img img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

/* compatibility cleanup from earlier versions */
.tbti-design-237 .tbti-bottom,
.tbti-design-237 .tbti-main{
    display:contents !important;
}

@media (max-width: 900px){
    .tbti-design-237 .tbti-gallery,
    .tbti-design-237 .tbti-tip-navy,
    .tbti-design-237 .tbti-hotel-modern,
    .tbti-design-237 .tbti-hotel-body{
        grid-template-columns:1fr !important;
    }
    .tbti-design-237 .tbti-tip-title{
        border-right:0 !important;
        border-bottom:1px solid rgba(255,255,255,.25) !important;
        padding-bottom:18px !important;
        min-height:auto !important;
    }
    .tbti-design-237 .tbti-hotel-img{
        height:220px !important;
    }
}


/* =========================================================
   v2.3.8 refined unified visual system
   ========================================================= */
.tbti-design-237{
    --tb-title:#0B3A68;
    --tb-accent:#005BAC;
    --tb-point:#F59E0B;
    --tb-text:#111827;
    --tb-muted:#6B7280;
    --tb-line:#E5E7EB;
    --tb-soft:#F8FAFC;
    --tb-radius:14px;
    color:var(--tb-text);
}

/* unified cards */
.tbti-design-237 .tbti-tour-points,
.tbti-design-237 .tbti-tip-navy,
.tbti-design-237 .tbti-hotel-modern{
    border-radius:var(--tb-radius) !important;
    padding:20px 22px !important;
}

/* title scale */
.tbti-design-237 .tbti-points-head h3,
.tbti-design-237 .tbti-tip h3,
.tbti-design-237 .tbti-hotel-heading h3{
    font-size:25px !important;
    line-height:1.3 !important;
    font-weight:800 !important;
    color:var(--tb-title) !important;
}

/* title icons */
.tbti-design-237 .tbti-points-head h3 span{
    font-size:24px !important;
    color:var(--tb-point) !important;
}
.tbti-design-237 .tbti-tip-icon{
    width:46px !important;
    height:46px !important;
    font-size:24px !important;
}
.tbti-design-237 .tbti-hotel-heading .tbti-hotel-icon{
    width:46px !important;
    height:46px !important;
    font-size:24px !important;
    background:#E7D5B8 !important;
}

/* tourism points: lighter and premium */
.tbti-design-237 .tbti-tour-points{
    background:#fffdf8 !important;
    border:1px solid var(--tb-line) !important;
    box-shadow:0 3px 14px rgba(15,35,60,.035) !important;
}
.tbti-design-237 .tbti-tour-point-list{
    border:1px solid #EEF0F3 !important;
    border-radius:12px !important;
}
.tbti-design-237 .tbti-tour-point-list li{
    padding:16px 20px 16px 72px !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.7 !important;
    color:var(--tb-text) !important;
    border-bottom:1px dashed #ECEFF3 !important;
}
.tbti-design-237 .tbti-tour-point-list li::before{
    width:36px !important;
    height:36px !important;
    left:20px !important;
    font-size:14px !important;
    background:linear-gradient(135deg,#0B3A68,#174E82) !important;
    box-shadow:0 4px 10px rgba(11,58,104,.16) !important;
}
.tbti-design-237 .tbti-tour-point-list strong,
.tbti-design-237 .tbti-tour-point-list b{
    color:var(--tb-accent) !important;
    font-weight:800 !important;
}

/* meal badges */
.tbti-design-237 .tbti-meal-flags span{
    min-height:30px !important;
    padding:0 13px !important;
    font-size:14px !important;
    font-weight:700 !important;
}
.tbti-design-237 .tbti-meal-flags span:nth-child(1){
    background:#EFF6FF !important;
    color:#0B3A68 !important;
}
.tbti-design-237 .tbti-meal-flags span:nth-child(2),
.tbti-design-237 .tbti-meal-flags span:nth-child(3){
    background:#FFF2E5 !important;
    color:#8A3E05 !important;
}

/* travel tip: tighter left area, softer divider */
.tbti-design-237 .tbti-tip-navy{
    grid-template-columns:210px minmax(0,1fr) !important;
    gap:22px !important;
    background:linear-gradient(135deg,#102F56 0%, #173E70 100%) !important;
    box-shadow:0 8px 20px rgba(14,42,80,.16) !important;
}
.tbti-design-237 .tbti-tip-title{
    gap:14px !important;
    min-height:96px !important;
    border-right:1px solid rgba(255,255,255,.22) !important;
}
.tbti-design-237 .tbti-tip h3{
    color:#fff !important;
    font-size:25px !important;
}
.tbti-design-237 .tbti-tip li{
    font-size:15px !important;
    line-height:1.75 !important;
    font-weight:400 !important;
    padding-left:30px !important;
}
.tbti-design-237 .tbti-tip li::before{
    width:18px !important;
    height:18px !important;
    font-size:12px !important;
    border-width:1.5px !important;
    top:.18em !important;
}

/* hotel: same family as tip, but light card */
.tbti-design-237 .tbti-hotel-modern{
    grid-template-columns:210px minmax(0,1fr) !important;
    gap:22px !important;
    border:1px solid var(--tb-line) !important;
    box-shadow:0 3px 14px rgba(15,35,60,.035) !important;
}
.tbti-design-237 .tbti-hotel-heading{
    gap:14px !important;
}
.tbti-design-237 .tbti-hotel-heading h3{
    font-size:25px !important;
}
.tbti-design-237 .tbti-hotel-body{
    grid-template-columns:minmax(0,1fr) 270px !important;
    gap:22px !important;
}
.tbti-design-237 .tbti-hotel-title-row{
    gap:10px !important;
    margin-bottom:5px !important;
}
.tbti-design-237 .tbti-hotel-title-row h4{
    font-size:18px !important;
    line-height:1.35 !important;
    color:var(--tb-text) !important;
}
.tbti-design-237 .tbti-stars{
    font-size:21px !important;
    color:var(--tb-point) !important;
    letter-spacing:.5px !important;
}
.tbti-design-237 .tbti-hotel-en,
.tbti-design-237 .tbti-hotel-desc{
    font-size:13px !important;
    line-height:1.55 !important;
    color:#374151 !important;
}
.tbti-design-237 .tbti-hotel-img{
    height:130px !important;
    border-radius:12px !important;
}

/* general body scale inside redesigned boxes */
.tbti-design-237 .tbti-tour-points,
.tbti-design-237 .tbti-tip-navy,
.tbti-design-237 .tbti-hotel-modern{
    font-size:15px !important;
}

/* responsive */
@media (max-width:900px){
    .tbti-design-237 .tbti-tip-navy,
    .tbti-design-237 .tbti-hotel-modern,
    .tbti-design-237 .tbti-hotel-body{
        grid-template-columns:1fr !important;
    }
    .tbti-design-237 .tbti-tip-title{
        border-right:0 !important;
        border-bottom:1px solid rgba(255,255,255,.22) !important;
        padding-bottom:14px !important;
    }
    .tbti-design-237 .tbti-hotel-img{
        height:190px !important;
    }
}


/* v2.3.9 design-only refinement */
.tbti-design-237 .tbti-move{background:transparent!important;border:0!important;padding:0!important;}
.tbti-design-237 .tbti-move h3{display:none!important;}
.tbti-design-237 .tbti-move-grid{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:14px!important;}
.tbti-design-237 .tbti-move-item{background:#fff!important;border:1px solid #E5E7EB!important;border-radius:14px!important;padding:18px 12px!important;text-align:center!important;}
.tbti-design-237 .tbti-points-head h3,
.tbti-design-237 .tbti-tip h3,
.tbti-design-237 .tbti-hotel-heading h3{font-size:24px!important;}
.tbti-design-237 .tbti-tour-point-list li{font-size:15px!important;line-height:1.7!important;font-weight:500!important;}


/* =========================================================
   v2.4.0 complete design-only refinement
   - 내용 변경 없음
   - 이동 정보 완전 독립 카드형
   - 아이콘/텍스트 중앙 정렬
   - 카드 간 동일 폭, 라운드, 그림자, 호버
   ========================================================= */

/* 이동 정보: 헤더 삭제 + 독립 카드화 */
.tbti-design-237 .tbti-move{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:18px 0 !important;
}
.tbti-design-237 .tbti-move > h3{
    display:none !important;
}
.tbti-design-237 .tbti-move-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:16px !important;
    align-items:stretch !important;
}
.tbti-design-237 .tbti-move-item{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:118px !important;
    padding:18px 14px !important;
    background:#fff !important;
    border:1px solid #DDE5EE !important;
    border-radius:14px !important;
    box-shadow:0 4px 14px rgba(15,35,60,.045) !important;
    text-align:center !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.tbti-design-237 .tbti-move-item:hover{
    transform:translateY(-2px) !important;
    border-color:#BFD3E8 !important;
    box-shadow:0 8px 22px rgba(15,35,60,.09) !important;
}
.tbti-design-237 .tbti-move-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    margin:0 0 8px 0 !important;
    color:#1F8FA3 !important;
    font-size:27px !important;
    line-height:1 !important;
}
.tbti-design-237 .tbti-move-label{
    display:block !important;
    margin:0 0 5px 0 !important;
    color:#374151 !important;
    font-size:14px !important;
    font-weight:500 !important;
    line-height:1.35 !important;
}
.tbti-design-237 .tbti-move-item strong{
    display:block !important;
    color:#111827 !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1.35 !important;
    word-break:keep-all !important;
}

/* 난이도 점 표시 정리 */
.tbti-design-237 .tbti-move-item.tbti-diff-easy .tbti-move-icon,
.tbti-design-237 .tbti-move-item.tbti-diff-normal .tbti-move-icon,
.tbti-design-237 .tbti-move-item.tbti-diff-hard .tbti-move-icon,
.tbti-design-237 .tbti-move-item.tbti-diff-very-hard .tbti-move-icon{
    color:#2563EB !important;
    letter-spacing:1px !important;
    font-size:22px !important;
}

/* 전체 카드/타이포 통일 */
.tbti-design-237 .tbti-tour-points,
.tbti-design-237 .tbti-tip-navy,
.tbti-design-237 .tbti-hotel-modern{
    border-radius:14px !important;
}
.tbti-design-237 .tbti-points-head h3,
.tbti-design-237 .tbti-tip h3,
.tbti-design-237 .tbti-hotel-heading h3{
    font-size:24px !important;
    line-height:1.3 !important;
}
.tbti-design-237 .tbti-tour-point-list li{
    font-size:15px !important;
    line-height:1.7 !important;
    font-weight:500 !important;
}
.tbti-design-237 .tbti-tip li{
    font-size:15px !important;
    line-height:1.75 !important;
    font-weight:400 !important;
}
.tbti-design-237 .tbti-hotel-title-row h4{
    font-size:18px !important;
}
.tbti-design-237 .tbti-hotel-en,
.tbti-design-237 .tbti-hotel-desc{
    font-size:13px !important;
}

/* 모바일 대응 */
@media (max-width: 1024px){
    .tbti-design-237 .tbti-move-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 640px){
    .tbti-design-237 .tbti-move-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:12px !important;
    }
    .tbti-design-237 .tbti-move-item{
        min-height:104px !important;
        padding:15px 10px !important;
    }
    .tbti-design-237 .tbti-move-icon{
        width:32px !important;
        height:32px !important;
        font-size:24px !important;
    }
}


/* =========================================================
   v2.4.1 movement cards compact fix
   - Remove remaining move header card visually
   - Force 5 cards in one row
   - Reduce card height/padding to previous compact feel
   ========================================================= */

/* Hide the movement title/header item if theme/plugin CSS exposes it as a card */
.tbti-design-237 .tbti-move > h3,
.tbti-design-237 .tbti-move-title,
.tbti-design-237 .tbti-move-heading,
.tbti-design-237 .tbti-move-grid > h3,
.tbti-design-237 .tbti-move-grid > .tbti-move-head,
.tbti-design-237 .tbti-move-grid > .tbti-move-title,
.tbti-design-237 .tbti-move-grid > .tbti-move-heading{
    display:none !important;
}

/* Some previous layouts made the first child a large '이동 정보' block */
.tbti-design-237 .tbti-move-grid > *:first-child:not(.tbti-move-item){
    display:none !important;
}

.tbti-design-237 .tbti-move{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:12px 0 14px !important;
}

.tbti-design-237 .tbti-move-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
}

/* Ensure only the real data cards consume grid space */
.tbti-design-237 .tbti-move-item{
    min-height:78px !important;
    height:auto !important;
    padding:10px 8px !important;
    border-radius:12px !important;
    background:#fff !important;
    border:1px solid #DDE5EE !important;
    box-shadow:0 3px 10px rgba(15,35,60,.04) !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
}

.tbti-design-237 .tbti-move-icon{
    width:auto !important;
    height:auto !important;
    margin:0 0 5px !important;
    font-size:22px !important;
    line-height:1 !important;
}

.tbti-design-237 .tbti-move-label{
    display:block !important;
    margin:0 0 3px !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    color:#374151 !important;
}

.tbti-design-237 .tbti-move-item strong{
    display:block !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    color:#111827 !important;
}

/* Difficulty icon compact */
.tbti-design-237 .tbti-move-item.tbti-diff-easy .tbti-move-icon,
.tbti-design-237 .tbti-move-item.tbti-diff-normal .tbti-move-icon,
.tbti-design-237 .tbti-move-item.tbti-diff-hard .tbti-move-icon,
.tbti-design-237 .tbti-move-item.tbti-diff-very-hard .tbti-move-icon{
    font-size:19px !important;
}

/* Override earlier tablet rule so five cards stay in one row on desktop/tablet */
@media (min-width: 769px){
    .tbti-design-237 .tbti-move-grid{
        grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    }
}

@media (max-width:768px){
    .tbti-design-237 .tbti-move-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:10px !important;
    }
}


/* =========================================================
   v2.4.2 remove pseudo move header completely
   ========================================================= */

/* The old '이동 정보' block is generated by .tbti-move-grid:before */
.tbti-design-237 .tbti-move-grid::before,
.tbti-design-237 .tbti-move-grid:before,
.tbti-move-grid::before,
.tbti-move-grid:before{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
}

/* Remove old hidden icon pseudo too */
.tbti-design-237 .tbti-move-grid::after,
.tbti-design-237 .tbti-move-grid:after,
.tbti-move-grid::after,
.tbti-move-grid:after{
    content:none !important;
    display:none !important;
}

/* Compact five-card layout */
.tbti-design-237 .tbti-move{
    margin:10px 0 14px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
}
.tbti-design-237 .tbti-move > h3{
    display:none !important;
}
.tbti-design-237 .tbti-move-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
}
.tbti-design-237 .tbti-move-item{
    min-height:78px !important;
    padding:10px 8px !important;
    border-radius:12px !important;
    border:1px solid #DDE5EE !important;
    background:#fff !important;
    box-shadow:0 3px 10px rgba(15,35,60,.04) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}
.tbti-design-237 .tbti-move-icon{
    margin:0 0 5px !important;
    font-size:22px !important;
    line-height:1 !important;
}
.tbti-design-237 .tbti-move-label{
    margin:0 0 3px !important;
    font-size:12px !important;
    line-height:1.25 !important;
}
.tbti-design-237 .tbti-move-item strong{
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
}
@media (min-width:769px){
    .tbti-design-237 .tbti-move-grid{
        grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    }
}
@media (max-width:768px){
    .tbti-design-237 .tbti-move-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   v2.4.3 movement compact 2-line + image label restore
   ========================================================= */
.tbti-design-237 .tbti-move{
    margin:8px 0 12px !important;
}
.tbti-design-237 .tbti-move-grid::before,
.tbti-design-237 .tbti-move-grid:before,
.tbti-design-237 .tbti-move-grid::after,
.tbti-design-237 .tbti-move-grid:after{
    content:none !important;
    display:none !important;
}
.tbti-design-237 .tbti-move-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:10px !important;
}
.tbti-design-237 .tbti-move-item{
    min-height:58px !important;
    padding:8px 10px !important;
    border-radius:10px !important;
    display:grid !important;
    grid-template-columns:30px minmax(0, 1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:8px !important;
    align-items:center !important;
    justify-content:initial !important;
    text-align:left !important;
}
.tbti-design-237 .tbti-move-icon{
    grid-row:1 / 3 !important;
    grid-column:1 !important;
    margin:0 !important;
    width:28px !important;
    height:28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:20px !important;
    line-height:1 !important;
}
.tbti-design-237 .tbti-move-label{
    grid-row:1 !important;
    grid-column:2 !important;
    margin:0 !important;
    font-size:11px !important;
    line-height:1.2 !important;
    color:#475569 !important;
    white-space:nowrap !important;
}
.tbti-design-237 .tbti-move-item strong{
    grid-row:2 !important;
    grid-column:2 !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#111827 !important;
    white-space:nowrap !important;
}

/* 이미지 라벨 복구: 메인/보조 모두 항상 표시 */
.tbti-design-237 .tbti-photo{
    position:relative !important;
    overflow:hidden !important;
}
.tbti-design-237 .tbti-photo > span{
    display:inline-flex !important;
    position:absolute !important;
    left:10px !important;
    bottom:10px !important;
    z-index:5 !important;
    max-width:calc(100% - 20px) !important;
    padding:5px 10px !important;
    border-radius:6px !important;
    background:rgba(7, 36, 62, .86) !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    pointer-events:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* 브라우저/테마 툴팁성 효과 방지 */
.tbti-design-237 .tbti-photo img{
    pointer-events:none !important;
}
.tbti-design-237 .tbti-photo:hover::before,
.tbti-design-237 .tbti-photo:hover::after,
.tbti-design-237 .tbti-photo img:hover::before,
.tbti-design-237 .tbti-photo img:hover::after{
    content:none !important;
    display:none !important;
}

@media (max-width: 900px){
    .tbti-design-237 .tbti-move-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   v2.4.4 image labels final restore
   ========================================================= */
.tbti-design-237 .tbti-photo > span,
.tbti-photo > span{
    display:inline-flex !important;
    position:absolute !important;
    left:10px !important;
    bottom:10px !important;
    z-index:50 !important;
    max-width:calc(100% - 20px) !important;
    padding:5px 10px !important;
    border-radius:6px !important;
    background:rgba(7,36,62,.88) !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    pointer-events:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}
.tbti-design-237 .tbti-photo-main > span{
    left:10px !important;
    bottom:10px !important;
}
.tbti-design-237 .tbti-side-photos .tbti-photo > span{
    left:10px !important;
    bottom:10px !important;
}

/* suppress image hover tooltip/overlay from theme */
.tbti-design-237 .tbti-photo img{
    pointer-events:none !important;
}
.tbti-design-237 .tbti-photo [title],
.tbti-design-237 .tbti-photo img[title]{
    pointer-events:none !important;
}


/* =========================================================
   v2.4.5 gallery label clipping fix
   ========================================================= */

/* 메인 이미지 높이 증가 */
.tbti-design-237 .tbti-photo-main,
.tbti-photo-main{
    min-height:340px !important;
    overflow:visible !important;
}

/* 보조 이미지 높이 증가 */
.tbti-design-237 .tbti-side-photos .tbti-photo,
.tbti-side-photos .tbti-photo{
    min-height:165px !important;
    overflow:visible !important;
}

/* 이미지 자체는 잘리지 않게 */
.tbti-design-237 .tbti-photo,
.tbti-photo{
    position:relative !important;
    overflow:visible !important;
    padding-bottom:14px !important;
}

/* 라벨을 이미지 하단 안쪽에 강제 표시 */
.tbti-design-237 .tbti-photo > span,
.tbti-photo > span{
    display:inline-flex !important;
    position:absolute !important;
    left:12px !important;
    bottom:18px !important;
    z-index:999 !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* 혹시 object-fit 때문에 잘리는 경우 보정 */
.tbti-design-237 .tbti-photo img,
.tbti-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}


/* =========================================================
   v2.4.6 FINAL gallery label visibility fix
   This override is intentionally broad because older versions
   have multiple .tbti-gallery/.tbti-photo height rules.
   ========================================================= */

.tbti-wrap .tbti-day.tbti-design-237 .tbti-gallery,
.tbti-wrap .tbti-design-237 .tbti-gallery,
.tbti-day.tbti-design-237 .tbti-gallery,
.tbti-design-237 .tbti-gallery{
    height:360px !important;
    min-height:360px !important;
    max-height:none !important;
    overflow:visible !important;
    align-items:stretch !important;
    margin-bottom:22px !important;
}

.tbti-wrap .tbti-day.tbti-design-237 .tbti-photo,
.tbti-wrap .tbti-design-237 .tbti-photo,
.tbti-day.tbti-design-237 .tbti-photo,
.tbti-design-237 .tbti-photo{
    position:relative !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    border-radius:8px !important;
}

.tbti-wrap .tbti-day.tbti-design-237 .tbti-photo-main,
.tbti-wrap .tbti-design-237 .tbti-photo-main,
.tbti-day.tbti-design-237 .tbti-photo-main,
.tbti-design-237 .tbti-photo-main{
    height:360px !important;
    min-height:360px !important;
    max-height:none !important;
}

.tbti-wrap .tbti-day.tbti-design-237 .tbti-side-photos,
.tbti-wrap .tbti-design-237 .tbti-side-photos,
.tbti-day.tbti-design-237 .tbti-side-photos,
.tbti-design-237 .tbti-side-photos{
    display:grid !important;
    grid-template-rows:1fr 1fr !important;
    gap:8px !important;
    height:360px !important;
    min-height:360px !important;
    max-height:none !important;
    overflow:visible !important;
}

.tbti-wrap .tbti-day.tbti-design-237 .tbti-side-photos .tbti-photo,
.tbti-wrap .tbti-design-237 .tbti-side-photos .tbti-photo,
.tbti-day.tbti-design-237 .tbti-side-photos .tbti-photo,
.tbti-design-237 .tbti-side-photos .tbti-photo{
    height:176px !important;
    min-height:176px !important;
    max-height:none !important;
}

.tbti-wrap .tbti-day.tbti-design-237 .tbti-photo img,
.tbti-wrap .tbti-design-237 .tbti-photo img,
.tbti-day.tbti-design-237 .tbti-photo img,
.tbti-design-237 .tbti-photo img{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

/* Labels: force visible above all theme overlays */
.tbti-wrap .tbti-day.tbti-design-237 .tbti-photo > span,
.tbti-wrap .tbti-design-237 .tbti-photo > span,
.tbti-day.tbti-design-237 .tbti-photo > span,
.tbti-design-237 .tbti-photo > span,
.tbti-photo > span{
    display:inline-flex !important;
    position:absolute !important;
    left:12px !important;
    bottom:12px !important;
    top:auto !important;
    right:auto !important;
    z-index:99999 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    max-width:calc(100% - 24px) !important;
    min-height:0 !important;
    height:auto !important;
    padding:6px 10px !important;
    border-radius:6px !important;
    background:rgba(7,36,62,.92) !important;
    color:#ffffff !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    pointer-events:none !important;
}

/* WPBakery/theme lazyload hover tooltip suppression */
.tbti-design-237 .tbti-photo img,
.tbti-design-237 .tbti-photo a,
.tbti-design-237 .tbti-photo{
    -webkit-user-drag:none !important;
}
.tbti-design-237 .tbti-photo img[title]{
    pointer-events:none !important;
}

@media (max-width:900px){
    .tbti-wrap .tbti-day.tbti-design-237 .tbti-gallery,
    .tbti-wrap .tbti-design-237 .tbti-gallery,
    .tbti-day.tbti-design-237 .tbti-gallery,
    .tbti-design-237 .tbti-gallery{
        height:auto !important;
        min-height:0 !important;
        grid-template-columns:1fr !important;
    }
    .tbti-wrap .tbti-day.tbti-design-237 .tbti-photo-main,
    .tbti-wrap .tbti-design-237 .tbti-photo-main,
    .tbti-day.tbti-design-237 .tbti-photo-main,
    .tbti-design-237 .tbti-photo-main{
        height:260px !important;
        min-height:260px !important;
    }
    .tbti-wrap .tbti-day.tbti-design-237 .tbti-side-photos,
    .tbti-wrap .tbti-design-237 .tbti-side-photos,
    .tbti-day.tbti-design-237 .tbti-side-photos,
    .tbti-design-237 .tbti-side-photos{
        height:auto !important;
        min-height:0 !important;
        grid-template-columns:1fr 1fr !important;
        grid-template-rows:auto !important;
    }
    .tbti-wrap .tbti-day.tbti-design-237 .tbti-side-photos .tbti-photo,
    .tbti-wrap .tbti-design-237 .tbti-side-photos .tbti-photo,
    .tbti-day.tbti-design-237 .tbti-side-photos .tbti-photo,
    .tbti-design-237 .tbti-side-photos .tbti-photo{
        height:150px !important;
        min-height:150px !important;
    }
}

/* v2.4.7 remove bluish/blur overlay under image labels */
.tbti-design-237 .tbti-gallery{
    overflow:hidden !important;
    padding-bottom:0 !important;
    margin-bottom:18px !important;
}
.tbti-design-237 .tbti-photo{
    overflow:hidden !important;
    padding-bottom:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.tbti-design-237 .tbti-photo::before,
.tbti-design-237 .tbti-photo::after{
    content:none !important;
    display:none !important;
    background:none !important;
    box-shadow:none !important;
    filter:none !important;
    backdrop-filter:none !important;
}
.tbti-design-237 .tbti-photo > span{
    bottom:10px !important;
    left:10px !important;
    z-index:20 !important;
    background:rgba(7,36,62,.9) !important;
    box-shadow:none !important;
    filter:none !important;
    backdrop-filter:none !important;
}
.tbti-design-237 .tbti-photo img{
    display:block !important;
    vertical-align:top !important;
    margin:0 !important;
    padding:0 !important;
}


/* Day quick navigation */
.tbti-day-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 8px;
  margin: 0 0 18px;
}

.tbti-day-nav-btn {
  border: 1px solid #d7e3f0;
  background: #fff;
  color: #24415f;
  border-radius: 6px;
  padding: 12px 8px;
  font-weight: 800;
  cursor: pointer;
  text-align: center;
  line-height: 1.25;
}

.tbti-day-nav-btn span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #60758a;
}

.tbti-day-nav-btn.is-active {
  background: #075c98;
  border-color: #075c98;
  color: #fff;
}

.tbti-day-nav-btn.is-active span {
  color: #dceeff;
}

.tbti-day-panel[hidden] {
  display: none !important;
}

/* v2.4.16 day navigation */
.tbti-day-nav-wrap{position:sticky;top:0;z-index:30;background:#fff;padding:10px 0;margin:0 0 18px}
.tbti-day-nav-all{margin-bottom:8px}
.tbti-day-nav-all .tbti-day-nav-btn{width:100%}
.tbti-day-nav-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.tbti-day-nav-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-height:128px}
.tbti-day-nav-card strong{font-size:15px;font-weight:900}
.tbti-day-nav-date{font-size:12px;font-weight:700;color:#60758a}
.tbti-day-nav-icon{font-size:31px;line-height:1;margin:4px 0}
.tbti-day-nav-route{font-size:13px;font-weight:800;color:#1f2937;line-height:1.25}
.tbti-day-nav-hotel{font-size:12px;font-weight:700;color:#60758a;line-height:1.25}
.tbti-day-nav-btn.is-active .tbti-day-nav-date,
.tbti-day-nav-btn.is-active .tbti-day-nav-route,
.tbti-day-nav-btn.is-active .tbti-day-nav-hotel{color:#dceeff}
.tbti-day-panel[hidden]{display:none!important}


/* v2.4.17 final day navigation card layout */
.tbti-day-nav-wrap{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  background:#fff!important;
  padding:10px 0!important;
  margin:0 0 18px!important;
}
.tbti-day-nav-all{display:none!important;}
.tbti-day-nav-days{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;
  gap:0!important;
  margin:0!important;
}
.tbti-day-nav-btn,
.tbti-day-nav-card{
  min-height:150px!important;
  border:1px solid #d7e3f0!important;
  background:#fff!important;
  color:#111827!important;
  border-radius:6px!important;
  padding:12px 8px!important;
  font-weight:800!important;
  cursor:pointer!important;
  text-align:center!important;
  line-height:1.25!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
}
.tbti-day-nav-btn:hover{
  background:#eef6ff!important;
  color:#111827!important;
  border-color:#7fb3df!important;
}
.tbti-day-nav-btn:hover *{color:#111827!important;}
.tbti-day-nav-btn.is-active{
  background:#075c98!important;
  color:#fff!important;
  border-color:#075c98!important;
}
.tbti-day-nav-btn.is-active *{color:#fff!important;}
.tbti-day-nav-card strong{
  font-size:15px!important;
  font-weight:900!important;
  color:inherit!important;
}
.tbti-day-nav-date{
  display:block!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#60758a!important;
}
.tbti-day-nav-icon{
  display:block!important;
  font-size:32px!important;
  line-height:1!important;
  margin:10px 0 8px!important;
  color:inherit!important;
}
.tbti-day-nav-route{
  display:block!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#111827!important;
  line-height:1.35!important;
}
.tbti-day-nav-route em{
  font-style:normal!important;
  font-size:12px!important;
  font-weight:700!important;
}
.tbti-day-nav-destination{
  display:block!important;
  margin-top:8px!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#111827!important;
  line-height:1.35!important;
}
.tbti-day-nav-destination em{
  font-style:normal!important;
  font-size:12px!important;
  font-weight:700!important;
}
.tbti-day-nav-hotel{
  display:block!important;
  margin-top:10px!important;
  font-size:12px!important;
  font-weight:600!important;
  color:#4b5563!important;
  line-height:1.25!important;
}
.tbti-day-nav-hotel .tbti-hotel-icon{
  font-size:13px!important;
  margin-right:3px!important;
}
.tbti-day-panel[hidden]{display:none!important;}


/* v2.4.18 final day navigation layout */
.tbti-day-nav-wrap{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  background:#fff!important;
  padding:10px 0!important;
}
.tbti-day-nav-top{
  display:flex!important;
  justify-content:flex-start!important;
  margin-bottom:8px!important;
}
.tbti-day-nav-all{
  width:150px!important;
  min-height:46px!important;
  padding:10px 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
}
.tbti-day-nav-days{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:0!important;
}
.tbti-day-nav-btn{
  background:#fff!important;
  color:#111827!important;
  border:1px solid #d7e3f0!important;
  cursor:pointer!important;
  text-align:center!important;
}
.tbti-day-nav-btn:hover{
  background:#eef6ff!important;
  color:#111827!important;
  border-color:#7fb3df!important;
}
.tbti-day-nav-btn:hover *{color:#111827!important;}
.tbti-day-nav-btn.is-active{
  background:#075c98!important;
  color:#fff!important;
  border-color:#075c98!important;
}
.tbti-day-nav-btn.is-active *{color:#fff!important;}
.tbti-day-nav-card{
  min-height:150px!important;
  padding:12px 10px!important;
  font-size:17px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.tbti-day-nav-card strong{
  font-size:17px!important;
  font-weight:900!important;
  color:inherit!important;
}
.tbti-day-nav-date{
  display:block!important;
  font-size:12px!important;
  font-weight:700!important;
  color:inherit!important;
}
.tbti-day-nav-icon{
  display:block!important;
  font-size:34px!important;
  line-height:1!important;
  margin:10px 0 8px!important;
  color:inherit!important;
}
.tbti-day-nav-route{
  display:block!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.35!important;
  color:#111827!important;
}
.tbti-day-nav-alt{
  display:block!important;
  margin-top:3px!important;
  font-size:17px!important;
  font-style:normal!important;
  font-weight:700!important;
  color:#111827!important;
}
.tbti-day-nav-destination{display:none!important;}
.tbti-day-nav-hotel{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  margin-top:10px!important;
  font-size:17px!important;
  color:#111827!important;
}
.tbti-day-nav-hotel-icon{
  font-size:15px!important;
  line-height:1!important;
}
.tbti-day-nav-hotel-name{
  font-size:17px!important;
  line-height:1.2!important;
}
.tbti-day-panel[hidden]{display:none!important;}


/* =========================================================
   v2.4.19 visual hierarchy fix
   - Make tour points the primary content card
   - Reduce travel tip to secondary helper box
   ========================================================= */
.tbti-design-237 .tbti-tour-points{
    background:#ffffff !important;
    border:2px solid #c9def5 !important;
    border-left:6px solid #075c98 !important;
    border-radius:16px !important;
    padding:28px 28px 22px !important;
    margin:18px 0 14px !important;
    box-shadow:0 10px 28px rgba(7,92,152,.10) !important;
}
.tbti-design-237 .tbti-points-head{
    background:linear-gradient(90deg,#eef6ff 0%,#fff8ec 100%) !important;
    border:1px solid #d9e9f8 !important;
    border-radius:14px !important;
    padding:14px 18px !important;
    margin:0 0 14px 0 !important;
}
.tbti-design-237 .tbti-points-head h3{
    color:#073b68 !important;
    font-size:28px !important;
    font-weight:900 !important;
}
.tbti-design-237 .tbti-points-head h3 span{
    display:inline-flex !important;
    color:#f08a00 !important;
    font-size:30px !important;
}
.tbti-design-237 .tbti-tour-point-list{
    border:1px solid #dce9f7 !important;
    border-radius:14px !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.75) !important;
}
.tbti-design-237 .tbti-tour-point-list li{
    padding:18px 22px 18px 86px !important;
    font-size:17px !important;
    line-height:1.55 !important;
    font-weight:700 !important;
}
.tbti-design-237 .tbti-tour-point-list li::before{
    left:20px !important;
    width:42px !important;
    height:42px !important;
    background:#075c98 !important;
    box-shadow:0 6px 14px rgba(7,92,152,.22) !important;
}

/* Travel tip is intentionally quieter than tour points */
.tbti-design-237 .tbti-tip-navy{
    display:block !important;
    background:#f7fafc !important;
    color:#243447 !important;
    border:1px solid #dbe5f1 !important;
    border-radius:14px !important;
    padding:18px 22px !important;
    margin:14px 0 18px !important;
    box-shadow:none !important;
}
.tbti-design-237 .tbti-tip-title{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    border-right:0 !important;
    min-height:0 !important;
    margin:0 0 10px 0 !important;
}
.tbti-design-237 .tbti-tip-icon{
    width:34px !important;
    height:34px !important;
    font-size:18px !important;
    background:#fff7df !important;
    color:#b7791f !important;
    border:1px solid #f2dfad !important;
    box-shadow:none !important;
}
.tbti-design-237 .tbti-tip h3{
    color:#173c6c !important;
    font-size:18px !important;
    font-weight:800 !important;
}
.tbti-design-237 .tbti-tip ul{
    display:block !important;
    margin:0 !important;
    padding:0 0 0 44px !important;
}
.tbti-design-237 .tbti-tip li{
    color:#243447 !important;
    font-size:15px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
    margin:0 0 5px 0 !important;
    padding-left:20px !important;
}
.tbti-design-237 .tbti-tip li::before{
    content:"✓" !important;
    color:#075c98 !important;
    border:0 !important;
    background:transparent !important;
    width:auto !important;
    height:auto !important;
    left:0 !important;
    top:0 !important;
    font-weight:800 !important;
}

/* =========================================================
   v2.4.20 tourism point object cards
   ========================================================= */
.tbti-design-237 .tbti-tour-point-list{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 !important;
}
.tbti-design-237 .tbti-tour-point-card{
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) 230px !important;
    gap:24px !important;
    align-items:center !important;
    padding:20px 22px !important;
    border:1px solid #d7e7f7 !important;
    border-radius:14px !important;
    background:#fff !important;
}
.tbti-design-237 .tbti-tour-point-no{
    width:56px !important;
    height:56px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#073b68 !important;
    color:#fff !important;
    font-size:24px !important;
    font-weight:800 !important;
    box-shadow:0 6px 14px rgba(7,59,104,.18) !important;
}
.tbti-design-237 .tbti-tour-point-copy h4{
    margin:0 0 8px !important;
    color:#062f5f !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1.35 !important;
}
.tbti-design-237 .tbti-tour-point-copy div{
    font-size:16px !important;
    line-height:1.7 !important;
    color:#111827 !important;
    font-weight:400 !important;
}
.tbti-design-237 .tbti-tour-point-copy div p{
    margin:0 0 6px !important;
}
.tbti-design-237 .tbti-tour-point-image{
    justify-self:end !important;
    width:210px !important;
    aspect-ratio:4 / 3 !important;
    margin:0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#eef3f8 !important;
}
.tbti-design-237 .tbti-tour-point-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}
.tbti-design-237 .tbti-tour-point-card:not(:has(.tbti-tour-point-image)){
    grid-template-columns:72px minmax(0,1fr) !important;
}
@media(max-width:900px){
    .tbti-design-237 .tbti-tour-point-card{
        grid-template-columns:56px minmax(0,1fr) !important;
        gap:16px !important;
    }
    .tbti-design-237 .tbti-tour-point-image{
        grid-column:2 !important;
        justify-self:start !important;
        width:100% !important;
        max-width:280px !important;
        margin-top:10px !important;
    }
    .tbti-design-237 .tbti-tour-point-no{
        width:44px !important;
        height:44px !important;
        font-size:18px !important;
    }
    .tbti-design-237 .tbti-tour-point-copy h4{
        font-size:19px !important;
    }
    .tbti-design-237 .tbti-tour-point-copy div{
        font-size:15px !important;
    }
}


/* =========================================================
   v2.4.21 view mode switch: graphic / classic
   ========================================================= */
.tbti-view-switch{
    display:flex;
    gap:24px;
    align-items:center;
    justify-content:center;
    margin:0 0 18px;
}
.tbti-view-btn{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:260px;
    padding:14px 22px;
    border:1px solid #d5dde8;
    border-radius:10px;
    background:#fff;
    color:#1f2937;
    cursor:pointer;
    text-align:left;
    box-shadow:0 2px 8px rgba(15,35,60,.04);
}
.tbti-view-btn strong{
    display:block;
    font-size:17px;
    font-weight:800;
    line-height:1.25;
}
.tbti-view-btn em{
    display:block;
    margin-top:3px;
    font-size:13px;
    font-style:normal;
    color:#64748b;
    line-height:1.25;
}
.tbti-view-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    font-size:30px;
    line-height:1;
}
.tbti-view-btn.is-active{
    background:#075c98;
    border-color:#075c98;
    color:#fff;
    box-shadow:0 8px 20px rgba(7,92,152,.16);
}
.tbti-view-btn.is-active em{
    color:rgba(255,255,255,.82);
}
.tbti-graphic-view[hidden],
.tbti-classic-view[hidden]{
    display:none!important;
}

/* Classic schedule */
.tbti-classic-schedule{
    border:1px solid #c9b486;
    background:#fffaf0;
    border-radius:14px;
    overflow:hidden;
}
.tbti-classic-schedule h3{
    margin:0;
    padding:16px 20px;
    color:#6b3f16;
    background:#fff3d9;
    border-bottom:1px solid #d7c192;
    font-size:18px;
    font-weight:800;
}
.tbti-classic-table{
    display:block;
}
.tbti-classic-row{
    display:grid;
    grid-template-columns:160px minmax(0,1fr);
    border-bottom:1px solid #d7c192;
    background:#fff;
}
.tbti-classic-row:last-child{
    border-bottom:0;
}
.tbti-classic-day{
    background:#fff6e6;
    border-right:1px solid #d7c192;
    padding:18px;
    color:#6b3f16;
}
.tbti-classic-day strong{
    display:block;
    font-size:18px;
    font-weight:900;
}
.tbti-classic-day span{
    display:block;
    margin-top:6px;
    font-size:13px;
    color:#8a6a42;
}
.tbti-classic-content{
    padding:18px 20px;
    color:#111827;
}
.tbti-classic-content h4{
    margin:0 0 12px;
    font-size:18px;
    font-weight:800;
    color:#3f2d1b;
}
.tbti-classic-points,
.tbti-classic-tips{
    margin:0;
    padding-left:20px;
}
.tbti-classic-points li,
.tbti-classic-tips li{
    margin:0 0 10px;
    line-height:1.75;
    font-size:14px;
}
.tbti-classic-points strong{
    color:#075c98;
    font-weight:800;
}
.tbti-classic-points div{
    margin-top:3px;
}
.tbti-classic-tips{
    margin-top:12px;
    color:#4b5563;
}

@media(max-width:900px){
    .tbti-view-switch{
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }
    .tbti-view-btn{
        width:100%;
        min-width:0;
    }
    .tbti-classic-row{
        grid-template-columns:1fr;
    }
    .tbti-classic-day{
        border-right:0;
        border-bottom:1px solid #d7c192;
    }
}


/* v2.4.22 classic point markers */
.tbti-classic-points{
    list-style:none;
    padding-left:0;
}
.tbti-classic-points li{
    position:relative;
    padding-left:22px;
}
.tbti-classic-points li:before{
    content:"◆";
    position:absolute;
    left:0;
    top:1px;
    color:#075c98;
    font-size:12px;
}


/* =========================================================
   v2.4.23 classic schedule layout fix
   ========================================================= */
.tbti-classic-schedule{
    border:1px solid #d6bd82 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#fff !important;
}
.tbti-classic-schedule h3{
    margin:0 !important;
    padding:16px 20px !important;
    background:#fff3d9 !important;
    border-bottom:1px solid #d6bd82 !important;
    color:#6b3f16 !important;
    font-size:20px !important;
    font-weight:900 !important;
}
.tbti-classic-row{
    display:block !important;
    border-bottom:1px solid #d6bd82 !important;
    background:#fff !important;
}
.tbti-classic-row:last-child{
    border-bottom:0 !important;
}
.tbti-classic-row-head{
    display:grid !important;
    grid-template-columns:170px minmax(0,1fr) !important;
    background:#f7f7f7 !important;
    border-bottom:1px solid #e5e7eb !important;
}
.tbti-classic-day{
    padding:16px 18px !important;
    background:#f0f0f0 !important;
    border-right:1px solid #e5e7eb !important;
    color:#111827 !important;
}
.tbti-classic-day strong{
    display:block !important;
    font-size:20px !important;
    font-weight:900 !important;
}
.tbti-classic-day span{
    display:block !important;
    margin-top:4px !important;
    font-size:12px !important;
    color:#6b7280 !important;
}
.tbti-classic-route{
    padding:16px 18px !important;
    background:#f7f7f7 !important;
}
.tbti-classic-route h4{
    margin:0 !important;
    font-size:20px !important;
    font-weight:900 !important;
    color:#111827 !important;
    line-height:1.35 !important;
}
.tbti-classic-content{
    padding:22px 28px 28px 40px !important;
    color:#111827 !important;
}
.tbti-classic-points{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
}
.tbti-classic-points li{
    position:relative !important;
    list-style:none !important;
    margin:0 0 20px 0 !important;
    padding-left:24px !important;
    font-size:17px !important;
    line-height:1.75 !important;
    color:#111827 !important;
}
.tbti-classic-points li::marker{
    content:"" !important;
    display:none !important;
}
.tbti-classic-points li:before{
    content:"◆" !important;
    position:absolute !important;
    left:0 !important;
    top:0.15em !important;
    color:#075c98 !important;
    font-size:13px !important;
    line-height:1 !important;
}
.tbti-classic-points li strong{
    display:inline !important;
    color:#075c98 !important;
    font-size:17px !important;
    font-weight:900 !important;
}
.tbti-classic-points li div{
    margin-top:6px !important;
    font-size:17px !important;
    line-height:1.75 !important;
    color:#111827 !important;
    font-weight:400 !important;
}

/* remove any remaining browser/default bullets */
.tbti-classic-points,
.tbti-classic-points li{
    list-style-type:none !important;
}

@media(max-width:900px){
    .tbti-classic-row-head{
        grid-template-columns:1fr !important;
    }
    .tbti-classic-day{
        border-right:0 !important;
        border-bottom:1px solid #e5e7eb !important;
    }
    .tbti-classic-content{
        padding:20px !important;
    }
}


/* =========================================================
   v2.4.24 classic print button + inline date
   ========================================================= */
.tbti-classic-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    padding:16px 20px !important;
    background:#fff3d9 !important;
    border-bottom:1px solid #d6bd82 !important;
}
.tbti-classic-header h3{
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    color:#6b3f16 !important;
    font-size:20px !important;
    font-weight:900 !important;
}
.tbti-classic-print{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px !important;
    padding:0 16px !important;
    border:0 !important;
    border-radius:4px !important;
    background:#111827 !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:800 !important;
    cursor:pointer !important;
    white-space:nowrap !important;
}
.tbti-classic-print:hover{
    background:#000 !important;
    color:#fff !important;
}
.tbti-classic-day strong{
    white-space:nowrap !important;
}

/* Print only the classic schedule */
@media print{
    body *{
        visibility:hidden !important;
    }
    .tbti-classic-view,
    .tbti-classic-view *,
    .tbti-classic-schedule,
    .tbti-classic-schedule *{
        visibility:visible !important;
    }
    .tbti-classic-view,
    .tbti-classic-schedule{
        position:absolute !important;
        left:0 !important;
        top:0 !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        background:#fff !important;
    }
    .tbti-classic-print,
    .tbti-view-switch,
    .tbti-graphic-view{
        display:none !important;
    }
    .tbti-classic-schedule{
        border:1px solid #999 !important;
        box-shadow:none !important;
    }
}


/* =========================================================
   v2.4.25 classic date width + reliable print
   ========================================================= */
.tbti-classic-row-head{
    grid-template-columns:240px minmax(0,1fr) !important;
}
.tbti-classic-day{
    overflow:visible !important;
}
.tbti-classic-day strong{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:19px !important;
}
.tbti-classic-route{
    min-width:0 !important;
}
.tbti-classic-route h4{
    white-space:normal !important;
    word-break:keep-all !important;
}

/* Keep fallback browser print usable */
@media print{
    .tbti-classic-row-head{
        grid-template-columns:240px minmax(0,1fr) !important;
    }
    .tbti-classic-day strong{
        white-space:nowrap !important;
        overflow:visible !important;
    }
}


/* v2.4.28 decoded HTML spacing */
[data-tbti-html-decoded="1"] p{
    margin:0 0 8px !important;
}
[data-tbti-html-decoded="1"] p:last-child{
    margin-bottom:0 !important;
}
[data-tbti-html-decoded="1"] ul,
[data-tbti-html-decoded="1"] ol{
    margin:6px 0 6px 20px !important;
}
