/* 놀이터 예약 달력 스타일 - 기존 CSS와 충돌 방지를 위한 고유 클래스명 사용 */
/* 상단 안내 섹션 */
.pg-reservation-guide {margin-bottom: 40px;}
.pg-info-banner {background: #f8f9fa;border-radius: 12px;padding: 20px 25px;margin-bottom: 30px;display: flex;align-items: flex-start;gap: 20px;}
.pg-info-icon {width: 60px;height: 60px;flex-shrink: 0;background: #ffc107;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 30px;color: #fff;}
.pg-info-content {flex: 1;}
.pg-info-title {font-size: 18px;font-weight: 700;color: #333;margin-bottom: 12px;line-height: 1.5;}
.pg-info-list {list-style: none;padding: 0;margin: 0;}
.pg-info-list li {font-size: 0.9em;color: #555;line-height: 1.8;padding-left: 20px;position: relative;margin-bottom: 8px;text-align: left;}
.pg-info-list li:before {content: "•";position: absolute;left: 0;color: #666;}
.pg-info-list li .highlight {color: #d23836;font-weight: 600;}

/* 절차 표시 */
.pg-procedure {display: flex;justify-content: space-between;align-items: flex-start;gap: 20px;margin-bottom: 40px;flex-wrap: wrap;}
.pg-procedure-step {flex: 1;min-width: 200px;text-align: center;position: relative;}
.pg-procedure-step:not(:last-child):after {content: "";position: absolute;top: 40px;right: -20px;width: 40px;height: 2px;background: #ddd;}
.pg-step-icon {width: 80px;height: 80px;margin: 0 auto 15px;background: #fff;border: 3px solid #e9ecef;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 40px;color: #4a5568;transition: all 0.3s;}
.pg-procedure-step:hover .pg-step-icon {border-color: #4a5568;background: #f8f9fa;}
.pg-step-title {font-size: 16px;font-weight: 600;color: #333;margin-bottom: 5px;}
.pg-step-subtitle {font-size: 13px;color: #666;}

/* 하단 예약 섹션 */
.pg-reservation-section {background: #fff;border-radius: 12px;padding:30px; border:1px #e9ecef solid;}
.pg-reservation-title {font-size: 24px;font-weight: 700;color: #333;margin-bottom: 40px !important;padding-bottom: 15px !important;border-bottom: 2px solid #4a5568;}
.pg-reservation-layout {display: flex;gap: 30px;align-items: flex-start;}

/* 왼쪽 달력 */
.pg-calendar-wrapper {flex: 0 0 45%;}
.pg-calendar-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 20px;}
.pg-calendar-nav {display: flex;align-items: center;gap: 15px;}
.pg-calendar-nav button {width: 36px;height: 36px;border: 1px solid #ddd;background: #fff;border-radius: 50%;cursor: pointer;display: flex;align-items: center;justify-content: center;font-size: 18px;color: #666;transition: all 0.2s;}
.pg-calendar-nav button:hover {background: #f8f9fa;border-color: #4a5568;color: #4a5568;}
.pg-calendar-month {font-size: 20px;font-weight: 600;color: #333;}
.pg-calendar-table {width: 100%;border-collapse: collapse;}
.pg-calendar-table thead th {padding: 12px 8px;text-align: center;font-size: 14px;font-weight: 600;color: #666;background: #f8f9fa;border-bottom: 2px solid #e9ecef;}
.pg-calendar-table thead th.pg-sun {color: #d23836;}
.pg-calendar-table thead th.pg-sat {color: #3095dd;}
.pg-calendar-table tbody td {padding: 8px;text-align: center;vertical-align: top;height: 50px;border: 1px solid #e9ecef;cursor: pointer;transition: all 0.2s;position: relative;}
.pg-calendar-table tbody td:hover {background: #f8f9fa;}
.pg-calendar-table tbody td.pg-other-month {color: #ccc;background: #fafafa;cursor: default;}
.pg-calendar-table tbody td.pg-other-month:hover {background: #fafafa;}
.pg-calendar-table tbody td.pg-sun {color: #d23836;}
.pg-calendar-table tbody td.pg-sat {color: #3095dd;}
.pg-date-number {display: block;font-size: 16px;font-weight: 500;margin-bottom: 4px;}
.pg-date-status {display: inline-block;width: 8px;height: 8px;border-radius: 50%;margin-top: 4px;vertical-align: middle;}
.pg-date-status.pg-available {background: #28a745;display: inline-block;}
.pg-date-status.pg-unavailable {background: #ccc;display: inline-block;}
.pg-date-status.pg-selected {background: #ffc107;display: inline-block;}
.pg-calendar-table tbody td.pg-selected {background: #fff9e6;outline: 3px solid #ffc107 !important;outline-offset: -3px;}
.pg-calendar-table tbody td.pg-selected .pg-date-number {color: #ff9800;font-weight: 700;}
.pg-calendar-legend {margin-top: 20px;display: flex;gap: 20px;justify-content: center;font-size: 13px;}
.pg-legend-item {display: flex;align-items: center;gap: 8px;}
.pg-legend-dot {width: 12px;height: 12px;border-radius: 50%;}
.pg-legend-dot.pg-legend-selected {background: #ffc107;}
.pg-legend-dot.pg-legend-available {background: #28a745;}

/* 오른쪽 회차 정보 */
.pg-session-wrapper {flex: 1;min-width:480px;}
.pg-session-header {display: flex;align-items: center;gap: 10px;margin-bottom: 25px;padding-bottom:20px;border-bottom: 1px solid #4e4e4e;}
.pg-session-header .i-calendar {width:36px; height:36px; background:#ffc107 url(../img/icon_calendar_line.svg) center center no-repeat; border-radius:36px; background-size:65%;}
.pg-session-date {font-size: 20px;font-weight: 700;color: #333;}
.pg-session-list {display: flex;flex-direction: column;gap: 15px;}
.pg-session-item {border: 2px solid #e9ecef;border-radius: 8px;padding: 20px;background: #fff;transition: all 0.2s;cursor: pointer;}
.pg-session-item:hover {border-color: #4a5568;box-shadow: 0 2px 8px rgba(0,0,0,0.1);}
.pg-session-item.pg-session-selected {border-color: #ffc107;background: #fff9e6;}
.pg-session-radio {margin-right: 15px;width: 20px;height: 20px;cursor: pointer;}
.pg-session-header-row {display: flex;align-items: center;}
.pg-session-badge {display: inline-block;padding: 6px 14px;background: #e9ecef;border-radius: 20px;font-size: 14px;font-weight: 600;color: #333;margin-right: 15px;}
.pg-session-item.pg-session-selected .pg-session-badge {background: #ffc107;color: #333;}
.pg-session-time {font-size: 15px;color: #666;font-weight: 500;}
.pg-session-card-row {margin-left: 30px;display: flex;align-items: center;justify-content: space-between;}
.pg-session-card-label {display: none}
.pg-session-table {width: 100%;border-collapse: collapse;margin-top: 15px;}
.pg-session-table th, .pg-session-table td {padding: 12px;text-align: center;border: 1px solid #e9ecef;font-size: 14px;}
.pg-session-table th {background: #f8f9fa;font-weight: 600;color: #333;}
.pg-session-table td {color: #666;}
.pg-session-capacity {display: inline-block;padding: 6px 12px;border-radius: 6px;font-size: 13px;font-weight: 600;}
.pg-session-capacity.pg-capacity-available {background: #28a745;color: #fff;}
.pg-session-capacity.pg-capacity-full {background: #dc3545;color: #fff;}

/* 모바일용 카드형 정보 - 기본적으로 숨김 */
.pg-session-card-info { }
.pg-reservation-button {margin-top: 30px;text-align: center;}
.pg-btn-reserve {display: inline-flex;align-items: center;gap: 10px;padding: 16px 40px;background: #28a745;color: #fff;border: none;border-radius: 8px;font-size: 16px;font-weight: 600;cursor: pointer;transition: all 0.2s;}
.pg-btn-reserve:hover {background: #218838;transform: translateY(-2px);box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);}
.pg-btn-reserve:disabled {background: #ccc;cursor: not-allowed;transform: none;box-shadow: none;}
.pg-btn-reserve-icon {font-size: 20px;}

/* 접수확인 버튼 스타일 */
.pg-check-button {margin: 30px 0;text-align: center;}
.pg-btn-check {display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 14px 32px;background: #1e2c5d;color: #fff;border: none;border-radius: 8px;font-size: 16px;font-weight: 600;text-decoration: none;cursor: pointer;transition: all 0.3s ease;box-shadow: 0 2px 8px rgba(30, 44, 93, 0.2);}
.pg-btn-check:hover {background: #4079e6;color: #fff;text-decoration: none;box-shadow: 0 4px 12px rgba(64, 121, 230, 0.3);transform: translateY(-2px);}
.pg-btn-check:active {transform: translateY(0);box-shadow: 0 2px 6px rgba(64, 121, 230, 0.2);}
.pg-btn-check-icon {font-size: 18px;}
.pg-empty-message {text-align: center;padding: 0px;color: #999;font-size: 16px;}
.pg-empty-message-icon {font-size: 48px;margin-bottom: 15px;opacity: 0.5;}

/* 반응형 */
@media screen and (max-width: 1024px) {
	.pg-reservation-layout {flex-direction: column;}
	.pg-calendar-wrapper {flex: 1;width: 100%;max-width: 100%;}
	.pg-session-wrapper {width: 100%;min-width: auto;}
}

@media screen and (max-width: 768px) {
	.pg-procedure {flex-direction: column;gap: 30px;}
	.pg-procedure-step:not(:last-child):after {display: none;}
	.pg-info-banner {flex-direction: column;text-align: center;}
	.pg-calendar-wrapper {overflow-x: auto;-webkit-overflow-scrolling: touch;}
	.pg-calendar-table {min-width: 100% !important;width: 100%;font-size: 12px;}
	.pg-calendar-table thead th {padding: 8px 4px;font-size: 12px;}
	.pg-calendar-table tbody td {padding: 6px 2px;height: 45px;min-width: 0;}
	.pg-date-number {font-size: 13px;margin-bottom: 2px;}
	.pg-date-status {width: 6px;height: 6px;margin-top: 2px;}
	.pg-session-item {padding: 15px;}

    /* 모바일에서 테이블 숨기고 카드형으로 표시 */
	.pg-session-table {display: none;}
	.pg-session-card-info {display: flex; margin-left:30px;}
	.pg-session-card-row {display: flex;justify-content: space-between;align-items: center; gap:0 10px; padding: 8px 0;font-size: 14px;width: 100%;margin-left:0;}
	.pg-session-card-label {display: block;font-weight: 600;color: #666;}
	.pg-session-card-value {color: #333;}
}

@media screen and (max-width: 480px) {
	.pg-reservation-section {padding: 15px 10px;}
	.pg-reservation-title {font-size: 20px;margin-bottom: 20px;padding-bottom: 10px;}
	.pg-calendar-wrapper {flex: 1;overflow-x: auto;padding: 0 5px;}
	.pg-calendar-header {margin-bottom: 15px;}
	.pg-calendar-nav button {width: 32px;height: 32px;font-size: 20px;}
	.pg-calendar-month {font-size: 18px;}
	.pg-calendar-table {font-size: 11px;min-width: 100% !important;}
	.pg-calendar-table thead th {padding: 6px 2px;font-size: 11px;}
	.pg-calendar-table tbody td {height: 38px;padding: 4px 1px;}
	.pg-date-number {font-size: 12px;margin-bottom: 1px;}
	.pg-date-status {width: 5px;height: 5px;margin-top: 1px;}
	.pg-calendar-legend {flex-direction: column;gap: 10px;align-items: flex-start;margin-top: 15px;font-size: 12px;}
	.pg-session-header {/*flex-direction: column;align-items: flex-start;*/ align-items: center; justify-content: flex-start; gap: 8px;margin-bottom: 20px;padding-bottom: 12px;}
	.pg-session-date {font-size: 18px;}
	.pg-session-item {padding: 12px;}
	.pg-session-header-row {flex-wrap: wrap;gap:0 10px;}
	.pg-session-radio {margin-right: 10px;width: 18px;height: 18px;}
	.pg-session-badge {padding: 4px 10px;font-size: 12px;margin-right: 10px;}
	.pg-session-time {font-size: 14px;}
	.pg-session-card-info {width:100%; margin-top: 10px;padding-top: 10px; border-top: 1px solid #e9ecef;}
	.pg-session-card-row {padding:0;font-size: 13px;justify-content: flex-start;}
	.pg-btn-reserve {width: 100%;justify-content: center;padding: 14px 20px;font-size: 15px;}
}

/* 신청 폼 페이지 스타일 */
.pg-form-section {background: #fff;border-radius: 12px;padding: 25px;margin-bottom: 30px;box-shadow: 0 2px 8px rgba(0,0,0,0.1);}
.pg-form-header {display: flex;align-items: center;gap: 12px;margin-bottom: 20px;font-size: 20px;font-weight: 600;color: #333;}
.pg-form-icon {font-size: 24px;}
.pg-form-date {color: #333;}
.pg-session-selected {}
.pg-session-block {display: inline-flex;align-items: center;gap: 15px;padding: 15px 20px;background: #f8f9fa;border: 2px dashed #dee2e6;border-radius: 8px;}
.pg-session-block .pg-session-badge {background: #ffc107;color: #333;padding: 6px 14px;border-radius: 20px;font-size: 14px;font-weight: 600;}
.pg-session-block .pg-session-time {font-size: 15px;color: #666;font-weight: 500;}
.pg-session-remaining {font-size: 14px;color: #666;}
.pg-session-remaining strong {color: #28a745;font-size: 16px;}
.pg-form-container {background: #fff;border-radius: 12px;padding: 30px;margin-bottom: 30px;box-shadow: 0 2px 8px rgba(0,0,0,0.1);display: grid;grid-template-columns: 1fr 1fr;gap: 25px 30px;}
.pg-form-group {margin-bottom: 0;}

/* 전체 너비가 필요한 필드는 2단 전체 사용 */
.pg-form-group.pg-form-group-full {grid-column: 1 / -1;}
.pg-form-group:last-child {margin-bottom: 0;}
.pg-form-label {display: block;font-weight: 600;color: #333;margin-bottom: 10px;}
.pg-required {color: #d23836;margin-left: 3px;}
.pg-form-value {font-size: 15px;color: #666;padding: 12px;background: #f8f9fa;border-radius: 6px;}
.pg-form-radio-group {display: flex;gap: 20px;flex-direction: row;align-items: center;}
.pg-radio-label {display: flex;align-items: center;gap: 8px;cursor: pointer;font-size: 15px;color: #333;}
.pg-radio-label input[type="radio"] {width: 18px;height: 18px;cursor: pointer;}
.pg-radio-label input[type="radio"]:disabled {cursor: not-allowed;opacity: 0.6;}
.pg-radio-text {user-select: none;}
.pg-form-input {width: 100%;padding: 12px 15px !important;border: 1px solid #dee2e6;border-radius: 6px;font-size: 15px;color: #333;transition: all 0.2s;}
.pg-form-input:focus {outline: none;border-color: #4079e6;box-shadow: 0 0 0 3px rgba(64, 121, 230, 0.1);}
.pg-form-phone {display: flex;align-items: center;gap: 8px;}
.pg-phone-input {flex: 1;max-width: 120px;text-align: center;}
.pg-phone-separator {font-size: 18px;color: #999;font-weight: 600;}
.pg-form-people {background: #f8f9fa;padding: 20px;border-radius: 8px;}
.pg-people-info {font-size: 16px;font-weight: 600;color: #333;margin-bottom: 10px;}
.pg-total-count {color: #4079e6;font-size: 18px;}
.pg-people-note {font-size: 14px;color: #666;margin-bottom: 15px;padding-bottom: 15px;border-bottom: 1px solid #dee2e6;}
.pg-people-selects {display: grid;grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));gap: 18px;}
.pg-people-item {display: flex;align-items: center;justify-content: flex-start;}
.pg-people-label {font-size: 15px;color: #333;font-weight: 500;min-width: 60px;}
.pg-form-select {padding: 10px 15px;border: 1px solid #dee2e6;border-radius: 6px;font-size: 15px;color: #333;background: #fff;cursor: pointer;min-width: 80px;}
.pg-form-select:focus {outline: none;border-color: #4079e6;box-shadow: 0 0 0 3px rgba(64, 121, 230, 0.1);}
.pg-form-textarea {width: 100%;padding: 12px 15px;border: 1px solid #dee2e6;border-radius: 6px;font-size: 15px;color: #333;resize: vertical;font-family: inherit;transition: all 0.2s;}
.pg-form-textarea:focus {outline: none;border-color: #4079e6;box-shadow: 0 0 0 3px rgba(64, 121, 230, 0.1);}
.pg-form-note {font-size: 13px;color: #999;margin-top: 0;padding-top: 15px;border-top: 1px solid #e9ecef;}
.pg-form-note.pg-form-group-full {grid-column: 1 / -1;}

/* 개인정보 동의 섹션 */
.pg-privacy-section {background: #fff;border-radius: 12px;padding: 25px;margin-bottom: 30px;box-shadow: 0 2px 8px rgba(0,0,0,0.1);}
.pg-privacy-header {display: flex;align-items: center;gap: 12px;margin-bottom: 20px;font-size: 18px;font-weight: 600;color: #333;}
.pg-privacy-icon {font-size: 24px;}
.pg-privacy-content {color: #555;line-height: 1.8;}
.pg-privacy-intro {font-size: 0.9em;margin-bottom: 15px;color: #666;}
.pg-privacy-list {list-style: none;padding: 0;margin: 15px 0;}
.pg-privacy-list li {font-size: 0.9em;padding: 8px 0;padding-left: 20px;position: relative;}
.pg-privacy-list li:before {content: "•";position: absolute;left: 0;color: #666;}
.pg-privacy-note {font-size: 0.9em;color: #666;margin: 15px 0;padding: 12px;background: #f8f9fa;border-radius: 6px;border-left: 3px solid #4079e6;}
.pg-privacy-warning {font-size: 0.9em;color: #d23836;margin: 15px 0;padding: 12px;background: #fff5f5;border-radius: 6px;border-left: 3px solid #d23836;}
.pg-privacy-consent {display: flex;gap: 20px;margin-top: 20px;padding-top: 20px;border-top: 1px solid #e9ecef;justify-content: flex-end;}
.pg-checkbox-label {display: flex;align-items: center;gap: 8px;cursor: pointer;font-size: 15px;color: #333;}
.pg-checkbox-label input[type="radio"] {width: 18px;height: 18px;cursor: pointer;}
.pg-checkbox-text {user-select: none;}

/* 버튼 영역 */
.pg-form-buttons {display: flex;justify-content: center;gap: 15px;margin-top: 40px;padding-top: 30px;border-top: 1px solid #e9ecef;}
.pg-btn-submit {display: inline-flex;align-items: center;gap: 8px;padding: 16px 40px;background: #28a745;color: #fff;border: none;border-radius: 8px;font-size: 16px;font-weight: 600;cursor: pointer;transition: all 0.3s ease;box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2);}
.pg-btn-submit:hover {background: #218838;transform: translateY(-2px);box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);}
.pg-btn-submit:active {transform: translateY(0);box-shadow: 0 2px 6px rgba(40, 167, 69, 0.2);}
.pg-btn-icon {font-size: 18px;}
.pg-btn-cancel {display: inline-flex;align-items: center;justify-content: center;padding: 16px 40px;background: #fff;color: #333;border: 1px solid #dee2e6;border-radius: 8px;font-size: 16px;font-weight: 600;text-decoration: none;cursor: pointer;transition: all 0.3s ease;}
.pg-btn-cancel:hover {background: #f8f9fa;border-color: #adb5bd;color: #333;text-decoration: none;}

/* 모바일 반응형 */
@media screen and (max-width: 768px) {
	.pg-form-section, .pg-form-container, .pg-privacy-section {padding: 20px;}
	.pg-form-header {font-size: 18px;}
	.pg-session-block {flex-direction: column;align-items: flex-start;gap: 10px;width: 100%;}
	.pg-form-container {grid-template-columns: 1fr;gap: 20px;}
	.pg-form-group {margin-bottom: 0;}
	.pg-form-group.pg-form-group-full {grid-column: 1;}
	.pg-form-note.pg-form-group-full {grid-column: 1;}
	.pg-form-radio-group {display: flex;gap: 12px;}
	.pg-form-phone {flex-wrap: wrap;}
	.pg-phone-input {max-width: 100%;flex: 1 1 calc(30% - 10px);}
	.pg-people-item {flex-direction: column;align-items: flex-start;gap: 8px;}
	.pg-form-select {width: 100%;}
	.pg-privacy-consent {flex-direction: column;align-items: stretch;}
	.pg-form-buttons {flex-direction: column;}
	.pg-btn-submit, .pg-btn-cancel {width: 100%;justify-content: center;}
}

/* 완료 페이지 스타일 */
.pg-complete-section {background: #f8f9fa;min-height: 60vh;padding: 40px 20px;display: flex;align-items: center;justify-content: center;}
.pg-complete-container {background: #fff;border-radius: 16px;padding: 50px 40px;max-width: 600px;width: 100%;box-shadow: 0 4px 20px rgba(0,0,0,0.1);text-align: center;}
.pg-complete-icon {margin-bottom: 30px;}
.pg-icon-check {display: inline-flex;align-items: center;justify-content: center;width: 100px;height: 100px;background: #28a745;color: #fff;border-radius: 50%;font-size: 60px;font-weight: 700;box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);}
.pg-complete-header {margin-bottom: 40px;}
.pg-complete-title {font-size: 28px;font-weight: 700;color: #333;margin-bottom: 10px;}
.pg-complete-subtitle {font-size: 16px;color: #666;}
.pg-complete-info {background: #f8f9fa;border-radius: 12px;padding: 30px;margin-bottom: 30px;text-align: left;}
.pg-info-item {display: flex;justify-content: space-between;align-items: flex-start;padding: 15px 0;border-bottom: 1px solid #e9ecef;}
.pg-info-item:last-child {border-bottom: none;}
.pg-info-label {font-size: 15px;font-weight: 600;color: #666;min-width: 100px;flex-shrink: 0;}
.pg-info-value {font-size: 15px;color: #333;text-align: right;flex: 1;word-break: break-word;}
.pg-complete-notice {background: #e7f3ff;border-left: 4px solid #4079e6;border-radius: 8px;padding: 20px;margin-bottom: 30px;text-align: left;}
.pg-notice-text {font-size: 14px;color: #333;line-height: 1.8;margin: 0;}
.pg-complete-buttons {display: flex;gap: 15px;justify-content: center;flex-wrap: wrap;}
.pg-btn-complete-primary {display: inline-flex;align-items: center;gap: 8px;padding: 16px 40px;background: #4079e6;color: #fff;border: none;border-radius: 8px;font-size: 16px;font-weight: 600;text-decoration: none;cursor: pointer;transition: all 0.3s ease;box-shadow: 0 2px 8px rgba(64, 121, 230, 0.2);}
.pg-btn-complete-primary:hover {background: #2d5aa0;color: #fff;text-decoration: none;box-shadow: 0 4px 12px rgba(64, 121, 230, 0.3);transform: translateY(-2px);}
.pg-btn-complete-secondary {display: inline-flex;align-items: center;justify-content: center;padding: 16px 40px;background: #fff;color: #333;border: 1px solid #dee2e6;border-radius: 8px;font-size: 16px;font-weight: 600;text-decoration: none;cursor: pointer;transition: all 0.3s ease;}
.pg-btn-complete-secondary:hover {background: #f8f9fa;border-color: #adb5bd;color: #333;text-decoration: none;}
.pg-btn-icon {font-size: 18px;}

/* 모바일 반응형 */
@media screen and (max-width: 768px) {
	.pg-complete-section {padding: 20px 15px;}
	.pg-complete-container {padding: 30px 20px;}
	.pg-icon-check {width: 80px;height: 80px;font-size: 50px;}
	.pg-complete-title {font-size: 24px;}
	.pg-complete-subtitle {font-size: 14px;}
	.pg-complete-info {padding: 20px;}
	.pg-info-item {flex-direction: column;align-items: flex-start;gap: 8px;}
	.pg-info-label {min-width: auto;}
	.pg-info-value {text-align: left;}
	.pg-complete-buttons {flex-direction: column;}

	.pg-btn-complete-primary,
	.pg-btn-complete-secondary {width: 100%;justify-content: center;}
}

/* 예약 내역 테이블형 스타일 (데스크톱) */
.pg-reservation-table-wrapper {display: block;width: 100%;border: 1px solid #e9ecef;border-radius: 8px;overflow: hidden;background: #fff;}
.pg-table-header {display: grid;grid-template-columns: 18% 8% 8% 12% 18% 12% 12% 12%;background: #f8f9fa;border-bottom: 2px solid #dee2e6;font-weight: 600;color: #333;}
.pg-table-row {display: grid;grid-template-columns: 18% 8% 8% 12% 18% 12% 12% 12%;border-bottom: 1px solid #e9ecef;transition: background 0.2s;}
.pg-table-row:hover {background: #f8f9fa;}
.pg-table-row.pg-table-detail {grid-template-columns: 1fr;background: #f8f9fa;padding: 12px 15px;}
.pg-table-cell {padding: 10px 12px;font-size: 16px;color: #333;display: flex;align-items: center;justify-content: center;}
.pg-table-header .pg-table-cell {padding: 15px 12px;font-size: 1em;font-weight: 600;color: #333;text-align: center;justify-content: center;}
.pg-table-cell:last-child {border-right: none;}
.pg-cell-site {flex-direction: column;align-items: flex-start;gap: 5px;}
.pg-cell-site-name {font-weight: 600;color: #4079e6;}
.pg-cell-site-date {font-size: 1em;font-weight: 600;color: #666;}
.pg-cell-action {justify-content: center;}
.pg-cell-people {flex-direction: row;align-items: center;gap: 10px;flex-wrap: wrap;}
.pg-people-main {font-size: 14px;color: #333;font-weight: 500;white-space: nowrap;}
.pg-people-detail {font-size: 14px;color: #666;line-height: 1.4;}

/* 예약 내역 카드형 스타일 (모바일) */
.pg-reservation-list {display: none;flex-direction: column;gap: 20px;}
.pg-reservation-card {background: #fff;border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0,0,0,0.1);border-left: 4px solid #4079e6;transition: all 0.3s ease;}
.pg-reservation-card:hover {box-shadow: 0 4px 12px rgba(0,0,0,0.15);transform: translateY(-2px);}
.pg-card-header {display: flex;justify-content: space-between;align-items: flex-start;margin-bottom: 20px;padding-bottom: 15px;border-bottom: 2px solid #e9ecef;flex-wrap: wrap;gap: 10px;}
.pg-card-site {font-size: 16px;font-weight: 700;color: #4079e6;}
.pg-card-date {font-size: 15px;color: #666;font-weight: 500;}
.pg-card-body {display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 15px 20px;margin-bottom: 20px;}
.pg-card-row {display: flex;align-items: flex-start;gap: 10px;}
.pg-card-row.pg-card-detail {grid-column: 1 / -1;padding-top: 15px;border-top: 1px solid #f0f0f0;margin-top: 5px;}
.pg-card-label {font-size: 14px;font-weight: 600;color: #666;min-width: 80px;flex-shrink: 0;}
.pg-card-value {font-size: 14px;color: #333;flex: 1;word-break: break-word;}
.pg-card-footer {display: flex;justify-content: flex-end;align-items: center;padding-top: 15px;border-top: 1px solid #e9ecef;}
.pg-btn-cancel {display: inline-flex;align-items: center;justify-content: center;padding: 10px 24px;background: #dc3545;color: #fff;border: none;border-radius: 6px;font-size: 14px;font-weight: 600;cursor: pointer;transition: all 0.3s ease;box-shadow: 0 2px 4px rgba(220, 53, 69, 0.2);}
.pg-btn-cancel:hover {background: #c82333;box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);transform: translateY(-1px); color:#fff;}
.pg-btn-cancel:active {transform: translateY(0);}
.pg-no-action {font-size: 14px;color: #999;font-style: italic;}

/* 예약 내역 리스트 반응형 */
@media screen and (max-width: 1024px) {
    /* 테블릿/모바일에서 인원 상세 세로 배치 */
    .pg-cell-people {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}

@media screen and (max-width: 768px) {
    /* 데스크톱 테이블형 숨기기 */
	.pg-reservation-table-wrapper {display: none;}
	/* 모바일 카드형 표시 */.pg-reservation-list {display: flex;gap: 15px;}
	.pg-reservation-card {padding: 15px;}
	.pg-card-header {flex-direction: column;align-items: flex-start;gap: 8px;margin-bottom: 15px;padding-bottom: 12px;}
	.pg-card-site {font-size: 15px;}
	.pg-card-date {font-size: 1em;font-weight: 600;}
	.pg-card-body {grid-template-columns: 1fr;gap: 12px;margin-bottom: 15px;}
	.pg-card-row {flex-direction: row;align-items: center;gap: 10px;}
	.pg-card-label {min-width: 80px;flex-shrink: 0;font-weight: 600;color: #666;}
	.pg-card-value {flex: 1;font-size: 14px;color: #333;text-align: left;}
	.pg-people-main {font-size: 13px;color: #333;font-weight: 500;margin-bottom: 4px;}
	.pg-people-detail {font-size: 12px;color: #666;line-height: 1.4;}
	.pg-card-footer {padding-top: 12px;}
	.pg-btn-cancel {width: 100%;padding: 12px 20px;font-size: 15px;}
}

@media screen and (max-width: 480px) {
	.pg-reservation-card {padding: 12px;}
	.pg-card-header {margin-bottom: 12px;padding-bottom: 10px;}
	.pg-card-body {gap: 10px;margin-bottom: 12px;}
	.pg-card-row.pg-card-detail {padding-top: 12px;margin-top: 3px;}
}
