body{
        background: #fbf9f9;
    }
    .page-introduce{
            padding-bottom:40px;
    }
    .container {
        max-width: 1160px;
        margin: 0 auto;
        padding-top: 25px;
    }
    .reserv-sub-main-title{
            color:#90703c;
    }
    h1 {
        text-align: center;
        font-size: 2rem;
        margin-bottom: 30px;
    }
    
    /* ===========================
        객실 예약 리스트
    =========================== */
    .room-section {
        margin-bottom: 20px;
    
        border-radius: 10px;
        overflow: hidden;
    }
    
    .room-table-header {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        border-top:3px double #A5A3A4;
        border-bottom:1px solid #A5A3A4;
        padding: 4px 16px;
        font-weight: bold;
        font-size: 1rem;
    }
    
    .room-card {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        align-items: center;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        padding: 8px 16px;
        font-size: 0.95rem;
    }
    .room-card:last-child {
        border-bottom: 3px double #A5A3A4;
    }
    .room-card > div {
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-right: 1px solid #e5e7eb; /* 세로줄 */
    }
    .room-table-header > div {
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        border-right: 1px solid #e5e7eb;
    }
    .room-card > div:last-child {
        border-right: none;
    }
    .room-card select {
        padding: 6px;
        border: 1px solid #ccc;
        border-radius: 6px;
        width: 100%;
    }
    
    .room-summary {
        text-align: right;
        font-size: 1.05rem;
        font-weight: bold;
        margin-top: 10px;
        color: #111;
    }
    
    .room-summary span {
        color: #3b82f6;
    }
    
    /* ===========================
        안내 문구
    =========================== */
    .notice-box {
        background: #fff7ed;
        border: 1px solid #fcd34d;
        padding: 1.25rem;
        border-radius: 1rem;
        margin-top: 5rem;
        font-size: 0.95rem;
        line-height: 2.2;
        font-family: 'Nanum Gothic',Dotum,Helvetica,"Apple SD Gothic Neo",Sans-serif;
    }
    
    
    /* ===========================
        예약자 정보 입력
    =========================== */
    .form-wrapper {
        background: white;
        padding: 30px;
        
        border-bottom: 3px double #A5A3A4;
        border-top: 3px double #A5A3A4;
    }
    
    .form-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 15px;
    }
    
    .form-group {
        display: flex;
        flex-direction: column;
    }
    
    .form-group label {
        font-weight: 600;
        margin-bottom: 10px;
        margin-top: 5px;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 7px;
        border: 1px solid #ccc;
        border-radius: 8px;
        font-size: 0.8rem;
        width: 80% !important;
    }
    
    .form-group textarea {
        resize: vertical;
        height: 100px;
    }
    
    .radio-group {
        display: flex;
        gap: 15px;
    }
    
    .submit-btn {
        margin-top: 30px;
        padding: 14px;
        background-color: #3b82f6;
        color: white;
        border: none;
        border-radius: 10px;
        font-size: 1.1rem;
        width: 100%;
        cursor: pointer;
    }
    
    .label-mobile {
        display: none;
        font-weight: bold;
        color: #6b7280;
        font-size: 0.85rem;
        margin-right: 5px;
    }
    /* 기본 성별 버튼 스타일 */
    .gender-buttons {
        display: flex;
        gap: 10px;
    }
    
    .gender-buttons input[type="radio"] {
        display: none;
    }
    
    .gender-buttons label {
        flex: 1;
        text-align: center;
        padding: 6px 0;
        border: 1px solid #ccc;
        border-radius: 8px;
        background-color: #f1f5f9;
        font-weight: 500;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }
    
    /* 선택된 버튼 강조 */
    .gender-buttons input[type="radio"]:checked + label {
        background-color: #3b82f6;
        color: white;
        border-color: #3b82f6;
    }
    @media (max-width: 600px) {
    .label-mobile {
        display: inline-block;
    }
    /* 헤더 숨김 */
    .room-table-header {
        display: none;
    }
    
    .room-card {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px;
        border-bottom:1px solid #90703c;
    }
    
    .room-card > div {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        text-align: left;
        border-right: none;
        border-bottom: 1px dashed #e5e7eb;
        padding-bottom: 6px;
    }
    
    .room-card > div:last-child {
        border-bottom: none;
    }
    
    .room-card:last-child {
        border-bottom: 1px solid black;
    }
    
    .room-summary {
        text-align: center;
    }
    
    .room-card:last-child {
      border-bottom: none;
    }
    
    .room-card select{
        width:30%;
    }
    
    .form-grid{
            gap:15px;
    }
    .gender-buttons label {
        flex: 1 1 50%;
      }
    }
    
    textarea::placeholder{
        font-family: inherit;
        font-size: inherit;
        color:#555;
    }
      /* 모달 공통 */
    .modal{
        position:fixed;
        inset:0;
        display:none;
        align-items:center;
        justify-content:center;
        background:rgba(0,0,0,.45);z-index:9999;}
    .modal.open{display:flex;}
    .modal_content{
        width:min(650px,92vw);
        max-height:88vh;
        background:#fff;
        border-radius:12px;
        padding:16px 16px 12px;
        box-shadow:0 10px 30px rgba(0,0,0,.2);
        font-size:clamp(13px,2.4vw,16px);}
    .modal_content h3{
        margin:0 0 8px;
        font-size:clamp(15px,2.8vw,18px);}
    .modal_body{
        overflow:auto;
        padding:8px 4px 12px;
        line-height:1.5;
        border-top:1px solid #eee;
        border-bottom:1px solid #eee;}
    .modal_actions {
        display: flex;
        gap: 0;              
        padding: 0;             
        border-top: 1px solid #ddd;  
        }
        
    .modal_actions .btn {
        flex: 1;                     
        border: 0;                   
        border-radius: 0;          
        background: #fff;         
        padding: 14px 0;
        font-size: 16px;
        font-weight: 700;
        }
        
    .modal_actions .btn + .btn {
        border-left: 1px solid #ddd;
        }
        
    .modal_actions .btn_secondary { color: #333; }
    .modal_actions .btn_primary { color: #0a63d8; background: #fff; }
        
    .modal_actions .btn:active {
        background: #f5f5f5;
        }
              
    .btn{
        padding:8px 14px;
        border-radius:8px;
        border:1px solid #ddd;
        background:#f5f5f5;
        cursor:pointer}
    .btn_primary{
        background:#0a63d8;
        color:#fff;border-color:#0a63d8}
    .btn_secondary{background:#fff}
    
    
    .txt_c {
        height: 27px;
        width: 100px;
        background-color:fbf9f9;
        padding: 5px;
        border-radius: 5px;
        font-size:20px;
        border:0px;
    
        text-align:center;
        
    }