/* roulang page: index */
:root {
      --primary: #1E56A0;
      --primary-hover: #16427D;
      --accent-blue: #16697A;
      --accent-warm: #F6993F;
      --bg-light: #F8FAFC;
      --bg-white: #FFFFFF;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
    }
    html {
      scroll-behavior: smooth;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -4px rgba(30, 86, 160, 0.08);
    }
    .custom-shadow-hover {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-shadow-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 35px -6px rgba(30, 86, 160, 0.14);
    }
    .coupon-edge-left, .coupon-edge-right {
      position: absolute;
      top: 50%;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background-color: #F8FAFC;
      transform: translateY(-50%);
    }
    .coupon-edge-left { left: -12px; }
    .coupon-edge-right { right: -12px; }
    .ticket-dashed {
      border-right: 2px dashed #CBD5E1;
    }
    @media (max-width: 768px) {
      .ticket-dashed {
        border-right: none;
        border-bottom: 2px dashed #CBD5E1;
      }
    }

/* roulang page: category1 */
:root {
      --primary: #1E56A0;
      --primary-hover: #16427D;
      --accent-blue: #16697A;
      --accent-warm: #F6993F;
      --bg-light: #F8FAFC;
      --bg-white: #FFFFFF;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
    }
    html {
      scroll-behavior: smooth;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -4px rgba(30, 86, 160, 0.08);
    }
    .custom-shadow-hover {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-shadow-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 35px -6px rgba(30, 86, 160, 0.14);
    }
    @media (max-width: 768px) {
      .ticket-dashed {
        border-right: none;
        border-bottom: 2px dashed #CBD5E1;
      }
    }
