/* QUICK_floating/quick_7 - 사이드 슬라이드 메뉴 */

.quick_floating.quick_7 {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  pointer-events: none;
}

.quick_floating.quick_7 .contents-container {
  max-width: 100%;
  padding: 0;
  pointer-events: auto;
}

.quick_floating.quick_7 .btn-open {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7rem;
  height: 8.2rem;
  background: var(--black, #222);
  color: var(--white, #fff);
  border: none;
  cursor: pointer;
  transition: opacity 0.3s;
}

.quick_floating.quick_7 .btn-open:hover {
  opacity: 0.9;
}

.quick_floating.quick_7 .btn-open i {
  font-size: 2.4rem;
}

.quick_floating.quick_7 .menu-list {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}

.quick_floating.quick_7 .menu-list.active {
  display: block;
}

.quick_floating.quick_7 .item {
  width: 16rem;
  height: 13.4rem;
}

.quick_floating.quick_7 .item-close {
  height: 10.1rem;
  background: var(--black, #222);
}

.quick_floating.quick_7 .btn-close {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: 100%;
  height: 100%;
  color: var(--white, #fff);
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.4rem;
}

.quick_floating.quick_7 .btn-close i {
  font-size: 2rem;
}

.quick_floating.quick_7 .btn-close span {
  margin-top: 0;
}

.quick_floating.quick_7 .item a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.4rem;
  width: 100%;
  height: 100%;
  color: var(--white, #fff);
  text-align: center;
  text-decoration: none;
}

.quick_floating.quick_7 .item .wg_img_box {
  width: 3.6rem;
  height: 3.6rem;
}

.quick_floating.quick_7 .item .wg_img_box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.quick_floating.quick_7 .item i {
  font-size: 3rem;
}

.quick_floating.quick_7 .item strong {
  display: block;
  font-size: 1.3rem;
  font-weight: var(--fw-bold, 700);
}

.quick_floating.quick_7 .item span {
  display: block;
  margin-top: 1rem;
  font-size: 1.4rem;
}

.quick_floating.quick_7 .item strong + span {
  margin-top: 0.4rem;
}

/* 배경색 클래스 */
.quick_floating.quick_7 .item.primary {
  background: var(--primary, #4075bd);
}

.quick_floating.quick_7 .item.primary-light {
  background: #6fa0b3;
}

.quick_floating.quick_7 .item.secondary {
  background: var(--secondary, #1a937d);
}

.quick_floating.quick_7 .item.gray {
  background: #9aabbe;
}

.quick_floating.quick_7 .item.black {
  background: var(--black, #222);
}

.quick_floating.quick_7 .item.white {
  background: var(--white, #fff);
}

.quick_floating.quick_7 .item.white a {
  color: var(--black, #222);
}

.quick_floating.quick_7 .item.white .wg_img_box img {
  filter: none;
}

/* btn-contact 버튼 스타일 */
.quick_floating.quick_7 .btn-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.4rem;
  width: 100%;
  height: 100%;
  color: var(--white, #fff);
  text-align: center;
  background: transparent;
  border: none;
  cursor: pointer;
}

.quick_floating.quick_7 .btn-contact span {
  display: block;
  margin-top: 1rem;
  font-size: 1.4rem;
}

/* 모달 - body로 이동됨 */
body > .quick-contact {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.5) !important;
  opacity: 0;
  visibility: hidden;
  z-index: 99999 !important;
  transition: opacity 0.3s, visibility 0.3s;
  pointer-events: none;
}

body > .quick-contact.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body > .quick-contact > .quick-form {
  max-width: 42rem;
  width: 90%;
  min-width: 32rem;
  max-height: 90vh;
  overflow-y: auto;
  margin: 0 auto;
}

body > .quick-contact .quick-form {
  position: relative;
  padding: 0;
  border-radius: 1.2rem;
  background: var(--white, #fff);
  box-shadow: 0 0.8rem 3.2rem rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

body > .quick-contact .form-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6rem 2rem;
  background: var(--primary, #4075bd);
  color: var(--white, #fff);
}

body > .quick-contact .form-header h4 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: var(--fw-bold, 700);
}

body > .quick-contact .btn-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  font-size: 2rem;
  color: var(--white, #fff);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s;
}

body > .quick-contact .btn-modal-close:hover {
  opacity: 0.7;
}

body > .quick-contact .form-body {
  padding: 2rem;
}

body > .quick-contact .form-field {
  margin-bottom: 1.2rem;
}

body > .quick-contact .form-field label {
  display: block;
  margin-bottom: 0.6rem;
  font-size: 1.3rem;
  font-weight: var(--fw-medium, 500);
  color: var(--black, #222);
}

body > .quick-contact .form-field label .required {
  color: #dc2626;
  font-size: 1.4rem;
  vertical-align: middle;
}

body > .quick-contact .form-field input,
body > .quick-contact .form-field textarea {
  width: 100%;
  padding: 1rem 1.2rem;
  border: 1px solid #ddd;
  border-radius: 0.6rem;
  font-size: 1.4rem;
  background: var(--white, #fff);
  transition: border-color 0.2s;
}

body > .quick-contact .form-field input:focus,
body > .quick-contact .form-field textarea:focus {
  outline: none;
  border-color: var(--primary, #4075bd);
}

body > .quick-contact .form-field textarea {
  min-height: 8rem;
  resize: vertical;
}

body > .quick-contact .form-agree {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 1.5rem 0 1rem;
  font-size: 1.3rem;
}

body > .quick-contact .form-agree input {
  width: 1.8rem;
  height: 1.8rem;
}

body > .quick-contact .form-submit {
  margin-top: 1.5rem;
}

body > .quick-contact .form-submit .btn-submit {
  width: 100%;
  padding: 1.4rem;
  background: var(--primary, #4075bd);
  color: var(--white, #fff);
  border: none;
  border-radius: 0.8rem;
  font-size: 1.5rem;
  font-weight: var(--fw-bold, 700);
  cursor: pointer;
  transition: opacity 0.2s;
}

body > .quick-contact .form-submit .btn-submit:hover {
  opacity: 0.9;
}

body > .quick-contact .modal-content {
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--black, #222);
  word-break: keep-all;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* blind */
.quick_floating.quick_7 .blind {
  position: absolute;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}

/* 반응형 */
@media (max-width: 992px) {
  .quick_floating.quick_7 {
    display: none;
  }
}
