body {
  font-size: 16px;
}

.form-select,
.form-control {
  font-size: 16px !important;
}

.dropdown {
  position: relative;
}
.dropdown-toggle {
  width: 100%;
  padding: 0.47rem 1.75rem 0.47rem 0.75rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
  background: #fff;
  cursor: pointer;
  appearance: none;
  font-size: 16px;
  color: #212529;
  position: relative;
}
.dropdown-toggle::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e")
    no-repeat center;
  background-size: 12px;
  transform: translateY(-50%);
  pointer-events: none;
}
.dropdown-menu {
  position: absolute;
  top: 110%;
  width: 100%;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: none;
  max-height: 320px;
  overflow-y: auto;
  z-index: 10;
}
.search-box {
  width: 100%;
  border: none;
  border-bottom: 1px solid #eee;
  padding: 10px;
  outline: none;
  font-size: 14px;
}
.dropdown-item {
  padding: 12px;
  border-bottom: 1px solid #f2f2f2;
  cursor: pointer;
}
.dropdown-item:hover {
  background: #f7f7f7;
}
.template-title {
  font-weight: bold;
  margin-bottom: 4px;
  color: #333;
}
.template-meta {
  font-size: 13px;
  color: #666;
  line-height: 1.4;
}

.modal-header {
  background-color: #e8f4f8;
  border-bottom: none;
}
.modal-title {
  font-weight: bold;
  color: #333;
}
.form-label {
  font-weight: 500;
  color: #555;
  margin-bottom: 0.5rem;
}
.btn-cancel {
  background-color: #d3d3d3;
  border: none;
  color: #333;
  padding: 0.5rem 2rem;
}
.btn-confirm {
  background-color: #ff9999;
  border: none;
  color: #fff;
  padding: 0.5rem 2rem;
}

.btn-cancel:hover {
  background-color: #c0c0c0;
}
.btn-confirm:hover {
  background-color: #ff7777;
}

.pointer {
  cursor: pointer;
}

.font-16 {
  font-size: 16px !important;
}

.font-17 {
  font-size: 17px !important;
}

/* 사이드바 축소 시 로고 이미지 숨기기 */
body.sidebar-enable .card-logo-dark {
  display: none;
}

/* 가격 계산 툴팁 스타일 */
.price-with-tooltip {
  cursor: help;
  border-bottom: 1px dashed #6c757d;
  position: relative;
}

.price-with-tooltip:hover {
  color: #0d6efd;
}

/* Bootstrap 툴팁 커스터마이징 */
.tooltip-inner {
  max-width: 350px;
  text-align: left;
  white-space: pre-line;
  font-size: 13px;
  line-height: 1.6;
  padding: 10px 14px;
}
