#ptlPageContainer, #ptlPageContainer *{font-family: var(--ff-gmarket, 'GmarketSans', sans-serif);}
#bookingVisual{position: relative; width: 100%; padding-block: 160px; margin-top: 78px; background: url(/theme/goat/img/bg_book_visual.webp) center/cover no-repeat; font-size: var(--fz-20); font-weight: 400; line-height: 1.6; color: var(--color-text, #3A3A3A); text-align: center;}
#bookingVisual h3{margin-bottom: 24px; font-size: var(--fz-36); font-weight: 500; color: var(--color-title, #191919); text-align: center;}
#bookingVisual .description{font-size: var(--fz-20); font-weight: 400; line-height: 1.6; color: var(--color-text, #3A3A3A); text-align: center;}
#ptlPageContainer{position: relative; width: 100%;}
#ptlPageContainer .booking-layout-wrapper{display: flex; gap: 60px; width: 92%; max-width: 1600px; margin-top: 60px; margin-inline: auto;}
#ptlPageContainer .booking-layout-wrapper .ptl-sidebar{position: sticky; top: 120px; align-self: flex-start; display: flex; flex-direction: column; gap: 8px; width: 300px; flex-shrink: 0;}
#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-active-bar{display: none;}
#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-list{display: flex; flex-direction: column; gap: 8px; width: 100%; padding-bottom: 40px;}
#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-btn{display: block; width: 100%; padding: 16px 26px; box-sizing: border-box; margin: 0; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03); transition: all 0.3s ease; cursor: pointer; font-size: var(--fz-18); font-weight: 500; color: var(--color-text, #3A3A3A); text-align: left;}
#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-btn:hover{border-color: var(--color-primary, #81D8CF); background-color: rgba(129, 216, 207, 0.1); transform: translateY(-2px);}
#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-btn.active{border-color: var(--color-secondary, #05AE9D); background-color: var(--color-secondary, #05AE9D); box-shadow: 0 4px 12px rgba(5, 174, 157, 0.2); color: #fff; font-weight: 500;}
#ptlPageContainer .booking-layout-wrapper .item-cont{flex-grow: 1;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs{margin-bottom: 40px;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group{display: flex; flex-wrap: wrap; gap: 16px; width: 100%;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn{display: flex; flex-direction: column; gap: 12px; width: calc(25% - 16px); padding: 22px 24px; box-sizing: border-box; margin: 0; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03); transition: all 0.3s ease; cursor: pointer; text-align: left;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn:hover{border-color: var(--color-primary, #81D8CF); transform: translateY(-2px);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn.active{border-color: var(--color-secondary, #05AE9D); background-color: rgba(129, 216, 207, 0.08); box-shadow: 0 4px 12px rgba(5, 174, 157, 0.1);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn span{font-size: var(--fz-20); font-weight: 500; line-height: 1.3; color: var(--color-title, #191919); word-break: keep-all;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn hr{display: none !important; height: 1px; margin-block: 14px; border: 0; background: var(--color-gray-light, #EBEBEB);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn.active hr{background: var(--color-secondary, #05AE9D);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn p{font-size: var(--fz-15); font-weight: 400; line-height: 1.5; color: var(--color-text, #3A3A3A);}
#ptlPageContainer .sub-category-info-box{margin-block: 0 40px; padding: 40px; border: 1px solid rgba(129, 216, 207, 0.2); border-radius: 8px; background-color: rgba(129, 216, 207, 0.08);}
#ptlPageContainer .sub-category-info-box .cate-info-inner{display: flex; align-items: flex-start; gap: 36px; width: 100%;}
#ptlPageContainer .sub-category-info-box .cate-info-img{width: 280px; flex-shrink: 0; border-radius: 8px; overflow: hidden;}
#ptlPageContainer .sub-category-info-box .cate-info-img img{display: block; width: 100%; height: auto; object-fit: cover;}
#ptlPageContainer .sub-category-info-box .cate-info-text-wrap{display: flex; flex-direction: column; gap: 16px; flex-grow: 1; text-align: left;}
#ptlPageContainer .sub-category-info-box .cate-title{display: block; margin-bottom: 4px; font-size: var(--fz-28); font-weight: 500; color: var(--color-secondary, #05AE9D); text-align: left;}
#ptlPageContainer .sub-category-info-box .cate-short-desc{padding-bottom: 20px; border-bottom: 1px solid var(--color-gray-light, #EBEBEB); font-size: var(--fz-17); font-weight: 500; line-height: 1.6; color: var(--color-text, #3A3A3A); text-align: left;}
#ptlPageContainer .sub-category-info-box .info-section{padding: 16px 0; border-bottom: 1px solid var(--color-gray-light, #EBEBEB);}
#ptlPageContainer .sub-category-info-box .info-section:last-child{border-bottom: 0;}
#ptlPageContainer .sub-category-info-box .info-section .section-title{display: block; margin-bottom: 10px; font-size: var(--fz-20); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .sub-category-info-box .info-section .section-content{font-size: var(--fz-15); font-weight: 400; line-height: 1.6; color: var(--color-text, #3A3A3A);}
#ptlPageContainer .booking-layout-wrapper .item-cont{margin-bottom: clamp(80px, 10vw, 200px);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner{display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner .event-period-banner{padding: 28px; border: 1px solid var(--color-primary, #81D8CF); border-radius: 8px; background: linear-gradient(135deg, #ffffff 0%, rgba(129, 216, 207, 0.1) 100%); flex-grow: 1; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner .event-period-banner:nth-child(odd):last-child{grid-column: 1 / -1;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner .event-period-banner span{display: inline-block; padding: 6px 14px; margin-right: 10px; border-radius: 4px; background-color: var(--color-secondary, #05AE9D); font-size: var(--fz-15); font-weight: 500; color: #fff; text-align: center;}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner .event-period-banner strong{display: inline-block; margin-bottom: 18px; font-size: var(--fz-22); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner .event-period-banner p{font-size: var(--fz-18); font-weight: 500; color: var(--color-text, #3A3A3A);}
#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner .event-period-banner p em{font-style: normal; color: var(--color-secondary, #05AE9D);}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout{display: grid; grid-template-columns: 1fr 1fr; gap: 24px;}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card{position: relative; padding: 30px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03); transition: all 0.3s ease;}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card:hover{border-color: var(--color-primary, #81D8CF); transform: translateY(-3px); box-shadow: 0 6px 20px rgba(129, 216, 207, 0.15);}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .item-name{display: block; margin-bottom: 12px; font-size: var(--fz-22); font-weight: 500; line-height: 1.4; color: var(--color-title, #191919);}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .item-desc{margin-bottom: 24px; font-size: var(--fz-15); font-weight: 400; line-height: 1.5; color: var(--color-gray-dark, #888888);}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-top{display: flex; align-items: center; gap: 8px; margin-bottom: 8px;}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-top .vat-info{font-size: var(--fz-15); font-weight: 500; color: var(--color-gray-dark, #A4A4A4);}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-top .price-regular{font-size: var(--fz-16); font-weight: 500; color: var(--color-gray-dark, #A4A4A4); text-decoration: line-through;}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-btm{display: flex; align-items: baseline; gap: 10px;}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-btm .per{font-size: var(--fz-28); font-weight: 700; color: var(--color-secondary, #05AE9D);}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-btm b{font-size: var(--fz-30); font-weight: 700; color: var(--color-title, #191919);}
#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .cart{position: absolute; right: 28px; bottom: 28px; width: 40px; height: 40px; margin: 0; border: 0; background: url(../../img/ico_cart.svg) center/20px no-repeat; transition: all 0.3s ease; cursor: pointer;}
#ptlPageContainer .booking-layout-wrapper .item-cont .link-cont{display: block; margin-block: 60px; text-align: center;}
#ptlPageContainer .booking-layout-wrapper .item-cont .go-to-promotion{display: inline-flex; align-items: center; gap: 12px; padding: 14px 32px; border: 1px solid var(--color-secondary, #05AE9D); border-radius: 6px; background-color: var(--color-secondary, #05AE9D); box-shadow: 0 2px 10px rgba(5, 174, 157, 0.2); transition: all 0.3s ease; font-size: var(--fz-18); font-weight: 500; color: #fff; text-decoration: none;}
#ptlPageContainer .booking-layout-wrapper .item-cont .go-to-promotion:hover{background-color: #31ac9f; border-color: #31ac9f; transform: translateY(-2px);}
#ptlPageContainer .booking-layout-wrapper .item-cont .go-to-promotion img{width: 16px; height: 16px; filter: invert(1); transition: transform 0.3s ease;}
#ptlPageContainer .booking-layout-wrapper .item-cont .go-to-promotion:hover img{transform: translateX(4px);}
#ptlPageContainer .cart-section{position: sticky; top: 200px; min-width: 420px; max-height: 1000px; padding: 32px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04); transition: all 0.5s ease-in-out;}
#ptlPageContainer .cart-section #cartPreview{margin-top: 12px;}
#ptlPageContainer .cart-section.fold{max-height: 85px; overflow-y: hidden;}
#ptlPageContainer .cart-section .section-title{display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 2px solid var(--color-secondary, #05AE9D); transition: all 0.3s ease; font-size: var(--fz-22); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .cart-section .section-title button{display: inline-flex; justify-content: center; align-items: center; padding: 0; margin: 0; border: 0; background-color: transparent; transition: transform 0.3s ease; cursor: pointer;}
#ptlPageContainer .cart-section.fold .section-title{border-color: transparent;}
#ptlPageContainer .cart-section.fold .section-title button{transform: rotate(180deg);}
#ptlPageContainer .cart-section .cart-item{display: flex; justify-content: space-between; align-items: center; padding: 18px 0; border-bottom: 1px dashed var(--color-gray-light, #EBEBEB);}
#ptlPageContainer .cart-section .cart-item:nth-last-child(2){border-bottom: 0 !important;}
#ptlPageContainer .cart-section .cart-item .cart-item-name{display: block; margin-bottom: 6px; font-size: var(--fz-18); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .cart-section .cart-item .cart-item-price{font-size: var(--fz-16); font-weight: 500; color: var(--color-secondary, #05AE9D);}
#ptlPageContainer .cart-section .btn-cart-remove{padding: 4px 8px; border: 0; background: none; transition: color 0.2s; cursor: pointer; font-size: var(--fz-24); color: var(--color-gray-dark, #A4A4A4);}
#ptlPageContainer .cart-section .btn-cart-remove:hover{color: #e11d48;}
#ptlPageContainer .cart-section .total-price{display: block; margin-top: 36px; margin-bottom: 24px; font-size: var(--fz-32); font-weight: 700; color: var(--color-secondary, #05AE9D); text-align: right;}
#ptlPageContainer .cart-section .total-price em{margin-left: 10px; font-size: var(--fz-16); color: var(--color-secondary, #05AE9D); font-style: normal;}
#ptlPageContainer .cart-section .btn-next-step{display: flex; justify-content: center; align-items: center; width: 100%; padding: 18px; border: 0; border-radius: 6px; background-color: var(--color-secondary, #05AE9D); box-shadow: 0 2px 10px rgba(5, 174, 157, 0.25); transition: all 0.3s ease; cursor: pointer; font-size: var(--fz-18); font-weight: 500; color: #fff; text-align: center;}
#ptlPageContainer .cart-section .btn-next-step:hover{background-color: #31ac9f; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(5, 174, 157, 0.35);}
#ptlPageContainer .cart-section .btn-next-step img{width: 16px; height: 16px; margin-left: 10px;}
#ptlPageContainer.step2 .step2-wrap{display: flex; justify-content: center; align-items: flex-start; gap: 40px; margin-bottom: 100px;}
#ptlPageContainer.step2 .step2-wrap .step-cont{flex-grow: 1; max-width: 1000px;}
#ptlPageContainer.step2 .step2-wrap .step-header{display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; padding-bottom: 20px; border-bottom: 2px solid var(--color-gray-light, #EBEBEB);}
#ptlPageContainer.step2 .step2-wrap .step-title{font-size: var(--fz-22); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer.step2 .step2-wrap .btn-back{padding: 10px 24px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 6px; background-color: #fff; transition: all 0.3s ease; cursor: pointer; font-size: var(--fz-16); font-weight: 500; color: var(--color-text, #3A3A3A);}
#ptlPageContainer.step2 .step2-wrap .btn-back:hover{border-color: var(--color-secondary, #05AE9D); background-color: rgba(129, 216, 207, 0.1); color: var(--color-secondary, #05AE9D);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .branch-select-area{margin-bottom: 30px;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .branch-select-area .section-title{margin-bottom: 20px; padding: 12px 16px; border-left: 4px solid var(--color-secondary, #05AE9D); border-bottom: 1px solid var(--color-gray-light, #EBEBEB); font-size: var(--fz-20); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .branch-btn-group{display: flex; gap: 12px; width: 100%;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .branch-btn-group .branch-btn{display: flex; justify-content: center; align-items: center; width: 50%; padding: 16px 20px; box-sizing: border-box; margin: 0; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03); transition: all 0.3s ease; cursor: pointer; font-size: var(--fz-18); font-weight: 500; color: var(--color-text, #3A3A3A);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .branch-btn-group .branch-btn:hover{border-color: var(--color-primary, #81D8CF); background-color: rgba(129, 216, 207, 0.1); transform: translateY(-2px);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .branch-btn-group .branch-btn.active{border-color: var(--color-secondary, #05AE9D); background-color: var(--color-secondary, #05AE9D); box-shadow: 0 4px 12px rgba(5, 174, 157, 0.2); color: #fff;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .section-title{margin-bottom: 30px; padding: 12px 16px; border-left: 4px solid var(--color-secondary, #05AE9D); border-bottom: 1px solid var(--color-gray-light, #EBEBEB); font-size: var(--fz-20); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-header{display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; padding: 0 10px; font-size: var(--fz-24); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-header button{display: inline-flex; justify-content: center; align-items: center; padding: 8px 14px; border: 0; border-radius: 5px; background-color: #fff; transition: all 0.3s ease; cursor: pointer;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-header button:hover{border-color: var(--color-secondary, #05AE9D); background-color: rgba(129, 216, 207, 0.1);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-header button img{width: 20px; height: 20px;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-header strong{font-size: var(--fz-24); font-weight: 700; color: var(--color-title, #191919);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-grid{display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; padding: 30px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .ptl-day-cell{position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 65px; padding: 12px 6px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 6px; background-color: #fff; transition: all 0.3s ease; cursor: pointer; text-align: center;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .ptl-day-cell.available:hover{border-color: var(--color-primary, #81D8CF); background-color: rgba(129, 216, 207, 0.15); transform: translateY(-2px);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .ptl-day-cell.selected{border-color: var(--color-secondary, #05AE9D) !important; background-color: var(--color-secondary, #05AE9D) !important; box-shadow: 0 2px 8px rgba(5, 174, 157, 0.25); font-weight: 500; color: #fff !important;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .ptl-day-cell.disabled{border-color: #eee; background-color: #f9f9f9; opacity: 0.6; cursor: not-allowed; color: var(--color-gray-dark, #A4A4A4);}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .day-title{font-size: var(--fz-18); font-weight: 500; color: var(--color-title, #191919); text-align: center;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .day-sun{color: #e11d48 !important;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .day-sat{color: #2563eb !important;}
#ptlPageContainer.step2 .step2-wrap .info-combine-section .day-num{font-size: var(--fz-18); font-weight: 500;}
#ptlPageContainer .ptl-slot-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 20px; margin-bottom: 40px;}
#ptlPageContainer .ptl-slot-btn{padding: 16px 8px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 6px; background: #fff; transition: all 0.3s ease; cursor: pointer; font-size: var(--fz-18); font-weight: 500; color: var(--color-text, #3A3A3A); text-align: center;}
#ptlPageContainer .ptl-slot-btn:hover:not(.disabled){border-color: var(--color-primary, #81D8CF); background: rgba(129, 216, 207, 0.15); transform: translateY(-2px); color: var(--color-secondary, #05AE9D);}
#ptlPageContainer .ptl-slot-btn.selected{border-color: var(--color-secondary, #05AE9D) !important; background: var(--color-secondary, #05AE9D) !important; box-shadow: 0 2px 8px rgba(5, 174, 157, 0.25); font-weight: 500; color: #fff !important;}
#ptlPageContainer .ptl-slot-btn.disabled{border-color: #eee; background: #f9f9f9; opacity: 0.6; cursor: not-allowed; color: var(--color-gray-dark, #A4A4A4);}
#ptlPageContainer .info-group-title{margin-top: 40px; margin-bottom: 24px; padding: 12px 16px; border-left: 4px solid var(--color-secondary, #05AE9D); border-bottom: 1px solid var(--color-gray-light, #EBEBEB); font-size: var(--fz-20); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .info-input-group{margin-bottom: 28px;}
#ptlPageContainer .info-input-group label{display: block; margin-bottom: 10px; font-size: var(--fz-17); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .info-input-group input, #ptlPageContainer .info-input-group select, #ptlPageContainer .info-input-group textarea{width: 100%; padding: 16px 18px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 6px; background-color: #fff; transition: all 0.3s ease; box-sizing: border-box; font-size: var(--fz-16); font-weight: 400; color: var(--color-title, #191919);}
#ptlPageContainer .info-input-group input:focus, #ptlPageContainer .info-input-group select:focus, #ptlPageContainer .info-input-group textarea:focus{border-color: var(--color-secondary, #05AE9D); outline: none; box-shadow: 0 0 0 3px rgba(129, 216, 207, 0.25);}
#ptlPageContainer .messenger-group{display: flex; gap: 12px;}
#ptlPageContainer .messenger-group select{width: 150px; flex-shrink: 0;}
#ptlPageContainer .messenger-group input{flex-grow: 1;}
#ptlPageContainer .helper-text-centered{grid-column: 1 / -1; padding: 30px; border: 2px dashed var(--color-gray-light, #EBEBEB); border-radius: 6px; background-color: #fafafa; font-size: var(--fz-16); font-weight: 400; color: var(--color-gray-dark, #A4A4A4); text-align: center;}
#ptlPageContainer.step2 .ptl-sidebar, #ptlPageContainer.step2 .ptl-sub-tabs, #ptlPageContainer.step2 .ptl-event-banner, #ptlPageContainer.step2 .ptl-item-list-area, #ptlPageContainer.step2 .link-cont, #ptlPageContainer.step2 .sub-category-info-box{display: none !important; width: 0; height: 0; opacity: 0; overflow: hidden;}
#ptlPageContainer.page-cart .ptl-sidebar, #ptlPageContainer.page-cart .ptl-sub-tabs, #ptlPageContainer.page-cart .ptl-event-banner, #ptlPageContainer.page-cart .ptl-item-list-area, #ptlPageContainer.page-cart .link-cont, #ptlPageContainer.page-cart .sub-category-info-box{display: none !important; width: 0; height: 0; opacity: 0; overflow: hidden;}
#ptlPageContainer.step1 #ptlStep2{width: 0; height: 0; opacity: 0; overflow: hidden;}
#ptlPageContainer.step2 #ptlStep2 .step-cont{width: 100%; height: auto; opacity: 1;}
#ptlPageContainer .user-info-area{display: block; width: 100%; max-width: 1000px; margin-inline: auto; margin-block: 60px;}
#ptlPageContainer .user-info-area .add-info{font-size: var(--fz-16);}
#ptlPageContainer .res-title{margin-bottom: 50px; font-size: var(--fz-34); font-weight: 500; color: var(--color-title, #191919); text-align: center;}
#ptlPageContainer .result-card-wrap{max-width: 680px; padding: 36px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);}
#ptlPageContainer .result-card-wrap .guest-sub-text{margin-bottom: 28px; font-size: var(--fz-15); font-weight: 400; color: var(--color-gray-dark, #A4A4A4);}
#ptlPageContainer .result-card-wrap .btn-next-step, #ptlPageContainer .result-card-wrap .btn-home{display: flex; align-items: center; justify-content: center; min-width: 125px; width: fit-content; height: 42px; padding: 0 24px; margin: 24px auto 0; border: 1px solid #3a3a3a; border-radius: 999px; background-color: #ffffff; box-shadow: none; font-size: var(--fz-18); font-weight: 400; color: #3a3a3a; text-decoration: none; cursor: pointer; box-sizing: border-box; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; outline: none;}
#ptlPageContainer .result-card-wrap .btn-next-step:hover, #ptlPageContainer .result-card-wrap .btn-home:hover{background-color: #81d8cf; border-color: #81d8cf; color: #ffffff !important;}
#ptlPageContainer .res-detail-box{margin-bottom: 28px; padding: 28px; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);}
#ptlPageContainer .res-detail-box .res-box-header{display: flex; justify-content: space-between; align-items: center; margin-top: 0; margin-bottom: 20px; padding-bottom: 16px; border-left: 0; border-bottom: 1px solid var(--color-gray-light, #EBEBEB);}
#ptlPageContainer .res-detail-box .res-box-header .res-num-label{font-size: var(--fz-20); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .res-detail-box .res-box-header .res-status-badge{padding: 6px 14px; border-radius: 4px; background-color: rgba(129, 216, 207, 0.2); font-size: var(--fz-14); font-weight: 500; color: var(--color-secondary, #05AE9D);}
#ptlPageContainer .res-detail-box .res-info-table{width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: var(--fz-16);}
#ptlPageContainer .res-detail-box .res-info-table th{padding: 10px 0; width: 110px; font-weight: 500; color: var(--color-gray-dark, #A4A4A4); text-align: left;}
#ptlPageContainer .res-detail-box .res-info-table td{padding: 10px 0; font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .res-detail-box .res-info-table td.total-price-cell{font-size: var(--fz-18); font-weight: 500; color: var(--color-secondary, #05AE9D);}
#ptlPageContainer .res-detail-box .selected-items-box{padding: 18px; border: 1px solid rgba(129, 216, 207, 0.15); border-radius: 6px; background-color: rgba(129, 216, 207, 0.06);}
#ptlPageContainer .res-detail-box .selected-items-box .items-title{margin-bottom: 12px; font-size: var(--fz-14); font-weight: 500; color: var(--color-gray-dark, #A4A4A4);}
#ptlPageContainer .res-detail-box .selected-items-box .selected-item-row{display: flex; justify-content: space-between; align-items: center; padding: 6px 0; font-size: var(--fz-15); font-weight: 500; color: var(--color-title, #191919);}
#ptlPageContainer .res-detail-box .selected-items-box .selected-item-row .item-price{font-size: var(--fz-15); font-weight: 500; color: var(--color-secondary, #05AE9D);}
@media(max-width: 1024px){
	#bookingVisual{margin-top: 58px; padding-block: 60px;}
	#bookingVisual h3{margin-bottom: 12px; font-size: var(--fz-22);}
	#bookingVisual .description{font-size: var(--fz-14);}
	#ptlPageContainer .booking-layout-wrapper{flex-direction: column; gap: 20px; margin-top: 0;}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar{position: relative; top: 0; width: 100%;}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-active-bar{display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 14px 18px; box-sizing: border-box; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03); cursor: pointer; font-size: var(--fz-16); font-weight: 500; color: var(--color-title, #191919);}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-active-bar .cat-arrow{display: inline-block; width: 10px; height: 10px; border-right: 2px solid var(--color-title, #191919); border-bottom: 2px solid var(--color-title, #191919); transform: rotate(45deg); transition: transform 0.3s ease;}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-active-bar.open .cat-arrow{transform: rotate(-135deg);}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-list{display: none; flex-direction: column; gap: 0; width: 100%; margin-top: 8px; padding-bottom: 0; border: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 8px; background-color: #fff; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); overflow: hidden;}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-list.open{display: flex;}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-list .main-cat-btn{width: 100%; padding: 14px 18px; border: 0; border-bottom: 1px solid var(--color-gray-light, #EBEBEB); border-radius: 0; background: transparent; box-shadow: none; font-size: var(--fz-15); font-weight: 400; color: var(--color-text, #3A3A3A);}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-list .main-cat-btn:last-child{border-bottom: 0;}
	#ptlPageContainer .booking-layout-wrapper .ptl-sidebar .main-cat-list .main-cat-btn.active{background-color: rgba(129, 216, 207, 0.12); color: var(--color-secondary, #05AE9D); font-weight: 500;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs{margin-bottom: 24px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group{display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; width: 100%;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn{width: 100%; padding: 14px 16px; gap: 6px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn span{font-size: var(--fz-15);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-sub-tabs .ptl-sub-group .sub-tab-btn p{display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: var(--fz-13); line-height: 1.4;}
	#ptlPageContainer .sub-category-info-box{margin-block: 0 20px; padding: 20px 16px;}
	#ptlPageContainer .sub-category-info-box .cate-info-inner{flex-direction: column; gap: 16px;}
	#ptlPageContainer .sub-category-info-box .cate-info-img{width: 100%;}
	#ptlPageContainer .sub-category-info-box .cate-title{font-size: var(--fz-20);}
	#ptlPageContainer .sub-category-info-box .cate-short-desc{font-size: var(--fz-14);}
	#ptlPageContainer .sub-category-info-box .info-section .section-title{font-size: var(--fz-16);}
	#ptlPageContainer .sub-category-info-box .info-section .section-content{font-size: var(--fz-14);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner{grid-template-columns: 1fr; gap: 12px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .ptl-event-banner .event-period-banner{padding: 16px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout{grid-template-columns: 1fr; gap: 12px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card{padding: 18px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .cart{right: 16px; bottom: 16px; width: 34px; height: 34px; background-size: 16px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .item-name{margin-bottom: 12px; font-size: var(--fz-16);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .item-desc{margin-bottom: 16px; font-size: var(--fz-13);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-top .vat-info{font-size: var(--fz-13);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-top .price-regular{font-size: var(--fz-13);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-btm .per{font-size: var(--fz-18);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .item-grid-layout .item-card .price-btm b{font-size: var(--fz-18);}
	#ptlPageContainer .booking-layout-wrapper .item-cont .link-cont{margin-block: 40px;}
	#ptlPageContainer .booking-layout-wrapper .item-cont .go-to-promotion{padding: 12px 24px; font-size: var(--fz-15);}
	#ptlPageContainer .cart-section{width: 100%; min-width: unset; padding: 20px;}
	#ptlPageContainer .cart-section .section-title{font-size: var(--fz-18);}
	#ptlPageContainer .cart-section .cart-item .cart-item-name{font-size: var(--fz-15);}
	#ptlPageContainer .cart-section .cart-item .cart-item-price{font-size: var(--fz-14);}
	#ptlPageContainer .cart-section .total-price{font-size: var(--fz-20);}
	#ptlPageContainer .cart-section .total-price em{font-size: var(--fz-12);}
	#ptlPageContainer .cart-section .btn-next-step{padding: 14px; font-size: var(--fz-16);}
	#ptlPageContainer.step2 .step2-wrap{flex-direction: column; gap: 20px; margin-bottom: 60px;}
	#ptlPageContainer.step2 .step2-wrap .step-cont{width: 100%;}
	#ptlPageContainer.step2 .step2-wrap .step-title{font-size: var(--fz-18);}
	#ptlPageContainer.step2 .step2-wrap .btn-back{padding: 8px 12px; font-size: var(--fz-14);}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .branch-btn-group .branch-btn{padding: 12px 14px; font-size: var(--fz-15);}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .section-title{font-size: var(--fz-16);}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-header{margin-bottom: 20px; font-size: var(--fz-18);}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-header strong{font-size: var(--fz-18);}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .calendar-grid{grid-template-columns: repeat(7, 1fr); gap: 4px; padding: 14px 8px;}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .ptl-day-cell{min-height: 48px; padding: 8px 2px;}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .day-title{font-size: var(--fz-13);}
	#ptlPageContainer.step2 .step2-wrap .info-combine-section .day-num{font-size: var(--fz-14);}
	#ptlPageContainer .info-group-title{margin-top: 30px; margin-bottom: 16px; font-size: var(--fz-16);}
	#ptlPageContainer .ptl-slot-grid{grid-template-columns: repeat(3, 1fr); gap: 8px;}
	#ptlPageContainer .ptl-slot-btn{padding: 12px 4px; font-size: var(--fz-14);}
	#ptlPageContainer .info-input-group label{font-size: var(--fz-14);}
	#ptlPageContainer .info-input-group input, #ptlPageContainer .info-input-group select, #ptlPageContainer .info-input-group textarea{padding: 12px 14px; font-size: var(--fz-14);}
	#ptlPageContainer .user-info-area .add-info{font-size: var(--fz-13);}
	#ptlPageContainer .messenger-group{flex-direction: column;}
	#ptlPageContainer .messenger-group select{width: 100%;}
	#ptlPageContainer .result-card-wrap{padding: 20px;}
}