.formmain{border: 1px solid #e6e6e6;margin-bottom: 20px;}
.formmaintl{font-size: 18px;font-weight: bold;text-align: center;background:#f3e9df;padding: 10px 0px;color: #8b776d;margin: 0px;}
.formmainbody{padding: 15px 15px 5px 15px;}
.formTabTl{font-size: 22px;font-weight: bold;color: #555555;margin: 20px 0px 15px 0px;}
.formTabHint{color: #EA6152;font-weight: bold;line-height: 25px;margin-bottom: 10px;}
.formGpC{margin-bottom: 2px;}
.requiredIco{font-size: 16px!important;font-weight: bold;color: #EC6D6C;line-height: 48px;}
.formGpCRt{padding-left: 25px;}
.formGpinp{-webkit-appearance:none;background-color: #f1f1f1;height: 48px!important;line-height: 48px;border: none;box-sizing: border-box;padding: 0px 15px;font-size: 12px;width: 100%;}
.formGpSurname{width: 23%;margin-right: 2%;}
.formGpName{width: 33%;margin-right: 2%;}
.formGpSexGp{line-height: 48px;font-size: 16px;color: #666666;}
.formGpSexGp input{width: 16px;height: 16px;vertical-align: -2px;}
.formGpSexGp{margin-right: 10px;}
.formGpSex label{font-weight: normal;font-size: 12px;}
.form-note p{color: #dc5555;line-height: 19px;font-size: 12px;}
.formTl{color: #999999;font-size: 18px;font-weight: bold;padding: 7px 0px 15px 25px;margin: 0px;}
.form-hint-item{padding-left: 25px;}
@media (max-width: 767px){
	.formTl{font-size: 16px;}
	.form-hint-item{padding-left: 0px;}
	.form-note p{padding: 0!important;}
}
.formGptown{width: 49%;}
.formGpC select{background: #f1f1f1;height: 48px;border: none;box-sizing: border-box;padding: 0px 10px;font-size: 12px;width: 100%;}
.formGpPl{padding-left: 25px;}
.formTl .requiredIco{line-height: normal;}
.formTl .formGpCRt{font-size: 18px;line-height: 22px;}
.formcheck{margin-left: 25px;margin-bottom: 8px;}
.formservice{display: none;}
.formupload{position: relative;width: 80%;margin-bottom: 10px;}
.formupload input[type="file"]{position: absolute;width: 100%;left: 0;height: 100%;top: 0;opacity: 0;}
.formupload input[type="button"]{width: 30%;background:#8b776d;-webkit-appearance:none;border: none;border-radius: 0;color: #fff;font-size: 14px;text-align: center;height: 40px;line-height: 40px;}
#uploadPath{display: block;width: 70%;height: 40px;line-height: 40px;background: #ececec;font-size: 14px;box-sizing: border-box;padding: 0px 10px;}
.formcheckGp{margin-bottom: 10px;font-size: 16px;color: #666666;margin-right: 10px;line-height: 20px;}
.formcheckGp input[type="checkbox"],.formcheckGp input[type="radio"]{width: 16px;height: 16px;display: block;margin-top: 0px;margin-top: 2px;}
.formcheckGp label{line-height: 16px;font-weight: normal;font-size:12px;}
.formcheckGpRt{padding-left: 24px;}
.small-form{padding: 0;margin: 10px 0;}
.formcheckGpRt input{-webkit-appearance:none;display: inline-block;width: 115px;border: none;border-bottom: 1px solid #b8b5b2;margin-left: 10px;margin-right: 10px;height: 20px;line-height: 20px;background: none;vertical-align: top;font-size:12px;}
.formcheckGpRt .small-input-item{width: 60px;}
.formGpPer{width: 32.3%;}
.formGpTime{width: 31.3%;margin: 0px 2%;}
.formGpDate{width: 32.3%;}
.formGpinpDate{/*background-image: url(../images/sj.png);*/background-repeat: no-repeat;background-position: 96% center;}
.formGpC textarea{-webkit-appearance:none;background-color: #f1f1f1;height: 160px;line-height: 48px;border: none;box-sizing: border-box;padding: 10px 15px;font-size: 12px;width: 100%;font-family: "微軟正黑體";resize: none;overflow: auto;line-height: 25px;}
.formGpB{margin-bottom: 10px;}
.formGpBtn{-webkit-appearance:none;background: #8b776d;color: #fff;font-size: 16px;font-weight: bold;border-radius: 5px;cursor: pointer;height: 32px;width: 150px;text-align: center;line-height: 32px;border: none;margin-top: 40px;}
.formPhone{display: none;}
.formLink .xinde-share2{padding: 0px;}
.formLink{padding-top: 15px;}
@media (max-width: 767px){
.formcontainer{ width: 100%;box-sizing: border-box;padding: 0px 5px;}
.formTabA{display: none;}
.formText{width: 100%;}
.formGpSex{width: 100%;box-sizing: border-box;padding-left: 25px;}
.formGpSurname{width: 36%;}
.formGpName{width: 53%;}
.formGpDate{width: 49%;}
.formGpTime{width: 49%;margin-left: 2%;margin-right: 0px;margin-bottom: 8px;}
.formGpPer{float: left!important;width: 49%;}
.formoutside{width: 100%;padding-top: 7px;}
.formGpBtn{float: left!important;margin-top: 20px;margin-left: 25px;}
.formPhone{display: block;border: 1px solid #d7d7d7;background: #f2f2f2;height: 40px;padding: 0px 10px;font-size: 16px;box-sizing: border-box;width: 100%;}
.formLink{margin-bottom: 10px;}
.xinde-share1{padding-bottom: 10px;}
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #c1c1c1;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #c1c1c1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #c1c1c1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #c1c1c1;
}
.form-group-other{position: relative;padding-right: 130px;}
.send-button{position: absolute;height: 48px;background: #8b776d;color: #fff;-webkit-appearance: none;font-size: 12px;text-align: center;right: 0;top: 0;width: 120px;text-align: center;border: none;cursor: pointer;}
@media (min-width: 1080px){
	.send-button:hover{opacity: 0.8;}
}
.step2-div{display:none;}
.check-input{width:70%;}
.message-button{right: auto; top: auto; height: 30px; width: 84px;margin-left:10px;border-radius: 5px;}
.successtext {
    border: 1px solid #3c763d !important;
}

/* ===== Select2 客製樣式（給 #reservation_item_new 用） ===== */

/* 關閉狀態的本體 */
#reservation_item_new + .select2-container .select2-selection--single {
    height: 35px;
    border: 1px solid #d8cab6;
    border-radius: 6px;
    background-color: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

/* 本體裡顯示的文字 */
#reservation_item_new + .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 33px;
    padding-left: 16px;
    padding-right: 36px;
    font-size: 13px;       /* 16px 可避免 iOS 點下去時自動放大 */
    color: #333;
    font-weight: 400;
}

/* placeholder（請選擇預約項目）顏色 */
#reservation_item_new + .select2-container .select2-selection--single .select2-selection__placeholder {
    color: #999;
}

/* 右側下拉箭頭 */
#reservation_item_new + .select2-container .select2-selection--single .select2-selection__arrow {
    height: 33px;
    right: 7px;
}

/* 聚焦狀態 */
#reservation_item_new + .select2-container--open .select2-selection--single,
#reservation_item_new + .select2-container--focus .select2-selection--single {
    border-color: #b89a78;
    box-shadow: 0 0 0 3px rgba(184, 154, 120, 0.18);
    outline: none;
}

/* ===== 展開後的下拉清單 ===== */

/* 整個下拉外框 */
.select2-dropdown {
    border: 1px solid #d8cab6;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(120, 90, 50, 0.12);
    overflow: hidden;
}

/* optgroup 群組標題（這次 iOS 也吃得到了） */
.select2-results__group {
    font-size: 16px;
    font-weight: 700;
    color: #b89a78;
    background-color: #faf4ea;
    padding: 12px 16px;
    letter-spacing: 0.5px;
}

/* 每個 option */
.select2-results__option {
    font-size: 15px;
    color: #444;
    padding: 12px 16px 12px 28px;   /* 左邊縮排，做出群組層級感 */
    line-height: 1.5;
}

/* 鍵盤上下／滑鼠 hover 的選項 */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #b89a78;
    color: #fff;
}

/* 已選取的選項（再次打開時看得到的標記） */
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #f5ebdb;
    color: #333;
}

/* 「請選擇預約項目」這種無 value 的提示選項 */
.select2-results__option[role="presentation"] {
    color: #999;
}

/* ===== 手機微調 ===== */
@media (max-width: 768px) {
    #reservation_item_new + .select2-container .select2-selection--single {
        height: 38px;
    }
    #reservation_item_new + .select2-container .select2-selection--single .select2-selection__rendered {
        line-height: 36px;
        font-size: 13px;  /* 維持 16px，避免 iOS 自動 zoom */
    }
    .select2-results__group {
        font-size: 15px;
        padding: 10px 14px;
    }
    .select2-results__option {
        font-size: 14px;
        padding: 11px 14px 11px 24px;
    }
}