/* ==========================================================================
   หน้าขอใบเสนอราคา (quotation.php)
   โทนสีเดียวกับเว็บหลัก : แดง #C52226 / เทาข้อความ #7C7D80
   ========================================================================== */

#quotationPage {
  font-family: "thaisans_neueregular",'thaisanslite', Tahoma, Arial, sans-serif;
  color: #2f3033;
  background: #f4f5f7;
  padding-bottom: 60px;
}

#quotationPage b,#quotationPage h3{font-family: "thaisans_neuebold", 'thaisanslite', Tahoma, Arial, sans-serif;}

/* ---------- hero ---------- */
#quotationPage .qt-hero {
  position: relative;
  background: #C52226;
  background: linear-gradient(118deg, #d02427 0%, #a51a1d 100%);
  color: #fff;
  padding: 40px 0 92px;
  overflow: hidden;
}

/* วงกลมจาง ๆ กันพื้นหลังแดงแบนเกินไป */
#quotationPage .qt-hero:after {
  content: '';
  position: absolute;
  right: -90px;
  top: -130px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .055);
}

#quotationPage .qt-hero .container {
  position: relative;
  z-index: 2;
}

/* เผื่อความสูงให้มาสคอตแนวตั้งยืนได้เต็มตัว แล้วจัดข้อความไว้กึ่งกลางแนวตั้ง
   ที่ว่างจะกระจายบน-ล่างเท่ากันจนดูเป็นระยะหายใจ ไม่ใช่ช่องโหว่รอของมาถม
   มาสคอตเป็น absolute จึงไม่ถูก flex จัดตำแหน่งไปด้วย
   จอเล็กกว่า 992px ไม่มีมาสคอต hero จึงสูงตามเนื้อหาปกติ */
@media (min-width: 992px) {
  #quotationPage .qt-hero .container {
    min-height: 280px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

#quotationPage .qt-hero h1 {
  margin: 0 0 12px;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.25;
}

#quotationPage .qt-hero p {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
  max-width: 560px;
  color: rgba(255, 255, 255, .88);
}

#quotationPage .qt-hero-badges {
  margin-top: 22px;
  font-size: 0;
}

#quotationPage .qt-hero-badges span {
  display: inline-block;
  margin: 0 8px 8px 0;
  padding: 6px 14px;
  font-size: 13.5px;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 20px;
}

#quotationPage .qt-hero-badges .fa {
  margin-right: 6px;
}

/* บรรทัดสร้างความน่าเชื่อถือ ใช้ตัวอักษรแบน ๆ แทนการเอาโลโก้มาวางบนพื้นแดง
   จะได้ภาษาการออกแบบชุดเดียวกับหัวข้อและ badge ด้านบน */
#quotationPage .qt-hero-note {
  margin: 14px 0 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .62);
}

/* มาสคอตยืนอยู่มุมขวาของ hero
   รูปเป็นแนวตั้ง 485x1024 ถ้าย่อให้พอดีความสูง hero ป้ายในมือจะเล็กจนอ่านไม่ออก
   จึงตั้งใจขยายแล้วปล่อยให้ช่วงขาลงไปหลังการ์ดฝั่งขวา (.qt-body z-index 3)
   ได้ป้ายขนาดอ่านออกโดยไม่ต้องดัน hero ให้สูงกว่านี้
   ตัวรูปอยู่ใน .container ที่ z-index 2 จึงถูกการ์ดทับพอดีโดยไม่ต้องตั้ง z-index เอง */
#quotationPage .qt-hero-mascot {
  position: absolute;
  right: 15px;
  bottom: -130px;
  height: 420px;
  width: auto;
  pointer-events: none;
}

/* ---------- body : ดันการ์ดขึ้นทับ hero ---------- */
#quotationPage .qt-body {
  margin-top: -58px;
  position: relative;
  z-index: 3;
}

/* ---------- card ---------- */
#quotationPage .qt-card {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(20, 22, 26, .06), 0 12px 28px rgba(20, 22, 26, .09);
  padding: 30px 32px 28px;
}

