/* Locale-based font scaling system */
:root {
  --locale-font-scale: 1.6; /* font-size:10px -> font-size:16px 비율 */
}

#app .p-3 {
  padding: calc(1rem * var(--locale-font-scale)) !important;
}

/* PrimeFlex 텍스트 크기 클래스 오버라이드 */
#app .text-xs {
  font-size: calc(0.75rem * var(--locale-font-scale)) !important;
}

#app .text-sm {
  font-size: calc(0.875rem * var(--locale-font-scale)) !important;
}

#app .text-base {
  font-size: calc(1rem * var(--locale-font-scale)) !important;
}

#app .text-lg {
  font-size: calc(1.125rem * var(--locale-font-scale)) !important;
}

#app .text-xl {
  font-size: calc(1.25rem * var(--locale-font-scale)) !important;
}

#app .text-2xl {
  font-size: calc(1.5rem * var(--locale-font-scale)) !important;
}

#app .text-3xl {
  font-size: calc(1.875rem * var(--locale-font-scale)) !important;
}

#app .text-4xl {
  font-size: calc(2.25rem * var(--locale-font-scale)) !important;
}

#app .text-5xl {
  font-size: calc(3rem * var(--locale-font-scale)) !important;
}

#app .text-6xl {
  font-size: calc(3.75rem * var(--locale-font-scale)) !important;
}

/* Dropdown과 Input 텍스트 스케일링 */
#app .p-inputtext {
  padding: calc(0.5rem * var(--locale-font-scale)) calc(0.75rem * var(--locale-font-scale));
  font-size: calc(1.125rem * var(--locale-font-scale));
}

#app .col-12 {
  padding: calc(0.5rem * var(--locale-font-scale));
}

#app .p-button,
#app .p-dropdown-item,
#app .p-dropdown-label,
#app .p-dropdown-item-label,
#app .p-yearpicker-year,
#app .p-datepicker-decade {
  font-size: calc(1rem * var(--locale-font-scale)) !important;
}

/* Placeholder 텍스트도 스케일링 */
#app input::placeholder,
#app textarea::placeholder {
  font-size: calc(1.125rem * var(--locale-font-scale)) !important;
}

#app .p-icon {
  width: calc(1rem * var(--locale-font-scale)) !important;
  height: calc(1rem * var(--locale-font-scale)) !important;
}

#app .p-component {
  font-size: calc(1rem * var(--locale-font-scale)) !important;
}

#app .mb-4 {
  margin-bottom: calc(1.5rem * var(--locale-font-scale)) !important;
}

#app .mb-6 {
  margin-bottom: calc(2rem * var(--locale-font-scale)) !important;
}

#app .mb-8 {
  margin-bottom: calc(2.5rem * var(--locale-font-scale)) !important;
}

#app .pt-3 {
  padding-top: calc(0.75rem * var(--locale-font-scale)) !important;
}

#app .pt-4 {
  padding-top: calc(1rem * var(--locale-font-scale)) !important;
}

#app .pt-5 {
  padding-top: calc(1.25rem * var(--locale-font-scale)) !important;
}

#app .pb-4 {
  padding-bottom: calc(1rem * var(--locale-font-scale)) !important;
}

#app .pb-5 {
  padding-bottom: calc(1.25rem * var(--locale-font-scale)) !important;
}

#app .p-dropdown-panel .p-dropdown-items .p-dropdown-item {
  padding: calc(0.5rem * var(--locale-font-scale)) calc(0.75rem * var(--locale-font-scale)) !important;
}

.p-dialog.p-component.p-ripple-disabled.p-confirm-dialog {
  font-size: calc(1rem * var(--locale-font-scale)) !important;
}

.p-dialog .p-dialog-header {
  padding: calc(1rem * var(--locale-font-scale)) !important;
}

.p-dialog .p-dialog-header .p-dialog-title {
  font-size: calc(1.25rem * var(--locale-font-scale)) !important;
}

.p-dialog .p-dialog-header .p-dialog-header-icon {
  font-size: calc(1.75rem * var(--locale-font-scale)) !important;
  width: calc(1.75rem * var(--locale-font-scale)) !important;
  height: calc(1.75rem * var(--locale-font-scale)) !important;
}

.p-dialog .p-dialog-header .p-dialog-header-icon .p-icon {
  width: calc(1rem * var(--locale-font-scale)) !important;
  height: calc(1rem * var(--locale-font-scale)) !important;
}

.p-dialog .content {
  margin: calc(0.5rem * var(--locale-font-scale)) calc(1rem * var(--locale-font-scale)) !important;
}

.p-dialog .marketing-title {
  font-size: calc(1.5rem * var(--locale-font-scale)) !important;
  line-height: calc(2rem * var(--locale-font-scale)) !important;
}

.p-dialog .marketing-description {
  font-size: calc(1.2rem * var(--locale-font-scale)) !important;
}

.p-dialog .marketing-favor-title {
  padding: calc(0.5rem * var(--locale-font-scale)) calc(1rem * var(--locale-font-scale)) !important;
  font-size: calc(1rem * var(--locale-font-scale)) !important;
}

.p-dialog .marketing-favor-icon-wrap {
  padding: calc(2rem * var(--locale-font-scale)) calc(1rem * var(--locale-font-scale))
    calc(1rem * var(--locale-font-scale)) !important;
}

.p-dialog .marketing-footer {
  font-size: calc(1.2rem * var(--locale-font-scale)) !important;
}

.marketing-footer-question {
  font-size: calc(1.5rem * var(--locale-font-scale)) !important;
}

.marketing-favor-icon-desc {
  font-size: calc(1rem * var(--locale-font-scale)) !important;
}

.p-dialog .p-dialog-footer {
  padding: calc(1rem * var(--locale-font-scale)) !important;
}
