:root {
  --color-primary: #000000;
  --color-primary-dark: #2d2d2d;
  --color-primary-800: #4d4d4d;
  --color-primary-600: #909090;
  --color-primary-400: #cccccc;
  --color-primary-200: #e6e6e6;
  --color-primary-light: #efefef;

  --color-danger: #F52D1A;
  --color-danger-400: #F98176;
  --color-danger-200: #FDD5D1;
  --color-danger-light: #FEEAE8;

  --color-success: #1AE81A;
  --color-success-200: #A3F6A3;
  --color-success-light: #D1FAD1;

  --color-warning: #F59A1A;
  --color-warning-200: #FBD7A3;
  --color-warning-light: #FDEBD1;

  --color-info: #1ABEF5;
  --color-info-200: #A3E5FB;
  --color-info-light: #D1F2FD;

  --color-gray-900: #2d2d2d;
  --color-gray-800: #4d4d4d;
  --color-gray-700: #6f6f6f;
  --color-gray-600: #909090;
  --color-gray-500: #cccccc;
  --color-gray-400: #e0e0e0;
  --color-gray-300: #ececec;
  --color-gray-200: #f4f4f4;
  --color-gray-light: #f9f9f9;

  --color-white: #fff;
  --color-black: #000;

  --color-body: var(--color-gray-300);

  /* btn */
  --color-btn-primary-bg: var(--color-primary);
  --color-btn-primary-outline: var(--color-primary);
  --color-btn-primary-font: var(--color-white);
  --color-btn-primary-bg-hover: var(--color-primary-800);
  --color-btn-primary-outline-hover: var(--color-primary-dark);
  --color-btn-primary-bg-disabled: var(--color-gray-400);
  --color-btn-primary-outline-disabled: var(--color-gray-400);
  --color-btn-primary-font-disabled: var(--color-white);

  --color-btn-secondary-bg: var(--color-white);
  --color-btn-secondary-outline: var(--color-primary);
  --color-btn-secondary-font: var(--color-primary);
  --color-btn-secondary-bg-hover: var(--color-white);
  --color-btn-secondary-outline-hover: var(--color-primary-dark);
  --color-btn-secondary-font-hover: var(--color-primary-dark);
  --color-btn-secondary-bg-disabled: var(--color-gray-400);
  --color-btn-secondary-outline-disabled: var(--color-gray-400);
  --color-btn-secondary-font-disabled: var(--color-white);

  --color-btn-third-bg: var(--color-white);
  --color-btn-third-outline: var(--color-gray-400);
  --color-btn-third-font: var(--color-gray-800);
  --color-btn-third-bg-hover: var(--color-white);
  --color-btn-third-outline-hover: var(--color-gray-700);
  --color-btn-third-bg-disabled: var(--color-gray-200);
  --color-btn-third-outline-disabled: var(--color-gray-400);
  --color-btn-third-font-disabled: var(--color-gray-400);

  /* font */
  --color-title: var(--color-black);
  --color-font: var(--color-black);
  --color-font-secondary: var(--color-gray-800);
  --color-font-third: var(--color-gray-600);

  /* border*/
  --color-border: var(--color-gray-400);
  /* border 深色模式 800 淺色模式 300 
     hover 深色模式 black 淺色模式 light*/
  --color-body-hover: var(--color-gray-light);
  --color-link: var(--color-primary);
  --color-link-hover: var(--color-primary-dark);
  --color-link-disable: var(--color-gray-600);
  --color-btn-counter: var(--color-primary);
  --color-btn-counter-hover: var(--color-primary-dark);
  --color-btn-counter-disable: var(--color-gray-500);

  /* border-radius*/
  --radius-s: 0px;
  --radius-m: 0px;
  --radius-btn: 0px;
  --radius-form-control: var(--radius-s);
  --radius-full: 50px;
  --radius-top: var(--radius-m) var(--radius-m) 0 0;
  --radius-bottom: 0 0 var(--radius-m) var(--radius-m);
  --radius-right: 0 var(--radius-m) var(--radius-m) 0;
  --radius-left: var(--radius-m) 0 0 var(--radius-m);

  /* header */
  --color-header-bg: var(--color-black);
  --color-header-bg-hover: var(--color-gray-900);
  --color-header-text: var(--color-gray-light);
  --color-header-border-bottom: var(--color-gray-900);

  /* footer */
  --color-footer-bg: var(--color-black);
  --color-footer-text: var(--color-gray-300);
  --color-footer-border: none;
  --color-footer-border-secondary: var(--color-gray-800);

  /* icon */
  --color-icon: var(--color-gray-800);

  /* card */
  --color-card-bg: var(--color-white);
  --color-card-font: var(--color-black);
  --color-card-font-secondary: var(--color-gray-800);
  --color-card-font-third: var(--color-gray-600);
  --color-card-hover: var(--color-gray-light);
  --color-card-highlight: var(--color-gray-200);

  /* search panel */
  --color-search-panel: var(--color-white);
  --color-search-panel-border: none;
  --color-search-panel-unselect: var(--color-gray-400);
  --color-search-panel-font: var(--color-black);
  --color-search-panel-font-unselect: var(--color-gray-600);
  --color-search-panel-label: var(--color-black);
  --color-search-panel-form-control: var(--color-gray-300);
  --color-search-panel-form-control-font: var(--color-black);
  --color-search-panel-form-control-border: none;
  --color-search-panel-icon: var(--color-gray-900);
  --color-search-panel-icon-bg: var(--color-gray-300);
  --color-search-panel-icon-bg-hover: var(--color-gray-400);
  --color-search-panel-shadow: var(--color-shadow-secondary);


  /* panel-btn */
  --color-panel-btn-bg: var(--color-white);
  --color-panel-btn-font: var(--color-black);

  /* price */
  --color-font-price-amount: var(--color-black);
  --color-font-price-info: var(--color-gray-700);
  --color-font-price-original: var(--color-white);
  --color-label-price-discount: var(--color-white);
  --color-label-price-discount-bg: linear-gradient(to right, #7467d5 0%, #10083f 100%);
  --color-label-price-discount-angle: #10083f;

  /* ---------- form-control ---------- */
  --color-form-label: var(--color-black);
  /* default */
  --color-form-control: var(--color-white);
  --color-form-control-font: var(--color-font);
  /* focus */
  --color-form-control-border-focus: var(--color-gray-600);
  /* disable */
  --color-form-control-disable: var(--color-gray-300);
  --color-form-control-border-disable: var(--color-gray-400);

  /* ---------- calendar ---------- */
  --color-calendar-head-bg: var(--color-gray-800);
  --color-calendar-head-font: var(--color-white);
  --color-calendar-head-font-disable: var(--color-gray-600);
  --color-calendar-week-bg: var(--color-white);
  --color-calendar-week-border: var(--color-gray-500);
  --color-calendar-week-font: var(--color-black);
  --color-calendar-day-bg: var(--color-gray-300);
  --color-calendar-date-font: var(--color-black);
  --color-calendar-date-bg: var(--color-white);
  --color-calendar-date-border: var(--color-white);
  --color-calendar-date-availbility-font: var(--color-black);
  --color-calendar-date-rate-font: var(--color-black);
  --color-calendar-date-rate-font-disable: var(--color-gray-700);
  /* 可預訂 avalible */
  --color-calendar-date-bg-avalible: var(--color-white);
  --color-calendar-date-bg-avalible-hover: var(--color-primary-light);
  --color-calendar-date-availbility-font-avalible: var(--color-primary);
  --color-calendar-date-rate-font-avalible: var(--color-black);
  /* 候補訂房 waiting */
  --color-calendar-date-bg-waiting: var(--color-calendar-date-bg);
  --color-calendar-date-bg-waiting-hover: var(--color-primary-light);
  --color-calendar-date-availbility-font-waiting: var(--color-danger);
  --color-calendar-date-rate-font-waiting: var(--color-calendar-date-rate-font);
  /* 已客滿 fully */
  --color-calendar-date-bg-fully: var(--color-gray-200);
  --color-calendar-date-availbility-font-fully: var(--color-gray-500);
  --color-calendar-date-rate-font-fully: var(--color-gray-600);
  /* 不適用 unsuitable */
  --color-calendar-date-bg-unsuitable: var(--color-gray-200);
  --color-calendar-date-availbility-font-unsuitable: var(--color-gray-500);
  --color-calendar-date-rate-font-unsuitable: var(--color-gray-600);
  /* 不在專案效期內 expired */
  --color-calendar-date-bg-expired: var(--color-gray-200);
  --color-calendar-date-availbility-font-expired: var(--color-gray-500);
  --color-calendar-date-rate-font-expired: var(--color-gray-600);
  /* 已過期 before*/
  --color-calendar-date-bg-before: var(--color-gray-200);
  --color-calendar-date-availbility-font-before: var(--color-gray-500);

  /* ---------- shadow ---------- */
  --color-shadow-primary: 0 4px 8px 0 rgba(43, 43, 43, 0.05);
  --color-shadow-secondary: 0 6px 12px 0 rgba(43, 43, 43, 0.1);
}