#quotationPage .qt-card-title {
  margin: 0 0 5px;
  font-size: 23px;
  font-weight: bold;
  color: #1f2124;
}

#quotationPage .qt-card-sub {
  margin: 0 0 24px;
  padding-bottom: 20px;
  font-size: 14px;
  color: #9a9ea3;
  border-bottom: 1px solid #eef0f2;
}

#quotationPage .qt-req {
  color: #C52226;
}

/* ---------- fields ---------- */
#quotationPage .qt-field {
  margin-bottom: 20px;
}

#quotationPage .qt-field > label {
  display: block;
  margin-bottom: 7px;
  font-size: 14.5px;
  font-weight: bold;
  color: #3d4045;
}

#quotationPage .qt-field input[type=text],
#quotationPage .qt-field input[type=tel],
#quotationPage .qt-field input[type=email],
#quotationPage .qt-field select {
  display: block;
  width: 100%;
  height: 48px;
  padding: 8px 15px;
  font-size: 15px;
  font-family: inherit;
  color: #2f3033;
  background-color: #fbfbfc;
  border: 1px solid #dcdfe3;
  border-radius: 4px;
  outline: none;
  box-shadow: none;
  -webkit-transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

/* ลูกศรของ select วาดเองให้สูงเท่า input ตัวอื่น */
#quotationPage .qt-field select {
  padding-right: 40px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237c7d80' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* หัวข้อกลุ่มรุ่นรถ (เก๋ง / กระบะ / SUV ...) ให้ต่างจากตัวเลือกชัด ๆ */
#quotationPage .qt-field select optgroup {
  font-family: Tahoma, Arial, sans-serif;
  font-size: 14px;
  color: #333;
  background: #f7f4f7;
}

#quotationPage .qt-field select option {
  font-family: inherit;
  font-size: 15px;
  color: #333;
  background: #fff;
}

#quotationPage .qt-field input:focus,
#quotationPage .qt-field select:focus {
  background-color: #fff;
  border-color: #C52226;
  box-shadow: 0 0 0 3px rgba(197, 34, 38, .12);
}

#quotationPage .qt-field input::-webkit-input-placeholder { color: #b8bbbf; }
#quotationPage .qt-field input::-moz-placeholder { color: #b8bbbf; opacity: 1; }
#quotationPage .qt-field input:-ms-input-placeholder { color: #b8bbbf; }

#quotationPage .qt-hint {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  color: #a8abaf;
}

#quotationPage .qt-error {
  display: none;
  margin-top: 6px;
  font-size: 12.5px;
  color: #C52226;
}

#quotationPage .qt-error:before {
  content: '\f06a';
  font-family: FontAwesome;
  margin-right: 5px;
}

#quotationPage .qt-field.has-error input,
#quotationPage .qt-field.has-error select {
  border-color: #C52226;
  background-color: #fffafa;
}

#quotationPage .qt-field.has-error .qt-error {
  display: block;
}

#quotationPage .qt-field.has-error .qt-hint {
  display: none;
}

/* ---------- branch picker : 2 คอลัมน์จริง ---------- */
#quotationPage .qt-branch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -5px;
}

#quotationPage .qt-branch-item {
  position: relative;   /* ครอบ radio ที่ซ่อนไว้ให้อยู่ในกรอบ label เสมอ */
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
  margin: 0;
  padding: 5px;
  font-weight: normal;
  cursor: pointer;
}

#quotationPage .qt-branch-item .qt-branch-box {
  display: block;
  padding: 13px 15px;
  font-size: 15px;
  color: #4a4d51;
  background: #fbfbfc;
  border: 1px solid #dcdfe3;
  border-radius: 4px;
  -webkit-transition: all .15s ease;
  transition: all .15s ease;
}

#quotationPage .qt-branch-item input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* วงกลม radio วาดเอง */
#quotationPage .qt-branch-item .qt-dot {
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 9px;
  vertical-align: -3px;
  background: #fff;
  border: 2px solid #c9ccd0;
  border-radius: 50%;
  -webkit-transition: all .15s ease;
  transition: all .15s ease;
}

