/* ===== FLOWZS : แดง / น้ำเงิน ===== */
#app {
  --flow-red: #8a0a0c;
  --flow-blue: #063b70;
}

/* รูปทรงปุ่มทั้งหมด */
#app :is(
  button[data-track="open_dialog_signup"],
  button[data-track="open_dialog_signin"],
  button.btn-deposit,
  button.btn-withdraw,
  a.v-btn[href^="/articles/"],
  a.v-btn[href^="/promotions/"]
) {
  position: relative;
  box-sizing: border-box !important;
  border-radius: 14px !important;

  font-family: inherit !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;

  transition:
    filter .2s ease,
    transform .2s ease,
    box-shadow .2s ease !important;
}

/* สมัครสมาชิก / เข้าสู่ระบบ */
#app :is(
  button[data-track="open_dialog_signup"],
  button[data-track="open_dialog_signin"]
) {
  height: 42px !important;
  padding: 0 19px !important;
}

/* สมัครสมาชิก + ฝาก : แดงเด่น */
#app :is(
  button[data-track="open_dialog_signup"],
  button.btn-deposit
),
#app .cashier-tab .v-tab:has(path[d*="m-5 5"]) {
  color: #ffffff !important;

  background: linear-gradient(
    180deg,
    #d94448 0%,
    #b5171c 35%,
    var(--flow-red) 75%,
    #660609 100%
  ) !important;

  border: 1px solid #ef8588 !important;

  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .3),
    inset 0 -2px 0 rgba(0, 0, 0, .2),
    0 4px 10px rgba(0, 0, 0, .35),
    0 0 14px rgba(207, 35, 43, .3) !important;

  text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

/* เข้าสู่ระบบ + ถอน + ดูเพิ่มเติม : น้ำเงิน */
#app :is(
  button[data-track="open_dialog_signin"],
  button.btn-withdraw,
  a.v-btn[href^="/articles/"],
  a.v-btn[href^="/promotions/"]
),
#app .cashier-tab .v-tab:has(path[d*="M12 16V3"]) {
  color: #ffffff !important;

  background: linear-gradient(
    180deg,
    #14558f 0%,
    var(--flow-blue) 50%,
    #032447 100%
  ) !important;

  border: 1px solid #5789ba !important;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .2),
    0 3px 8px rgba(0, 0, 0, .3) !important;
}

/* ฝากถอนบนแผงยอดเงิน */
#app :is(button.btn-deposit, button.btn-withdraw) {
  min-height: 40px !important;
  padding: 0 16px !important;
}

/* ให้ตัวหนังสือและไอคอนใช้สีจากปุ่ม */
#app :is(
  button[data-track="open_dialog_signup"],
  button[data-track="open_dialog_signin"],
  button.btn-deposit,
  button.btn-withdraw,
  a.v-btn[href^="/articles/"],
  a.v-btn[href^="/promotions/"]
) :is(.v-btn__content, .v-icon, .btn-label) {
  color: inherit !important;
}

/* ปิดพื้นซ้อนเดิม */
#app :is(
  button[data-track="open_dialog_signup"],
  button[data-track="open_dialog_signin"],
  button.btn-deposit,
  button.btn-withdraw,
  a.v-btn[href^="/articles/"],
  a.v-btn[href^="/promotions/"]
)::before,
#app .cashier-tab .v-tab::before {
  opacity: 0 !important;
}

/* แท็บฝากถอนในแคชเชียร์ */
#app .cashier-tab .v-tabs-bar {
  background: transparent !important;
}

#app .cashier-tab .v-tabs-bar__content {
  gap: 8px;
  padding: 5px;
}

#app .cashier-tab .v-tab {
  min-height: 42px;
  border-radius: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#app .cashier-tab .v-tabs-slider {
  background: #ef8588 !important;
}

/* ดูเพิ่มเติม : บทความและโปรโมชัน */
#app :is(
  a.v-btn[href^="/articles/"],
  a.v-btn[href^="/promotions/"]
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: auto !important;
  min-height: 38px !important;
  padding: 9px 20px !important;
  border-radius: 999px !important;
}

/* Hover เฉพาะอุปกรณ์ที่มีเมาส์ */
@media (hover: hover) and (pointer: fine) {
  #app :is(
    button[data-track="open_dialog_signup"],
    button[data-track="open_dialog_signin"],
    button.btn-deposit,
    button.btn-withdraw,
    a.v-btn[href^="/articles/"],
    a.v-btn[href^="/promotions/"]
  ):not(:disabled):hover {
    filter: brightness(1.12);
    transform: translateY(-1px);
  }
}

/* เลือกปุ่มด้วยคีย์บอร์ด */
#app :is(
  button[data-track="open_dialog_signup"],
  button[data-track="open_dialog_signin"],
  button.btn-deposit,
  button.btn-withdraw,
  a.v-btn[href^="/articles/"],
  a.v-btn[href^="/promotions/"],
  .cashier-tab .v-tab
):focus-visible {
  outline: 2px solid #ef8588 !important;
  outline-offset: 3px;
}

/* มือถือ */
@media (max-width: 600px) {
  #app :is(
    button[data-track="open_dialog_signup"],
    button[data-track="open_dialog_signin"]
  ) {
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
  }

  #app :is(button.btn-deposit, button.btn-withdraw) {
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }
}

/* ลดการเคลื่อนไหวตามการตั้งค่าอุปกรณ์ */
@media (prefers-reduced-motion: reduce) {
  #app :is(
    button[data-track="open_dialog_signup"],
    button[data-track="open_dialog_signin"],
    button.btn-deposit,
    button.btn-withdraw,
    a.v-btn[href^="/articles/"],
    a.v-btn[href^="/promotions/"]
  ) {
    transition: none !important;
    transform: none !important;
  }
}