.reservation-section {
  max-width: 1360px;
  margin: 0 auto;
  padding: 80px 20px;
  
}

/* 헤더 스타일 */
.res-header { text-align: center; margin-bottom: 50px; }
.res-title { color: #4A81E3; font-size: 24px; margin-bottom: 30px; }
.tab-group { margin-bottom: 40px; font-size: 14px; font-weight: bold; }
.tab-item { 
  margin: 0 15px; 
  color: #4A81E3; 
  cursor: pointer;
  font-size: var(--fs--bd1);
  font-weight: var(--fw-med); }
.tab-item.highlight { 
  color: #FFB300;
  font-size: var(--fs--bd1);
  font-weight: var(--fw-med); }
.class-title { 
  font-size: 22px; 
  color: #4A81E3; 
  margin-bottom: 8px; }
.class-subtext { 
  font-size: 14px; 
  color: #666; }


.tab-menu a {
    text-decoration: none;
    font-size: var(--fs--bd1);
    font-weight: var(--fw-med);
    color: var(--pm-color-500);
}

/* 메인 레이아웃 (지도 & 폼) */
.map-container {
    flex: 1;
    height: auto;
    aspect-ratio: 1/0.6;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.map-container iframe {
  width: 100%;
  height: 100%;
  display: block;
}

/* 예약 폼 상세 스타일 */
.form-container {
    flex: 0.9;
    background-color: #F1F5FF;
    padding: 40px 30px;
    display: flex;
    flex-direction: row;
    /* justify-content: center; */
    gap: 1rem;
}
.form-container>*{
  flex:1;
}
.input-row {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}

.input-row label {
  width: 70px;
  font-size: 13px;
  font-weight: bold;
}

.input-row input {
  flex: 1;
  border: none;
  border-radius: 4px;
  padding: 8px 12px;
  background-color: #fff;
}

.submit-btn {
  width: 100%;
  padding: 14px;
  background-color: #447EEF; /* 버튼 파란색 */
  color: white;
  border: none;
  border-radius: 25px;
  font-weight: bold;
  margin-top: 20px;
  cursor: pointer;
}

/* 하단 유의사항 스타일 */
.notice-section {
  border-top: 1px solid #E9EDF5;
  padding-top: 40px;
}

.notice-title { color: #4A81E3; font-size: 15px; margin-bottom: 25px; }
.notice-item {
  display: flex;
  margin-bottom: 15px;
  font-size: 13px;
  line-height: 1.6;
}

.notice-item .label {
  font-weight: bold;
  min-width: 80px;
  margin-right: 20px;
}

.notice-item p { margin: 0; color: #555; }

.notice-full-width {
  width: 100%;
  background-color: #F8F9FB; /* 원하는 배경색 */
}

.notice-inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
}

@media (max-width: 1024px) {
    .notice-item {
      display: flex;
      margin-bottom: 15px;
      font-size: 13px;
      line-height: 1.6;
      flex-direction: column;
      gap: 0.5rem;
  }
}
@media (max-width: 768px) {
    .notice-item {
  
    }

    .form-container {
      padding: 2rem 1.5rem;
      flex-direction: column;
      gap: 1rem;
  }
}

@media (max-width:340px){
    .input-row {
      display: flex;
      align-items: stretch;
      margin-bottom: 12px;
      flex-direction: column;
      gap: .5rem;
  }
}