#quotationPage .qt-branch-item:hover .qt-branch-box {
  border-color: #b6babf;
  background: #fff;
}

/* radio ถูกซ่อนไว้ ต้องคืน focus ring ให้คนที่ใช้คีย์บอร์ด */
#quotationPage .qt-branch-item input:focus + .qt-branch-box {
  border-color: #C52226;
  box-shadow: 0 0 0 3px rgba(197, 34, 38, .12);
}

/* สถานะ "ถูกเลือก" ใช้ :checked + sibling เป็น CSS ล้วน ไม่พึ่ง JavaScript
   (เดิมพึ่งคลาส .is-checked ที่ผูกด้วย jQuery ซึ่งไม่ทำงาน เพราะสคริปต์ของหน้า
    ถูกวางไว้ก่อน jquery.js ที่โหลดใน inc/footer.php) */
#quotationPage .qt-branch-item input:checked + .qt-branch-box {
  color: #C52226;
  background: #fff6f6;
  border-color: #C52226;
  box-shadow: 0 0 0 1px #C52226 inset;
  font-family: "thaisans_neuebold";
}

#quotationPage .qt-branch-item input:checked + .qt-branch-box .qt-dot {
  border-color: #C52226;
  border-width: 5px;
}

/* ---------- recaptcha ---------- */
#quotationPage .qt-captcha {
  padding: 16px;
  background: #fafafb;
  border: 1px dashed #dcdfe3;
  border-radius: 4px;
}

#quotationPage .qt-captcha .g-recaptcha > div {
  margin: 0 auto;
}

/* ---------- submit ---------- */
#quotationPage .qt-submit {
  display: block;
  width: 100%;
  height: 54px;
  margin-top: 4px;
  font-size: 18px;
  font-family: "thaisans_neuebold";
  color: #fff;
  background: #C52226;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(197, 34, 38, .28);
  -webkit-transition: background .15s ease, box-shadow .15s ease, -webkit-transform .1s ease;
  transition: background .15s ease, box-shadow .15s ease, transform .1s ease;
}

#quotationPage .qt-submit:hover {
  background: #ad1c1f;
  box-shadow: 0 6px 16px rgba(197, 34, 38, .34);
}

#quotationPage .qt-submit:active {
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
}

#quotationPage .qt-submit:disabled {
  background: #d3a7a8;
  box-shadow: none;
  cursor: default;
}

#quotationPage .qt-submit .fa {
  margin-right: 8px;
}

#quotationPage .qt-consent {
  margin: 15px 0 0;
  font-size: 12.5px;
  line-height: 1.75;
  color: #a8abaf;
  text-align: center;
}

#quotationPage .qt-consent a {
  color: #8e9195;
  text-decoration: underline;
}

#quotationPage .qt-consent a:hover {
  color: #C52226;
}

/* ---------- alert ---------- */
#quotationPage .qt-alert {
  margin-bottom: 20px;
  padding: 13px 16px;
  font-size: 14px;
  color: #a81b1e;
  background: #fdf0f0;
  border: 1px solid #f2cfd0;
  border-radius: 4px;
}

/* ---------- success ---------- */
#quotationPage .qt-success {
  padding: 26px 10px 18px;
  text-align: center;
}

#quotationPage .qt-success-icon {
  width: 82px;
  height: 82px;
  margin: 0 auto 20px;
  line-height: 82px;
  font-size: 40px;
  color: #fff;
  background: #35a45a;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(53, 164, 90, .3);
}

#quotationPage .qt-success h2 {
  margin: 0 0 14px;
  font-size: 26px;
  font-weight: bold;
  color: #1f2124;
}

#quotationPage .qt-success p {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.8;
  color: #63676c;
}

#quotationPage .qt-ref {
  display: inline-block;
  margin-top: 8px !important;
  padding: 5px 16px;
  font-size: 13.5px !important;
  color: #7c7d80 !important;
  background: #f4f5f7;
  border-radius: 20px;
}

#quotationPage .qt-success-action {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #eef0f2;
}

#quotationPage .qt-btn-ghost {
  display: inline-block;
  margin: 0 4px 8px;
  padding: 11px 24px;
  font-size: 15px;
  color: #C52226;
  border: 1px solid #e2c5c6;
  border-radius: 4px;
  text-decoration: none;
  -webkit-transition: all .15s ease;
  transition: all .15s ease;
}

#quotationPage .qt-btn-ghost:hover {
  color: #fff;
  background: #C52226;
  border-color: #C52226;
  text-decoration: none;
}

/* ---------- side panel ---------- */
#quotationPage .qt-side {
  padding-left: 12px;
}

/* ตราสัญลักษณ์หัวคอลัมน์ขวา พื้นขาวเพื่อให้กราฟิกนูนของโลโก้อ่านเป็นตรา ไม่ใช่ภาพแปะ */
#quotationPage .qt-brand {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(20, 22, 26, .05), 0 6px 18px rgba(20, 22, 26, .05);
  padding: 20px 26px;
  margin-bottom: 18px;
  text-align: center;
}

#quotationPage .qt-brand img {
  display: block;
  width: 100%;
  max-width: 250px;
  height: auto;
  margin: 0 auto;
}

#quotationPage .qt-panel {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(20, 22, 26, .05), 0 6px 18px rgba(20, 22, 26, .05);
  padding: 24px 26px;
  margin-bottom: 18px;
}

#quotationPage .qt-panel h3 {
  margin: 0 0 18px;
  font-size: 18px;
  font-weight: bold;
  color: #1f2124;
  line-height: 1.55;
}

#quotationPage .qt-benefit {
  margin: 0;
  padding: 0;
  list-style: none;
}

#quotationPage .qt-benefit li {
  position: relative;
  margin-bottom: 13px;
  padding-left: 29px;
  font-size: 14.5px;
  line-height: 1.65;
  color: #5f6266;
}

#quotationPage .qt-benefit li:last-child {
  margin-bottom: 0;
}

#quotationPage .qt-benefit .fa {
  position: absolute;
  left: 0;
  top: 3px;
  width: 19px;
  height: 19px;
  line-height: 19px;
  font-size: 10px;
  color: #fff;
  text-align: center;
  background: #C52226;
  border-radius: 50%;
}

/* ขั้นตอนหลังส่งข้อมูล */
#quotationPage .qt-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: qtstep;
}

#quotationPage .qt-steps li {
  position: relative;
  padding: 0 0 20px 42px;
}

#quotationPage .qt-steps li:last-child {
  padding-bottom: 0;
}

/* เส้นเชื่อมระหว่างขั้น */
#quotationPage .qt-steps li:before {
  content: '';
  position: absolute;
  left: 13px;
  top: 28px;
  bottom: 2px;
  width: 1px;
  background: #e8eaed;
}

#quotationPage .qt-steps li:last-child:before {
  display: none;
}

#quotationPage .qt-steps li .n {
  position: absolute;
  left: 0;
  top: 0;
  width: 27px;
  height: 27px;
  line-height: 25px;
  font-size: 13px;
  font-weight: bold;
  color: #C52226;
  text-align: center;
  background: #fff;
  border: 1px solid #eccfd0;
  border-radius: 50%;
}

#quotationPage .qt-steps li b {
  display: block;
  margin-bottom: 3px;
  font-size: 14.5px;
  color: #2f3033;
  line-height: 1.5;
}

#quotationPage .qt-steps li span.d {
  display: block;
  font-size: 13.5px;
  line-height: 1.6;
  color: #8b8f94;
}

/* มาสคอตของจอเล็ก โผล่เฉพาะเมื่อตัวใน hero ถูกซ่อน (ดูเมดีย์ควิรีท้ายไฟล์) */
#quotationPage .qt-mascot-mobile {
  display: none;
}

/* ติดต่อ */
#quotationPage .qt-contact {
  position: relative;   /* ให้ทับเท้ามาสคอตของจอเล็กได้ ดูคู่กับ .qt-mascot-mobile */
  z-index: 1;
  padding: 22px 26px;
  background: #2b2d31;
  border-radius: 6px;
}

#quotationPage .qt-contact-title {
  margin: 0 0 14px;
  font-size: 14px;
  color: #fff;
  font-family: "thaisans_neuebold";
}

#quotationPage .qt-contact-link {
  display: block;
  margin-bottom: 10px;
  font-size: 15.5px;
  color: #c9cbcf;
  text-decoration: none;
  -webkit-transition: color .15s ease;
  transition: color .15s ease;
}

#quotationPage .qt-contact-link:last-child {
  margin-bottom: 0;
}

#quotationPage .qt-contact-link .fa {
  width: 26px;
  color: #e8595c;
}

#quotationPage .qt-contact-link:hover {
  color: #fff;
  text-decoration: none;
}

/* ---------- responsive ---------- */
@media (min-width: 992px) {
  /* ให้แผงขวาลอยตามเวลาเลื่อนฟอร์มยาว ๆ */
  #quotationPage .qt-side-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
  }
}

@media (max-width: 1199px) {
  /* container แคบลงเหลือ 970px ย่อมาสคอตลงกันไปเบียดย่อหน้าใต้หัวข้อ */
  #quotationPage .qt-hero-mascot {
    height: 385px;
    bottom: -105px;
  }
}

@media (max-width: 991px) {
  #quotationPage .qt-side {
    margin-top: 20px;
    padding-left: 0;
  }
  #quotationPage .qt-hero h1 {
    font-size: 31px;
  }
  /* ใน hero ไม่มีที่ให้ยืนแล้ว ถ้าฝืนโชว์จะเบียดหัวข้อและดันฟอร์มตกจอ
     ย้ายไปโผล่ท้ายแผงขวาแทน (.qt-mascot-mobile) ซึ่งอยู่หลังฟอร์ม */
  #quotationPage .qt-hero-mascot {
    display: none;
  }

  /* ยืนอยู่บนพื้นหน้าเว็บโดยให้ปลายเท้าลอดหลังกล่องติดต่อสีเข้ม
     ใช้กลไกเดียวกับฝั่งเดสก์ท็อปที่เท้าลอดหลังการ์ด จะได้ดูเป็นตั้งใจไม่ใช่รูปลอย */
  #quotationPage .qt-mascot-mobile {
    display: block;
    position: relative;
    z-index: 0;
    margin: 4px 0 -100px;
    text-align: center;
  }
  #quotationPage .qt-mascot-mobile img {
    display: inline-block;
    width: 210px;
    max-width: 62%;
    height: auto;
  }
}

@media (max-width: 767px) {
  #quotationPage .qt-hero {
    padding: 28px 0 78px;
  }
  #quotationPage .qt-hero h1 {
    font-size: 26px;
  }
  #quotationPage .qt-hero p {
    font-size: 15px;
  }
  #quotationPage .qt-hero-badges span {
    font-size: 12.5px;
    padding: 5px 11px;
  }
  #quotationPage .qt-card {
    padding: 24px 18px 22px;
  }
  #quotationPage .qt-card-title {
    font-size: 20px;
  }
  #quotationPage .qt-panel,
  #quotationPage .qt-contact {
    padding: 20px 18px;
  }
  #quotationPage .qt-brand {
    padding: 16px 18px;
  }
  #quotationPage .qt-brand img {
    max-width: 220px;
  }
  #quotationPage .qt-hero-note {
    font-size: 12.5px;
  }
  /* สาขาเรียงเดี่ยวบนมือถือ กดง่ายกว่า */
  #quotationPage .qt-branch-item {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  /* reCAPTCHA กว้าง 304px ล้นกรอบบนจอเล็ก */
  #quotationPage .qt-captcha {
    padding: 12px 8px;
    overflow: hidden;
  }
  #quotationPage .qt-captcha .g-recaptcha {
    -webkit-transform: scale(.85);
    transform: scale(.85);
    -webkit-transform-origin: center top;
    transform-origin: center top;
    height: 66px;
  }
  #quotationPage .qt-submit {
    height: 50px;
    font-size: 16.5px;
  }
}
