
    @import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");

    :root,
    #secret-golf-join {
      --page-max-width: 1200px;
      --surface: #ffffff;
      --surface-soft: #f8fafc;
      --surface-muted: #eff6ff;
      --border: #dbe4ee;
      --text: #373A3C;
      --text-soft: #5d6b82;
      --blue: #373A3C;
      --blue-dark: #373A3C;
      --blue-soft: #dbeafe;
      --green: #16a34a;
      --green-soft: #dcfce7;
      --calendar-available-color: #22c55e;
      --apply-accent: #373A3C;
      --apply-accent-soft: #f1f5f9;
      --apply-green: #16a34a;
      --apply-green-soft: #eaf7f0;
      --apply-placeholder-color: #d3d3d3;
      --red: #dc2626;
      --red-soft: #fee2e2;
      --shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
      --radius: 18px;
      --font-header-logo: 20px;
      --font-header-nav: 14px;
      --font-hero-title: 50px;
      --font-weight-hero-title: 800;
      --color-hero-title: #373A3C;
      --font-hero-subtitle: 26px;
      --font-weight-hero-subtitle: 600;
      --color-hero-subtitle: #373A3C;
      --font-hero-search-input: 18px;
      --font-weight-hero-search-input: 400;
      --color-hero-search-input: #a3a3a3;
      --modal-bottom-button-font-size-pc: 17px;
      --modal-bottom-button-font-size-mo: 15px;
      --modal-bottom-button-font-weight: 600;
      --modal-bottom-primary-color: #54abff;
      --modal-bottom-prev-width: 96px;
      --font-mobile-search-input: var(--font-hero-search-input);
      --font-weight-mobile-search-input: var(--font-weight-hero-search-input);
      --font-mobile-search-placeholder: var(--font-mobile-search-input);
      --font-weight-mobile-search-placeholder: var(--font-weight-mobile-search-input);
      --color-mobile-search-input: var(--color-hero-search-input);
      --font-hero-chip: 14px;
      --font-hero-cta: 18px;
      --font-section-title: 35px;
      --font-section-desc: 22px;
      --font-product-section-title: 35px;
      --font-product-section-desc: 22px;
      --font-card-title: 24px;
      --font-card-meta: 17px;
      --font-card-location: 13px;
      --font-image-location: 13px;
      --font-soon-card-location: 14px;
      --font-card-date: 16px;
      --font-card-price: 20px;
      --font-card-price-unit: 14px;
      --font-card-category: 12px;
      --font-quick-include-chip: 14px;
      --font-weight-quick-include-chip: 800;
      --color-quick-include-chip: #475569;
      --font-quick-participant-copy: 15px;
      --font-weight-quick-participant-copy: 700;
      --color-quick-participant-copy: #334155;
      --font-quick-participant-copy-title: 15px;
      --font-weight-quick-participant-copy-title: 800;
      --color-quick-participant-copy-title: var(--text);
      --font-mdpick-pack-chip: 18px;
      --font-mdpick-pack-chip-mobile: 15px;
      --font-soon-date: 16px;
      --font-soon-weekday: 13px;
      --font-soon-count: 12px;
      --font-soon-month-active: 28px;
      --font-soon-month-next: 20px;
      --font-weight-soon-month: 600;
      --font-weight-soon-month-active: 800;
      --soon-month-active-x: 0px;
      --soon-month-active-y: 0px;
      --soon-month-next-x: 0px;
      --soon-month-next-y: -4px;
      --soon-month-control-height: 46px;
      --soon-date-chip-height: 54px;
      --soon-date-nav-size: 30px;
      --quick-section-nav-left: -15px;
      --quick-section-nav-right: -15px;
      --soon-date-weekday-gap: 4px;
      --join-location-text-x: 0px;
      --join-location-text-y: 1px;
      --font-badge: 12px;
      --font-label: 14px;
      --font-helper: 12px;
      --font-modal-title: 24px;
      --modal-main-title-pc: 22px;
      --modal-main-title-mobile: 20px;
      --modal-main-title-weight: 800;
      --modal-sub-title-pc: 20px;
      --modal-sub-title-mobile: 18px;
      --modal-sub-title-weight: 800;
      --modal-header-padding-pc: 12px 20px;
      --modal-header-padding-mobile: 5px 18px;
      --modal-sheet-header-padding-mobile: 15px 18px;
      --modal-close-size: 44px;
      --modal-close-size-pc: 38px;
      --modal-close-icon-size: 20px;
      --modal-close-icon-size-pc: 28px;
      --join-pc-header-zone-offset: 187px;
      --font-modal-value: 18px;
      --font-modal-price: 34px;
      --font-detail-main-title: 23px;
      --font-weight-detail-main-title: 700;
      --font-detail-region: 15px;
      --font-weight-detail-region: 700;
      --font-detail-airport: 15px;
      --font-weight-detail-airport: 700;
      --font-detail-label: 14px;
      --font-weight-detail-label: 700;
      --font-detail-date: 18px;
      --font-weight-detail-date: 800;
      --font-detail-duration: 18px;
      --font-weight-detail-duration: 800;
      --font-detail-flight-time: 18px;
      --font-weight-detail-flight-time: 800;
      --font-detail-flight-clock: 16px;
      --font-weight-detail-flight-clock: 800;
      --font-detail-flight-airline: 14px;
      --font-weight-detail-flight-airline: 800;
      --font-detail-flight-code: 13px;
      --font-weight-detail-flight-code: 700;
      --font-detail-price: 25px;
      --font-weight-detail-price: 800;
      --font-detail-price-unit: 16px;
      --font-weight-detail-price-unit: 500;
      --font-detail-section-content: 16px;
      --font-detail-section-content-mobile: 16px;
      --font-weight-detail-section-content: 500;
      --line-height-detail-section-content: 1.65;
      --font-calendar: 18px;
      --font-calendar-mini: 11px;
      --calendar-month-gap: 24px;
      --calendar-product-card-padding: 15px;
      --calendar-product-card-gap: 10px;
      --calendar-product-title-font: 18px;
      --calendar-product-title-weight: 700;
      --calendar-product-meta-font: 14px;
      --calendar-product-meta-weight: 600;
      --calendar-product-date-font: 15px;
      --calendar-product-date-weight: 600;
      --calendar-product-price-font: 20px;
      --calendar-product-price-weight: 800;
      --calendar-product-price-unit-font: 14px;
      --calendar-product-price-unit-weight: 500;
      --calendar-product-avatar-size: 48px;
      --calendar-product-card-mobile-padding: 15px;
      --calendar-product-card-mobile-gap: 10px;
      --calendar-product-title-mobile-font: 15px;
      --calendar-product-title-mobile-weight: 900;
      --calendar-product-meta-mobile-font: 13px;
      --calendar-product-meta-mobile-weight: 700;
      --calendar-product-date-mobile-font: 13px;
      --calendar-product-date-mobile-weight: 700;
      --calendar-product-price-mobile-font: 17px;
      --calendar-product-price-mobile-weight: 800;
      --calendar-product-price-unit-mobile-font: 14px;
      --calendar-product-price-unit-mobile-weight: 500;
      --calendar-product-avatar-mobile-size: 48px;
      --font-detail-schedule-hotel: 16px;
      --font-weight-detail-schedule-hotel: 600;
      --font-detail-schedule-meal: 16px;
      --font-detail-schedule-hotel-mobile: 16px;
      --font-detail-schedule-meal-mobile: 16px;
      --font-weight-detail-schedule-meal-label: 700;
      --font-weight-detail-schedule-meal-menu: 600;
      --font-family-sgj: "Pretendard", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", Arial, sans-serif;
    }

    * { box-sizing: border-box; }
    html {
      scroll-behavior: smooth;
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
    body {
      margin: 0;
      font-family: var(--font-family-sgj);
      color: var(--text);
      background: #fff;
      line-height: 1.5;
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
    html.modal-open,
    body.modal-open {
      min-height: 100vh;
      min-height: 100dvh;
      background: #fff;
      overflow: hidden !important;
      overscroll-behavior: contain;
      touch-action: none;
    }

    @media (max-width: 640px) {
      #joinFullscreenModalFill {
        position: fixed;
        top: 0;
        right: 0;
        bottom: -360px;
        left: 0;
        display: none;
        width: 100vw;
        height: calc(100vh + 360px);
        height: calc(var(--join-mobile-modal-height, 100dvh) + 360px);
        height: calc(100dvh + 360px);
        height: calc(100lvh + 360px);
        height: calc(max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) + 360px);
        min-height: calc(100vh + 360px);
        min-height: calc(var(--join-mobile-modal-height, 100dvh) + 360px);
        min-height: calc(100dvh + 360px);
        min-height: calc(100lvh + 360px);
        min-height: calc(max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) + 360px);
        max-height: none;
        background: #fff;
        box-shadow: 0 0 0 320vmax #fff;
        z-index: 2147483628;
        pointer-events: none;
      }

      #joinFullscreenModalFill.open {
        display: block;
      }

      html.join-fullscreen-modal-open body::before,
      body.join-fullscreen-modal-open::before {
        content: "";
        position: fixed;
        top: 0;
        right: 0;
        bottom: -360px;
        left: 0;
        width: 100vw;
        height: calc(100vh + 360px);
        height: calc(var(--join-mobile-modal-height, 100dvh) + 360px);
        height: calc(100dvh + 360px);
        height: calc(100lvh + 360px);
        height: calc(max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) + 360px);
        min-height: calc(100vh + 360px);
        min-height: calc(var(--join-mobile-modal-height, 100dvh) + 360px);
        min-height: calc(100dvh + 360px);
        min-height: calc(100lvh + 360px);
        min-height: calc(max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) + 360px);
        max-height: none;
        background: #fff;
        box-shadow: 0 0 0 320vmax #fff;
        z-index: 2147483627;
        pointer-events: none;
      }
    }

    img { display: block; max-width: 100%; }
    button, input, select, textarea { font: inherit; }
    button { border: 0; background: none; cursor: pointer; }

    .header_wrap,
    .mobile_mainmenu_zone,
    .mobile_mainmenu_wrap,
    .mainmenu_dim {
      z-index: 2147483000 !important;
    }
    html.modal-open .header_wrap,
    html.modal-open .mobile_mainmenu_zone,
    html.modal-open .mobile_mainmenu_wrap,
    html.modal-open .mainmenu_dim,
    body.modal-open .header_wrap,
    body.modal-open .mobile_mainmenu_zone,
    body.modal-open .mobile_mainmenu_wrap,
    body.modal-open .mainmenu_dim {
      z-index: 1000 !important;
    }

    html.modal-open .join-mobile-bottom-nav,
    body.modal-open .join-mobile-bottom-nav,
    #secret-golf-join.modal-open .join-mobile-bottom-nav {
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
      transform: translate(-50%, calc(100% + 80px)) !important;
    }

    html.modal-open .join-mobile-bottom-nav.is-modal-visible:not(.is-scroll-hidden),
    body.modal-open .join-mobile-bottom-nav.is-modal-visible:not(.is-scroll-hidden),
    #secret-golf-join.modal-open .join-mobile-bottom-nav.is-modal-visible:not(.is-scroll-hidden) {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      transform: translate(-50%, 0) !important;
      z-index: 2147483646 !important;
    }

    #secret-golf-join,
    #secret-golf-join * {
      box-sizing: border-box;
    }
    .section_special_event {
      display: none !important;
    }
    #secret-golf-join {
      width: 100%;
      min-width: 0;
      margin: 0;
      color: var(--text);
      background: #fff;
      font-family: var(--font-family-sgj);
      font-size: 16px;
      line-height: 1.5;
      letter-spacing: 0;
      word-break: keep-all;
      overflow-wrap: normal;
      text-size-adjust: 100%;
      isolation: isolate;
    }
    .sgj-board-host {
      width: 100% !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      overflow: visible !important;
    }
    .sgj-board-host > #secret-golf-join {
      width: 100%;
      max-width: 100%;
    }
    .middle_wrap.sgj-board-page > :first-child:not(#secret-golf-join),
    .sgj-board-root > .read_head,
    .sgj-board-root > .read_title {
      display: none !important;
    }
    #secret-golf-join :where(img, svg, video, canvas) {
      display: block;
      max-width: 100%;
    }
    #secret-golf-join :where(.join-thumb > img:first-child, .hero-slide > img, .support-card-image, .detail-thumb, .builder-product-card img, .builder-complete-card img, .builder-detail-hero) {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover;
    }
    #secret-golf-join :where(button, input, select, textarea) {
      font-family: var(--font-family-sgj);
      font-size: inherit;
      letter-spacing: 0;
    }
    #secret-golf-join :where(button, select, textarea) {
      line-height: inherit;
    }
    #secret-golf-join :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"])) {
      line-height: normal;
    }
    #secret-golf-join :where(input, select, textarea):focus,
    #secret-golf-join :where(input, select, textarea):focus-visible {
      border-color: transparent;
    }
    #secret-golf-join :where(button) {
      cursor: pointer;
      text-align: inherit;
    }
    #secret-golf-join :where(a) {
      color: inherit;
      text-decoration: none;
    }
    #secret-golf-join :where(ul, ol) {
      margin: 0;
      padding-left: 20px;
    }
    #secret-golf-join :where(li) {
      display: list-item;
    }
    #secret-golf-join :where(p) {
      word-break: keep-all;
      overflow-wrap: normal;
    }
    #secret-golf-join :where(i, em, strong, small, label) {
      float: none !important;
      clear: none !important;
      width: auto !important;
      max-width: none;
      min-width: 0;
      padding: 0;
      margin-left: 0;
      margin-right: 0;
      text-indent: 0;
      line-height: inherit;
      white-space: inherit;
    }
    #secret-golf-join :where(i, em) {
      font-style: normal;
    }
    #secret-golf-join :where(strong) {
      font-weight: inherit;
    }
    #secret-golf-join :where(li) {
      float: none !important;
      clear: none !important;
      width: auto !important;
      padding: 0;
      margin: 0;
      border: 0;
    }

    .page-container {
      width: 100%;
      max-width: var(--page-max-width);
      margin: 0 auto;
      padding: 0;
    }

    .section-title { font-size: var(--font-section-title); line-height: 1.25; font-weight: 800; margin: 0 0 5px; }
    .section-desc { font-size: var(--font-section-desc); color: var(--text-soft); margin: 0; }

    #joinSectionNav [data-join-section-target="domestic"],
    #join-section-domestic,
    .join-product-section.layout-domestic {
      display: none !important;
    }
    .section-head-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 18px;
    }
    .section-head-row[hidden] {
      display: none !important;
    }
    #joinActiveSectionHead {
      justify-content: center;
      text-align: center;
    }
    #joinActiveSectionHead > div {
      width: 100%;
    }
    .calendar-open-button {
      flex: 0 0 auto;
      gap: 8px;
      margin-top: 2px;
      font-weight: 800;
    }
    .calendar-label-short {
      display: none;
    }
    .button-icon {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
    }
    .button {
      border-radius: 14px;
      padding: 9px 20px;
      font: inherit;
      transition: .2s ease;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .button.primary { background: var(--blue); color: #fff; }
    .button.primary:hover { background: var(--blue-dark); }
    .button.secondary { background: #fff; color: var(--text); border: 1px solid var(--border); }
    .button.full { width: 100%; }
    .button.large { font-size: var(--font-hero-cta); padding: 16px 24px; font-weight: 700; }
    .chip {
      border: 1px solid var(--border);
      background: #fff;
      color: var(--text-soft);
      border-radius: 10px;
      padding: 5px 13px;
      font-size: var(--font-label);
      font-weight: 600;
      cursor: pointer;
      transition: .2s ease;
    }
    .chip.active { background: var(--blue); border-color: var(--blue); color: #fff; }

    #secret-golf-join header {
      position: sticky;
      top: 0;
      z-index: 30;
      background: rgba(255,255,255,.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid #edf2f7;
    }
    .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 74px;
      gap: 24px;
    }
    .brand { font-size: var(--font-header-logo); font-weight: 800; color: var(--blue); }
    .brand a { color: inherit; text-decoration: none; }
    #secret-golf-join nav {
      display: flex;
      gap: 24px;
      font-size: var(--font-header-nav);
      color: var(--text-soft);
      flex-wrap: wrap;
    }
    #secret-golf-join nav a { color: inherit; text-decoration: none; }
    #secret-golf-join nav a:hover { color: var(--blue); }

    .hero {
      position: relative;
      overflow: hidden;
      background: transparent;
      color: var(--text);
      padding: 84px 0 96px;
    }
    .hero::before {
      content: none;
      position: absolute;
      inset: auto -10% -30% auto;
      width: 520px;
      height: 520px;
      border-radius: 50%;
      background: rgba(255,255,255,.08);
      filter: blur(20px);
    }
    .hero-grid {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(350px, .98fr);
      gap: 25px;
      align-items: center;
    }
    .hero-title {
      font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: var(--font-hero-title);
      line-height: 64px;
      font-weight: 700;
      letter-spacing: -.5px;
      color: var(--color-hero-title);
      margin: 0 0 7px;
    }
    .hero-subtitle {
      font-size: var(--font-hero-subtitle);
      font-weight: var(--font-weight-hero-subtitle);
      color: var(--color-hero-subtitle);
      margin: 0 0 28px;
    }
    .hero-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 28px;
    }
    .hero-chip {
      font-size: var(--font-hero-chip);
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,.18);
      border: 1px solid rgba(255,255,255,.16);
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .hero-visual {
      min-height: 380px;
      border-radius: 22px;
      box-shadow: none;
      position: relative;
      overflow: visible;
      border: 1px solid rgba(255,255,255,.18);
    }
    .hero-slider-viewport {
      position: absolute;
      inset: 0;
      overflow: hidden;
      border-radius: inherit;
    }
    .hero-slider-track {
      height: 100%;
      min-height: inherit;
      display: flex;
      transition: transform .45s ease;
    }
    .hero-slide {
      position: relative;
      flex: 0 0 100%;
      min-height: inherit;
      overflow: hidden;
    }
    .hero-slide.is-clickable {
      cursor: pointer;
    }
    .hero-slide.is-clickable:focus-visible {
      outline: 3px solid #6c63ff;
      outline-offset: -4px;
    }
    .hero-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      inset: 0;
    }
    .hero-card {
      position: absolute;
      left: 22px;
      right: 22px;
      bottom: 22px;
      z-index: 2;
      padding: 18px;
      border-radius: 18px;
      background: rgba(255,255,255,.14);
      border: 1px solid rgba(255,255,255,.18);
      backdrop-filter: blur(10px);
    }
    .hero-card-title { color: #fff; font-size: 18px; font-weight: 800; margin: 0 0 6px; }
    .hero-card-copy { font-size: 14px; color: rgba(255,255,255,.86); margin: 0; }
    .hero-slick-dots {
      position: absolute;
      left: 50%;
      bottom: -24px;
      z-index: 3;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      transform: translateX(-50%);
    }
    .hero-slick-dot {
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: #d1d5db;
      box-shadow: none;
      transition: width .2s ease, background .2s ease;
    }
    .hero-slick-dot.active {
      width: 22px;
      background: var(--blue);
    }

    .search-wrap {
      position: relative;
      z-index: 5;
      margin-top: -42px;
    }
    .search-panel {
      display: none;
      width: 100%;
      background: #fff;
      border-radius: 20px;
      box-shadow: none;
      padding: 24px;
      grid-template-columns: repeat(4, 1fr) auto;
      gap: 14px;
      border: 1px solid var(--border);
    }
    .mobile-search-panel {
      display: block;
      width: min(100% - 60px, 420px);
      margin: 0 auto;
    }
    .mobile-search-input {
      width: 100%;
      min-height: 48px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 0 16px;
      border-radius: 10px;
      background: #fff;
      box-shadow: 0 8px 22px rgba(15, 23, 42, 0.18);
      color: var(--color-mobile-search-input);
      font-size: var(--font-mobile-search-input);
      font-weight: var(--font-weight-mobile-search-input);
      text-align: left;
    }
    .mobile-search-input > div {
      font-size: var(--font-mobile-search-placeholder);
      font-weight: var(--font-weight-mobile-search-placeholder);
      line-height: 1.35;
    }
    .hero-search-stack .mobile-search-input > div {
      font-size: 16px;
    }
    @media (min-width: 641px) {
      .hero-search-stack .mobile-search-input > div {
        font-size: 18px;
      }
    }
    .mobile-search-icon {
      width: 20px;
      height: 20px;
      color: #666d75;
      flex: 0 0 20px;
    }
    .mobile-search-submit {
      width: 100%;
      min-height: 52px;
      margin-top: 8px;
      border-radius: 5px;
      background: #373A3C;
      color: #fff;
      font-size: 18px;
      font-weight: 700;
    }
    .field {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .field label {
      font-size: var(--font-label);
      font-weight: 700;
      color: var(--text-soft);
    }
    .field input, .field select, .field textarea {
      width: 100%;
      min-height: 48px;
      padding: 0 14px;
      border: 1px solid var(--border);
      border-radius: 14px;
      font-size: var(--font-label);
      color: var(--text);
      background: #fff;
    }
    .field textarea {
      min-height: 110px;
      padding-top: 12px;
      padding-bottom: 12px;
      resize: vertical;
    }

    .sgj-section { padding: 72px 0; }
    .category-grid,
    .region-grid,
    .trust-grid,
    .join-grid {
      display: grid;
      gap: 18px;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }
    .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .category-card {
      min-height: 250px;
      border-radius: 22px;
      display: flex;
      align-items: end;
      overflow: hidden;
      position: relative;
      box-shadow: none;
      border: 1px solid var(--border);
    }
    .category-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .category-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.62));
    }
    .category-content {
      position: relative;
      z-index: 1;
      width: 100%;
      padding: 24px;
      color: #fff;
    }
    .category-content > div:first-child {
      margin: 0 0 10px;
      font-size: 30px;
      line-height: 1.2;
    }
    .category-content p {
      margin: 0;
      color: rgba(255,255,255,.82);
      line-height: 1.6;
    }

    .banner-box {
      overflow: hidden;
      border-radius: 22px;
      box-shadow: var(--shadow);
      border: 1px solid var(--border);
    }
    .banner-box img { width: 100%; display: block; }

    .toolbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      margin-bottom: 22px;
    }
    .toolbar-group { display: flex; gap: 10px; flex-wrap: wrap; }

    .join-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .join-section-list {
      display: grid;
      gap: 56px;
      margin-top: 24px;
    }
    .join-product-section {
      position: relative;
      display: grid;
      gap: 18px;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }
    .join-product-section-head {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 5px;
      min-width: 0;
    }
    .join-product-section-copy {
      display: grid;
      gap: 5px;
      min-width: 0;
    }
    .join-section-calendar-button {
      flex: 0 0 auto;
      max-width: max-content;
      margin-right: 8px;
      background: #1f345bdb;
      border-color: #1f345bdb;
      color: #fff;
      white-space: nowrap;
    }
    .join-product-section-title {
      margin: 0;
      font-size: var(--font-product-section-title);
      line-height: 1.25;
      font-weight: 800;
      color: var(--text);
    }
    .join-product-section-icon {
      position: relative;
      display: inline-block;
      width: 24px;
      height: 24px;
      margin-left: 7px;
      vertical-align: -3px;
      box-sizing: border-box;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
    .join-product-section-icon.quick {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/nav2.webp");
    }
    .join-product-section-icon.soon {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/nav3.webp");
    }
    .join-product-section-icon.popular,
    .join-product-section-icon.custom {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/nav1.webp");
    }
    .join-product-section-icon.custom {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/nav4.webp");
    }
    .join-product-section-icon.overseas {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/nav5.webp");
    }
    .join-product-section-icon.my {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/nav0.webp");
    }
    .join-product-section-icon.domestic {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/nav5.webp");
    }
    .join-product-section-desc {
      margin: 0;
      color: var(--text-soft);
      font-size: var(--font-product-section-desc);
      line-height: 1.45;
      font-weight: 500;
    }
    .join-mdpick-countries {
      display: block;
      overflow: visible;
    }
    .join-mdpick-countries::-webkit-scrollbar {
      display: none;
    }
    .join-mdpick-country {
      display: grid;
      align-content: start;
      align-self: flex-start;
      gap: 18px;
      width: 100%;
      min-width: 0;
    }
    .join-mdpick-country-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-width: 0;
    }
    .join-mdpick-country-name {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      min-width: 0;
      font-size: 28px;
      line-height: 1.25;
      font-weight: 900;
      color: var(--text);
      margin-top: 0;
    }
    .join-mdpick-country-trigger {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      min-width: 0;
      border: 0;
      background: transparent;
      color: inherit;
      font: inherit;
      font-weight: inherit;
      line-height: inherit;
      padding: 0 0 3px;
      cursor: pointer;
    }
    .join-mdpick-country-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 24px;
      border: 0;
      background: transparent;
      color: inherit;
      padding: 0;
      cursor: pointer;
    }
    .join-mdpick-country-trigger svg,
    .join-mdpick-country-toggle svg {
      width: 24px;
      height: 24px;
      display: block;
      flex: 0 0 24px;
      transform: rotate(-90deg);
      transition: transform .24s ease;
    }
    .join-mdpick-country-trigger.open svg,
    .join-mdpick-country-toggle.open svg {
      transform: rotate(90deg);
    }
    #secret-golf-join .join-mdpick-country-current {
      display: inline-flex;
      align-items: center;
      font-style: normal;
      font-size: 25px;
      font-weight: 700;
      line-height: 1.25;
    }
    #secret-golf-join .join-mdpick-country-flag {
      display: inline-block;
      box-sizing: border-box;
      width: 22px;
      height: 22px;
      margin-left: 7px;
      border-radius: 5px;
      object-fit: cover;
      vertical-align: -3px;
    }
    #secret-golf-join .join-mdpick-country-flag-japan {
      border: 1px solid #d8dee5;
    }
    #secret-golf-join .join-mdpick-country-trigger.active,
    #secret-golf-join .join-mdpick-country-option.active {
      position: relative;
      border-bottom: 0;
    }
    #secret-golf-join .join-mdpick-country-trigger.active::after,
    #secret-golf-join .join-mdpick-country-option.active::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 2px;
      background: currentColor;
    }
    #secret-golf-join .join-mdpick-country-trigger.menu-open-hidden {
      display: none;
    }
    .join-mdpick-country-options {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-left: 7px;
      max-width: none;
      opacity: 1;
      overflow: visible;
      transform: none;
      pointer-events: auto;
      transition: none;
      white-space: nowrap;
    }
    .join-mdpick-country-options.open {
      margin-left: 7px;
      max-width: none;
      opacity: 1;
      transform: none;
      pointer-events: auto;
    }
    @media (min-width: 641px) {
      .join-mdpick-country-options,
      .join-mdpick-country-options.open {
        gap: 15px;
        margin-left: 15px;
      }
    }
    #secret-golf-join .join-mdpick-country-option {
      display: inline-flex;
      align-items: center;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: var(--text);
      padding: 0 0 3px;
      font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 25px;
      font-weight: 700;
      line-height: 1.25;
      cursor: pointer;
      white-space: nowrap;
      opacity: 1;
      transform: none;
      transition: background .18s ease, color .18s ease;
    }
    #secret-golf-join .join-mdpick-country-option-alt {
      padding: 0 0 3px;
      font-size: 25px;
      font-weight: 800;
    }
    #secret-golf-join .join-mdpick-country-option-current {
      padding: 0 0 3px;
      border-radius: 0;
      background: transparent;
      color: var(--text);
      font-size: 25px;
      font-weight: 800;
      line-height: 1.25;
    }
    #secret-golf-join .join-mdpick-country-option.active {
      color: var(--text);
      background: transparent;
      border-radius: 0;
    }
    #secret-golf-join .join-mdpick-country-options.open .join-mdpick-country-option {
      opacity: 1;
      transform: translateX(0);
    }
    .join-soon-range-tabs {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      min-width: 0;
      max-width: 100%;
      margin: 0;
      overflow-x: auto;
      scrollbar-width: none;
      white-space: nowrap;
    }
    .join-soon-range-tabs::-webkit-scrollbar {
      display: none;
    }
    .join-mdpick-country-options.open .join-mdpick-country-option:nth-child(2) {
      transition-delay: .04s;
    }
    .join-mdpick-destination-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: currentColor;
      cursor: pointer;
      padding: 0;
    }
    .join-mdpick-destination-button:hover {
      background: #f1f3f5;
    }
    .join-mdpick-destination-button svg {
      width: 24px;
      height: 24px;
      display: block;
    }
    .join-mdpick-pack-chips {
      display: flex;
      align-items: center;
      gap: 4px;
      flex-wrap: wrap;
    }
    @media (min-width: 641px) {
      .join-mdpick-pack-chips {
        gap: 10px;
      }
    }
    #secret-golf-join .join-mdpick-pack-chip,
    .join-mdpick-pack-chip {
      position: relative;
      min-height: 32px;
      padding: 10px 16px;
      border: 0;
      border-radius: 999px;
      background: #f1f3f5;
      color: #313437;
      font-size: var(--font-mdpick-pack-chip) !important;
      line-height: 1;
      font-weight: 600;
      white-space: nowrap;
    }
    @media (min-width: 640px) {
      #secret-golf-join .join-soon-range-tab.join-mdpick-pack-chip,
      .join-soon-range-tab.join-mdpick-pack-chip {
        padding: 10px 16px;
      }
    }
    #secret-golf-join .join-mdpick-pack-chip.active,
    .join-mdpick-pack-chip.active {
      border-color: #313437 !important;
      background: #313437 !important;
      color: #fff !important;
    }
    .join-mdpick-pack-chip::after {
      content: none;
    }
    .join-mdpick-pack-chip:hover::after,
    .join-mdpick-pack-chip:focus-visible::after {
      content: none;
    }
    .join-mdpick-pack-info-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: #8b95a1;
      padding: 0;
      flex: 0 0 16px;
      cursor: pointer;
    }
    .join-mdpick-pack-info-button svg {
      display: block;
      width: 16px;
      height: 16px;
    }
    .join-mdpick-pack-tooltip {
      position: fixed;
      left: var(--mdpick-pack-tooltip-left, 50%);
      top: var(--mdpick-pack-tooltip-top, 50%);
      right: auto;
      bottom: auto;
      z-index: 2147483602;
      width: min(280px, calc(100vw - 48px));
      padding: 10px 12px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.98);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
      color: var(--text);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.45;
      text-align: left;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translate(-50%, calc(-100% - 8px));
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }
    .join-mdpick-pack-tooltip.open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translate(-50%, calc(-100% - 12px));
    }
    .join-mdpick-pack-tooltip.below {
      transform: translate(-50%, 8px);
    }
    .join-mdpick-pack-tooltip.below.open {
      transform: translate(-50%, 12px);
    }
    .join-mdpick-pack-info-list {
      display: grid;
      gap: 6px;
    }
    .join-mdpick-pack-info-list div {
      display: grid;
      gap: 2px;
    }
    .join-mdpick-pack-info-list strong {
      color: var(--text);
      font-weight: 700;
    }
    .join-mdpick-pack-info-list span {
      font-weight: 600;
    }
    .join-mdpick-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-content: start;
      gap: 18px;
      touch-action: pan-y;
    }
    .join-mdpick-list-swipe-viewport {
      width: 100%;
      overflow: hidden;
    }
    .join-mdpick-list-swipe-track {
      display: flex;
      width: 100%;
      will-change: transform;
    }
    .join-mdpick-list-swipe-track.animating {
      transition: transform .36s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .join-mdpick-list-swipe-track > .join-mdpick-list,
    .join-mdpick-list-swipe-track > .join-mdpick-empty {
      flex: 0 0 100%;
      width: 100%;
    }
    .join-mdpick-card {
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: stretch;
      min-width: 0;
      height: 100%;
      padding: 0 0 12px;
      border: 1px solid var(--border);
      border-radius: 18px;
      background: #fff;
      box-shadow: none;
      text-align: left;
    }
    .join-mdpick-thumb {
      width: 100%;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      border-radius: 12px 12px 0 0;
      background: #eef2f7;
    }
    .join-mdpick-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .join-mdpick-thumb.is-image-fallback,
    .join-mdpick-theme-thumb.is-image-fallback,
    .join-thumb.is-image-fallback,
    .region-product-thumb.is-image-fallback,
    .join-my-card-thumb.is-image-fallback,
    .join-review-trip-thumb.is-image-fallback {
      display: grid;
      place-items: center;
      background: #eef2f7 !important;
      color: #8b98a5;
    }
    .join-mdpick-thumb.is-image-fallback > img,
    .join-mdpick-theme-thumb.is-image-fallback > img,
    .join-thumb.is-image-fallback > img:first-child,
    .region-product-thumb.is-image-fallback > img,
    .join-my-card-thumb.is-image-fallback > img,
    .join-review-trip-thumb.is-image-fallback > img {
      display: none !important;
    }
    .join-mdpick-thumb.is-image-fallback::after,
    .join-mdpick-theme-thumb.is-image-fallback::after,
    .join-thumb.is-image-fallback::after,
    .region-product-thumb.is-image-fallback::after,
    .join-my-card-thumb.is-image-fallback::after,
    .join-review-trip-thumb.is-image-fallback::after {
      content: "";
      width: 24px;
      height: 24px;
      background: currentColor;
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2' ry='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2' ry='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .join-mdpick-info {
      display: grid;
      gap: 7px;
      min-width: 0;
      padding: 0 14px;
    }
    .join-mdpick-region {
      color: #8a909a;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.2;
    }
    .join-mdpick-title {
      display: -webkit-box;
      min-width: 0;
      overflow: hidden;
      color: var(--text);
      font-size: 17px;
      font-weight: 800;
      line-height: 1.3;
      text-overflow: ellipsis;
      white-space: normal;
      word-break: keep-all;
      overflow-wrap: anywhere;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      line-clamp: 2;
    }
    .join-mdpick-price {
      color: #111827;
      font-size: var(--font-card-price);
      font-weight: 800;
      line-height: 1;
    }
    .join-mdpick-price-unit {
      font-style: normal;
      font-size: 15px;
      font-weight: 600;
      line-height: 1;
      position: relative;
      left: 1px;
    }
    .join-mdpick-empty {
      min-height: 1px;
    }
    .join-soft-shimmer {
      border: 1px solid rgba(224, 228, 234, .62);
      background: linear-gradient(108deg,
        rgba(241, 243, 246, .54) 8%,
        rgba(231, 234, 239, .34) 34%,
        rgba(250, 251, 252, .82) 50%,
        rgba(230, 233, 238, .34) 66%,
        rgba(242, 244, 247, .56) 92%);
      background-size: 260% 100%;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
      animation: joinSoftShimmerFlow 3.4s ease-in-out infinite;
    }
    .join-mdpick-loading-controls {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      width: 100%;
    }
    .join-mdpick-loading-country {
      width: min(360px, 54%);
      height: 42px;
      border-radius: 13px;
    }
    .join-mdpick-loading-pack {
      width: min(210px, 36%);
      height: 38px;
      border-radius: 999px;
    }
    .join-mdpick-loading-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }
    .join-mdpick-loading-card {
      width: 100%;
      min-height: 302px;
      border-radius: 18px;
    }
    .join-mdpick-theme-loading-shell {
      display: grid;
      grid-template-columns: minmax(250px, 32%) minmax(0, 1fr);
      gap: 24px;
      min-height: 292px;
    }
    .join-mdpick-theme-loading-feature {
      min-height: 292px;
      border-radius: 15px;
    }
    .join-mdpick-theme-loading-cards {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
    }
    .join-mdpick-theme-loading-card {
      min-width: 0;
      min-height: 292px;
      border-radius: 12px;
    }
    @keyframes joinSoftShimmerFlow {
      0% { background-position: 110% 50%; }
      50% { background-position: 48% 50%; }
      100% { background-position: -110% 50%; }
    }
    @media (prefers-reduced-motion: reduce) {
      .join-soft-shimmer {
        animation: none;
        background-position: 50% 50%;
      }
    }
    .join-mdpick-theme-section {
      display: grid;
      gap: 22px;
      margin-top: 34px;
    }
    .join-mdpick-theme-deferred {
      min-height: 1px;
      margin-top: 34px;
    }
    .join-mdpick-theme-title {
      color: var(--text);
      font-size: var(--font-product-section-title);
      line-height: 1.25;
      font-weight: 800;
    }
    .join-mdpick-theme-copy {
      margin-top: -14px;
      color: var(--text-soft);
      font-size: var(--font-product-section-desc);
      line-height: 1.45;
      font-weight: 500;
      word-break: keep-all;
    }
    .join-mdpick-theme-groups {
      display: grid;
      grid-template-columns: 1fr;
      gap: 34px;
    }
    .join-mdpick-theme-group {
      display: grid;
      grid-template-columns: minmax(250px, 32%) minmax(0, 1fr);
      min-height: 292px;
      border: 0;
      border-radius: 8px;
      background: #fff;
      overflow: hidden;
      box-shadow: none;
    }
    .join-mdpick-theme-group:not(.active) {
      display: none;
    }
    .join-mdpick-theme-head {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 18px;
      min-width: 0;
      padding: 34px 30px;
      border-radius: 15px 15px 0 0;
      overflow: hidden;
      color: #fff;
      background: var(--mdpick-theme-bg-image, linear-gradient(145deg, #27dce9 0%, #1685f3 100%)) center / cover no-repeat;
    }
    .join-mdpick-theme-head::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background: linear-gradient(180deg, var(--mdpick-theme-shade, rgba(13, 55, 105, .7)) 0%, var(--mdpick-theme-shade-mid, rgba(13, 55, 105, .46)) 48%, rgba(13, 55, 105, 0) 76%);
    }
    .join-mdpick-theme-group.is-theme-ready.theme-relax .join-mdpick-theme-head {
      --mdpick-theme-bg-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/taste_bg1.webp");
      --mdpick-theme-shade: rgb(0 137 255 / 82%);
      --mdpick-theme-shade-mid: rgb(18 128 191 / 64%);
    }
    .join-mdpick-theme-group.is-theme-ready.theme-city .join-mdpick-theme-head {
      --mdpick-theme-bg-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/taste_bg2.webp");
      --mdpick-theme-shade: rgb(255 127 4 / 76%);
      --mdpick-theme-shade-mid: rgb(236 124 3 / 71%);
    }
    .join-mdpick-theme-group.is-theme-ready.theme-passion .join-mdpick-theme-head {
      --mdpick-theme-bg-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/taste_bg3.webp");
      --mdpick-theme-shade: rgb(12 223 28 / 65%);
      --mdpick-theme-shade-mid: rgb(21 169 30 / 51%);
    }
    .join-mdpick-theme-name {
      position: relative;
      z-index: 1;
      max-width: 210px;
      color: #fff;
      font-size: 32px;
      line-height: 1.25;
      font-weight: 900;
      text-shadow: 0 1px 3px rgba(15, 23, 42, .22);
      word-break: keep-all;
    }
    .join-mdpick-theme-subcopy {
      position: relative;
      z-index: 1;
      max-width: 260px;
      margin-top: -6px;
      color: rgba(255, 255, 255, 0.92);
      font-size: 16px;
      line-height: 1.45;
      font-weight: 700;
      text-shadow: 0 1px 3px rgba(15, 23, 42, .26);
      word-break: keep-all;
    }
    .join-mdpick-theme-desc {
      position: relative;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      width: fit-content;
      max-width: 100%;
      min-height: 34px;
      min-width: 142px;
      padding: 8px 16px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.94);
      color: #1f3f66;
      font-size: 14px;
      line-height: 1.25;
      font-weight: 800;
    }
    .join-mdpick-theme-pills {
      position: relative;
      z-index: 1;
      display: grid;
      gap: 12px;
      width: fit-content;
      max-width: 100%;
    }
    .join-mdpick-theme-tab {
      position: relative;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      max-width: 100%;
      min-height: 34px;
      padding: 8px 16px;
      border: 1px solid transparent;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.94);
      color: #1f3f66;
      font: 800 14px/1.25 Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      white-space: nowrap;
      transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    }
    .join-mdpick-theme-tab.active,
    .join-mdpick-theme-tab[aria-selected="true"] {
      background: #1f2937;
      border-color: #1f2937;
      color: #fff;
    }
    @media (max-width: 1169px) {
      .join-mdpick-theme-tab:not(.active):not([aria-selected="true"]) {
        display: none;
      }
    }
    .join-mdpick-theme-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      padding: 0 0 0 24px;
      align-self: stretch;
    }
    .join-mdpick-theme-card {
      display: flex;
      flex-direction: column;
      gap: 0;
      min-width: 0;
      height: 100%;
      border: 0;
      border-radius: 0;
      background: #fff;
      padding: 0;
      text-align: left;
      cursor: pointer;
    }
    .join-mdpick-theme-thumb {
      width: 100%;
      aspect-ratio: 1.34 / 1;
      overflow: hidden;
      border-radius: 8px;
      background: #eef2f7;
    }
    .join-mdpick-theme-thumb img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .join-mdpick-theme-meta {
      display: grid;
      gap: 7px;
      min-width: 0;
      padding: 12px 0 0;
    }
    .join-mdpick-theme-region {
      color: #8a909a;
      font-size: 14px;
      line-height: 1.25;
      font-weight: 700;
    }
    .join-mdpick-theme-product {
      display: -webkit-box;
      overflow: hidden;
      color: var(--text);
      font-size: 17px;
      line-height: 1.35;
      font-weight: 800;
      text-overflow: ellipsis;
      word-break: break-all;
      overflow-wrap: anywhere;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      line-clamp: 2;
    }
    .join-mdpick-theme-price {
      color: #111827;
      font-size: 19px;
      line-height: 1.2;
      font-weight: 900;
    }
    .join-mdpick-theme-price-unit {
      font-style: normal;
      font-size: 15px;
      font-weight: 600;
      line-height: 1;
      position: relative;
      left: 1px;
    }
    @media (min-width: 1170px) {
      .join-mdpick-theme-group {
        position: relative;
        display: block;
        min-height: 566px;
        border: 0;
        background: transparent;
        overflow: visible;
        box-shadow: none;
      }
      .join-mdpick-theme-head {
        width: 434px;
        height: 566px;
        padding: 78px 60px 54px;
        justify-content: flex-start;
      }
      .join-mdpick-theme-name {
        max-width: 250px;
        font-size: 40px;
        font-weight: 700;
      }
      .join-mdpick-theme-subcopy {
        max-width: 270px;
        font-size: 17px;
      }
      .join-mdpick-theme-grid {
        position: absolute;
        top: 78px;
        right: 0;
        left: 300px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
        padding: 0;
      }
      .join-mdpick-theme-card {
        min-height: 432px;
      }
      .join-mdpick-theme-thumb {
        height: 210px;
        aspect-ratio: auto;
        border-radius: 8px 8px 0 0;
      }
      .join-mdpick-theme-meta {
        min-height: 222px;
        padding: 18px 20px 24px;
        border-right: 1px solid #e5e7eb;
        border-bottom: 1px solid #e5e7eb;
        border-left: 1px solid #e5e7eb;
        border-radius: 0 0 8px 8px;
      }
      .join-mdpick-theme-product {
        min-height: 46px;
        font-size: 17px;
      }
      .join-mdpick-theme-price {
        margin-top: 2px;
        font-size: 19px;
      }
      .join-mdpick-theme-tab:not(.active):not([aria-selected="true"]) {
        display: inline-flex;
        background: #fff;
        border-color: #fff;
        color: #1f2937;
      }
    }
    @media (min-width: 876px) and (max-width: 1169px) {
      .join-mdpick-theme-group {
        grid-template-columns: 1fr;
        min-height: 0;
      }
      .join-mdpick-theme-head {
        min-height: 250px;
        padding: 38px 42px;
      }
      .join-mdpick-theme-name {
        max-width: 100%;
        font-size: 32px;
      }
      .join-mdpick-theme-subcopy {
        max-width: 100%;
      }
      .join-mdpick-theme-pills {
        display: flex;
        flex-wrap: wrap;
      }
      .join-mdpick-theme-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        padding: 18px;
      }
      .join-mdpick-theme-card {
        min-height: 360px;
      }
      .join-mdpick-theme-thumb {
        aspect-ratio: 1.28 / 1;
      }
      .join-mdpick-theme-product {
        font-size: 16px;
      }
      .join-mdpick-theme-price {
        font-size: 20px;
      }
    }
    @media (min-width: 641px) {
      .join-mdpick-theme-head {
        border-radius: 15px;
      }
      .join-mdpick-theme-card {
        border: 0;
        border-radius: 14px;
        background: #fff;
        overflow: hidden;
      }
      .join-mdpick-theme-thumb {
        border: 0;
        border-radius: 8px 8px 0 0;
      }
      .join-mdpick-theme-thumb img {
        border: 0;
      }
      .join-mdpick-theme-meta {
        border-right: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
        border-left: 1px solid var(--border);
        border-radius: 0 0 8px 8px;
      }
      .join-mdpick-theme-product {
        font-size: 19px;
        line-height: 1.35;
        font-weight: 700;
      }
      .join-mdpick-theme-price {
        font-size: var(--font-card-price);
        line-height: 1;
        font-weight: 800;
      }
      .join-mdpick-card {
        border: 0;
      }
      .join-mdpick-thumb {
        aspect-ratio: 10 / 7;
        border: 0;
        border-radius: 12px;
      }
      .join-mdpick-thumb img {
        border: 0;
      }
      .join-mdpick-info {
        padding-left: 5px;
        padding-right: 5px;
      }
      .join-mdpick-title {
        font-size: 19px;
        font-weight: 700;
      }
    }
    .join-product-section.layout-soon .join-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 14px;
    }
    .join-soon-more {
      display: flex;
      justify-content: center;
      margin-top: 14px;
    }
    .join-soon-more-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      width: 100%;
      min-height: 46px;
      border: 0;
      border-radius: 12px;
      background: #f5f5f5 !important;
      color: var(--text);
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
      box-shadow: none;
    }
    .join-soon-more-button svg {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      stroke-width: 2.2;
    }
    .join-soon-more-button-text {
      display: block;
      color: inherit;
      font: inherit;
      line-height: inherit;
    }
    .join-soon-more-button:active {
      background: #eeeeee !important;
    }
    @media (min-width: 641px) {
      .join-soon-more {
        margin-top: 18px;
      }
      .join-soon-more-button {
        width: 50%;
        min-height: 56px;
      }
      #secret-golf-join.sgj-page .join-overseas-best-more .join-soon-more-button,
      #secret-golf-join.sgj-page .join-overseas-best-more .join-soon-more-button-text {
        font-size: 20px !important;
        font-weight: 600 !important;
      }
      #secret-golf-join.sgj-page .join-overseas-best-more .join-soon-more-button svg {
        width: 22px !important;
        height: 22px !important;
        flex-basis: 22px !important;
      }
    }
    .join-soon-thumb-overlay {
      position: absolute;
      inset: 0;
      z-index: 6;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      gap: 6px;
      padding: 18px;
      border-radius: inherit;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.32) 44%, rgba(0, 0, 0, 0.68) 100%);
      color: #fff;
      pointer-events: none;
      text-shadow: 0 1px 4px rgba(0, 0, 0, .36);
    }
    .join-product-section.layout-soon .join-location-badge,
    .join-product-section.layout-soon .join-badge-wrap {
      z-index: 7;
    }
    .join-soon-thumb-bottom {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 10px;
      width: 100%;
    }
    .join-soon-thumb-main {
      min-width: 0;
      display: grid;
      gap: 5px;
      justify-items: start;
    }
    .join-soon-thumb-date {
      display: flex;
      align-items: baseline;
      gap: 4px;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.2;
    }
    .join-soon-thumb-date-number {
      font-size: 22px;
      font-weight: 800;
    }
    .join-soon-thumb-date-weekday,
    .join-soon-thumb-date-label {
      font-size: 15px;
      font-weight: 700;
    }
    .join-soon-thumb-date-range {
      display: inline-flex;
      align-items: baseline;
      gap: 4px;
      line-height: 1.25;
      white-space: nowrap;
    }
    .join-soon-thumb-date-range-number {
      font-size: 22px;
      font-weight: 800;
    }
    .join-soon-thumb-date-range-weekday,
    .join-soon-thumb-date-range-separator,
    .join-soon-thumb-date-range-label {
      font-size: 15px;
      font-weight: 700;
    }
    .join-soon-thumb-duration {
      width: fit-content;
      max-width: 100%;
      padding: 0;
      border-radius: 0;
      background: transparent;
      color: rgba(255, 255, 255, .94);
      font-size: 20px;
      font-weight: 800;
      line-height: 1.1;
      backdrop-filter: none;
      flex: 0 0 auto;
    }
    .join-soon-mobile {
      position: relative;
      display: block;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      overflow: hidden;
    }
    .join-soon-month-controls {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      width: fit-content;
      max-width: 330px;
      height: var(--soon-month-control-height);
      margin: 0 0 10px;
    }
    .join-soon-month-track {
      display: flex;
      align-items: flex-end;
      gap: 6px;
      width: auto;
      height: var(--soon-month-control-height);
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-behavior: auto;
      scrollbar-width: none;
    }
    .join-soon-month-track::-webkit-scrollbar {
      display: none;
    }
    .join-soon-month-chip {
      flex: 0 0 auto;
      border: 0;
      background: transparent;
      color: #94a3b8;
      font-size: var(--font-soon-month-next);
      font-weight: var(--font-weight-soon-month);
      line-height: 1.05;
      text-align: center;
      white-space: nowrap;
      height: var(--soon-month-control-height);
      display: inline-flex;
      align-items: flex-end;
      cursor: pointer;
      transform: translate(var(--soon-month-next-x), var(--soon-month-next-y));
      transition: color 0.16s ease;
    }
    .join-soon-month-chip.active {
      color: var(--text);
      font-size: var(--font-soon-month-active);
      font-weight: var(--font-weight-soon-month-active);
      margin-right: 0;
      transform: translate(var(--soon-month-active-x), var(--soon-month-active-y));
    }
    #secret-golf-join .join-soon-month-chip {
      font-size: var(--font-soon-month-next) !important;
    }
    #secret-golf-join .join-soon-month-chip.active {
      font-size: var(--font-soon-month-active) !important;
      font-weight: var(--font-weight-soon-month-active) !important;
    }
    .join-soon-month-nav {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: var(--soon-date-nav-size, 30px);
      height: var(--soon-date-nav-size, 30px);
      border: 1px solid var(--border);
      border-radius: 999px;
      background: #fff;
      color: var(--text);
      padding: 0;
      cursor: pointer;
    }
    .join-soon-month-nav::before {
      content: "";
      width: 13px;
      height: 13px;
      background: currentColor;
      -webkit-mask: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .join-soon-month-nav.prev::before {
      transform: scaleX(-1);
    }
    .join-soon-date-rail {
      position: relative;
      display: flex;
      gap: 12px;
      width: 100%;
      max-width: 100%;
      padding: 4px 92px 10px 0;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scrollbar-width: none;
      -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, rgba(0,0,0,.05) 35px, #000 70px, #000 calc(100% - 92px), transparent 100%);
      mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, rgba(0,0,0,.05) 35px, #000 70px, #000 calc(100% - 92px), transparent 100%);
    }
    .join-soon-date-rail.is-at-start {
      -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 92px), transparent 100%);
      mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 92px), transparent 100%);
    }
    .join-soon-date-rail::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      z-index: 0;
      height: 2px;
      border-radius: 999px;
      background: #e2e8f0;
      transform: translateY(-50%);
    }
    .join-soon-date-rail::-webkit-scrollbar {
      display: none;
    }
    .join-soon-date-chip {
      position: relative;
      z-index: 1;
      flex: 0 0 96px;
      border: 1px solid #d9e3ef;
      border-radius: 14px;
      background: #fff;
      color: #475569;
      height: var(--soon-date-chip-height);
      padding: 9px 10px;
      font: inherit;
      text-align: left;
      box-shadow: none;
    }
    .join-soon-date-chip.active {
      border-color: var(--blue);
      background: var(--blue);
      color: #fff;
    }
    .join-soon-date-main {
      display: flex;
      align-items: baseline;
      gap: var(--soon-date-weekday-gap);
      font-size: var(--font-soon-date);
      font-weight: 800;
      line-height: 1.1;
    }
    .join-soon-date-weekday {
      color: #7b8794;
      font-size: var(--font-soon-weekday);
      font-weight: 800;
      line-height: 1;
    }
    .join-soon-date-chip.active .join-soon-date-weekday {
      color: rgba(255, 255, 255, 0.78);
    }
    .join-soon-date-chip.sunday .join-soon-date-weekday {
      color: #dc2626;
    }
    .join-soon-date-chip.sunday.active .join-soon-date-weekday {
      color: #fecaca;
    }
    .join-soon-date-count {
      display: inline-flex;
      align-items: baseline;
      gap: 2px;
      margin-top: 5px;
      font-size: var(--font-soon-count);
      font-weight: 800;
      line-height: 1.1;
      opacity: .78;
      white-space: nowrap;
      letter-spacing: 0;
    }
    .join-soon-date-count-number {
      color: #0e60e8;
      font-weight: 900;
      line-height: 1;
    }
    .join-soon-date-count-unit {
      line-height: 1;
    }
    .join-soon-date-chip.active .join-soon-date-count,
    .join-soon-date-chip.active .join-soon-date-count-number,
    .join-soon-date-chip.active .join-soon-date-count-unit {
      color: #e2ff0a;
    }
    .join-soon-date-chip.active .join-soon-date-count-unit {
      color: rgba(255, 255, 255, 0.68);
    }
    .join-soon-panels {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      overflow: hidden;
    }
    .join-soon-panel {
      display: none;
    }
    .join-soon-panel.active {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }
    .join-soon-compact-card {
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      padding: 10px 10px;
      border: 1px solid var(--border);
      border-radius: 18px;
      background: #fff;
      cursor: pointer;
      overflow: hidden;
      box-shadow: none;
    }
    .join-soon-compact-thumb {
      position: relative;
      width: 100%;
      height: 150px;
      border-radius: 14px;
      overflow: hidden;
      background: #eef2f7;
    }
    .join-soon-compact-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .join-soon-compact-body {
      display: flex;
      flex: 1 1 auto;
      min-width: 0;
      flex-direction: column;
      padding: 18px 8px 8px;
    }
    .join-soon-compact-body .join-soon-compact-region {
      display: none;
    }
    .join-soon-compact-body .card-meta-row {
      display: none !important;
    }
    .join-soon-compact-region {
      margin: 0 0 3px;
      color: var(--text-soft);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .join-soon-category-row {
      margin: 0 0 8px;
    }
    .sgj-page .join-category-row.join-soon-category-row {
      display: flex;
    }
    .join-soon-compact-title {
      margin: 0 0 6px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      font-size: 17px;
      font-weight: 800;
      line-height: 1.3;
    }
    .join-soon-compact-date {
      margin: 0 0 7px;
      color: var(--text);
      font-size: var(--font-card-date);
      font-weight: 700;
    }
    .join-soon-compact-date .card-meta {
      margin: 0;
    }
    .join-soon-compact-price {
      display: flex;
      align-items: baseline;
      gap: 6px;
      margin-top: 14px;
      color: var(--blue);
      font-weight: 800;
    }
    .join-soon-compact-price strong {
      position: relative;
      top: 0;
      font-size: var(--font-card-price);
      line-height: 1;
      letter-spacing: 0;
    }
    .join-soon-compact-team {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 16px;
      padding-top: 15px;
      border-top: 1px solid #edf2f7;
    }
    .join-soon-compact-team .team-couple-wrap {
      --team-avatar-size: 47px;
      height: var(--team-avatar-size);
    }
    .join-soon-compact-team .team-avatar,
    .join-soon-compact-team .team-empty {
      width: 47px;
      height: 47px;
      flex-basis: 47px;
      border-radius: 12px;
      border-width: 2px;
    }
    .join-card-feature-tag,
    .join-card-include-tags,
    .join-card-participant-copy,
    .join-card-review-note {
      display: none;
    }
    .join-product-section.layout-quick .join-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      overflow: visible;
    }
    .join-product-section.layout-quick .join-card {
      display: grid;
      grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
      min-height: 260px;
    }
    .join-product-section.layout-quick .join-card .join-thumb {
      height: 100%;
      min-height: 260px;
      border-radius: 22px 0 0 22px;
    }
    .join-product-section.layout-quick .join-card .join-thumb > img:first-child {
      height: 100%;
      border-radius: 22px 0 0 22px;
      clip-path: inset(0 round 22px 0 0 22px);
    }
    .join-product-section.layout-quick .join-card .join-card-feature-tag {
      display: inline-flex;
      width: fit-content;
      align-items: center;
      justify-content: center;
      gap: 5px;
      min-height: 22px;
      margin-bottom: 0;
      padding: 5px 9px;
      border-radius: 999px;
      background: #fff7ed;
      color: #c2410c;
      font-size: 12px;
      font-weight: 800;
      line-height: 1;
    }
    .join-product-section.layout-quick .join-card .join-body {
      display: flex;
      flex-direction: column;
      align-self: stretch;
      height: 100%;
      min-height: 260px;
    }
    .join-product-section.layout-quick .join-card .join-card-include-tags {
      display: flex;
      flex-wrap: wrap;
      align-content: flex-start;
      gap: 6px;
      margin: 12px 0 10px;
    }
    .join-product-section.layout-quick .join-card-include-tags > div {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 22px;
      padding: 5px 9px;
      border-radius: 999px;
      background: #f1f5f9;
      color: var(--color-quick-include-chip);
      font-size: var(--font-quick-include-chip);
      font-weight: var(--font-weight-quick-include-chip);
      line-height: 1;
    }
    @media (min-width: 876px) {
      .join-product-section.layout-quick .join-grid {
        align-items: stretch;
      }
      .join-product-section.layout-quick .join-card {
        height: 100%;
      }
      .join-product-section.layout-quick .join-card .join-body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
      }
      .join-product-section.layout-quick .join-card .join-price {
        margin-top: auto;
      }
    }
    @media (min-width: 641px) and (max-width: 1126px) {
      .join-soon-panel.active,
      .join-product-section.layout-overseas .join-grid,
      .join-product-section.layout-domestic .join-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .join-product-section.layout-overseas .join-thumb,
      .join-product-section.layout-overseas .join-thumb > img:first-child,
      .join-product-section.layout-domestic .join-thumb,
      .join-product-section.layout-domestic .join-thumb > img:first-child {
        height: 190px;
      }
    }
    .join-product-section.layout-quick .join-card-participant-copy {
      display: block;
      margin: 16px 0 16px;
      padding: 15px 15px;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      background: #fff;
      color: var(--color-quick-participant-copy);
      font-size: var(--font-quick-participant-copy);
      font-weight: var(--font-weight-quick-participant-copy);
      line-height: 1.45;
    }
    .join-card-participant-copy strong {
      display: block;
      margin-bottom: 2px;
      color: var(--color-quick-participant-copy-title);
      font-size: var(--font-quick-participant-copy-title);
      font-weight: var(--font-weight-quick-participant-copy-title);
    }
    .join-product-section.layout-quick .join-card .join-price {
      margin-top: auto;
    }
    .join-product-section.layout-quick .join-card .team-row {
      margin-top: 12px;
    }
    .join-product-section.layout-soon .join-grid {
      position: relative;
      grid-template-columns: minmax(0, 1fr);
      padding-left: 0;
    }
    .join-product-section.layout-soon .join-grid::before,
    .join-product-section.layout-soon .join-card::before {
      content: none;
    }
    .join-product-section.layout-soon .join-thumb {
      --join-card-image-ratio: 2 / 1;
      height: auto;
      min-height: 0;
      overflow: hidden;
    }
    .join-product-section.layout-soon .join-thumb,
    .join-product-section.layout-soon .join-thumb > img:first-child {
      border-radius: 22px 22px 0 0;
      clip-path: inset(0 round 22px 22px 0 0);
    }
    @media (min-width: 641px) {
      .join-product-section.layout-soon .join-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .join-product-section.layout-soon .join-thumb {
        --join-card-image-ratio: 16 / 10;
      }
    }
    @media (min-width: 1170px) {
      .join-product-section.layout-soon .join-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
      }
      .join-product-section.layout-soon .join-thumb {
        --join-card-image-ratio: 1.34 / 1;
      }
    }
    .join-product-section.layout-soon .join-grid::before {
      content: none;
      position: absolute;
      left: 6px;
      top: 14px;
      bottom: 14px;
      width: 2px;
      border-radius: 999px;
      background: #e2e8f0;
    }
    .join-product-section.layout-soon .join-card {
      position: relative;
    }
    .join-product-section.layout-soon .join-card::before {
      content: none;
      position: absolute;
      left: -31px;
      top: 18px;
      z-index: 2;
      min-width: 52px;
      padding: 8px 8px;
      border-radius: 999px;
      background: var(--blue);
      color: #fff;
      font-size: 17px;
      font-weight: 600;
      line-height: 1;
      text-align: center;
      box-shadow: 0 5px 14px rgba(30, 103, 181, 0.22);
    }
    @media (min-width: 1170px) {
      .join-product-section.layout-soon .join-grid::before,
      .join-product-section.layout-soon .join-card::before {
        content: none;
      }
    }
    .join-product-section.layout-popular .join-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .join-product-section.layout-popular .join-card {
      display: grid;
      grid-template-columns: 168px minmax(0, 1fr);
      min-height: 190px;
      background: #fbfcfe;
    }
    .join-product-section.layout-popular .join-thumb {
      height: 100%;
      min-height: 190px;
      border-radius: 22px 0 0 22px;
    }
    .join-product-section.layout-popular .join-thumb > img:first-child {
      border-radius: 22px 0 0 22px;
      clip-path: inset(0 round 22px 0 0 22px);
    }
    .join-product-section.layout-popular .join-card-review-note {
      display: inline-flex;
      width: fit-content;
      margin-top: 10px;
      padding: 5px 9px;
      border-radius: 999px;
      background: #fefce8;
      color: #a16207;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.1;
    }
    .join-product-section.layout-overseas .join-grid {
      display: flex;
      grid-template-columns: none;
      gap: 14px;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-behavior: smooth;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: 1px;
      scrollbar-width: none;
      padding: 1px;
    }
    .join-product-section.layout-overseas .join-grid::-webkit-scrollbar {
      display: none;
    }
    .join-product-section.layout-overseas .join-card {
      flex: 0 0 calc((100% - 42px) / 4);
      min-width: calc((100% - 42px) / 4);
      scroll-snap-align: start;
    }
    .join-product-section.layout-overseas .join-thumb,
    .join-product-section.layout-overseas .join-thumb > img:first-child {
      height: 138px;
    }
    .join-product-section.layout-overseas .join-body {
      padding: 14px 18px 18px;
    }
    .join-product-section.layout-overseas .join-title {
      font-size: 19px;
    }
    #secret-golf-join .join-product-section.layout-overseas .join-category-chip.overseas {
      display: none !important;
    }
    .join-product-section.layout-domestic .join-grid {
      display: flex;
      grid-template-columns: none;
      gap: 14px;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-behavior: smooth;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      padding: 0;
    }
    .join-product-section.layout-domestic .join-grid::-webkit-scrollbar {
      display: none;
    }
    .join-product-section.layout-domestic .join-card {
      flex: 0 0 calc((100% - 42px) / 4);
      min-width: calc((100% - 42px) / 4);
      scroll-snap-align: start;
    }
    .join-product-section.layout-domestic .join-thumb,
    .join-product-section.layout-domestic .join-thumb > img:first-child {
      height: 138px;
    }
    .join-product-section.layout-domestic .join-body {
      padding: 14px;
    }
    .join-product-section.layout-domestic .join-title {
      font-size: 17px;
    }
    .join-product-section.layout-custom {
      gap: 16px;
    }
    .join-custom-themes {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }
    .join-custom-theme-card {
      position: relative;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 10px;
      min-height: 126px;
      padding: 18px;
      border: 1px solid var(--border);
      border-radius: 20px;
      background: #fff;
      color: var(--text);
      text-align: left;
      cursor: pointer;
      overflow: hidden;
      box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .join-custom-theme-card::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 5px;
      background: var(--theme-color, var(--blue));
      opacity: .86;
    }
    .join-custom-theme-card.active {
      border-color: var(--theme-color, var(--blue));
      box-shadow: inset 0 -4px 0 var(--theme-color, var(--blue));
      transform: none;
    }
    .join-custom-theme-copy {
      position: relative;
      z-index: 1;
      display: grid;
      gap: 7px;
      min-width: 0;
    }
    .join-custom-theme-label {
      width: fit-content;
      padding: 5px 9px;
      border-radius: 999px;
      background: var(--theme-soft, #f1f5f9);
      color: var(--theme-color, var(--blue));
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
    }
    .join-custom-theme-title {
      font-size: 21px;
      font-weight: 800;
      line-height: 1.25;
    }
    .join-custom-mobile-break {
      display: none;
    }
    .join-custom-theme-desc {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 600;
      line-height: 1.45;
    }
    .join-custom-theme-visual {
      position: relative;
      width: 58px;
      height: 58px;
      align-self: center;
      border-radius: 18px;
      background: var(--theme-soft, #f1f5f9);
    }
    .join-custom-theme-visual::before,
    .join-custom-theme-visual::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      background: var(--theme-color, var(--blue));
    }
    .join-custom-theme-visual::before {
      left: 14px;
      top: 12px;
      width: 30px;
      height: 30px;
      opacity: .22;
    }
    .join-custom-theme-visual::after {
      left: 19px;
      top: 17px;
      width: 20px;
      height: 20px;
      box-shadow: -12px 21px 0 -5px var(--theme-color, var(--blue)), 12px 21px 0 -5px var(--theme-color, var(--blue));
    }
    @media (min-width: 641px) {
      .join-custom-theme-card[data-custom-theme="beginner"] {
        border: 1px solid var(--border);
        background:
          linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .72) 46%, rgba(255, 255, 255, .12) 68%),
          url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/banner_beginner.jpg") center / cover no-repeat;
      }
      .join-custom-theme-card[data-custom-theme="women"] {
        border: 1px solid var(--border);
        background:
          linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .72) 46%, rgba(255, 255, 255, .12) 68%),
          url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/banner_woman.jpg") center / cover no-repeat;
      }
      .join-custom-theme-card[data-custom-theme="senior"] {
        border: 1px solid var(--border);
        background:
          linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .72) 46%, rgba(255, 255, 255, .12) 68%),
          url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/banner_senior.jpg") center / cover no-repeat;
      }
      .join-custom-theme-card[data-custom-theme]::before,
      .join-custom-theme-card[data-custom-theme] .join-custom-theme-visual {
        display: none;
      }
    }
    .join-custom-panels {
      min-width: 0;
    }
    .join-custom-panel {
      display: none;
    }
    .join-custom-panel.active {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    .join-product-section.layout-custom .join-section-controls {
      display: none;
    }
    .join-product-section.layout-custom .join-section-controls.is-at-start .prev,
    .join-product-section.layout-custom .join-section-controls.is-at-end .next,
    .join-product-section.layout-custom .join-section-controls.is-not-scrollable {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
    @media (min-width: 1170px) {
      .join-product-section.layout-custom .join-custom-panel.active {
        display: flex;
        grid-template-columns: none;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }
      .join-product-section.layout-custom .join-custom-panel.active::-webkit-scrollbar {
        display: none;
      }
      .join-product-section.layout-custom .join-custom-panel.active .join-card {
        flex: 0 0 calc((100% - 16px) / 2);
        min-width: calc((100% - 16px) / 2);
        scroll-snap-align: start;
        scroll-snap-stop: always;
      }
      .join-product-section.layout-custom .join-section-controls {
        position: absolute;
        left: -16px;
        right: -16px;
        top: var(--custom-controls-top, calc(50% + 122px));
        z-index: 6;
        display: flex;
        transform: translateY(-50%);
      }
    }
    .join-product-section.layout-custom .join-card {
      display: grid;
      grid-template-columns: 164px minmax(0, 1fr);
      min-height: 194px;
      background: #fbfcfe;
    }
    .join-product-section.layout-custom .join-badge-wrap {
      top: auto;
      right: auto;
      bottom: 14px;
      left: 14px;
    }
    .join-product-section.layout-custom .join-location-badge {
      max-width: calc(100% - 28px);
    }
    .join-product-section.layout-custom .join-card .join-card-feature-tag {
      display: inline-flex;
      width: fit-content;
      align-items: center;
      justify-content: center;
      min-height: 22px;
      padding: 5px 9px;
      border-radius: 999px;
      background: var(--feature-tag-soft, #f8fafc);
      color: var(--feature-tag-color, #475569);
      font-size: var(--font-card-category);
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .join-product-section.layout-custom .join-thumb,
    .join-product-section.layout-custom .join-thumb > img:first-child {
      height: 100%;
      min-height: 194px;
      border-radius: 22px 0 0 22px;
      clip-path: inset(0 round 22px 0 0 22px);
    }
    .join-product-section.layout-custom .join-body {
      display: flex;
      flex-direction: column;
    }
    .join-product-section.layout-custom .join-title {
      font-size: 20px;
    }
    .join-product-section.layout-custom .join-price {
      margin-top: 14px;
    }
    .join-section-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      margin: 4px 0 32px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      overflow: hidden;
    }
    .join-section-nav .chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex: 1 1 0;
      min-width: 0;
      min-height: 46px;
      padding: 9px 10px;
      border: 1px solid #dbe4ee;
      border-radius: 14px;
      background: #eef7ff;
      color: #4b5563;
      font-size: 15px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .join-section-nav-slot[hidden],
    .join-section-nav[hidden],
    .join-section-nav .chip[hidden] {
      display: none !important;
    }
    .join-section-nav .chip:hover {
      background: #fff;
      border-color: #e2e8f0;
      color: var(--text);
    }
    .join-section-nav .chip.active,
    .join-section-nav .chip[aria-current="true"] {
      background: #fff;
      border-color: #dbe4ee;
      color: var(--text);
      box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    }
    .join-section-nav .join-section-nav-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 26px;
      height: 26px;
      flex: 0 0 26px;
      overflow: hidden;
    }
    .join-section-nav .join-section-nav-icon img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .join-section-nav .join-section-nav-label {
      display: block;
      min-width: 0;
      overflow: hidden;
      text-align: center;
      text-overflow: ellipsis;
    }
    @media (min-width: 641px) {
      .sgj-page .join-section-nav-slot {
        position: sticky;
        top: var(--join-pc-header-zone-offset, 187px);
        z-index: 45;
        margin: 4px 0 22px;
        padding: 10px 0;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(8px);
      }
      .sgj-page .join-section-nav-slot .join-section-nav {
        margin: 0;
      }
    }
    .join-section-controls {
      display: none;
      align-items: center;
      justify-content: space-between;
      pointer-events: none;
    }
    .join-section-control {
      width: 30px;
      height: 30px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: #fff;
      color: var(--text);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      pointer-events: auto;
      transition: border-color .18s ease, background .18s ease, color .18s ease;
    }
    .join-section-control svg {
      width: 24px;
      height: 24px;
      display: block;
      flex: 0 0 24px;
    }
    .join-section-control.prev svg {
      transform: scaleX(-1);
    }
    .join-section-control:hover {
      border-color: var(--blue);
      background: var(--blue);
      color: #fff;
    }
    .join-slide-dots {
      display: none;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 14px;
      margin: 14px auto 0;
      pointer-events: none;
    }
    .join-slide-dots.is-visible {
      display: flex;
    }
    .join-slide-dots-viewport {
      position: relative;
      height: 14px;
      overflow: hidden;
      transition: width .3s ease;
    }
    .join-slide-dots-track {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      display: flex;
      align-items: center;
      transition: transform .3s ease-out;
      will-change: transform;
    }
    .join-slide-dot-slot {
      width: var(--join-slide-dot-spacing, 14px);
      height: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 var(--join-slide-dot-spacing, 14px);
    }
    .join-slide-dot {
      width: 8px;
      height: 8px;
      border-radius: 999px;
      border: 0;
      padding: 0;
      flex: 0 0 auto;
      background: #d2d8e1;
      opacity: var(--dot-opacity, .5);
      transform: scale(var(--dot-scale, .65));
      transition: background .3s ease-out, opacity .3s ease-out, transform .3s ease-out;
      pointer-events: auto;
      cursor: pointer;
    }
    .join-slide-dot.active {
      background: #313437;
      opacity: 1;
      transform: scale(1);
    }
    .join-product-section.layout-quick .join-section-controls {
      position: absolute;
      left: var(--quick-section-nav-left);
      right: var(--quick-section-nav-right);
      top: calc(50% + 27px);
      z-index: 6;
      display: flex;
      transform: translateY(-50%);
    }
    .join-product-section.layout-quick .join-section-controls.is-at-start .prev,
    .join-product-section.layout-quick .join-section-controls.is-at-end .next,
    .join-product-section.layout-quick .join-section-controls.is-not-scrollable {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
    @media (min-width: 1170px) {
      .join-product-section.layout-quick .join-grid {
        display: flex;
        grid-template-columns: none;
        align-items: stretch;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }
      .join-product-section.layout-quick .join-grid::-webkit-scrollbar {
        display: none;
      }
      .join-product-section.layout-quick .join-card {
        flex: 0 0 calc((100% - 16px) / 2);
        scroll-snap-align: start;
        scroll-snap-stop: always;
      }
    }
    .join-product-section.layout-soon .join-section-controls {
      position: absolute;
      left: 3px;
      right: 3px;
      top: calc(var(--soon-month-control-height) + 8px + 4px + ((var(--soon-date-chip-height) - var(--soon-date-nav-size)) / 2));
      z-index: 4;
      display: flex;
      order: 2;
      justify-content: space-between;
      gap: 10px;
      margin: 0;
      pointer-events: none;
      transform: none;
    }
    .join-product-section.layout-soon .join-section-controls .prev {
      margin-left: 0;
    }
    .join-product-section.layout-soon .join-section-controls .next {
      margin-left: auto;
    }
    .join-product-section.layout-soon .join-section-controls.is-at-start .prev,
    .join-product-section.layout-soon .join-section-controls.is-at-end .next {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
    .join-product-section.layout-overseas,
    .join-product-section.layout-domestic {
      position: relative;
    }
    .join-product-section.layout-overseas .join-section-controls,
    .join-product-section.layout-domestic .join-section-controls {
      position: absolute;
      left: -15px;
      right: -15px;
      top: calc(50% + 28px);
      z-index: 6;
      display: flex;
      transform: translateY(-50%);
    }
    .join-product-section.layout-overseas .join-section-controls.is-at-start .prev,
    .join-product-section.layout-overseas .join-section-controls.is-at-end .next,
    .join-product-section.layout-overseas .join-section-controls.is-not-scrollable,
    .join-product-section.layout-domestic .join-section-controls.is-at-start .prev,
    .join-product-section.layout-domestic .join-section-controls.is-at-end .next,
    .join-product-section.layout-domestic .join-section-controls.is-not-scrollable {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
    .join-product-section.layout-soon .join-soon-mobile {
      display: flex;
      flex-direction: column;
    }
    .join-product-section.layout-soon .join-soon-date-rail {
      order: 2;
    }
    .join-product-section.layout-soon .join-soon-panels {
      order: 4;
    }
    .join-product-section.layout-soon .join-section-control {
      width: var(--soon-date-nav-size, 30px);
      height: var(--soon-date-nav-size, 30px);
      box-shadow: none;
    }
    .join-card {
      position: relative;
      background: #fff;
      border-radius: 22px;
      border: 1px solid var(--border);
      overflow: visible;
      box-shadow: none;
      cursor: pointer;
    }
    .join-section-list.is-loading-products .join-card::after,
    .calendar-sheet-body.is-loading-products .calendar-product-card::after {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 42%;
      min-width: 92px;
      z-index: 7;
      pointer-events: none;
      border-radius: 0;
      transform: translateX(-130%);
      background: linear-gradient(108deg, rgba(255, 255, 255, 0) 0%, rgba(226, 232, 240, 0.1) 22%, rgba(255, 255, 255, 0.62) 48%, rgba(203, 213, 225, 0.24) 58%, rgba(255, 255, 255, 0) 100%);
      animation: cardShimmerSweep 1.65s cubic-bezier(.4, 0, .2, 1) infinite;
    }
    .join-section-list.is-loading-products .join-card,
    .calendar-sheet-body.is-loading-products .calendar-product-card {
      overflow: hidden !important;
      contain: paint;
      isolation: isolate;
    }
    .join-section-list.is-loading-products .join-card {
      clip-path: inset(0 round 22px);
    }
    .calendar-sheet-body.is-loading-products .calendar-product-card {
      clip-path: inset(0 round 16px);
    }
    @keyframes cardShimmerSweep {
      0% { transform: translateX(-130%); opacity: .18; }
      18% { opacity: .9; }
      100% { transform: translateX(340%); opacity: .22; }
    }
    .join-product-section.layout-loading .join-product-section-title {
      color: var(--text);
    }
    .join-card-skeleton {
      cursor: default;
    }
    .join-card-skeleton .join-thumb {
      overflow: hidden;
      background: linear-gradient(135deg, #eef2f7, #f8fafc);
    }
    .join-skeleton-line,
    .join-skeleton-pill,
    .join-skeleton-avatar {
      border: 1px solid rgba(219, 228, 238, 0.92);
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.78));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .join-skeleton-pill {
      width: 78px;
      height: 24px;
      border-radius: 999px;
    }
    .join-skeleton-line {
      height: 16px;
      border-radius: 999px;
      margin-top: 10px;
    }
    .join-skeleton-line.title {
      width: 78%;
      height: 22px;
      margin-top: 12px;
    }
    .join-skeleton-line.meta {
      width: 56%;
    }
    .join-skeleton-line.price {
      width: 42%;
      height: 26px;
      margin-top: 16px;
    }
    .join-skeleton-avatar {
      width: 48px;
      height: 48px;
      border-radius: 12px;
    }
    .join-thumb {
      position: relative;
      aspect-ratio: var(--join-card-image-ratio, 16 / 9);
      height: auto;
      overflow: visible;
      background: #e2e8f0;
      border-radius: 22px 22px 0 0;
    }
    .join-thumb > img:first-child {
      border-radius: 22px 22px 0 0;
      clip-path: inset(0 round 22px 22px 0 0);
    }
    .join-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    @media (min-width: 641px) {
      .join-thumb {
        --join-card-image-ratio: 4 / 3;
      }
    }
    @media (min-width: 1170px) {
      .join-thumb {
        --join-card-image-ratio: 1.34 / 1;
      }
    }
    .join-location-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      z-index: 4;
      display: inline-flex;
      align-items: center;
      gap: 0;
      max-width: calc(100% - 110px);
      padding: 4px 10px;
      border-radius: 999px;
      background: rgba(15, 23, 42, 0.6);
      color: #fff;
      font-size: var(--font-image-location);
      font-weight: 500;
      line-height: 1.1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      backdrop-filter: blur(6px);
    }
    .join-location-badge .card-meta-icon {
      width: 16px;
      height: 16px;
      flex: 0 0 15px;
      color: #fff;
    }
    .join-location-badge .card-meta-icon-location {
      top: -1px;
      left: -3px;
    }
    .join-location-badge-text {
      position: relative;
      left: var(--join-location-text-x);
      top: var(--join-location-text-y);
    }
    .join-badge-wrap {
      position: absolute;
      top: 14px;
      right: 14px;
      z-index: 4;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .join-thumb img.join-badge {
      width: 66px;
      height: 30px;
      display: block;
      object-fit: contain;
    }
    .join-thumb img.join-badge[data-badge-kind="lowest"] {
      width: 78px;
    }
    .badge-tooltip {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      width: 286px;
      padding: 14px 16px;
      border: 1px solid #a8b0bd;
      border-radius: 4px;
      background: #fff;
      color: var(--text);
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-4px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      pointer-events: none;
      text-align: left;
      line-height: 1.55;
      z-index: 20;
    }
    .badge-tooltip::before {
      content: "";
      position: absolute;
      top: -8px;
      right: 30px;
      width: 14px;
      height: 14px;
      background: #fff;
      border-left: 1px solid #a8b0bd;
      border-top: 1px solid #a8b0bd;
      transform: rotate(45deg);
    }
    .join-badge-wrap:hover .badge-tooltip {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .join-badge-wrap .badge-tooltip {
      display: none !important;
    }
    .join-own-schedule-badge {
      min-width: 58px;
      padding: 7px 13px;
      border-radius: 999px;
      background: rgb(235 57 57 / 94%);
      color: #fff;
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
      text-align: center;
      backdrop-filter: blur(6px);
    }
    .join-own-schedule-badge.is-created {
      background: #0c91f8;
    }
    .join-own-schedule-badge.is-joined {
      background: rgb(235 57 57 / 94%);
    }
    .schedule-overlap-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      max-width: 100%;
      padding: 5px 7px 3px 2px;
      border: 1px solid #e2e2e2;
      border-radius: 999px;
      background: #f8f8f8;
      color: #373a3c;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.15;
      white-space: nowrap;
      margin-top: 2px;
    }
    .badge-tooltip-title {
      display: block;
      color: #fff;
      font-size: 13px;
      font-weight: 800;
      margin-bottom: 6px;
    }
    .badge-tooltip-value {
      display: block;
      color: var(--text);
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .badge-tooltip-summary {
      display: block;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 700;
    }
    .badge-green { background: var(--green); }
    .badge-red { background: var(--red); }
    .join-body { padding: 18px; }
    .join-title {
      display: -webkit-box;
      margin: 6px 0 3px;
      min-height: 25px;
      overflow: hidden;
      font-size: var(--font-card-title);
      line-height: 1.35;
      font-weight: 700;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      line-clamp: 2;
    }
    .join-reservation-countdown {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      margin: 0 0 5px;
      color: #4585ff;
      font-size: 13px;
      line-height: 1.2;
      font-weight: 800;
    }
    .join-reservation-countdown svg {
      width: 15px;
      height: 15px;
      flex: 0 0 15px;
      stroke-width: 2.2;
    }
    .join-reservation-countdown + .join-title {
      margin-top: 0;
    }
    .join-product-section.layout-soon .join-grid .join-card:nth-child(5) .join-title {
      margin-top: 4px;
    }
    .card-meta {
      font-size: var(--font-card-meta);
      color: var(--text-soft);
    }
    .card-meta-row {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }
    .card-meta-item {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      margin-bottom: 5px;
    }
    .card-meta-text {
      position: relative;
      top: 1px;
    }
    .card-meta-text-location {
      left: -4px;
      font-size: var(--font-card-location);
    }
    .join-product-section.layout-soon .card-meta-text-location {
      font-size: var(--font-soon-card-location);
      font-weight: 700;
    }
    .join-category-chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      margin-left: 5px;
      min-height: 22px;
      padding: 5px 9px;
      border-radius: 999px;
      font-size: var(--font-card-category);
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .join-category-chip.domestic {
      background: #eefdf4;
      color: #15803d;
    }
    .join-category-chip.overseas {
      background: #eff6ff;
      color: #2563eb;
    }
    .join-flight-chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      min-height: 22px;
      padding: 5px 9px;
      border-radius: 999px;
      font-size: var(--font-card-category);
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .join-flight-chip.included {
      background: #ecfeff;
      color: #0e7490;
    }
    .join-flight-chip.excluded {
      background: #f1f5f9;
      color: #475569;
    }
    .join-recommended-schedule-chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      min-height: 22px;
      padding: 5px 9px;
      border-radius: 999px;
      background: #f3eeff;
      color: #8b40f0;
      font-size: var(--font-card-category);
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .join-category-row {
      display: flex;
      align-items: center;
      gap: 6px;
      margin: 3px -2px 8px;
    }
    .join-category-row .join-category-chip {
      margin-left: 0;
    }
    .card-meta-text-date {
      left: 2px;
      top: 1px;
      font-size: var(--font-card-date);
    }
    .card-meta-icon {
      color: #64748b;
      position: relative;
    }
    .card-meta-icon-location {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      top: 0;
      left: -3px;
    }
    .card-meta-icon-date {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      top: 0;
      left: -1px;
    }
    .card-meta-date-flex {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      flex-wrap: nowrap;
    }
    .card-meta-date-flex .card-meta-item {
      margin-bottom: 0;
      min-width: 0;
    }
    .card-meta-date-flex .card-meta-icon-date {
      color: #475569;
    }
    .card-meta-date-flex .schedule-overlap-badge {
      margin-left: 6px;
    }
    .card-meta-icon-flight {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      top: 0;
      left: -6px;
    }
    .detail-meta-row {
      gap: 12px;
      flex-wrap: wrap;
    }
    .detail-meta-location {
      font-size: var(--font-detail-region);
      font-weight: var(--font-weight-detail-region);
    }
    .detail-meta-airport {
      font-size: var(--font-detail-airport);
      font-weight: var(--font-weight-detail-airport);
    }
    .join-price {
      display: flex;
      align-items: baseline;
      gap: 6px;
      margin-top: 14px;
      color: var(--blue);
      font-weight: 800;
    }
    .join-price-label,
    .join-price-unit {
      position: relative;
      top: 0;
      font-size: var(--font-card-price-unit);
      line-height: 1;
    }
    .join-price-unit {
      margin-left: -4px;
    }
    .join-price-value {
      position: relative;
      top: 0;
      font-size: var(--font-card-price);
      line-height: 1;
      font-weight: 800;
    }
    .team-row {
      --team-slot-gap: 10px;
      display: flex;
      flex-wrap: wrap;
      gap: var(--team-slot-gap);
      padding-top: 15px;
      margin-top: 16px;
      border-top: 1px solid #edf2f7;
    }
    .team-avatar-wrap {
      position: relative;
      display: inline-flex;
      width: 48px;
      height: 48px;
      flex: 0 0 48px;
    }
    .team-avatar,
    .team-empty {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      flex: 0 0 48px;
    }
    .detail-team .team-avatar,
    .detail-team .team-empty {
      width: 56px;
      height: 56px;
      border-radius: 12px;
      flex-basis: 56px;
    }
    @property --participant-border-angle {
      syntax: "<angle>";
      initial-value: 0deg;
      inherits: false;
    }

    @keyframes participant-border-spin {
      to {
        --participant-border-angle: 360deg;
      }
    }

    .team-avatar.participant-flow-avatar {
      --participant-border-angle: 0deg;
      --participant-flow-color-1: #3b82f6;
      --participant-flow-color-2: #60a5fa;
      --participant-flow-glow: rgba(59, 130, 246, 0.28);
      border: 2px solid transparent;
      background:
        linear-gradient(#fbfcfe, #fbfcfe) padding-box,
        conic-gradient(from var(--participant-border-angle), transparent 20%, var(--participant-flow-color-1), var(--participant-flow-color-2) 50%, transparent 80%) border-box,
        linear-gradient(#d1d5db, #d1d5db) border-box;
      animation: participant-border-spin 8s linear infinite;
      animation-delay: var(--participant-flow-delay, 0s);
      box-shadow: none;
    }

    .team-avatar.participant-flow-avatar.participant-gender-male {
      --participant-flow-color-1: #4a72f24d;
      --participant-flow-color-2: #3ac4ff9c;
      --participant-flow-glow: rgb(37 99 235 / 0%);
    }

    .team-avatar.participant-flow-avatar.participant-gender-female {
      --participant-flow-color-1: #ffd9ec;
      --participant-flow-color-2: #ffbfe2;
      --participant-flow-glow: rgb(236 72 153 / 0%);
    }

    .team-avatar {
      border: 2px solid #d1d5db;
      background: #f9fafb;
      padding: 0;
      transition: all .3s ease;
    }
    .team-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.2);
      transform-origin: center;
    }

    .team-couple-wrap {
      --team-avatar-size: 48px;
      --team-connector-color: #d1d5db;
      --team-connector-thickness: 2px;
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: var(--team-slot-gap, 10px);
      height: var(--team-avatar-size);
      padding: 0;
      box-sizing: border-box;
      flex: 0 0 auto;
    }
    .team-couple-wrap::before {
      content: "";
      position: absolute;
      top: 50%;
      left: calc(var(--team-avatar-size) / 2);
      right: calc(var(--team-avatar-size) / 2);
      height: var(--team-connector-thickness);
      border-radius: 999px;
      background: var(--team-connector-color);
      transform: translateY(-50%);
      pointer-events: none;
      z-index: 0;
    }
    .team-couple-wrap .team-avatar-wrap,
    .team-couple-wrap .team-avatar,
    .team-couple-wrap .team-empty {
      width: 48px;
      height: 48px;
      flex-basis: 48px;
      flex-shrink: 0;
      position: relative;
      z-index: 1;
    }
    .team-row.monthly-card-team {
      display: block;
      padding-top: 12px;
      margin-top: 16px;
      border-top: 1px solid #edf2f7;
    }
    .monthly-card-participant-summary {
      display: grid;
      gap: 8px;
      width: 100%;
    }
    .monthly-card-participant-head {
      width: 98%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0 auto;
    }
    .monthly-card-participant-left {
      display: inline-flex;
      align-items: center;
      min-width: 0;
    }
    .monthly-card-thumb-stack {
      --monthly-card-thumb-overlap: -7px;
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      margin-right: 7px;
    }
    .monthly-card-thumb {
      position: relative;
      width: 30px;
      height: 30px;
      flex: 0 0 30px;
      min-width: 30px;
      border-radius: 50%;
      overflow: hidden;
      border: 1px solid #f1f1f1;
      background: #eaf2ff;
      box-shadow: 2px 3px 10px rgba(15, 23, 42, 0.05);
    }
    .monthly-card-thumb:nth-child(1) {
      z-index: 1;
    }
    .monthly-card-thumb:nth-child(2) {
      z-index: 2;
    }
    .monthly-card-thumb:nth-child(3) {
      z-index: 3;
    }
    .monthly-card-thumb:nth-child(4) {
      z-index: 4;
    }
    .monthly-card-thumb + .monthly-card-thumb {
      margin-left: var(--monthly-card-thumb-overlap, -7px);
    }
    .monthly-card-thumb img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      transform: translate(var(--hero-calendar-thumb-img-x, 0), var(--hero-calendar-thumb-img-y, 5px)) scale(var(--hero-calendar-thumb-img-scale, 1.35));
      transform-origin: center;
    }
    .monthly-card-participant-label {
      color: #373A3C;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.25;
      white-space: nowrap;
    }
    .monthly-card-count {
      margin-right: 3px;
      color: #0c91f8;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.25;
      white-space: nowrap;
    }
    .monthly-card-progress-track {
      width: 98%;
      height: 8px;
      margin: 0 auto;
      overflow: hidden;
      border-radius: 999px;
      background: #e2e8f0;
    }
    .monthly-card-progress-fill {
      width: var(--monthly-card-progress, 0%);
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #54abff 0%, #1f91ff 55%, #0c63d4 100%);
    }
    .detail-team .team-couple-wrap {
      --team-avatar-size: 56px;
      height: var(--team-avatar-size);
      gap: 10px;
    }
    .detail-team .team-couple-wrap .team-avatar-wrap,
    .detail-team .team-couple-wrap .team-avatar {
      width: 56px;
      height: 56px;
      flex-basis: 56px;
    }
    .team-avatar:hover {
      border-color: #3b82f6;
      box-shadow: none;
    }
    .team-avatar.participant-flow-avatar:hover {
      border-color: transparent;
      background:
        linear-gradient(#fbfcfe, #fbfcfe) padding-box,
        linear-gradient(#3b82f6, #3b82f6) border-box;
      box-shadow: none;
    }
    .detail-team .team-avatar:hover {
      border-color: #3b82f6;
      box-shadow: none;
      transform: none;
    }
    .detail-team .team-avatar.participant-flow-avatar:hover {
      border-color: transparent;
      box-shadow: none;
    }

    @media (prefers-reduced-motion: reduce) {
      .team-avatar.participant-flow-avatar {
        animation: none;
      }
    }
    .team-empty {
      border: 2px dashed #d1d5db;
      background: #fff;
      color: #9ca3af;
      font-weight: 800;
      font-size: 22px;
    }
    .team-empty svg {
      width: 22px;
      height: 22px;
      stroke-width: 2;
    }
    .team-empty:hover {
      border-color: #60a5fa;
      background: #eff6ff;
      color: #60a5fa;
    }
    .team-empty:disabled,
    .team-empty.is-disabled {
      cursor: default;
      opacity: .45;
      pointer-events: none;
    }
    .detail-team .team-empty:disabled,
    .detail-team .team-empty.is-disabled {
      opacity: 1;
    }
    .participant-badge {
      position: absolute;
      top: -4px;
      right: -4px;
      background: #facc15;
      color: #fff;
      border-radius: 999px;
      padding: 2px 6px;
      font-size: 10px;
      font-weight: 700;
      line-height: 1;
    }

    .calendar-card,
    .region-card,
    .trust-card,
    .cta-panel {
      border: 1px solid var(--border);
      border-radius: 18px;
      background: #fff;
      box-shadow: none;
    }
    .calendar-card { padding: 22px; }
    .calendar-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
    }
    .calendar-title { font-size: 18px; font-weight: 800; }
    .calendar-nav { display: flex; align-items: center; gap: 10px; }
    .calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 10px;
    }
    .calendar-month > .calendar-grid {
      position: sticky;
      top: var(--calendar-sticky-month-height, 42px);
      z-index: 5;
      padding: 0 0 8px;
      background: #fff;
      border-bottom: 1px solid var(--border);
    }
    .calendar-week {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 0px;
      scroll-margin-top: calc(var(--calendar-sticky-month-height, 42px) + var(--calendar-sticky-weekday-height, 48px) + 12px);
    }
    .calendar-week + .calendar-week {
      margin-top: 10px;
    }
    @media (min-width: 641px) {
      .calendar-month > .calendar-grid + .calendar-week {
        margin-top: 10px;
      }
      .calendar-week {
        gap: 10px;
      }
      .calendar-day-button {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
      .calendar-cell strong {
        margin-left: 0;
      }
      .calendar-event {
        width: 75%;
        margin-left: auto;
        margin-right: auto;
        border-radius: 5px;
        text-align: center;
      }
      .calendar-desktop-months {
        min-height: 0;
      }
      .calendar-sheet-body.desktop-date-selected {
        display: flex;
        flex-direction: column;
        min-height: min(640px, calc(100vh - 124px));
        overflow: hidden;
      }
      .calendar-sheet-body.desktop-date-selected .calendar-desktop-months {
        display: none;
      }
      .calendar-sheet-body.desktop-date-selected .calendar-desktop-selection {
        min-height: 0;
        min-width: 0;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        background: #fff;
        overflow-x: hidden;
      }
      .calendar-sheet-body.desktop-calendar-expanded .calendar-desktop-selected-week {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
      }
      .calendar-sheet-body.desktop-calendar-collapsing .calendar-desktop-selected-week {
        max-height: 220px;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
      }
      .calendar-desktop-selected-week {
        max-height: 220px;
        opacity: 1;
        transition: none;
      }
      .calendar-desktop-selected-months {
        flex: 0 0 auto;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
        transform: translateY(-14px);
        transition: max-height .34s cubic-bezier(.22, 1, .36, 1), opacity .24s ease, transform .34s cubic-bezier(.22, 1, .36, 1);
        will-change: max-height, opacity, transform;
      }
      .calendar-sheet-body.desktop-calendar-expanded .calendar-desktop-selected-months {
        max-height: 620px;
        opacity: 1;
        overflow: visible;
        pointer-events: auto;
        transform: translateY(0);
      }
      .calendar-desktop-selected-months .calendar-month {
        margin-bottom: 0;
        padding-bottom: 12px;
        border-bottom: 0;
      }
      .calendar-desktop-selected-months .calendar-month-title,
      .calendar-desktop-selected-months .calendar-month > .calendar-grid {
        display: none;
      }
      .calendar-desktop-selected-header {
        flex: 0 0 auto;
        background: #fff;
      }
      .calendar-desktop-selected-header .calendar-month-title {
        position: relative;
        top: auto;
      }
      .calendar-desktop-selected-header .calendar-grid {
        padding: 0 0 8px;
        border-bottom: 1px solid var(--border);
        background: #fff;
      }
      .calendar-desktop-selected-week {
        flex: 0 0 auto;
        padding: 10px 0 0;
        background: #fff;
      }
      .calendar-desktop-selected-week .calendar-week {
        margin-top: 0;
      }
      .calendar-desktop-toggle {
        position: relative;
        z-index: 2;
        flex: 0 0 auto;
        width: 100%;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #64748b;
        background: #fff;
        border-bottom: 1px solid var(--border);
        border-radius: 0 0 14px 14px;
        box-shadow: none;
      }
      .calendar-desktop-toggle svg {
        width: 18px;
        height: 18px;
        transition: transform .2s ease;
      }
      .calendar-sheet-body.desktop-calendar-expanded .calendar-desktop-toggle {
        margin-top: -1px;
      }
      .calendar-sheet-body.desktop-calendar-expanded .calendar-desktop-toggle svg {
        transform: rotate(180deg);
      }
      .calendar-desktop-selected-panel {
        min-height: 320px;
        min-width: 0;
        flex: 1 1 auto;
        overflow-y: auto;
        overflow-x: hidden;
        background: #fff;
      }
      .calendar-desktop-selected-panel .calendar-accordion-list {
        border-top: 0;
      }
    }
    .calendar-label,
    .calendar-cell {
      border-radius: 16px;
      background: #fff;
      border: 1px solid var(--border);
    }
    .calendar-label {
      text-align: center;
      padding: 12px;
      font-size: var(--font-calendar);
      font-weight: 700;
      color: var(--text-soft);
      border: 0;
      background: transparent;
    }
    .calendar-label.sunday {
      color: var(--red);
    }
    .calendar-cell {
      min-height: 76px;
      padding: 0;
      font-size: var(--font-calendar);
      border: 0;
      background: transparent;
    }
    .calendar-cell strong {
      position: relative;
      z-index: 2;
      width: 34px;
      height: 34px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 8px;
      margin-left: 0;
      line-height: 1;
    }
    .calendar-cell small {
      display: block;
      font-size: var(--font-calendar-mini);
      color: var(--blue);
      font-weight: 700;
    }
    .calendar-cell.has-data {
      background: transparent;
    }
    .calendar-cell.has-data .calendar-day-button strong::after {
      content: "";
      position: absolute;
      right: -5px;
      top: -5px;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--calendar-available-color);
      box-shadow: 0 0 0 2px #ffffff;
    }
    .calendar-cell.can-create:not(.has-data) .calendar-day-button strong {
      color: var(--text);
    }
    .calendar-sheet-overlay {
      position: fixed;
      inset: 0;
      z-index: 100000;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: rgba(15, 23, 42, 0.42);
    }
    .calendar-sheet-overlay.open {
      display: flex;
    }
    .calendar-sheet {
      width: min(760px, calc(100vw - 24px));
      max-height: calc(100vh - 40px);
      margin: 0;
      border-radius: 24px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
      transform: translateY(16px) scale(.98);
      transition: transform .28s ease;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .calendar-sheet-overlay.open .calendar-sheet {
      transform: translateY(0);
    }
    .calendar-sheet-header {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: var(--modal-header-padding-pc);
      border-bottom: 1px solid var(--border);
    }
    .calendar-sheet-title {
      font-size: var(--modal-main-title-pc);
      font-weight: var(--modal-main-title-weight);
    }
    .calendar-sheet-body {
      overflow-y: auto;
      padding: 0 20px 18px;
      --calendar-sticky-month-height: 42px;
      --calendar-sticky-weekday-height: 48px;
    }
    .calendar-sheet-body.is-loading-products .calendar-month {
      opacity: .82;
    }
    .calendar-sheet-loading {
      display: grid;
      gap: 0;
      padding: 0 0 24px;
    }
    .calendar-sheet-loading-title {
      width: 126px;
      height: 24px;
      border-radius: 999px;
      background: linear-gradient(135deg, #eef2f7, #f8fafc);
    }
    .calendar-loading-month-title {
      position: sticky;
      top: 0;
      z-index: 6;
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr) 40px;
      align-items: center;
      gap: 8px;
      min-height: var(--calendar-sticky-month-height, 42px);
      margin: 0;
      padding: 10px 0 6px;
      background: #fff;
    }
    .calendar-loading-month-title .calendar-sheet-loading-title {
      grid-column: 2;
      justify-self: center;
    }
    .calendar-loading-weekdays {
      position: sticky;
      top: var(--calendar-sticky-month-height, 42px);
      z-index: 5;
      padding: 0 0 8px;
      background: #fff;
      border-bottom: 1px solid var(--border);
    }
    .calendar-loading-week {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 10px;
    }
    .calendar-loading-week + .calendar-loading-week {
      margin-top: 10px;
    }
    .calendar-sheet-loading-cell {
      min-height: 76px;
      border: 0;
      border-radius: 16px;
      background: transparent;
    }
    .calendar-loading-cell-day,
    .calendar-loading-cell-event {
      display: block;
      border: 1px solid rgba(219, 228, 238, 0.92);
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.78));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .calendar-loading-cell-day {
      width: 22px;
      height: 18px;
      margin: 10px auto 9px;
      border-radius: 7px;
    }
    .calendar-loading-cell-event {
      width: 75%;
      height: 19px;
      margin: 0 auto;
      border-radius: 5px;
    }
    .calendar-loading-accordion {
      display: grid;
      gap: 10px;
      margin-top: 10px;
      padding: 16px 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .calendar-sheet-loading-card {
      display: grid;
      grid-template-columns: 90px minmax(0, 1fr) minmax(160px, auto);
      align-items: center;
      gap: 16px;
      min-height: 116px;
      padding: 12px;
      border: 1px solid rgba(219, 228, 238, 0.92);
      border-radius: 16px;
      background: #fff;
    }
    .calendar-loading-card-thumb,
    .calendar-loading-card-line,
    .calendar-loading-card-pill,
    .calendar-loading-card-avatar {
      border: 1px solid rgba(219, 228, 238, 0.92);
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.78));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .calendar-loading-card-thumb {
      width: 90px;
      aspect-ratio: 1 / 1;
      border-radius: 14px;
    }
    .calendar-loading-card-info {
      min-width: 0;
      display: grid;
      gap: 8px;
    }
    .calendar-loading-card-line {
      height: 17px;
      border-radius: 999px;
    }
    .calendar-loading-card-line.meta {
      width: 54%;
      height: 15px;
    }
    .calendar-loading-card-line.name {
      width: 86%;
      height: 22px;
    }
    .calendar-loading-card-line.date {
      width: 62%;
    }
    .calendar-loading-card-side {
      display: grid;
      justify-items: end;
      gap: 12px;
      margin-right: 5px;
    }
    .calendar-loading-card-pill {
      width: 112px;
      height: 26px;
      border-radius: 999px;
    }
    .calendar-loading-card-team {
      display: flex;
      justify-content: flex-end;
      gap: 6px;
    }
    .calendar-loading-card-avatar {
      width: 38px;
      height: 38px;
      flex: 0 0 38px;
      border-radius: 10px;
    }
    .calendar-mobile-sticky {
      display: none;
    }
    .calendar-desktop-selection {
      display: none;
    }
    .calendar-month {
      margin-bottom: 14px;
      padding-bottom: 14px;
      border-bottom: 1px solid var(--border);
    }
    .calendar-month:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: 0;
    }
    .calendar-month-title {
      position: sticky;
      top: 0;
      z-index: 6;
      display: grid;
      grid-template-columns: minmax(92px, auto) minmax(0, 1fr) minmax(92px, auto);
      align-items: center;
      gap: 8px;
      font-size: 20px;
      font-weight: 900;
      min-height: var(--calendar-sticky-month-height, 42px);
      margin: 0;
      padding: 10px 0 6px;
      background: #fff;
      text-align: center;
    }
    .calendar-month-title.has-availability-legend {
      grid-template-columns: minmax(92px, 1fr) auto minmax(92px, 1fr);
    }
    .calendar-availability-legend {
      grid-column: 1;
      justify-self: start;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 32px;
      color: #16a34a;
      font-size: 14px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .calendar-availability-legend-dot {
      width: 12px;
      height: 12px;
      flex: 0 0 12px;
      border-radius: 999px;
      background: var(--calendar-available-color);
      box-shadow: inset 0 0 0 1px rgba(21, 128, 61, 0.16);
    }
    .calendar-month-navigation {
      grid-column: 2;
      justify-self: center;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-width: 0;
    }
    .calendar-month-navigation .calendar-month-label,
    .calendar-month-navigation .calendar-month-nav.prev,
    .calendar-month-navigation .calendar-month-nav.next {
      grid-column: auto;
    }
    .calendar-month-label {
      grid-column: 2;
      justify-self: center;
      min-width: 0;
      text-align: center;
    }
    .calendar-month-nav {
      width: auto;
      min-width: 36px;
      height: 36px;
      gap: 5px;
      padding: 0 9px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--text);
      background: transparent;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }
    .calendar-month-nav:hover:not(:disabled) {
      background: #f1f5f9;
    }
    .calendar-month-nav:disabled {
      cursor: default;
      opacity: .28;
    }
    .calendar-month-nav svg {
      width: 20px;
      height: 20px;
    }
    .calendar-month-nav-label {
      display: inline-flex;
      align-items: center;
    }
    .calendar-month-nav.prev {
      grid-column: 1;
    }
    .calendar-month-nav.next {
      grid-column: 3;
    }
    .calendar-cell.muted {
      background: transparent;
      color: #cbd5e1;
    }
    .calendar-cell.today {
      box-shadow: none;
    }
    .calendar-cell.unavailable {
      color: #c7cbd1;
      cursor: not-allowed;
      opacity: .72;
    }
    .calendar-cell.unavailable .calendar-day-button strong {
      color: #c7cbd1 !important;
      background: #f8fafc;
    }
    .calendar-cell.today .calendar-day-button strong,
    .calendar-cell.unavailable.today .calendar-day-button strong,
    .calendar-cell.unavailable.today.holiday strong,
    .calendar-cell.unavailable.today.sunday strong {
      color: #3689ff !important;
      background: #eaf2ff;
      box-shadow: inset 0 0 0 1px rgba(54, 137, 255, 0.22);
    }
    .calendar-today-label {
      position: absolute;
      left: 50%;
      top: calc(50% + 0px);
      z-index: 3;
      transform: translateX(-50%);
      color: #0e60e8;
      font-size: 9px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
      pointer-events: none;
    }
    @media (min-width: 641px) {
      .calendar-today-label,
      .calendar-holiday-label {
        font-size: 14px;
      }
    }
    @media (max-width: 640px) {
      .calendar-holiday-label {
        font-size: 11px;
        font-weight: 700;
      }
      .calendar-event {
        top: calc(50% + 8px);
      }
      .calendar-event + .calendar-event {
        top: calc(50% + 26px);
      }
    }
    .calendar-month.inactive-month .calendar-cell strong {
      color: #cbd5e1 !important;
    }
    .calendar-cell.holiday strong,
    .calendar-cell.sunday strong {
      color: #ef4444;
    }
    .calendar-cell.muted.holiday strong,
    .calendar-cell.muted.sunday strong {
      color: #ffa3a3 !important;
    }
    .calendar-holiday-label {
      position: absolute;
      left: 50%;
      top: calc(50% + -5px);
      z-index: 3;
      transform: translateX(-50%);
      display: block;
      max-width: 92%;
      color: #ef4444;
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      pointer-events: none;
    }
    .calendar-cell.muted .calendar-holiday-label {
      color: #ffa3a3;
    }
    .calendar-cell.unavailable:not(.muted).holiday strong,
    .calendar-cell.unavailable:not(.muted).sunday strong {
      color: #ef4444 !important;
    }
    .calendar-cell.unavailable.muted.holiday strong,
    .calendar-cell.unavailable.muted.sunday strong {
      color: #ffa3a3 !important;
    }
    .calendar-month.inactive-month .calendar-cell:not(.muted).holiday strong,
    .calendar-month.inactive-month .calendar-cell:not(.muted).sunday strong,
    .calendar-sheet .calendar-cell:not(.muted).holiday .calendar-day-button strong,
    .calendar-sheet .calendar-cell:not(.muted).sunday .calendar-day-button strong,
    body > .calendar-sheet-overlay .calendar-cell:not(.muted).holiday .calendar-day-button strong,
    body > .calendar-sheet-overlay .calendar-cell:not(.muted).sunday .calendar-day-button strong {
      color: #ef4444 !important;
    }
    .calendar-month.inactive-month .calendar-cell.muted.holiday strong,
    .calendar-month.inactive-month .calendar-cell.muted.sunday strong,
    .calendar-sheet .calendar-cell.muted.holiday .calendar-day-button strong,
    .calendar-sheet .calendar-cell.muted.sunday .calendar-day-button strong,
    body > .calendar-sheet-overlay .calendar-cell.muted.holiday .calendar-day-button strong,
    body > .calendar-sheet-overlay .calendar-cell.muted.sunday .calendar-day-button strong {
      color: #ffa3a3 !important;
    }
    .calendar-event {
      position: absolute;
      left: 50%;
      top: calc(50% + 13px);
      z-index: 3;
      transform: translateX(-50%);
      display: block;
      width: max-content;
      max-width: 88%;
      margin-top: 0;
      padding: 2px 6px;
      border-radius: 3px;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.25;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .calendar-event + .calendar-event {
      top: calc(50% + 31px);
    }
    .calendar-event + .calendar-event + .calendar-event {
      top: calc(50% + 49px);
    }
    @media (max-width: 640px) {
      .calendar-event {
        top: calc(50% + 8px);
      }
      .calendar-event + .calendar-event {
        top: calc(50% + 26px);
      }
      .calendar-event + .calendar-event + .calendar-event {
        top: calc(50% + 44px);
      }
    }
    .calendar-event.monthly {
      background: #fff7ed;
      color: #ea580c;
    }
    .calendar-event.domestic {
      background: #eff6ff;
      color: var(--blue);
    }
    .calendar-event.overseas {
      background: #f5f3ff;
      color: #7c3aed;
    }
    .calendar-day-button {
      position: relative;
      width: 100%;
      min-height: 76px;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      color: inherit;
    }
    .calendar-day-button:disabled {
      cursor: default;
    }
    .calendar-empty-schedule-sheet {
      position: fixed;
      left: 50%;
      bottom: 20px;
      z-index: 100220;
      width: min(420px, calc(100vw - 32px));
      padding: 22px;
      border-radius: 22px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
      transform: translate(-50%, calc(100% + 32px));
      opacity: 0;
      pointer-events: none;
      transition: transform .28s ease, opacity .22s ease;
    }
    .calendar-empty-schedule-sheet.open {
      transform: translate(-50%, 0);
      opacity: 1;
      pointer-events: auto;
    }
    .calendar-empty-schedule-close {
      position: absolute;
      top: 12px;
      right: 12px;
    }
    .calendar-empty-schedule-copy {
      color: var(--text);
      font-size: 20px;
      font-weight: 700;
      line-height: 1.45;
      padding-right: 28px;
      margin-bottom: 18px;
    }
    .calendar-empty-schedule-action {
      width: 100%;
    }
    body > .calendar-sheet-overlay .calendar-empty-schedule-action,
    body > .calendar-sheet-overlay .calendar-empty-schedule-sheet.open .calendar-empty-schedule-action {
      background: var(--modal-bottom-primary-color);
      border-color: var(--modal-bottom-primary-color);
      color: #fff;
    }
    body > .calendar-sheet-overlay .calendar-empty-schedule-action:hover {
      background: var(--modal-bottom-primary-color);
      border-color: var(--modal-bottom-primary-color);
      color: #fff;
    }
    .calendar-accordion {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transform: translateY(-8px);
      transition: max-height .34s ease, opacity .24s ease, transform .34s ease, margin .34s ease;
    }
    .calendar-accordion.open {
      max-height: 1200px;
      margin: 10px 0 16px;
      opacity: 1;
      transform: translateY(0);
    }
    .calendar-accordion-list {
      display: grid;
      gap: 10px;
      padding-top: 16px;
      padding-bottom: 16px;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .calendar-product-card {
      position: relative;
      display: grid;
      grid-template-columns: 96px minmax(0, 1fr) minmax(92px, auto);
      gap: var(--calendar-product-card-gap);
      align-items: center;
      padding: var(--calendar-product-card-padding);
      border: 1px solid var(--border);
      border-radius: 12px;
      background: #fff;
      text-align: left;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    .calendar-product-thumb {
      width: 96px;
      height: 70px;
      border-radius: 10px;
      object-fit: cover;
      background: #e2e8f0;
    }
    .calendar-product-title {
      display: block;
      font-size: var(--calendar-product-title-font);
      font-weight: var(--calendar-product-title-weight);
      line-height: 1.35;
    }
    .calendar-product-meta {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-top: 4px;
      font-size: var(--calendar-product-meta-font);
      font-weight: var(--calendar-product-meta-weight);
    }
    .calendar-product-category {
      position: relative;
      display: inline-flex;
      align-items: center;
      padding-right: 11px;
      font-weight: inherit;
    }
    .calendar-product-category::after {
      content: "";
      position: absolute;
      right: 0;
      top: 50%;
      width: 5px;
      height: 5px;
      border-radius: 999px;
      background: #cbd5e1;
      transform: translateY(-50%);
    }
    .calendar-product-region {
      min-width: 0;
      font-weight: inherit;
    }
    .calendar-product-meta.domestic {
      color: var(--blue);
    }
    .calendar-product-meta.overseas {
      color: #7c3aed;
    }
    .calendar-product-date {
      display: block;
      margin-top: 2px;
      color: var(--text-soft);
      font-size: var(--calendar-product-date-font);
      font-weight: var(--calendar-product-date-weight);
    }
    .calendar-product-price {
      color: var(--blue);
      font-size: var(--calendar-product-price-font);
      font-weight: var(--calendar-product-price-weight);
      white-space: nowrap;
    }
    .calendar-product-price-unit {
      font-size: var(--calendar-product-price-unit-font);
      font-weight: var(--calendar-product-price-unit-weight);
    }
    .calendar-product-side {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 10px;
      min-width: 0;
      justify-self: end;
      text-align: right;
    }
    .calendar-product-participants {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      max-width: 100%;
      overflow: hidden;
    }
    .calendar-product-participants .team-couple-wrap {
      --team-avatar-size: var(--calendar-product-avatar-size);
      --team-connector-thickness: 2px;
      height: var(--team-avatar-size);
      gap: 10px;
    }
    .calendar-product-participants .team-avatar {
      width: var(--calendar-product-avatar-size);
      height: var(--calendar-product-avatar-size);
      flex-basis: var(--calendar-product-avatar-size);
      border-width: 2px;
      border-radius: 12px;
    }
    .calendar-product-participants .team-empty {
      width: var(--calendar-product-avatar-size);
      height: var(--calendar-product-avatar-size);
      flex-basis: var(--calendar-product-avatar-size);
      border-width: 2px;
      border-radius: 12px;
      font-size: 15px;
    }
    .calendar-product-participants .participant-badge {
      display: none;
    }

    .region-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .region-card {
      min-height: 128px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      text-align: center;
      font-weight: 700;
    }

    .trust-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .trust-card { padding: 22px 20px; }
    .trust-card {
      position: relative;
      min-height: 216px;
      padding-bottom: 112px;
      overflow: hidden;
      box-shadow: none;
    }
    .trust-card > :not(.trust-card-image) {
      position: relative;
      z-index: 1;
    }
    .trust-card-image {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 92px !important;
      max-width: 36% !important;
      height: auto !important;
      max-height: 92px !important;
      display: block;
      object-fit: contain;
      pointer-events: none;
      user-select: none;
    }
    @media (min-width: 641px) {
      .trust-card-image {
        right: clamp(7px, calc(7px + (100vw - 641px) * 0.02872), 18px);
        bottom: clamp(8px, calc(8px + (100vw - 641px) * 0.02611), 18px);
        width: 92px !important;
        max-width: 36% !important;
        max-height: 92px !important;
      }
    }
    @media (min-width: 1025px) {
      .trust-card-image {
        width: 92px !important;
        max-width: 36% !important;
        max-height: 92px !important;
      }
    }
    .trust-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      margin-bottom: 14px;
      border-radius: 14px;
      background: #eef4ff;
      color: var(--blue);
      font-weight: 800;
    }
    .trust-card-title {
      color: var(--text);
      font-size: 21px;
      font-weight: 650;
      line-height: 1.45;
      margin-bottom: 8px;
    }
    .trust-card-copy {
      color: var(--text-soft);
      font-size: 17px;
      font-weight: 500;
      line-height: 1.55;
    }
    .section-title-bolt {
      display: inline-block;
      width: 14px;
      height: 24px;
      margin-left: 8px;
      vertical-align: -2px;
      background: linear-gradient(180deg, #ffb84d 0%, #f97316 100%);
      clip-path: polygon(52% 0, 100% 0, 66% 40%, 100% 40%, 36% 100%, 48% 56%, 0 56%);
    }

    .faq-list {
      overflow: hidden;
      border: 1px solid var(--border);
      border-radius: 18px;
      background: #fff;
    }
    .faq-list details {
      border-bottom: 1px solid var(--border);
      box-shadow: none;
    }
    .faq-list details:last-child {
      border-bottom: 0;
    }
    .faq-list details[open] {
      background: #ffffff;
    }
    .faq-list details { padding: 18px 20px; }
    .faq-list summary {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding-right: 30px;
      cursor: pointer;
      list-style: none;
    }
    .faq-list summary::-webkit-details-marker {
      display: none;
    }
    .faq-list summary::after {
      content: "";
      position: absolute;
      right: 0;
      top: 50%;
      width: 18px;
      height: 18px;
      background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7L9 11L13 7' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 18px 18px;
      transform: translateY(-50%);
      transition: transform .2s ease;
    }
    .faq-list details[open] summary::after {
      transform: translateY(-50%) rotate(180deg);
    }
    .faq-question {
      color: var(--text);
      font-size: 21px;
      font-weight: 650;
      line-height: 1.45;
    }
    .faq-answer {
      margin: 12px 0 0;
      color: var(--text-soft);
      font-size: 18px;
      font-weight: 500;
      line-height: 1.7;
    }

    .cta-panel { text-align: center; padding: 36px 24px; }
    .sgj-create-section .cta-panel {
      position: relative;
      min-height: 330px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      padding: 44px clamp(120px, 20vw, 230px);
      border: 0;
    }
    .sgj-create-section .cta-character-image {
      position: absolute;
      z-index: 0;
      bottom: 0;
      width: clamp(120px, 15vw, 190px);
      height: auto;
      display: block;
      pointer-events: none;
      user-select: none;
    }
    .sgj-create-section .cta-character-image.man { left: clamp(18px, 6vw, 86px); }
    .sgj-create-section .cta-character-image.woman { right: clamp(18px, 6vw, 86px); }
    .sgj-create-section .cta-copy-stage { display: contents; }
    .sgj-create-section .cta-copy {
      position: relative;
      z-index: 1;
      text-align: center;
    }
    .sgj-create-section .cta-title {
      margin-top: 0;
      text-align: center;
    }
    .sgj-create-section .cta-subcopy {
      text-align: center;
    }
    .sgj-create-section .cta-subcopy-text {
      margin-top: 12px;
      text-align: center;
    }
    .sgj-create-section .cta-panel .cta-copy + .button,
    .sgj-create-section .cta-panel .cta-copy-stage + .button,
    .sgj-create-section .cta-panel .cta-subcopy-text + .button,
    .sgj-create-section .cta-panel > .cta-title + .button {
      margin-top: 30px;
    }
    .sgj-create-section .cta-create-button {
      position: relative;
      z-index: 1;
      background: #373a3c;
      border-color: #373a3c;
    }
    .sgj-page .sgj-create-section .button.primary.cta-create-button {
      background: #373a3c;
      border-color: #373a3c;
      color: #ffffff;
      gap: 8px;
    }
    .sgj-create-section .cta-create-button-text {
      font-size: 20px;
      line-height: 1.2;
    }
    .sgj-create-section .cta-create-button svg {
      width: 22px;
      height: 22px;
      flex: 0 0 22px;
    }
    .sgj-create-section .cta-pc-space {
      display: none;
    }
    .sgj-create-section .cta-title-pc-space {
      display: none;
    }
    @media (min-width: 641px) {
      .sgj-page .sgj-create-section .button.primary.cta-create-button {
        padding: 15px clamp(80px, 15vw, 190px);
      }
      .sgj-create-section .cta-pc-space {
        display: inline;
      }
      .sgj-create-section .cta-title-pc-space {
        display: inline;
      }
      .sgj-create-section .cta-title-linebreak {
        display: none;
      }
      .sgj-create-section .cta-subcopy-linebreak {
        display: none;
      }
    }
    @media (max-width: 640px) {
      .sgj-create-section .cta-panel {
        min-height: 0;
        padding-top: 36px;
        padding-bottom: 36px;
        padding-left: 0;
        padding-right: 0;
      }
      .sgj-create-section .cta-copy-stage {
        width: 100%;
        display: grid;
        grid-template-columns: clamp(64px, 22vw, 86px) minmax(0, 1fr) clamp(64px, 22vw, 86px);
        align-items: center;
        column-gap: 6px;
        row-gap: 12px;
      }
      .sgj-create-section .cta-copy {
        display: contents;
      }
      .sgj-create-section .cta-title {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
      }
      .sgj-create-section .cta-subcopy {
        grid-column: 1 / -1;
        grid-row: 2;
      }
      .sgj-create-section .cta-character-image {
        position: static;
        width: 100%;
        max-width: 86px;
        align-self: center;
      }
      .sgj-create-section .cta-character-image.man {
        grid-column: 1;
        grid-row: 1;
      }
      .sgj-create-section .cta-character-image.woman {
        grid-column: 3;
        grid-row: 1;
      }
      .sgj-create-section .cta-character-image.man { left: auto; }
      .sgj-create-section .cta-character-image.woman { right: auto; }
      .sgj-page .sgj-create-section .button.primary.cta-create-button {
        width: 100%;
        height: 52px;
        min-height: 52px;
        padding: 0 20px;
        border-radius: 14px;
        gap: 9px;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.25;
      }
      .sgj-page .sgj-create-section .cta-subcopy-text {
        margin-top: 0;
        font-size: 17px;
      }
      .sgj-create-section .cta-create-button-text {
        font-size: 17px;
      }
      .sgj-create-section .cta-create-button svg {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
      }
    }
    .support-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
      margin-top: 24px;
    }
    .support-action-card {
      width: 100%;
      min-width: 0;
      border: 1px solid var(--border);
      border-radius: 18px;
      background: #fff;
      padding: 18px;
      text-align: left;
      cursor: pointer;
    }
    .support-card-visual {
      width: 100%;
      aspect-ratio: 4 / 3;
      margin-bottom: 16px;
      overflow: hidden;
      border-radius: 14px;
      background: #f1f5f9;
    }
    .support-card-image {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .support-card-content {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 30px;
      gap: 12px;
      align-items: end;
    }
    .support-card-text {
      min-width: 0;
    }
    .support-card-arrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      color: #c9cdd0;
      background: transparent;
      pointer-events: none;
      align-self: end;
    }
    .support-card-arrow svg {
      width: 30px;
      height: 30px;
    }
    .support-card-label {
      color: var(--blue);
      font-size: 14px;
      font-weight: 800;
      line-height: 1.3;
      margin-bottom: 8px;
    }
    .support-card-title {
      color: var(--text);
      font-size: 18px;
      font-weight: 800;
      line-height: 1.35;
      margin-bottom: 6px;
    }
    .support-card-copy {
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.55;
    }

    .overlay {
      position: fixed;
      inset: 0;
      z-index: 100100;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: rgba(15, 23, 42, 0.56);
    }
    .overlay.open { display: flex; }
    .modal {
      width: min(760px, calc(100vw - 24px));
      border-radius: 24px;
      background: var(--surface);
      box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
      overflow: hidden;
    }
    .modal.detail-modal {
      position: relative;
      display: flex;
      flex-direction: column;
      max-height: calc(100vh - 40px);
    }
    .modal.small { width: min(560px, calc(100vw - 24px)); }
    .builder-modal {
      width: min(720px, calc(100vw - 24px));
      max-height: calc(100vh - 40px);
      display: flex;
      flex-direction: column;
      position: relative;
    }
    .builder-header {
      position: sticky;
      top: 0;
      z-index: 5;
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr) 44px;
      align-items: center;
      gap: 12px;
      padding: var(--modal-header-padding-pc);
      background: rgba(255, 255, 255, 0.98);
      border-bottom: 1px solid var(--border);
    }
    .builder-header-copy {
      text-align: center;
      min-width: 0;
    }
    .builder-title {
      color: var(--text);
      font-size: var(--modal-main-title-pc);
      font-weight: var(--modal-main-title-weight);
      line-height: 1.25;
    }
    .builder-subtitle {
      margin-top: 4px;
      color: var(--text-soft);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.35;
    }
    .builder-match-copy {
      margin-top: 8px;
      color: var(--text);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
    }
    .builder-match-copy > div {
      display: block;
      color: var(--text-soft);
      font-weight: 600;
    }
    .builder-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      padding: 3px 22px 84px;
      scrollbar-gutter: auto;
    }
    .builder-body.builder-step-1 {
      overflow-y: hidden;
      padding-bottom: calc(var(--builder-date-popover-space, 0px) + 12px);
    }
    .builder-body.builder-agree-collapsed {
      padding-bottom: calc(var(--builder-bottom-offset, 118px) + 56px);
    }
    .builder-progress {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      padding: 0 22px;
      border-bottom: 1px solid var(--border);
      background: #fff;
    }
    .builder-progress-item {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      border: 0;
      background: transparent;
      color: var(--text-soft);
      font-size: 18px;
      font-weight: 600;
      line-height: 1.35;
      text-align: center;
      word-break: keep-all;
      font-family: inherit;
      cursor: pointer;
    }
    .builder-progress-item:hover {
      color: var(--text);
    }
    .builder-progress-item:focus-visible {
      outline: 2px solid rgba(0, 85, 204, 0.28);
      outline-offset: -2px;
    }
    .builder-progress-item::before {
      display: none;
    }
    .builder-progress-dot {
      display: none;
    }
    .builder-progress-label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    .builder-progress-check {
      display: none;
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      color: #16a34a;
    }
    .builder-progress-item.done .builder-progress-check {
      display: block;
    }
    .builder-progress-item::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      height: 2px;
      border-radius: 999px;
      background: transparent;
    }
    .builder-progress-item.active,
    .builder-progress-item.done {
      color: var(--text);
    }
    .builder-progress-item.active::after {
      background: var(--blue);
    }
    #builderModal.mdpick-builder-mode .builder-progress {
      grid-template-columns: repeat(2, 1fr);
    }
    #builderModal.mdpick-builder-mode .builder-progress-item[data-builder-progress="2"] {
      display: none;
    }
    #builderModal.mdpick-date-change-mode .builder-progress,
    #builderModal.mdpick-recruit-direct-mode .builder-progress {
      display: none;
    }
    .builder-step {
      display: none;
    }
    .builder-step.active {
      display: block;
    }
    .builder-section-title {
      color: var(--text);
      font-size: 16px;
      font-weight: 700;
      margin: 0 0 10px;
      text-align: center;
    }
    .builder-card {
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      padding: 16px;
    }
    .builder-calendar-card {
      position: relative;
      margin-bottom: 10px;
      border: 0;
      border-radius: 0;
      padding: 0;
      background: transparent;
    }
    .builder-calendar-card.is-loading-dates .builder-calendar-grid,
    .builder-calendar-card.is-loading-dates .builder-calendar-weekdays,
    .builder-calendar-card.is-loading-dates .builder-month-button,
    .builder-calendar-card.is-loading-dates .builder-date-reset {
      pointer-events: none;
    }
    .skeleton-glass-shimmer {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .skeleton-glass-shimmer::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      transform: translateX(-135%);
      background: linear-gradient(108deg, rgba(255, 255, 255, 0) 0%, rgba(226, 232, 240, 0.16) 28%, rgba(255, 255, 255, 0.82) 45%, rgba(203, 213, 225, 0.46) 52%, rgba(255, 255, 255, 0.78) 60%, rgba(255, 255, 255, 0) 100%);
      filter: blur(.25px);
      animation: skeletonGlassSweep 1.65s cubic-bezier(.4, 0, .2, 1) infinite;
    }
    .builder-calendar-loading {
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 6;
      display: none;
      transform: translate(-50%, -50%);
      pointer-events: none;
    }
    .builder-calendar-card.is-loading-dates .builder-calendar-loading {
      display: block;
    }
    @keyframes skeletonGlassSweep {
      0% { transform: translateX(-135%); opacity: .22; }
      18% { opacity: .95; }
      100% { transform: translateX(135%); opacity: .28; }
    }
    @media (prefers-reduced-motion: reduce) {
      .skeleton-glass-shimmer::after,
      .join-section-list.is-loading-products .join-card::after,
      .calendar-sheet-body.is-loading-products .calendar-product-card::after {
        animation: none;
        transform: translateX(0);
        opacity: .34;
      }
    }
    .builder-calendar-head {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 8px;
      min-height: 42px;
      margin-bottom: 0;
      padding: 10px 0 6px;
    }
    .builder-calendar-legend {
      grid-column: 1;
      justify-self: start;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 32px;
      color: #d9732f;
      font-size: 15px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .builder-calendar-legend[hidden] {
      display: none !important;
    }
    @media (min-width: 641px) {
      .builder-calendar-legend {
        color: #de7519;
        font-size: 14px;
      }
    }
    .builder-calendar-legend-dot {
      width: 12px;
      height: 12px;
      flex: 0 0 12px;
      border-radius: 999px;
      background: #fb923c;
      box-shadow: inset 0 0 0 1px rgba(194, 65, 12, 0.18);
    }
    .builder-month-nav {
      grid-column: 2;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-width: 0;
    }
    .builder-calendar-month {
      color: var(--text);
      font-size: 20px;
      font-weight: 900;
      line-height: 1.25;
      text-align: center;
    }
    .builder-month-button {
      width: 36px;
      height: 36px;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: var(--text);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .builder-month-button:hover {
      background: #f1f5f9;
    }
    .builder-month-button svg {
      width: 20px;
      height: 20px;
    }
    .builder-date-reset {
      grid-column: 3;
      justify-self: end;
      min-height: 32px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: #fff;
      color: var(--text-soft);
      padding: 0 12px;
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 5px;
    }
    .builder-date-reset svg {
      display: block;
      width: 18px;
      height: 18px;
    }
    .builder-calendar-weekdays {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 0;
      padding: 0 0 8px;
      border-bottom: 1px solid var(--border);
      background: #fff;
    }
    .builder-weekday {
      color: #373A3C;
      font-size: 16px;
      font-weight: 700;
      text-align: center;
      padding: 8px 0;
    }
    .builder-weekday:first-child,
    .builder-day.sunday,
    .builder-day.holiday {
      color: #ef4444;
    }
    .builder-calendar-grid {
      display: block;
      touch-action: pan-y;
    }
    .builder-calendar-week {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 0;
    }
    .builder-calendar-week + .builder-calendar-week {
      margin-top: 20px;
    }
    .builder-calendar-card.has-six-weeks .builder-calendar-week + .builder-calendar-week {
      margin-top: 20px;
    }
    .builder-day {
      min-height: 42px;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: #373A3C;
      font-size: 18px;
      font-weight: 700;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      cursor: pointer;
    }
    .builder-calendar-card.has-six-weeks .builder-day {
      min-height: 38px;
    }
    .builder-day::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      height: 34px;
      transform: translateY(-50%);
      background: transparent;
      z-index: 0;
    }
    .builder-day::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      height: 34px;
      transform: translateY(-50%);
      background: transparent;
      z-index: 1;
    }
    .builder-day-number {
      position: relative;
      z-index: 2;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
    }
    .builder-day.muted {
      color: #c7cbd1;
    }
    .builder-day.muted.sunday,
    .builder-day.muted.holiday {
      color: #ffa3a3;
    }
    .builder-day.unavailable {
      color: #c7cbd1;
      cursor: not-allowed;
      opacity: .72;
    }
    .builder-day.unavailable:not(.muted).sunday,
    .builder-day.unavailable:not(.muted).holiday {
      color: #ef4444;
    }
    .builder-day.unavailable.muted.sunday,
    .builder-day.unavailable.muted.holiday {
      color: #ffa3a3;
    }
    .builder-day.unavailable .builder-day-number {
      background: #f8fafc;
    }
    .builder-day.today {
      color: #0e60e8;
    }
    .builder-day.today .builder-day-number {
      color: #0e60e8;
      background: #eaf2ff;
      box-shadow: inset 0 0 0 1px rgba(14, 96, 232, 0.22);
    }
    .builder-day.today .builder-day-today-label {
      position: absolute;
      left: 50%;
      top: calc(50% + 18px);
      z-index: 3;
      transform: translateX(-50%);
      color: #0e60e8;
      font-size: 9px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .builder-day.flex {
      background: transparent;
    }
    .builder-day.flex::after {
      background: #8491e8;
    }
    .builder-day.flex.flex-edge-left::after {
      left: 50%;
    }
    .builder-day.flex.flex-edge-right::after {
      right: 50%;
    }
    .builder-day.flex.flex-single::after {
      left: 50%;
      right: 50%;
    }
    .builder-day.flex.flex-edge-left.flex-edge-right::after {
      left: 50%;
      right: 50%;
    }
    .builder-day.flex .builder-day-number {
      color: #fff;
    }
    .builder-day.flex-edge-left .builder-day-number,
    .builder-day.flex-edge-right .builder-day-number,
    .builder-day.flex-single .builder-day-number {
      width: 34px;
      height: 34px;
      background: #8491e8;
    }
    .builder-day.start .builder-day-number,
    .builder-day.end .builder-day-number {
      background: #4556c8;
    }
    .builder-day.range {
      background: transparent;
    }
    .builder-day.range::before,
    .builder-day.start.linked::before,
    .builder-day.end.linked::before {
      background: #f0f1f3;
    }
    .builder-day.start,
    .builder-day.end {
      color: #fff;
    }
    .builder-day.start::before {
      left: 50%;
    }
    .builder-day.end::before {
      right: 50%;
    }
    .builder-day.start .builder-day-number,
    .builder-day.end .builder-day-number {
      width: 34px;
      height: 34px;
      background: #4556c8;
    }
    .builder-day.today.start .builder-day-number,
    .builder-day.today.end .builder-day-number {
      color: #fff;
      background: #54abff;
      box-shadow: none;
    }
    .builder-day.range .builder-day-number {
      color: #373A3C;
    }
    .builder-day-label {
      position: absolute;
      left: 50%;
      top: calc(50% + 19px);
      transform: translateX(-50%);
      font-size: 13.5px;
      font-weight: 500;
      color: #7751b4;
      white-space: nowrap;
    }
    .builder-day.active-schedule {
      color: #c2410c;
      cursor: pointer;
      opacity: 1;
    }
    .builder-day.active-schedule::before {
      background: #fff1e7;
    }
    .builder-day.active-schedule.active-schedule-start::before {
      left: 50%;
    }
    .builder-day.active-schedule.active-schedule-end::before {
      right: 50%;
    }
    .builder-day.active-schedule.active-schedule-single::before {
      left: 50%;
      right: 50%;
    }
    .builder-day.active-schedule .builder-day-number {
      width: 34px;
      height: 34px;
      color: #fff;
      background: #fb923c;
      box-shadow: inset 0 0 0 1px rgba(194, 65, 12, 0.18);
    }
    .builder-day.active-schedule.active-schedule-range .builder-day-number {
      color: #c2410c;
      background: transparent;
      box-shadow: none;
    }
    .builder-day.range.flex .builder-day-number {
      color: #fff;
    }
    @media (min-width: 641px) {
      #builderModal .builder-calendar-weekdays,
      body > #builderModal.sgj-portal-overlay .builder-calendar-weekdays,
      #secret-golf-join #builderModal .builder-calendar-weekdays {
        padding-bottom: 0;
      }
      #builderModal .builder-day-label,
      body > #builderModal.sgj-portal-overlay .builder-day-label,
      #secret-golf-join #builderModal .builder-day-label {
        font-size: 13.5px;
      }
      #builderModal .builder-calendar-week + .builder-calendar-week,
      body > #builderModal.sgj-portal-overlay .builder-calendar-week + .builder-calendar-week,
      #secret-golf-join #builderModal .builder-calendar-week + .builder-calendar-week,
      #builderModal .builder-calendar-card.has-six-weeks .builder-calendar-week + .builder-calendar-week,
      body > #builderModal.sgj-portal-overlay .builder-calendar-card.has-six-weeks .builder-calendar-week + .builder-calendar-week,
      #secret-golf-join #builderModal .builder-calendar-card.has-six-weeks .builder-calendar-week + .builder-calendar-week {
        margin-top: 20px !important;
      }
      #builderModal .builder-day,
      body > #builderModal.sgj-portal-overlay .builder-day,
      #secret-golf-join #builderModal .builder-day,
      #builderModal .builder-calendar-card.has-six-weeks .builder-day,
      body > #builderModal.sgj-portal-overlay .builder-calendar-card.has-six-weeks .builder-day,
      #secret-golf-join #builderModal .builder-calendar-card.has-six-weeks .builder-day {
        min-height: 46px;
      }
    }
    .builder-date-popover {
      position: absolute;
      z-index: 20;
      display: none;
      min-width: 184px;
      padding: 10px 12px 10px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: #fff;
      box-shadow: none;
    }
    .builder-date-popover.open {
      display: grid;
      gap: 8px;
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    }
    .builder-duration-popover {
      position: absolute;
      z-index: 10;
      top: 98px;
      left: 50%;
      width: min(300px, calc(100% - 32px));
      display: none;
      transform: translateX(-50%);
      padding: 16px;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 18px 44px rgba(15, 23, 42, 0.16);
    }
    .builder-duration-popover.open {
      display: grid;
      gap: 12px;
    }
    .builder-duration-title {
      color: var(--text);
      font-size: 16px;
      font-weight: 900;
      line-height: 1.35;
      text-align: center;
    }
    .builder-duration-copy {
      margin-top: -6px;
      color: var(--text-soft);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.45;
      text-align: center;
    }
    .builder-duration-options {
      display: grid;
      gap: 8px;
    }
    .builder-duration-option {
      width: 100%;
      min-height: 44px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: #fff;
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.3;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 0 12px;
    }
    .builder-duration-option:hover {
      border-color: var(--blue);
      background: #f8fbff;
    }
    .builder-duration-option span {
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 700;
    }
    .builder-date-popover::before {
      display: none;
    }
    .builder-date-popover.above::before {
      top: 100%;
      bottom: auto;
      border: 0;
      border-right: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      transform: translate(-50%, -5px) rotate(45deg);
    }
    .builder-date-popover-title {
      color: var(--text);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.3;
      text-align: left;
      white-space: nowrap;
    }
    .builder-date-popover-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 7px;
    }
    .builder-date-popover-actions button {
      min-height: 32px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: #fff;
      color: var(--text);
      font-size: 14px;
      font-weight: 600;
    }
    .builder-date-popover-actions .primary-action {
      border-color: var(--border);
      background: #fff;
      color: var(--text);
    }
    .builder-date-flex-panel {
      display: none;
      gap: 8px;
      margin-top: 4px;
      padding-top: 10px;
      border-top: 1px solid var(--border);
    }
    .builder-date-popover.flex-open .builder-date-flex-panel {
      display: grid;
    }
    .builder-date-flex-row {
      display: grid;
      grid-template-columns: 34px 1fr;
      align-items: center;
      gap: 8px;
      color: var(--text);
      font-size: 14px;
      font-weight: 600;
    }
    .builder-date-flex-row .builder-stepper {
      justify-content: end;
      gap: 6px;
    }
    .builder-date-flex-row .builder-stepper span {
      font-size: 14px;
      font-weight: 600;
      line-height: 1.3;
    }
    .builder-date-flex-row .builder-stepper button {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      background: #fff;
      font-size: 16px;
      font-weight: 600;
      line-height: 1;
    }
    .builder-date-flex-row .builder-stepper button:disabled {
      border-color: #e8edf3;
      background: #f8fafc;
      color: #c7d0dc;
      cursor: default;
    }
    .builder-date-flex-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      padding-top: 10px;
      margin-top: 10px;
      border-top: 1px solid var(--border);
    }
    .builder-date-flex-actions button {
      min-height: 34px;
      border: 1px solid var(--border);
      border-radius: 9px;
      background: #fff;
      color: var(--text);
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
    }
    .builder-date-flex-actions .primary-action {
      background: #54abff;
      border-color: #54abff;
      color: #fff;
    }
    .builder-summary-card {
      display: grid;
      grid-template-columns: 1fr;
      align-items: start;
      gap: 6px;
      border: 0;
      border-radius: 12px;
      padding: 12px 14px;
      background: #f4f6f8;
      box-shadow: none;
    }
    .builder-summary-title {
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
    }
    .builder-summary-line {
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 4px;
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.35;
      white-space: normal;
    }
    .builder-product-summary-line[hidden] {
      display: none !important;
    }
    .builder-apply-summary-line[hidden] {
      display: none !important;
    }
    .builder-summary-label {
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
    }
    .builder-summary-value {
      min-width: 0;
      color: #616161;
      font-size: 14px;
      font-weight: 500;
    }
    #builderProductSummary {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }
    .builder-pill-row,
    .builder-option-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 18px;
    }
    .builder-pill,
    .builder-option {
      border: 1px solid var(--border);
      border-radius: 999px;
      background: #fff;
      color: var(--text-soft);
      padding: 9px 15px;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.2;
    }
    .builder-pill.active,
    .builder-option.active {
      border-color: var(--blue);
      background: var(--blue);
      color: #fff;
    }
    .builder-field {
      margin-bottom: 16px;
    }
    .builder-field label {
      display: block;
      margin-bottom: 0;
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
    }
    .builder-step-copy {
      margin: -2px 0 14px;
      text-align: center;
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.45;
    }
    .builder-step-copy > div {
      display: block;
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
    }
    .builder-apply-form {
      display: grid;
      gap: 0;
      padding: 8px 2px 0;
    }
    .builder-step[data-builder-step="3"] .builder-apply-form {
      padding: 18px 0 0;
    }
    .builder-apply-form .builder-apply-join-summary {
      margin-bottom: 24px;
    }
    .builder-apply-form .apply-section-head {
      margin-bottom: 14px;
    }
    .builder-apply-form [data-companion-field="builder"] {
      order: -1;
    }
    .builder-apply-form [data-companion-field="builder"] .apply-people-label-row {
      display: none;
    }
    .builder-apply-form .builder-apply-join-summary .apply-join-info-row {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      align-items: baseline;
      column-gap: 12px;
      min-width: 0;
    }
    .builder-apply-form .apply-section-heading {
      color: #101418;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0;
    }
    .builder-apply-form .apply-join-info-label {
      color: #848c94;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
      white-space: nowrap;
    }
    .builder-apply-form .builder-apply-join-summary .apply-join-info-value {
      flex: 1 1 auto;
      min-width: 0;
      text-align: left;
      word-break: keep-all;
      overflow-wrap: anywhere;
    }
    .builder-apply-form .apply-join-info-value,
    .builder-apply-form .apply-check-line-text,
    .builder-apply-form .apply-reservation-rule-list,
    .builder-apply-form .apply-people-total-title,
    .builder-apply-form .apply-companion-title,
    .builder-apply-form .apply-companion-status,
    .builder-apply-form .apply-people-count-value {
      color: #101418;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }
    .builder-apply-form .apply-preference-title {
      color: #101418;
      font-size: 19px;
      font-weight: 700;
      line-height: 1.35;
    }
    .builder-apply-form .apply-preference-copy,
    .builder-apply-form .apply-field-helper,
    .builder-apply-form .apply-people-total-helper,
    .builder-apply-form .apply-companion-helper,
    .builder-apply-form .traveler-hint {
      color: #373a3c;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.45;
    }
    .builder-apply-form .apply-section-title {
      font-size: 19px;
      font-weight: 900;
    }
    .builder-apply-form .apply-field-helper {
      color: #373a3c;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.45;
    }
    .builder-apply-form .field.full {
      grid-column: 1 / -1;
    }
    .builder-apply-form .field {
      display: grid;
      gap: 10px;
    }
    .builder-apply-form .apply-reservation-rule-section {
      margin-top: 24px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
    }
    .builder-apply-form .field label {
      color: #101418;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
    }
    .builder-apply-form input,
    .builder-apply-form textarea,
    .builder-apply-form select {
      width: 100%;
      min-height: 52px;
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 0 14px;
      color: var(--text);
      background: #fff;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.5;
      outline: none;
    }
    .builder-apply-form .apply-chip,
    .builder-apply-form .profession-chip,
    .builder-apply-form .apply-template,
    .builder-apply-form .apply-people-button,
    .builder-apply-form .apply-people-radio,
    .builder-apply-form .apply-people-inline-add-button {
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }
    .builder-apply-form input::placeholder,
    .builder-apply-form textarea::placeholder {
      color: var(--apply-placeholder-color, #d3d3d3);
      opacity: 1;
    }
    .builder-apply-form textarea {
      min-height: 92px;
      padding-top: 12px;
      resize: vertical;
    }
    .builder-apply-form .traveler-info-grid {
      grid-template-columns: minmax(0, 1fr) clamp(116px, 34vw, 150px);
      align-items: start;
    }
    .builder-apply-form .traveler-field .traveler-hint {
      display: none;
    }
    .builder-apply-form .traveler-hint-compact {
      display: none;
    }
    .builder-apply-form .traveler-field:focus-within:not(.is-filled) .traveler-hint {
      display: block;
    }
    .builder-apply-form .traveler-field input {
      padding-top: 0;
    }
    .builder-apply-form .traveler-field:not(.has-error) input:focus {
      border-color: transparent;
      box-shadow: 0 0 0 3px rgba(104, 124, 214, 0.12);
    }
    .builder-apply-form .traveler-field input:placeholder-shown {
      padding-top: 0;
    }
    .builder-apply-form .traveler-field:focus-within:not(.is-filled) input {
      padding-top: 18px;
    }
    .builder-apply-form .traveler-field.is-filled input {
      padding-top: 0;
    }
    .builder-apply-form [data-chip-group="builder-style"],
    .builder-apply-form [data-chip-group="builder-level"],
    .builder-apply-form [data-chip-group="builder-member-preference"] {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .builder-apply-form .apply-people-accordion:not(.open) {
      display: none;
    }
    .builder-apply-form .apply-remaining-seat {
      display: none;
    }
    .builder-apply-form .apply-check-line input:checked {
      border-color: #373A3C;
      background-color: #373A3C;
      background-image: url("data:image/svg+xml,%3Csvg width='13' height='10' viewBox='0 0 13 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 5L5 8.5L11.5 1.5' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 13px 10px;
    }
    .builder-apply-form .apply-check-line input:checked::before {
      display: block;
      width: 9px;
      height: 5px;
      margin-top: -3px;
      border-left: 2px solid #fff;
      border-bottom: 2px solid #fff;
      transform: rotate(-45deg) scale(1);
    }
    @media (max-width: 640px) {
      .builder-apply-form {
        padding-top: 0;
      }
      .builder-step[data-builder-step="3"] .builder-apply-form {
        padding: 14px 0 0;
      }
      .builder-apply-form .detail-apply-grid,
      .builder-apply-form .traveler-info-grid {
        grid-template-columns: 1fr;
        gap: 14px;
      }
      .builder-apply-form .traveler-info-grid {
        grid-template-columns: minmax(0, 1fr) clamp(96px, 34vw, 132px);
      }
      .builder-apply-form .apply-section-title {
        font-size: 20px;
        font-weight: 700;
      }
      .builder-apply-form .field label {
        font-size: 16px;
        font-weight: 600;
      }
      .builder-apply-form input,
      .builder-apply-form textarea,
      .builder-apply-form select {
        font-size: 15px;
      }
      .builder-apply-form [data-chip-group="builder-level"] {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    @media (max-width: 360px) {
      .builder-apply-form [data-builder-apply-field="name"] .traveler-hint-full {
        display: none;
      }
      .builder-apply-form [data-builder-apply-field="name"] .traveler-hint-compact {
        display: inline;
      }
    }
    .builder-benefit-copy {
      margin: -2px 0 9px;
      color: var(--text-soft);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.4;
    }
    .builder-search-input {
      width: 100%;
      min-height: 50px;
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 0 16px;
      color: var(--text);
      font-size: 15px;
      font-weight: 700;
      background: #fff;
    }
    .builder-region-field {
      margin-bottom: 18px;
    }
    .builder-region-search {
      display: grid;
      gap: 12px;
    }
    .builder-region-search-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 8px;
      align-items: center;
    }
    .builder-region-search.has-product-results .builder-region-search-row {
      grid-template-columns: minmax(0, 1fr) auto;
    }
    .builder-region-search-field {
      --region-search-input-width: 100%;
      padding: 0 14px;
      min-height: 48px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
    }
    .builder-region-filter-button {
      display: none;
      align-items: center;
      justify-content: center;
      gap: 5px;
      min-height: 48px;
      padding: 0 12px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
      cursor: pointer;
    }
    .builder-region-filter-button svg {
      width: 16px;
      height: 16px;
      color: #64748b;
    }
    .builder-region-search.has-product-results .builder-region-filter-button {
      display: inline-flex;
    }
    .builder-region-search-field input {
      min-width: 0;
      color: var(--text);
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
      transform: translateX(-1px);
      -webkit-appearance: none;
      appearance: none;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }
    #builderRegionSearchInput {
      color: var(--text);
      font-size: 16px;
      font-weight: 600;
    }
    .builder-region-search-field input::-webkit-search-cancel-button,
    .builder-region-search-field input::-webkit-search-decoration {
      -webkit-appearance: none;
      appearance: none;
      display: none;
    }
    .builder-region-search-field .mobile-search-icon {
      width: 22px;
      height: 22px;
      flex: 0 0 22px;
      color: #64748b;
    }
    .builder-region-search .region-search-clear-input {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      align-items: center;
      justify-content: center;
      color: #272727;
      background: #eeeeee;
      border-radius: 999px;
      display: none;
    }
    .builder-region-search .region-search-clear-input:hover {
      color: #373a3c;
      background: #d9dee5;
    }
    .builder-region-search .region-search-clear-input svg {
      width: 13px;
      height: 13px;
    }
    .builder-region-search.searching .region-search-clear-input {
      display: inline-flex;
    }
    .builder-region-search.searching .builder-region-search-field input,
    .builder-region-search.has-product-results .builder-region-search-field input {
      flex: 0 1 auto;
      width: min(calc(var(--region-search-input-width, 100%) + 2px), calc(100% - 30px));
      max-width: calc(100% - 30px);
      margin-left: 0;
      transform: none;
    }
    .builder-region-search.searching .mobile-search-icon {
      display: none;
    }
    .builder-region-search.has-product-results .region-search-clear-input {
      display: inline-flex;
    }
    .builder-region-search.has-product-results .mobile-search-icon {
      display: none;
    }
    .builder-region-selected {
      display: none;
      min-height: 34px;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
    }
    .builder-region-selected .region-selected-item {
      min-height: 30px;
      padding: 0 10px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: #fff;
      color: var(--text);
      font-size: 13px;
      font-weight: 800;
    }
    .builder-region-results {
      display: none;
    }
    .builder-region-search.searching .builder-region-results {
      display: block;
    }
    .builder-region-search.searching .builder-region-body {
      display: none;
    }
    .builder-region-search.has-product-results .builder-region-results,
    .builder-region-search.has-product-results .builder-region-body {
      display: none;
    }
    .builder-region-body {
      display: grid;
      gap: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      overflow: visible;
      background: #fff;
    }
    .builder-region-body .region-group {
      border: 1px solid var(--border);
      border-radius: 14px;
      box-shadow: none;
      background: #fff;
    }
    .builder-region-body .region-group.featured {
      border-color: #cbd5e1;
      box-shadow: none;
    }
    .builder-region-body .region-group summary {
      padding: 10px 18px;
      font-size: 16px;
      font-weight: 600;
    }
    .builder-region-body .region-grid-list {
      display: block;
      padding: 0 10px 10px;
    }
    .builder-region-body .region-grid-row,
    .builder-region-body .region-subregion-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0 0px;
    }
    .builder-region-body .region-grid-row > .region-subregion-list {
      grid-column: 1 / -1;
      margin-bottom: 0px;
      padding: 4px 0px 6px;
      border-radius: 8px;
      background: #f8fafc;
    }
    .builder-region-body .region-option,
    .builder-region-body .region-subgroup summary,
    .builder-region-body .region-subgroup-toggle {
      min-height: 38px;
      font-size: 15px;
      font-weight: 700;
    }
    .builder-region-body .region-subgroup-toggle {
      padding-left: 10px;
    }
    .builder-region-body .region-subregion,
    .builder-region-body .region-subregion-heading {
      min-height: 38px;
      padding-left: 10px;
      font-size: 15px;
      font-weight: 700;
    }
    .builder-region-body .region-subregion-heading {
      color: #373A3C;
    }
    .builder-region-body .region-subregion {
      color: #373A3C;
    }
    .builder-region-body .region-option.is-unavailable,
    .builder-region-body .region-subgroup-toggle.is-unavailable,
    .builder-region-body .region-subregion-heading.is-unavailable,
    .builder-region-body .region-subregion.is-unavailable,
    .builder-region-search .region-result-item.is-unavailable,
    #regionSearchModal .region-desktop-button.is-unavailable,
    #regionSearchModal .region-desktop-city.is-unavailable,
    #regionSearchModal .region-option.is-unavailable,
    #regionSearchModal .region-subgroup-toggle.is-unavailable,
    #regionSearchModal .region-subregion-heading.is-unavailable,
    #regionSearchModal .region-subregion.is-unavailable {
      color: #a7b0bd;
      cursor: not-allowed;
      opacity: .62;
      background: transparent;
    }
    .builder-region-body .region-option.is-unavailable .region-desktop-hot-badge,
    .builder-region-body .region-subgroup-toggle.is-unavailable .region-desktop-hot-badge,
    .builder-region-body .region-subregion-heading.is-unavailable .region-desktop-hot-badge,
    .builder-region-body .region-subregion.is-unavailable .region-desktop-hot-badge {
      display: none;
    }
    @media (min-width: 641px) {
      .builder-region-search:not(.has-product-results) .builder-region-search-row {
        width: 100%;
        margin: 13px 0 0;
      }
      .builder-region-search.has-product-results .builder-region-search-row {
        margin-top: 13px;
      }
      .builder-region-search.has-product-results .builder-region-search-field input {
        font-size: 16px;
        font-weight: 600;
      }
      .builder-region-search.has-product-results .builder-region-filter-button {
        font-size: 15px;
        font-weight: 600;
      }
      #builderRegionSearchBody.builder-region-body {
        width: 100%;
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
        margin-left: 0;
        margin-right: 0;
      }
      #builderRegionSearchBody.builder-region-body .region-group {
        width: 100%;
        box-sizing: border-box;
      }
    }
    @media (max-width: 640px) {
      .builder-region-search {
        min-width: 0;
        max-width: 100%;
        padding-top: 14px;
      }
      .builder-region-search-row,
      .builder-region-search-field,
      .builder-region-product-area,
      .builder-region-product-list {
        min-width: 0;
        max-width: 100%;
      }
      .builder-region-search-field input {
        font-size: 16px;
        font-weight: 600;
      }
      #builderRegionSearchBody.region-search-body {
        padding: 0;
      }
      .builder-region-body {
        gap: 0;
      }
      .builder-region-body .region-option,
      .builder-region-body .region-subgroup summary,
      .builder-region-body .region-subgroup-toggle,
      .builder-region-body .region-subregion,
      .builder-region-body .region-subregion-heading {
        font-size: 15px;
      }
      .builder-region-product-list .region-product-card {
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr);
        overflow: hidden;
      }
      .builder-region-product-list .region-product-info,
      .builder-region-product-list .region-product-meta,
      .builder-region-product-list .region-product-side,
      .builder-region-product-list .region-product-price {
        min-width: 0;
        max-width: 100%;
      }
      .builder-region-product-list .region-product-date {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .builder-region-product-list .region-product-name {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
      }
    }
    .builder-region-results .region-result-suggestions {
      border: 1px solid var(--border);
      border-radius: 14px;
      overflow: hidden;
      background: #fff;
    }
    .builder-region-product-area {
      display: none;
      min-width: 0;
    }
    .builder-region-search.has-product-results .builder-region-product-area {
      display: grid;
      gap: 5px;
    }
    .builder-region-product-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
      padding: 0 10px;
    }
    .builder-region-product-title {
      color: var(--text);
      font-size: 15px;
      font-weight: 900;
    }
    .builder-region-product-count {
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
      line-height: 30px;
      white-space: nowrap;
    }
    .builder-region-product-count.is-loading {
      min-width: 116px;
      min-height: 30px;
      padding: 0 10px;
      border: 1px solid rgba(219, 228, 238, 0.92);
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .builder-region-product-count.is-loading > div {
      position: relative;
      z-index: 1;
    }
    .builder-region-product-date-context {
      display: inline;
    }
    .builder-region-product-sort {
      position: relative;
      margin-left: auto;
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      gap: 5px;
      min-height: 30px;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
      line-height: 30px;
      white-space: nowrap;
    }
    .builder-region-product-sort select {
      min-height: 30px;
      min-width: 0;
      margin-bottom: 0;
      padding: 0 17px 0 0;
      border: 0;
      outline: 0;
      appearance: none;
      -webkit-appearance: none;
      display: inline-flex;
      align-items: center;
      color: currentColor;
      background: transparent;
      font-size: 14px;
      font-weight: 800;
      line-height: 30px;
      text-align: right;
      text-align-last: right;
      direction: rtl;
    }
    .builder-region-product-sort select option {
      direction: ltr;
    }
    .builder-region-product-sort svg {
      width: 14px;
      height: 14px;
      margin-left: -12px;
      transform: translateY(1px);
      pointer-events: none;
    }
    .builder-region-sort-custom,
    .builder-region-sort-menu {
      display: none;
    }
    .builder-region-product-list {
      display: grid;
      gap: 10px;
      min-width: 0;
    }
    .builder-region-product-list .region-product-card {
      width: 100%;
      min-width: 0;
      display: grid;
      grid-template-columns: 90px minmax(0, 1fr) minmax(160px, auto);
      align-items: center;
      gap: 16px;
      padding: 12px;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      box-sizing: border-box;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    .builder-region-product-list .region-product-card.selected {
      border-color: var(--blue);
      box-shadow: 0 0 0 1px var(--blue);
      background: #f8fbff;
    }
    .builder-region-product-list .region-product-thumb {
      position: relative;
      display: block;
      width: 90px;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      border-radius: 14px;
      background: #e2e8f0;
    }
    .builder-region-product-list .region-product-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .builder-region-product-list .region-product-info {
      min-width: 0;
      display: grid;
      gap: 4px;
    }
    .builder-region-product-list .region-product-meta {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 2px;
      color: #475569;
      font-size: 14px;
      font-weight: 700;
    }
    .builder-region-product-list .region-product-meta svg {
      position: relative;
      top: -1px;
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
    }
    .builder-region-product-list .region-product-location {
      min-width: 0;
      flex: 0 1 auto;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .builder-region-product-list .region-product-meta .join-flight-chip {
      flex: 0 0 auto;
    }
    .builder-region-product-list .region-product-location + .join-flight-chip {
      margin-left: 3px;
    }
    .builder-region-product-list .join-category-chip {
      min-height: 20px;
      padding-top: 4px;
      padding-bottom: 4px;
    }
    .builder-region-product-list .region-product-name {
      color: var(--text);
      font-size: 18px;
      font-weight: 800;
      line-height: 1.28;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .builder-region-product-list .region-product-date {
      display: flex;
      align-items: center;
      gap: 4px;
      flex-wrap: wrap;
      min-height: 29px;
      color: #475569;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.35;
    }
    .builder-region-product-list .region-product-date::before {
      content: "";
      width: 14px;
      height: 14px;
      flex: 0 0 14px;
      background: currentColor;
      mask: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 3v4M17 3v4M4 9h16M6 5h12a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .builder-region-product-list .region-product-side {
      min-width: 0;
      display: grid;
      justify-items: end;
      gap: 12px;
      margin-right: 5px;
      transform: translateY(-4px);
    }
    .builder-region-product-list .region-product-price {
      display: flex;
      align-items: baseline;
      justify-content: flex-end;
      gap: 2px;
      color: var(--text);
      white-space: nowrap;
    }
    .builder-region-product-list .region-product-price-label,
    .builder-region-product-list .region-product-price-unit {
      font-size: 14px;
      font-weight: 700;
    }
    .builder-region-product-list .region-product-price-label {
      margin-right: 2px;
    }
    .builder-region-product-list .region-product-price-value {
      font-size: 20px;
      font-weight: 800;
      letter-spacing: 0;
    }
    .builder-detail-period-card {
      display: grid;
      gap: 12px;
    }
    .builder-detail-period-item {
      display: grid;
      grid-template-columns: 53px minmax(0, 1fr);
      align-items: baseline;
      gap: 6px;
      min-width: 0;
    }
    .builder-detail-period-card .detail-label {
      margin-bottom: 0;
    }
    .builder-detail-period-card .detail-period-row {
      min-width: 0;
      justify-content: flex-start;
      color: var(--text);
      font-size: var(--font-detail-date);
      font-weight: var(--font-weight-detail-date);
      line-height: 1.45;
    }
    @media (max-width: 640px) {
      .builder-region-product-list .region-product-card {
        grid-template-columns: 90px minmax(0, 1fr) minmax(120px, auto);
      }
      .builder-region-product-date-context {
        display: none;
      }
      .builder-region-product-list .region-product-thumb {
        display: block;
        width: 90px;
      }
      .builder-region-product-list .region-product-info {
        gap: 4px;
      }
      .builder-region-product-list .region-product-name {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .builder-region-product-list .region-product-date {
        min-height: 29px;
        flex-wrap: wrap;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
      }
      .builder-region-product-list .region-product-side {
        grid-column: auto;
        justify-items: end;
        gap: 12px;
        margin-right: 5px;
        padding-top: 0;
        border-top: 0;
        transform: translateY(-4px);
      }
      .builder-region-product-list .region-product-price {
        grid-column: auto;
        width: auto;
        padding-bottom: 0;
        border-bottom: 0;
        justify-content: flex-end;
      }
    }
    @media (max-width: 540px) {
      .builder-region-product-list .region-product-card {
        grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
      }
      .builder-region-product-list .region-product-thumb {
        display: none;
      }
    }
    @media (max-width: 470px) {
      .builder-region-product-list .region-product-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        padding: 15px;
      }
      .builder-region-product-list .region-product-side {
        justify-items: start;
        gap: 13px;
        margin-right: 0;
      }
      .builder-region-product-list .region-product-price {
        width: 100%;
        justify-content: flex-start;
        padding-bottom: 0;
        border-bottom: 0;
      }
    }
    @media (min-width: 471px) and (max-width: 540px) {
      .builder-region-product-list .region-product-card {
        grid-template-columns: 82px minmax(0, 1fr);
        align-items: center;
      }
      .builder-region-product-list .region-product-thumb {
        display: block;
        width: 82px;
      }
      .builder-region-product-list .region-product-side {
        grid-column: 2;
        justify-items: start;
        gap: 8px;
        transform: translateY(-4px);
      }
      .builder-region-product-list .region-product-price {
        justify-content: flex-start;
      }
    }
    @media (max-width: 359px) {
      #regionSearchModal .region-result-empty {
        font-size: 14px;
      }
      .builder-region-product-list .region-product-card {
        grid-template-columns: minmax(0, 1fr);
      }
      .builder-region-product-list .region-product-thumb {
        display: none;
      }
      #detailModal.builder-select-mode #detailModalTitle {
        font-size: 20px;
        line-height: 1.25;
      }
    }
    @media (min-width: 641px) {
      .builder-modal {
        height: min(710px, calc(100vh - 40px));
      }
      .builder-region-product-sort select,
      .builder-region-product-sort .native-sort-chevron {
        display: none;
      }
      .builder-region-sort-custom {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-height: 34px;
        padding: 0 10px 0 12px;
        border: 0;
        border-radius: 12px;
        background: #fff;
        color: var(--text);
        font-size: 14px;
        font-weight: 800;
        line-height: 1;
        cursor: pointer;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
      }
      .builder-region-sort-custom svg {
        width: 14px;
        height: 14px;
        margin-left: 0;
        transform: translateY(1px);
        color: #64748b;
      }
      .builder-region-product-sort.open .builder-region-sort-custom {
        box-shadow: 0 0 0 3px rgba(54, 137, 255, 0.08);
      }
      .builder-region-product-sort.open .builder-region-sort-menu {
        display: grid;
      }
      .builder-region-sort-menu {
        position: absolute;
        top: calc(100% + 6px);
        right: 0;
        z-index: 20;
        min-width: 132px;
        padding: 6px;
        border: 1px solid var(--border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 14px 34px rgba(15, 23, 42, 0.14);
      }
      .builder-region-sort-option {
        min-height: 34px;
        padding: 0 10px;
        border: 0;
        border-radius: 8px;
        background: transparent;
        color: var(--text);
        font-size: 14px;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
      }
      .builder-region-sort-option:hover,
      .builder-region-sort-option.active {
        background: #f1f5f9;
        font-weight: 900;
      }
      .builder-apply-form .traveler-info-grid {
        gap: 10px;
      }
      .builder-apply-form .traveler-info-grid .field {
        gap: 10px;
      }
      .builder-apply-form .traveler-info-grid .profession-chip-row {
        gap: 10px;
        margin-top: 0;
      }
      .builder-apply-form .apply-section.with-divider > .detail-apply-grid {
        row-gap: 26px;
      }
      .builder-apply-form .field label,
      .builder-apply-form input,
      .builder-apply-form textarea,
      .builder-apply-form select,
      .builder-apply-form .apply-chip,
      .builder-apply-form .profession-chip,
      .builder-apply-form .apply-people-button,
      .builder-apply-form .apply-people-radio,
      .builder-apply-form .apply-template {
        font-size: 16px;
      }
      body > #builderModal.sgj-portal-overlay .builder-region-search-field input,
      body > #builderModal.sgj-portal-overlay #builderRegionSearchInput,
      body > #builderModal.sgj-portal-overlay .builder-apply-form input,
      body > #builderModal.sgj-portal-overlay .builder-apply-form textarea,
      body > #builderModal.sgj-portal-overlay .builder-apply-form select {
        min-height: 44px;
        font-size: 16px !important;
        -webkit-appearance: none;
        appearance: none;
        background: #fff !important;
        box-shadow: none !important;
      }
      body > #builderModal.sgj-portal-overlay .builder-region-search-field input,
      body > #builderModal.sgj-portal-overlay #builderRegionSearchInput {
        min-height: 0;
        color: var(--text) !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        background: transparent !important;
      }
      .builder-body.builder-step-1 .builder-calendar-grid {
        min-height: 292px;
      }
      #builderModal .builder-calendar-card button,
      body > #builderModal.sgj-portal-overlay .builder-calendar-card button,
      #secret-golf-join #builderModal .builder-calendar-card button {
        margin-right: 0 !important;
      }
      .builder-calendar-weekdays,
      .builder-calendar-week {
        column-gap: 0 !important;
        row-gap: 0 !important;
        gap: 0 !important;
      }
      .builder-calendar-week + .builder-calendar-week,
      .builder-calendar-card.has-six-weeks .builder-calendar-week + .builder-calendar-week {
        margin-top: 20px !important;
      }
      .builder-day {
        width: 100% !important;
        margin: 0 !important;
      }
      .builder-day::before,
      .builder-day::after {
        left: -1px;
        right: -1px;
      }
      .builder-day.start::before {
        left: 50%;
        right: -1px;
      }
      .builder-day.end::before {
        left: -1px;
        right: 50%;
      }
      .builder-day.flex.flex-edge-left::after,
      .builder-day.flex.flex-single::after,
      .builder-day.flex.flex-edge-left.flex-edge-right::after {
        left: 50%;
      }
      .builder-day.flex.flex-edge-right::after,
      .builder-day.flex.flex-single::after,
      .builder-day.flex.flex-edge-left.flex-edge-right::after {
        right: 50%;
      }
      .builder-region-product-list .region-product-card {
        grid-template-columns: 90px minmax(0, 1fr) minmax(160px, auto);
        align-items: center;
      }
      .builder-region-product-list .region-product-side {
        grid-column: auto;
        gap: 12px;
        margin-right: 5px;
        padding-top: 0;
        border-top: 0;
        justify-items: end;
        transform: translateY(-4px);
      }
      .builder-region-product-list .region-product-price {
        grid-column: auto;
        justify-content: flex-end;
      }
    }
    #detailModal.builder-select-mode .detail-modal-actions {
      display: grid;
      grid-template-columns: minmax(96px, .32fr) minmax(0, 1fr);
    }
    #detailModal.builder-select-mode.builder-product-detail-mode .detail-modal-actions {
      grid-template-columns: minmax(0, 1fr);
    }
    body > #detailModal.sgj-portal-overlay.builder-select-mode.builder-product-detail-mode {
      z-index: 2147483643 !important;
    }
    body > #detailModal.sgj-portal-overlay.builder-select-mode.builder-product-detail-mode .detail-modal {
      z-index: 2147483644 !important;
    }
    #detailModal.mdpick-recruit-mode .detail-modal-actions {
      display: grid;
      grid-template-columns: 58px 58px minmax(112px, .55fr) minmax(0, 1fr);
    }
    #detailModal.builder-select-mode .detail-modal-actions .button.secondary {
      display: inline-flex;
    }
    #detailModal.builder-select-mode.builder-product-detail-mode .detail-modal-actions .button.secondary {
      display: none !important;
    }
    #detailModal.builder-select-mode.builder-product-detail-mode #detailPrimaryButton {
      grid-column: 1 / -1 !important;
      width: 100%;
    }
    #detailModal.builder-select-mode.builder-product-detail-mode #detailKakaoButton,
    #detailModal.builder-select-mode.builder-product-detail-mode #detailDateChangeButton {
      display: none !important;
    }
    .builder-region-product-empty {
      padding: 18px 14px;
      border-radius: 14px;
      background: #f8fafc;
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 800;
      text-align: center;
    }
    .builder-region-product-empty.is-loading {
      min-height: 58px;
      border: 1px solid rgba(219, 228, 238, 0.92);
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.78));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 10px 28px rgba(15, 23, 42, 0.06);
    }
    .builder-region-product-empty.is-loading > div {
      position: relative;
      z-index: 1;
    }
    .builder-text-input,
    .builder-textarea {
      width: 100%;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: 15px;
      font-weight: 700;
      outline: none;
    }
    .builder-text-input {
      min-height: 48px;
      padding: 0 14px;
    }
    .builder-textarea {
      min-height: 84px;
      padding: 13px 14px;
      resize: vertical;
      line-height: 1.5;
    }
    .builder-accordion {
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      overflow: hidden;
    }
    .builder-accordion summary {
      list-style: none;
      cursor: pointer;
      padding: 16px;
      color: var(--text);
      font-size: 15px;
      font-weight: 900;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .builder-accordion summary::-webkit-details-marker {
      display: none;
    }
    .builder-accordion summary::after {
      content: "";
      width: 16px;
      height: 16px;
      background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
    }
    .builder-accordion[open] summary::after {
      transform: rotate(180deg);
    }
    .builder-accordion-body {
      display: grid;
      gap: 16px;
      padding: 0 16px 16px;
    }
    .builder-range {
      width: 100%;
      accent-color: var(--blue);
    }
    .builder-product-list {
      display: grid;
      gap: 14px;
    }
    .builder-product-card {
      display: grid;
      grid-template-columns: 150px minmax(0, 1fr);
      gap: 16px;
      border: 1px solid var(--border);
      border-radius: 18px;
      background: #fff;
      padding: 12px;
      text-align: left;
    }
    .builder-product-content {
      display: grid;
      align-content: start;
      justify-items: start;
      min-width: 0;
    }
    .builder-product-detail-button {
      margin-top: 2px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: #fff;
      color: var(--text);
      padding: 8px 14px;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition: border-color .18s ease, background .18s ease, color .18s ease;
    }
    .builder-product-detail-button:hover {
      border-color: rgba(104, 124, 214, 0.34);
      background: #f7f8ff;
      color: #4f63c6;
    }
    .builder-product-card img {
      width: 100%;
      height: 126px;
      object-fit: cover;
      border-radius: 14px;
      background: #e2e8f0;
    }
    .builder-product-meta {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 800;
      margin-bottom: 5px;
    }
    .builder-product-title {
      color: var(--text);
      font-size: 18px;
      font-weight: 900;
      line-height: 1.35;
      margin-bottom: 8px;
    }
    .builder-product-desc {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 10px;
    }
    .builder-product-price {
      color: var(--blue);
      font-size: 20px;
      font-weight: 900;
      margin-bottom: 10px;
    }
    .builder-tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .builder-tag {
      border-radius: 999px;
      background: rgba(55, 58, 60, 0.08);
      color: var(--text);
      padding: 5px 9px;
      font-size: 12px;
      font-weight: 800;
    }
    .builder-selected-region {
      margin-top: 8px;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
    }
    .builder-region-display {
      display: inline-flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0 3px;
    }
    .builder-region-display + .builder-region-display::before {
      content: ",";
      margin: 0 5px 0 2px;
      color: var(--text);
    }
    .region-country-muted {
      color: var(--text-soft);
      font-weight: 600;
    }
    .builder-complete {
      display: grid;
      gap: 18px;
      padding: 18px 0 8px;
    }
    .builder-apply-complete-state {
      min-height: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 34px 28px 30px;
      text-align: center;
      background: #fff;
    }
    .builder-body.builder-step-4 {
      min-height: 0;
      overflow-y: visible;
    }
    .builder-body.builder-step-4 .builder-step.active {
      display: flex;
      justify-content: center;
    }
    .builder-complete-message {
      text-align: center;
      padding: 8px 0 2px;
    }
    .builder-complete-title {
      margin: 0 0 8px;
      color: var(--text);
      font-size: 24px;
      font-weight: 800;
      line-height: 1.3;
    }
    .builder-complete-subtitle {
      margin: 0;
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 700;
    }
    .builder-complete-card,
    .builder-complete-info-card,
    .builder-share-card {
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
    }
    .builder-complete-card {
      display: grid;
      grid-template-columns: 180px minmax(0, 1fr);
      gap: 16px;
      padding: 14px;
    }
    .builder-complete-card img {
      width: 100%;
      height: 136px;
      object-fit: cover;
      border-radius: 12px;
      background: #e2e8f0;
    }
    .builder-complete-card-body {
      display: grid;
      align-content: center;
      gap: 8px;
      min-width: 0;
    }
    .builder-complete-product {
      color: var(--text);
      font-size: 20px;
      font-weight: 900;
      line-height: 1.35;
    }
    .builder-complete-line {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 800;
      line-height: 1.55;
    }
    .builder-complete-info {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }
    .builder-complete-info-card {
      padding: 16px;
    }
    .builder-complete-info-title {
      margin-bottom: 8px;
      color: var(--text);
      font-size: 16px;
      font-weight: 900;
    }
    .builder-complete-info-copy {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.65;
    }
    .builder-share-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 16px;
    }
    .builder-share-title {
      color: var(--text);
      font-size: 16px;
      font-weight: 900;
    }
    .builder-share-copy {
      margin-top: 4px;
      color: var(--text-soft);
      font-size: 13px;
      font-weight: 700;
    }
    .builder-share-button {
      min-width: 150px;
      min-height: 42px;
      border-radius: 12px;
      background: var(--blue);
      color: #fff;
      font-size: 14px;
      font-weight: 900;
    }
    .builder-bottom {
      position: sticky;
      bottom: 0;
      z-index: 4;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 10px;
      padding: 14px 22px;
      border-top: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.98);
    }
    .builder-cta-hint {
      grid-column: 1 / -1;
      text-align: center;
      color: var(--text-soft);
      font-size: 13px;
      font-weight: 800;
      line-height: 1.35;
    }
    .builder-contact-phone {
      display: none;
      grid-column: 1 / -1;
      text-align: center;
      color: var(--text);
      font-size: 18px;
      font-weight: 900;
      line-height: 1.2;
    }
    .builder-bottom.complete-mode {
      grid-template-columns: 1fr 1fr;
    }
    .builder-bottom.complete-mode .builder-cta-hint {
      display: none;
    }
    .builder-bottom.complete-mode .builder-contact-phone {
      display: block;
    }
    .builder-bottom .button {
      min-height: 48px;
    }
    .builder-alert-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483640;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      background: rgba(15, 23, 42, .34);
      opacity: 0;
      pointer-events: none;
      transition: opacity .18s ease;
    }
    .builder-alert-overlay.open {
      opacity: 1;
      pointer-events: auto;
    }
    .builder-alert-modal {
      width: min(320px, calc(100vw - 48px));
      padding: 24px 18px 18px;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 24px 54px rgba(15, 23, 42, .24);
      text-align: center;
      transform: translateY(8px) scale(.98);
      transition: transform .18s ease;
    }
    .builder-alert-overlay.open .builder-alert-modal {
      transform: translateY(0) scale(1);
    }
    .builder-alert-message {
      color: #373A3C;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.45;
      word-break: keep-all;
    }
    .builder-alert-button {
      width: 100%;
      min-height: 44px;
      margin-top: 18px;
      border-radius: 10px;
      background: #111827;
      color: #fff;
      font-size: 15px;
      font-weight: 900;
    }
    .apply-submit-confirm-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483950;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      background: rgba(15, 23, 42, .38);
      opacity: 0;
      pointer-events: none;
      transition: opacity .18s ease;
    }
    .apply-submit-confirm-overlay.open {
      opacity: 1;
      pointer-events: auto;
    }
    .apply-submit-confirm-modal {
      position: relative;
      z-index: 2147483951;
      width: min(360px, calc(100vw - 48px));
      padding: 24px 20px 18px;
      border-radius: 18px;
      background: #fff;
      box-shadow: 0 24px 54px rgba(15, 23, 42, .24);
      text-align: left;
      transform: translateY(8px) scale(.98);
      transition: transform .18s ease;
    }
    .apply-submit-confirm-overlay.open .apply-submit-confirm-modal {
      transform: translateY(0) scale(1);
    }
    .apply-submit-confirm-title {
      color: #101418;
      font-size: 20px;
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: 0;
    }
    .apply-submit-confirm-message {
      margin-top: 8px;
      color: #5f6b76;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.5;
      word-break: keep-all;
    }
    .apply-submit-confirm-actions {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 10px;
      margin-top: 20px;
    }
    .apply-submit-confirm-actions .button {
      min-height: 48px;
      border-radius: 12px;
      font-size: 15px;
      font-weight: 800;
    }
    .apply-submit-confirm-actions .button.secondary {
      border: 1px solid #d8dee5;
      background: #fff;
      color: #373A3C;
    }
    .apply-submit-confirm-actions .button.primary {
      border: 1px solid var(--modal-bottom-primary-color);
      background: var(--modal-bottom-primary-color);
      color: #fff;
    }

    @media (max-width: 640px) {
      .apply-submit-confirm-overlay {
        align-items: flex-end;
        padding: 0;
        background: rgba(15, 23, 42, .42);
      }
      .apply-submit-confirm-modal {
        width: 100%;
        max-width: none;
        padding: 22px 20px calc(18px + env(safe-area-inset-bottom));
        border-radius: 22px 22px 0 0;
        transform: translateY(100%);
      }
      .apply-submit-confirm-overlay.open .apply-submit-confirm-modal {
        transform: translateY(0);
      }
      .apply-submit-confirm-title {
        font-size: 19px;
      }
      .apply-submit-confirm-actions {
        margin-top: 18px;
      }
    }
    .join-action-loading-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483647;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity .12s ease;
    }
    .join-action-loading-overlay.open {
      opacity: 1;
      pointer-events: auto;
    }
    body > #joinActionLoadingOverlay.join-action-loading-overlay {
      position: fixed !important;
      top: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      left: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100vw !important;
      height: 100vh !important;
      height: 100dvh !important;
      min-height: 100vh !important;
      min-height: 100dvh !important;
      max-height: none !important;
      padding: 0 !important;
      background: transparent !important;
      z-index: 2147483647 !important;
    }
    body > #joinActionLoadingOverlay.join-action-loading-overlay::before {
      display: none !important;
    }
    body > #joinActionLoadingOverlay.join-action-loading-overlay.open {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }
    body > #joinActionLoadingOverlay .join-action-loading-box {
      position: relative !important;
      z-index: 2147483647 !important;
      width: auto !important;
      min-width: 160px !important;
      height: auto !important;
      min-height: 88px !important;
      padding: 18px 20px 16px !important;
      gap: 10px !important;
    }
    body > #joinActionLoadingOverlay .join-action-loading-message {
      display: block !important;
      min-height: 19px;
    }
    html.home-initial-loading,
    body.home-initial-loading {
      overflow: hidden !important;
      overscroll-behavior: contain;
      touch-action: none;
    }
    .home-initial-loading-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483647;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255, 255, 255, .82);
      opacity: 0;
      pointer-events: none;
      transition: opacity .16s ease;
    }
    .home-initial-loading-overlay.open {
      opacity: 1;
      pointer-events: auto;
    }
    .home-initial-loading-overlay .join-action-loading-box {
      width: auto;
      min-width: 160px;
      height: auto;
      min-height: 88px;
      padding: 18px 20px 16px;
      gap: 10px;
    }
    .home-initial-loading-overlay .join-action-loading-message {
      width: var(--home-initial-loading-message-width, max-content);
    }
    .join-action-loading-box {
      width: 70px;
      height: 70px;
      border-radius: 15px;
      background: rgba(255, 255, 255, .85);
      box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0;
      color: #111827;
    }
    .join-action-loading-box.has-message {
      width: auto;
      min-width: 160px;
      height: auto;
      min-height: 88px;
      padding: 18px 20px 16px;
      gap: 10px;
    }
    .join-read-loading-target {
      position: relative !important;
    }
    .join-read-loading-indicator {
      position: absolute;
      inset: 0;
      z-index: 20;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      border-radius: inherit;
      background: rgba(248, 250, 252, .94);
      color: #4b5563;
      pointer-events: none;
    }
    .join-read-loading-content {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      max-width: 100%;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.35;
      text-align: center;
      word-break: keep-all;
    }
    .join-read-loading-icon {
      flex: 0 0 auto;
      width: 24px;
      height: 24px;
    }
    .join-read-loading-icon svg {
      display: block;
      width: 24px;
      height: 24px;
    }
    .join-action-loading-icon {
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .join-action-loading-icon svg {
      width: 28px;
      height: 28px;
      display: block;
    }
    .join-action-loading-message {
      display: none;
      width: max-content;
      max-width: calc(100vw - 80px);
      color: #111827;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.35;
      text-align: center;
      white-space: nowrap;
      word-break: keep-all;
      overflow-wrap: normal;
    }
    .join-action-loading-box.has-message .join-action-loading-message {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: nowrap;
      white-space: nowrap;
    }
    .join-loading-text {
      display: flex;
      align-items: baseline;
      justify-content: center;
      flex-wrap: nowrap;
      min-width: 0;
      white-space: nowrap;
    }
    .join-loading-dots {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: flex-end;
      justify-content: flex-start;
      flex: 0 0 auto;
      width: 1.35em;
      margin-left: 1px;
      vertical-align: baseline;
      white-space: nowrap;
    }
    .join-loading-dot {
      display: block;
      flex: 0 0 auto;
      width: auto;
      min-width: 0;
      animation: joinLoadingDotPulse 1.05s ease-in-out infinite;
      line-height: 1;
    }
    .home-initial-loading-overlay .join-loading-dots {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: baseline !important;
      vertical-align: baseline !important;
    }
    .home-initial-loading-overlay .join-loading-dot {
      display: block !important;
      flex: 0 0 auto !important;
      width: auto !important;
    }
    .join-loading-dot:nth-child(2) {
      animation-delay: .16s;
    }
    .join-loading-dot:nth-child(3) {
      animation-delay: .32s;
    }
    @keyframes joinLoadingDotPulse {
      0%, 80%, 100% {
        opacity: .28;
        transform: translateY(0);
      }
      40% {
        opacity: 1;
        transform: translateY(-3px);
      }
    }
    .home-initial-loading-overlay .join-action-loading-message {
      display: block;
      min-height: 19px;
    }
    button[data-join-loading-locked="true"] {
      pointer-events: none;
    }
    @media (min-width: 641px) {
      .builder-modal {
        height: min(710px, calc(100vh - 40px));
        min-height: min(710px, calc(100vh - 40px));
      }
      .builder-body.builder-step-1 {
        padding-bottom: calc(max(132px, var(--builder-date-popover-space, 0px)) + 12px);
      }
      .builder-date-popover {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: max(20px, calc((100vh - 710px) / 2)) !important;
        z-index: 9;
        width: min(720px, calc(100vw - 24px));
        min-width: 0;
        display: grid;
        gap: 12px;
        padding: 18px 22px 22px;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 20px;
        background: #fff;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate(-50%, 110%);
        transition: transform .24s ease, opacity .18s ease, visibility .18s ease;
      }
      .builder-date-popover.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: 0 -10px 26px rgba(15, 23, 42, 0.08);
        transform: translate(-50%, 0);
      }
      .builder-date-popover-title {
        display: grid;
        gap: 10px;
        white-space: normal;
      }
      .builder-date-popover-actions {
        display: none;
      }
      .builder-date-title-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid var(--border);
      }
      .builder-date-title-label {
        color: var(--text);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
      }
      .builder-date-title-range {
        min-width: 0;
        color: #3e3e3e;
        font-size: 20px;
        font-weight: 800;
        line-height: 1.2;
        text-align: right;
      }
      .builder-date-title-selected {
        color: var(--text);
        font-size: 20px;
        font-weight: 800;
        line-height: 1.12;
        text-align: center;
        letter-spacing: 0;
        margin-top: 18px;
      }
      .builder-date-center-stepper {
        display: grid;
        justify-items: center;
        gap: 3px;
        min-width: 0;
      }
      .builder-date-center-stepper .builder-date-title-selected {
        min-height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 0;
      }
      .builder-date-title-selected .builder-date-weekday,
      .builder-date-title-range .builder-date-weekday {
        color: #8b97a8;
        font-size: .72em;
        font-weight: 800;
        margin-left: 3px;
      }
      .builder-date-mode-toggle {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        padding: 4px;
        border: 1px solid var(--border);
        border-radius: 14px;
        background: #f8fafc;
        overflow: hidden;
      }
      .builder-date-mode-toggle::before {
        content: "";
        position: absolute;
        top: 4px;
        bottom: 4px;
        left: 4px;
        width: calc((100% - 8px) / 2);
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
        transform: translateX(0);
        transition: transform .22s ease;
      }
      .builder-date-popover.flex-open .builder-date-mode-toggle::before {
        transform: translateX(100%);
      }
      .builder-date-mode-button {
        position: relative;
        z-index: 1;
        min-height: 38px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #64748b;
        font-size: 16px;
        font-weight: 800;
        line-height: 1.2;
      }
      .builder-date-mode-button.active {
        color: var(--text);
      }
      .builder-date-stepper-stage {
        display: none;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: start;
        gap: 10px;
      }
      .builder-date-popover.flex-open .builder-date-stepper-stage {
        display: grid;
      }
      .builder-date-side-stepper {
        display: grid;
        justify-items: center;
        gap: 3px;
        min-width: 0;
      }
      .builder-date-side-label {
        color: var(--text-soft);
        font-size: 14px;
        font-weight: 800;
        line-height: 1;
      }
      .builder-date-side-controls {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
      }
      .builder-date-side-controls button {
        width: 34px;
        height: 34px;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: #fff;
        color: var(--text);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
      }
      .builder-date-side-controls button svg {
        width: 18px;
        height: 18px;
      }
      .builder-date-side-controls button:disabled {
        border-color: #e8edf3;
        color: #c7d0dc;
        background: #f8fafc;
        cursor: default;
      }
      .builder-date-side-controls span {
        min-width: 34px;
        color: var(--text);
        font-size: 17px;
        font-weight: 800;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
      }
      .builder-date-flex-panel {
        display: grid !important;
        gap: 0;
        margin-top: 2px;
        padding-top: 12px;
        border-top: 1px solid var(--border);
      }
      .builder-date-popover.flex-open .builder-date-flex-panel {
        display: grid !important;
        gap: 0;
        margin-top: 2px;
        padding-top: 12px;
        border-top: 1px solid var(--border);
      }
      #builderDatePopover.builder-date-popover.flex-open .builder-date-flex-panel {
        display: grid !important;
      }
      .builder-date-flex-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
      }
      .builder-date-flex-actions button:not(.primary-action) {
        display: none;
      }
      .builder-date-flex-row {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 8px;
        padding: 12px 10px;
        border: 1px solid var(--border);
        border-radius: 14px;
        background: #f8fafc;
        font-size: 15px;
        font-weight: 800;
      }
      .builder-date-flex-row .builder-stepper {
        width: 100%;
        justify-content: space-between;
        gap: 8px;
      }
      .builder-date-flex-row .builder-stepper span {
        font-size: 16px;
        font-weight: 900;
      }
      .builder-date-flex-row .builder-stepper button {
        width: 40px;
        height: 40px;
        border-radius: 12px;
      }
      .builder-date-flex-panel > .builder-date-flex-row {
        display: none !important;
      }
      .builder-date-flex-actions button {
        min-height: 46px;
        border-radius: 12px;
        font-size: 15px;
      }
      .builder-date-flex-row .builder-stepper,
      .builder-stepper,
      .builder-date-side-controls {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0;
        width: auto;
        border: 1px solid #d1d5db;
        border-radius: 15px;
        background: #fff;
        overflow: hidden;
      }
      .builder-date-flex-row .builder-stepper button,
      .builder-stepper button,
      .builder-date-side-controls button {
        width: 40px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        color: #373a3c;
      }
      .builder-date-flex-row .builder-stepper button:first-child,
      .builder-stepper button:first-child,
      .builder-date-side-controls button:first-child {
        border-right: 1px solid #d1d5db;
      }
      .builder-date-flex-row .builder-stepper button:last-child,
      .builder-stepper button:last-child,
      .builder-date-side-controls button:last-child {
        border-left: 1px solid #d1d5db;
      }
      .builder-date-flex-row .builder-stepper button:disabled,
      .builder-stepper button:disabled,
      .builder-date-side-controls button:disabled {
        color: #c7d0dc;
        background: #fff;
        cursor: default;
      }
      .builder-date-flex-row .builder-stepper button svg,
      .builder-stepper button svg,
      .builder-date-side-controls button svg {
        width: 18px;
        height: 18px;
        display: block;
      }
      .builder-date-flex-row .builder-stepper span,
      .builder-stepper span,
      .builder-date-side-controls span {
        min-width: 40px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #101418;
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
      }
      .builder-date-mode-toggle {
        isolation: isolate;
      }
      .builder-date-mode-toggle::before {
        z-index: 0;
        will-change: transform;
        transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.24s ease;
      }
      .builder-date-popover.flex-open .builder-date-mode-toggle::before {
        transform: translateX(100%);
      }
      .builder-date-mode-button {
        z-index: 1;
        transition: color 0.18s ease;
      }
      .builder-date-flex-row .builder-stepper,
      .builder-stepper {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0;
        width: auto;
        border: 1px solid #d1d5db;
        border-radius: 15px;
        background: #fff;
        overflow: hidden;
      }
      .builder-date-flex-row .builder-stepper button,
      .builder-stepper button {
        width: 40px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        color: #373a3c;
      }
      .builder-date-flex-row .builder-stepper button:first-child,
      .builder-stepper button:first-child {
        border-right: 1px solid #d1d5db;
      }
      .builder-date-flex-row .builder-stepper button:last-child,
      .builder-stepper button:last-child {
        border-left: 1px solid #d1d5db;
      }
      .builder-date-flex-row .builder-stepper button:disabled,
      .builder-stepper button:disabled {
        color: #c7d0dc;
        background: #fff;
        cursor: default;
      }
      .builder-date-flex-row .builder-stepper button svg,
      .builder-stepper button svg {
        width: 18px;
        height: 18px;
        display: block;
      }
      .builder-date-flex-row .builder-stepper span,
      .builder-stepper span {
        min-width: 40px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #101418;
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
      }
      .builder-date-side-controls {
        gap: 0;
        border: 1px solid #d1d5db;
        border-radius: 15px;
        background: #fff;
        overflow: hidden;
      }
      .builder-date-side-controls button {
        width: 40px;
        height: 34px;
        border: 0;
        border-radius: 0;
        background: #fff;
        color: #373a3c;
      }
      .builder-date-side-controls button:first-child {
        border-right: 1px solid #d1d5db;
      }
      .builder-date-side-controls button:last-child {
        border-left: 1px solid #d1d5db;
      }
      .builder-date-side-controls button:disabled {
        color: #c7d0dc;
        background: #fff;
      }
      .builder-date-side-controls button svg {
        width: 18px;
        height: 18px;
      }
      .builder-date-side-controls span {
        min-width: 40px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #101418;
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
      }
      .builder-modal.builder-complete-step {
        height: auto;
        min-height: 0;
        max-height: none;
      }
      .builder-modal.builder-complete-step .builder-body {
        flex: 0 0 auto;
        overflow: visible;
        padding: 0 22px;
      }
      .builder-modal.builder-complete-step .builder-step[data-builder-step="4"].active {
        display: flex;
        justify-content: center;
        overflow: visible;
      }
      .builder-modal.builder-complete-step .builder-apply-complete-state {
        overflow: visible;
      }
      .builder-body.builder-step-4 {
        overflow: visible !important;
        padding: 0 22px;
        scrollbar-width: none;
      }
      .builder-body.builder-step-4::-webkit-scrollbar {
        display: none;
      }
      .builder-body.builder-step-4 .builder-step[data-builder-step="4"].active {
        max-height: none;
        overflow: visible !important;
      }
      .builder-body.builder-step-4 .builder-apply-complete-state {
        max-height: none;
        overflow: visible !important;
      }
    }
    @media (max-width: 640px) {
      .builder-apply-summary-line {
        display: none !important;
      }
    }
    .builder-flex-sheet {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 8;
      padding: 18px 22px 22px;
      border-top: 1px solid var(--border);
      border-radius: 24px 24px 0 0;
      background: #fff;
      box-shadow: none;
      transform: translateY(110%);
      transition: transform .24s ease;
    }
    .builder-flex-sheet.open {
      box-shadow: 0 -10px 26px rgba(15, 23, 42, 0.08);
      transform: translateY(0);
    }
    .builder-active-schedule-backdrop {
      position: fixed;
      inset: 0;
      z-index: 70;
      display: none;
      background: rgba(15, 23, 42, 0.28);
    }
    .builder-active-schedule-backdrop.open {
      display: block;
    }
    .builder-active-schedule-sheet {
      z-index: 71;
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      transform: translateY(calc(100% + 80px));
    }
    .builder-active-schedule-sheet.open {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
    }
    .builder-active-schedule-list {
      display: grid;
      gap: 10px;
      margin-top: 8px;
    }
    .builder-active-schedule-card {
      display: grid;
      gap: 8px;
      padding: 14px;
      border: 1px solid #dbe4ee;
      border-radius: 15px;
      background: #f8fbff;
    }
    .builder-active-schedule-title {
      color: #101418;
      font-size: 15px;
      font-weight: 900;
      line-height: 1.35;
    }
    .builder-active-schedule-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 10px;
      color: #64748b;
      font-size: 13px;
      font-weight: 800;
    }
    .builder-active-schedule-action {
      width: 100%;
      min-height: 42px;
      margin-top: 12px;
      border-radius: 12px;
      font-weight: 900;
    }
    .builder-flex-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-bottom: 14px;
    }
    .builder-flex-title {
      color: var(--text);
      font-size: 18px;
      font-weight: 900;
    }
    .builder-stepper-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 10px 0;
      color: var(--text);
      font-weight: 800;
    }
    .builder-stepper {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      border: 1px solid #d1d5db;
      border-radius: 15px;
      background: #fff;
      overflow: hidden;
    }
    .builder-stepper button {
      width: 40px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: #fff;
      color: #373a3c;
      font-weight: 800;
    }
    .builder-stepper button:first-child {
      border-right: 1px solid #d1d5db;
    }
    .builder-stepper button:last-child {
      border-left: 1px solid #d1d5db;
    }
    .builder-stepper button:disabled {
      color: #c7d0dc;
      background: #fff;
      cursor: default;
    }
    .builder-stepper button svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .builder-stepper span {
      min-width: 40px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #101418;
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
    }
    .builder-product-detail {
      position: absolute;
      inset: 0;
      z-index: 7;
      display: none;
      flex-direction: column;
      background: #fff;
    }
    .builder-product-detail.open {
      display: flex;
    }
    .builder-detail-body {
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 18px 22px 92px;
    }
    .builder-detail-hero {
      width: 100%;
      height: 240px;
      object-fit: cover;
      border-radius: 18px;
      margin-bottom: 18px;
    }
    .builder-detail-section {
      margin-top: 18px;
    }
    .builder-detail-section > div:first-child {
      margin: 0 0 8px;
      color: var(--text);
      font-size: 17px;
      font-weight: 900;
    }
    .builder-detail-section p,
    .builder-detail-section li {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.65;
    }
    @media (max-width: 640px) {
      .builder-modal {
        width: 100vw;
        height: var(--join-mobile-modal-height, 100dvh);
        min-height: var(--join-mobile-modal-height, 100dvh);
        max-height: var(--join-mobile-modal-height, 100dvh);
        border-radius: 0;
      }
      .builder-header {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: 8px;
        padding: var(--modal-header-padding-mobile);
      }
      .builder-title {
        font-size: var(--modal-main-title-mobile);
      }
      .builder-subtitle {
        font-size: 12px;
      }
      .builder-progress {
        padding: 0 14px;
      }
      .builder-progress-item {
        font-size: 16px;
      }
      .builder-body,
      .builder-detail-body {
        padding: 0 14px calc(var(--builder-bottom-offset, 118px) + 16px);
        scrollbar-gutter: auto;
      }
      .builder-body.builder-step-3 {
        padding-right: 22px;
        padding-left: 22px;
      }
      .builder-body.builder-step-1 {
        overflow: visible;
        padding-bottom: calc(max(var(--builder-bottom-offset, 118px), var(--builder-date-popover-space, 0px)) + 16px);
      }
      .builder-calendar-head {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 8px;
      }
      .builder-month-nav {
        gap: 10px;
      }
      .builder-calendar-month {
        color: var(--text);
        font-size: 18px;
        font-weight: 800;
        line-height: 1.25;
        text-align: center;
      }
      .builder-date-reset {
        width: auto;
        height: 36px;
        min-height: 36px;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--text);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
      }
      .builder-date-reset-text {
        display: block;
        color: #5d6b82;
        font-size: 15px;
        font-weight: 800;
      }
      .builder-date-reset svg {
        display: block;
        width: 22px;
        height: 22px;
      }
      .builder-date-popover {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 0 !important;
        z-index: 60;
        display: grid;
        width: 100vw;
        max-width: 100vw;
        min-width: 0;
        gap: 12px;
        padding: 18px;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 22px 22px 0 0;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(110%);
        transition: transform .24s ease, opacity .18s ease, visibility .18s ease;
      }
      .builder-date-popover.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: 0 -10px 26px rgba(15, 23, 42, 0.08);
        transform: translateY(0);
      }
      .builder-date-popover.above {
        top: auto !important;
      }
      .builder-date-popover-title {
        display: grid;
        gap: 10px;
        text-align: left;
        white-space: normal;
      }
      .builder-date-popover-actions {
        display: none;
      }
      .builder-date-title-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid var(--border);
      }
      .builder-date-title-label {
        color: var(--text);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
      }
      .builder-date-title-range {
        min-width: 0;
        color: #3e3e3e;
        font-size: 20px;
        font-weight: 800;
        line-height: 1.2;
        text-align: right;
      }
      .builder-date-title-selected {
        color: var(--text);
        font-size: 20px;
        font-weight: 800;
        line-height: 1.12;
        text-align: center;
        letter-spacing: 0;
        margin-top: 18px;
      }
      .builder-date-center-stepper {
        display: grid;
        justify-items: center;
        gap: 3px;
        min-width: 0;
      }
      .builder-date-center-stepper .builder-date-title-selected {
        min-height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 0;
      }
      .builder-date-title-selected .builder-date-weekday,
      .builder-date-title-range .builder-date-weekday {
        color: #8b97a8;
        font-size: .72em;
        font-weight: 800;
        margin-left: 3px;
      }
      .builder-date-mode-toggle {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        padding: 4px;
        border: 1px solid var(--border);
        border-radius: 14px;
        background: #f8fafc;
        overflow: hidden;
      }
      .builder-date-mode-toggle::before {
        content: "";
        position: absolute;
        top: 4px;
        bottom: 4px;
        left: 4px;
        width: calc((100% - 8px) / 2);
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
        transform: translateX(0);
        transition: transform .22s ease;
      }
      .builder-date-popover.flex-open .builder-date-mode-toggle::before {
        transform: translateX(100%);
      }
      .builder-date-mode-button {
        position: relative;
        z-index: 1;
        min-height: 38px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #64748b;
        font-size: 15px;
        font-weight: 900;
        line-height: 1.2;
      }
      .builder-date-mode-button.active {
        color: var(--text);
      }
      .builder-date-stepper-stage {
        display: none;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: start;
        gap: 10px;
      }
      .builder-date-popover.flex-open .builder-date-stepper-stage {
        display: grid;
      }
      .builder-date-side-stepper {
        display: grid;
        justify-items: center;
        gap: 3px;
        min-width: 0;
      }
      .builder-date-side-label {
        color: var(--text-soft);
        font-size: 14px;
        font-weight: 800;
        line-height: 1;
      }
      .builder-date-side-controls {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
      }
      .builder-date-side-controls button {
        width: 34px;
        height: 34px;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: #fff;
        color: var(--text);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
      }
      .builder-date-side-controls button svg {
        width: 18px;
        height: 18px;
      }
      .builder-date-side-controls button:disabled {
        border-color: #e8edf3;
        color: #c7d0dc;
        background: #f8fafc;
        cursor: default;
      }
      .builder-date-side-controls span {
        min-width: 34px;
        color: var(--text);
        font-size: 17px;
        font-weight: 800;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
      }
      .builder-date-flex-panel {
        display: grid !important;
        gap: 0;
        margin-top: 2px;
        padding-top: 12px;
        border-top: 1px solid var(--border);
      }
      .builder-date-popover.flex-open .builder-date-flex-panel {
        display: grid !important;
        gap: 0;
        margin-top: 2px;
        padding-top: 12px;
        border-top: 1px solid var(--border);
      }
      #builderDatePopover.builder-date-popover.flex-open .builder-date-flex-panel {
        display: grid !important;
      }
      .builder-date-flex-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
      }
      .builder-date-flex-actions button:not(.primary-action) {
        display: none;
      }
      .builder-date-flex-row {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 8px;
        padding: 12px 10px;
        border: 1px solid var(--border);
        border-radius: 14px;
        background: #f8fafc;
        font-size: 15px;
        font-weight: 800;
      }
      .builder-date-flex-row .builder-stepper {
        width: 100%;
        justify-content: space-between;
        gap: 8px;
      }
      .builder-date-flex-row .builder-stepper span {
        font-size: 16px;
        font-weight: 900;
      }
      .builder-date-flex-row .builder-stepper button {
        width: 40px;
        height: 40px;
        border-radius: 12px;
      }
      .builder-date-flex-panel > .builder-date-flex-row {
        display: none !important;
      }
      .builder-date-flex-actions button {
        min-height: 46px;
        border-radius: 12px;
        font-size: 15px;
      }
      .builder-date-flex-row .builder-stepper,
      .builder-stepper,
      .builder-date-side-controls {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0;
        width: auto;
        border: 1px solid #d1d5db;
        border-radius: 15px;
        background: #fff;
        overflow: hidden;
      }
      .builder-date-flex-row .builder-stepper button,
      .builder-stepper button,
      .builder-date-side-controls button {
        width: 40px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        color: #373a3c;
      }
      .builder-date-flex-row .builder-stepper button:first-child,
      .builder-stepper button:first-child,
      .builder-date-side-controls button:first-child {
        border-right: 1px solid #d1d5db;
      }
      .builder-date-flex-row .builder-stepper button:last-child,
      .builder-stepper button:last-child,
      .builder-date-side-controls button:last-child {
        border-left: 1px solid #d1d5db;
      }
      .builder-date-flex-row .builder-stepper button:disabled,
      .builder-stepper button:disabled,
      .builder-date-side-controls button:disabled {
        color: #c7d0dc;
        background: #fff;
        cursor: default;
      }
      .builder-date-flex-row .builder-stepper button svg,
      .builder-stepper button svg,
      .builder-date-side-controls button svg {
        width: 18px;
        height: 18px;
        display: block;
      }
      .builder-date-flex-row .builder-stepper span,
      .builder-stepper span,
      .builder-date-side-controls span {
        min-width: 40px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #101418;
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
      }
      .builder-date-mode-toggle {
        isolation: isolate;
      }
      .builder-date-mode-toggle::before {
        z-index: 0;
        will-change: transform;
        transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.24s ease;
      }
      .builder-date-popover.flex-open .builder-date-mode-toggle::before {
        transform: translateX(100%);
      }
      .builder-date-mode-button {
        z-index: 1;
        transition: color 0.18s ease;
      }
      .builder-weekday {
        font-size: 14px;
      }
      .builder-day {
        min-height: 40px;
        font-size: 17px;
        font-weight: 600;
      }
      .builder-product-card {
        grid-template-columns: 1fr;
      }
      .builder-product-card img {
        height: 178px;
      }
      .builder-bottom {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 40;
        grid-template-columns: 104px 1fr;
        padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
        overflow: visible;
        background: #fff !important;
        box-shadow: 0 360px 0 360px #fff;
        isolation: isolate;
      }
      .builder-bottom::after {
        content: "";
        position: fixed;
        right: 0;
        bottom: calc(-420px - env(safe-area-inset-bottom, 0px));
        left: 0;
        z-index: 0;
        height: calc(560px + env(safe-area-inset-bottom, 0px));
        background: #fff !important;
        pointer-events: none;
      }
      .builder-bottom .button {
        position: relative;
        z-index: 1;
      }
      body > #builderModal.sgj-portal-overlay .builder-bottom.step-3 {
        background: #fff !important;
        grid-template-columns: minmax(0, 1fr);
        padding: 14px 22px 16px;
        box-shadow: none;
      }
      body > #builderModal.sgj-portal-overlay .builder-bottom.step-3::after {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        bottom: auto;
        height: 240px;
        background: #fff !important;
      }
      .builder-bottom .button {
        min-height: 52px;
      }
      body > #builderModal.sgj-portal-overlay .builder-bottom.step-3 .button {
        min-height: 48px;
      }
      .builder-flex-sheet {
        padding: 16px 14px 20px;
      }
      .builder-active-schedule-sheet {
        padding: 0 0 20px;
      }
      .builder-active-schedule-sheet .builder-flex-head {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        min-height: 0;
        margin: 0;
        padding: var(--modal-sheet-header-padding-mobile);
        border-bottom: 1px solid var(--border);
        touch-action: none;
      }
      .builder-active-schedule-sheet .builder-flex-head > div {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        text-align: left;
      }
      .builder-active-schedule-sheet .builder-flex-title {
        font-size: var(--modal-sub-title-mobile);
        font-weight: var(--modal-sub-title-weight);
        color: var(--text);
        text-align: left;
        line-height: normal;
      }
      .builder-active-schedule-sheet .modal-close-icon {
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        justify-self: auto;
      }
      .builder-active-schedule-list {
        margin: 12px 14px 0;
      }
      .builder-detail-hero {
        height: 210px;
      }
    }
    .region-search-modal {
      width: min(420px, 100vw);
      height: min(760px, 100vh);
      border-radius: 0;
      background: #fff;
      overflow: hidden;
      box-shadow: none;
    }
    .region-search-shell {
      height: 100%;
      display: flex;
      flex-direction: column;
      background: #fff;
    }
    .region-search-header {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: var(--modal-header-padding-pc);
      border-bottom: 1px solid #d1d5db;
    }
    .region-search-back {
      width: var(--modal-close-size);
      height: var(--modal-close-size);
      color: #373A3C;
      flex: 0 0 var(--modal-close-size);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    #secret-golf-join .join-badge-wrap,
    #secret-golf-join .team-avatar-wrap,
    #secret-golf-join .participant-info-wrap,
    #secret-golf-join .join-product-section-icon {
      display: inline-flex !important;
      flex: 0 0 auto;
      float: none !important;
      clear: none !important;
    }
    #secret-golf-join .join-product-section-icon {
      width: 24px !important;
      height: 24px !important;
      margin-left: 7px !important;
      vertical-align: -3px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
    @media (min-width: 641px) {
      #secret-golf-join .join-product-section-icon.popular {
        width: 35px !important;
        height: 35px !important;
        margin-left: 9px !important;
        vertical-align: -4px;
      }
      #secret-golf-join .join-product-section-icon.quick {
        width: 33px !important;
        height: 33px !important;
        margin-left: 9px !important;
        vertical-align: -4px;
      }
      #secret-golf-join .join-product-section-icon.soon,
      #secret-golf-join .join-product-section-icon.custom,
      #secret-golf-join .join-product-section-icon.overseas,
      #secret-golf-join .join-product-section-icon.domestic,
      #secret-golf-join .join-product-section-icon.my {
        width: 36px !important;
        height: 36px !important;
        margin-left: 9px !important;
        vertical-align: -4px;
      }
    }
    #secret-golf-join .join-card-feature-tag,
    #secret-golf-join .join-card-include-tags > div {
      display: inline-flex;
    }
    #secret-golf-join .card-meta-item,
    #secret-golf-join .join-price,
    #secret-golf-join .detail-period-row,
    #secret-golf-join .detail-schedule-day,
    #secret-golf-join .detail-meal-item,
    #secret-golf-join .calendar-product-meta,
    #secret-golf-join .calendar-product-side,
    #secret-golf-join .calendar-product-participants,
    #secret-golf-join .calendar-product-price,
    #secret-golf-join .join-soon-date-main,
    #secret-golf-join .join-soon-date-count {
      display: flex;
    }
    #secret-golf-join .card-meta-item,
    #secret-golf-join .join-price,
    #secret-golf-join .join-category-chip,
    #secret-golf-join .join-flight-chip {
      display: flex !important;
    }
    #secret-golf-join .card-meta-text,
    #secret-golf-join .card-meta-text-location,
    #secret-golf-join .card-meta-text-date,
    #secret-golf-join .join-price-value,
    #secret-golf-join .join-price-label,
    #secret-golf-join .join-price-unit,
    #secret-golf-join .detail-price-unit,
    #secret-golf-join .calendar-product-title,
    #secret-golf-join .calendar-product-date,
    #secret-golf-join .calendar-product-category,
    #secret-golf-join .calendar-product-region,
    #secret-golf-join .calendar-product-price-unit,
    #secret-golf-join .detail-schedule-date,
    #secret-golf-join .detail-review-time {
      display: inline;
    }
    .region-search-back svg {
      width: var(--modal-close-icon-size);
      height: var(--modal-close-icon-size);
    }
    .region-search-pc-close {
      display: none;
    }
    .region-search-title {
      font-size: var(--modal-main-title-pc);
      font-weight: var(--modal-main-title-weight);
      color: var(--text);
    }
    .region-search-field {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 12px 18px 10px;
      border-bottom: 1px solid #d1d5db;
    }
    .region-search-field input {
      flex: 1 1 auto;
      border: 0;
      outline: 0;
      color: var(--text);
      font-size: 16px;
      font-weight: 700;
      -webkit-appearance: none;
      appearance: none;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }
    #builderRegionSearchInput {
      color: var(--text);
      font-size: 16px;
      font-weight: 600;
      background: transparent;
    }
    .region-search-field input::placeholder {
      color: #8a93a3;
    }
    .region-search-row {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 18px 10px;
      border-bottom: 1px solid #d1d5db;
    }
    .region-search-row .region-search-field {
      flex: 1 1 auto;
      min-width: 0;
      padding: 0;
      border-bottom: 0;
    }
    .region-search-clear-input {
      width: 24px;
      height: 24px;
      display: none;
      align-items: center;
      justify-content: center;
      color: #64748b;
      border-radius: 999px;
      flex: 0 0 24px;
    }
    .region-search-clear-input:hover {
      color: var(--text);
      background: #f1f5f9;
    }
    .region-search-clear-input svg {
      width: 15px;
      height: 15px;
    }
    .region-search-shell.has-region-query .region-search-clear-input {
      display: inline-flex;
    }
    .region-search-shell.has-region-query .region-search-field .mobile-search-icon {
      display: none;
    }
    .region-search-all-button {
      min-height: 48px;
      display: none;
      align-items: center;
      justify-content: center;
      gap: 2px;
      padding: 0px 10px;
      border: 1px solid var(--border);
      border-radius: 14px;
      color: var(--text);
      background: #fff;
      font-size: 16px;
      font-weight: 700;
      white-space: nowrap;
      flex: 0 0 auto;
    }
    .region-search-shell.has-region-selection .region-search-all-button {
      display: inline-flex;
    }
    .region-search-all-button:hover {
      border-color: #bfdbfe;
      color: var(--blue);
      background: #f8fbff;
    }
    .region-search-all-button svg {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      position: relative;
      top: -1px;
    }
    .region-search-results {
      display: none;
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 10px 18px 20px;
      background: #fff;
    }
    .region-search-shell.searching .region-search-type,
    .region-search-shell.searching .region-search-body {
      display: none;
    }
    .region-search-shell.searching .region-search-results {
      display: flex;
      flex-direction: column;
    }
    .region-result-item {
      width: 100%;
      display: grid;
      grid-template-columns: 28px 1fr;
      gap: 10px;
      align-items: center;
      padding: 11px 0;
      text-align: left;
    }
    .region-result-pin {
      width: 24px;
      height: 24px;
      border-radius: 999px;
      background: #f3f4f6;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #6b7280;
    }
    .region-result-name {
      color: #4f1ccf;
      font-size: 14px;
      font-weight: 900;
    }
    .region-result-type {
      display: block;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 700;
      margin-top: 0px;
    }
    .region-result-empty {
      padding: 24px 0;
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
      text-align: center;
    }
    .region-search-type {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      padding: 12px 18px 0;
    }
    .region-search-type button {
      min-height: 36px;
      position: relative;
      border: 0;
      border-radius: 0;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
      background: transparent;
    }
    .region-search-type button.active {
      color: var(--text);
      background: transparent;
    }
    .region-search-type button.active::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 5px;
      width: 28px;
      height: 2px;
      border-radius: 999px;
      background: var(--text);
      transform: translateX(-50%);
    }
    #regionSearchModal .region-search-type {
      grid-template-columns: 1fr;
    }
    #regionSearchModal .region-search-type button:nth-child(2) {
      display: none;
    }
    .region-search-quickbar {
      display: none;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      background: #fff;
    }
    .region-search-quickcol {
      min-width: 0;
      padding: 12px 16px;
    }
    .region-search-quickcol + .region-search-quickcol {
      border-left: 1px solid var(--border);
    }
    .region-search-quicktitle {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      line-height: 1.2;
    }
    .region-search-hot-icon {
      flex: 0 0 auto;
      width: 17px;
      height: 17px;
      color: #ff7a1a;
    }
    .region-search-quickhead {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }
    .region-search-clear {
      flex: 0 0 auto;
      color: #9ca3af;
      font-size: 13px;
      font-weight: 700;
    }
    .region-search-clear:hover {
      color: #6b7280;
    }
    .region-search-quicklist {
      display: grid;
      gap: 2px;
      min-height: 114px;
    }
    .region-search-hotlist {
      --region-quick-row-height: 38px;
      height: calc(var(--region-quick-row-height) * 3);
      overflow: hidden;
    }
    .region-search-recentlist {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-content: start;
      gap: 2px 8px;
    }
    .region-search-hotlist .region-search-quicktrack {
      display: grid;
      gap: 0;
    }
    .region-search-hotlist.is-sliding .region-search-quicktrack {
      animation: regionQuickSlide var(--region-quick-slide-duration, 12s) steps(var(--region-quick-slide-steps, 4)) infinite;
    }
    @keyframes regionQuickSlide {
      from { transform: translateY(0); }
      to { transform: translateY(calc(var(--region-quick-slide-distance, 0px) * -1)); }
    }
    .region-search-quickitem {
      width: 100%;
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      border-radius: 4px;
      color: #111111;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.2;
      text-align: left;
      padding: 0 8px;
    }
    .region-search-quickitem:hover {
      color: var(--blue);
      background: #f5f6f8;
    }
    .region-search-quickmeta {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      min-height: 22px;
      padding: 0 8px;
      border-radius: 999px;
      color: #111111;
      background: #eef6ff;
      font-size: 13px;
      font-weight: 500;
      white-space: nowrap;
    }
    .region-search-recentrow {
      min-width: 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 24px;
      align-items: center;
      border-radius: 4px;
    }
    .region-search-recentrow:hover {
      background: #f5f6f8;
    }
    .region-search-recentrow .region-search-quickitem:hover {
      background: transparent;
    }
    .region-search-remove {
      width: 24px;
      height: 24px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #111111;
      border-radius: 999px;
    }
    .region-search-remove:hover {
      color: var(--blue);
      background: #eef2f7;
    }
    .region-search-remove svg {
      width: 14px;
      height: 14px;
    }
    .region-search-body {
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 10px 18px 20px;
      background: #fff;
    }
    .region-group {
      border: 0;
      border-radius: 7px;
      background: #fff;
      box-shadow: 0 5px 18px rgba(15, 23, 42, 0.08);
      margin-bottom: 10px;
      overflow: hidden;
    }
    .region-group.featured {
      border: 1px solid #373A3C;
      box-shadow: 0 5px 18px rgba(15, 23, 42, 0.12);
    }
    .region-group summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 13px 16px;
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
    }
    .region-group summary::-webkit-details-marker {
      display: none;
    }
    .region-group summary::after {
      content: "";
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M6%209l6%206%206-6%27%20stroke%3D%27%23111827%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 16px 16px;
      transition: transform .18s ease;
    }
    .region-group[open] > summary::after {
      transform: rotate(180deg);
    }
    .region-grid-list {
      display: block;
      padding: 0 16px 12px;
    }
    .region-grid-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0 16px;
    }
      .region-option {
        min-height: 30px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 5px;
        border-bottom: 1px solid #e5e7eb;
        color: #373A3C;
        font-size: 12px;
      font-weight: 800;
      text-align: left;
    }
      .region-subgroup-toggle {
        width: 100%;
        min-height: 30px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 5px;
        border-bottom: 1px solid #e5e7eb;
        color: #373A3C;
      font-size: 12px;
      font-weight: 800;
      text-align: left;
    }
      .region-subgroup-toggle::after {
        content: "";
        width: 12px;
        height: 12px;
        flex: 0 0 12px;
        margin-left: auto;
      background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M6%209l6%206%206-6%27%20stroke%3D%27%2364748b%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 12px 12px;
      transform: rotate(0deg);
      transition: transform .18s ease;
    }
    .region-subgroup-toggle.active {
      color: var(--blue);
      background: #f8fafc;
      border-bottom-color: transparent;
    }
    .region-subgroup-toggle.active::after {
      transform: rotate(180deg);
    }
    .region-subgroup {
      min-width: 0;
      border-bottom: 1px solid #e5e7eb;
    }
    .region-subgroup[open] {
      grid-column: 1 / -1;
      padding: 0 0 8px;
      border-radius: 8px;
      background: #f8fafc;
      border-bottom-color: transparent;
    }
    .region-subgroup summary {
      min-height: 30px;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: #373A3C;
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
      list-style: none;
    }
    .region-subgroup summary::-webkit-details-marker {
      display: none;
    }
    .region-subgroup summary::after {
      content: "";
      width: 12px;
      height: 12px;
      flex: 0 0 12px;
      background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M6%209l6%206%206-6%27%20stroke%3D%27%2364748b%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 12px 12px;
      transform: rotate(0deg);
      transition: transform .18s ease;
    }
    .region-subgroup[open] summary {
      padding: 0 10px;
      color: var(--blue);
    }
    .region-subgroup[open] > summary::after {
      transform: rotate(180deg);
    }
    .region-subregion-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0 16px;
      padding: 2px 0 6px;
    }
    .region-subgroup[open] .region-subregion-list {
      padding: 4px 10px 6px;
    }
    .region-subregion-heading,
    .region-subregion {
      min-height: 27px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 5px;
      color: #373A3C;
      font-size: 12px;
      font-weight: 700;
      text-align: left;
    }
    .region-desktop-panel {
      display: none;
      padding: 0 28px 28px;
      background: #fff;
    }
    .region-desktop-header {
      display: none;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 18px 28px;
      border-bottom: 1px solid var(--border);
      background: #fff;
    }
    .region-desktop-heading {
      color: var(--text);
      font-size: 22px;
      font-weight: 800;
      line-height: 1.2;
    }
    .region-recent {
      padding: 18px 0 16px;
      border-bottom: 1px solid var(--border);
    }
    .region-selection-panel {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 24px;
      padding: 18px 0 16px;
      border-bottom: 1px solid var(--border);
    }
    .region-selection-col {
      min-width: 0;
    }
    .region-selection-col + .region-selection-col {
      border-left: 1px solid var(--border);
      padding-left: 24px;
    }
    .region-selected-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px 18px;
    }
    .region-selected-list .region-result-empty {
      grid-column: 1 / -1;
    }
    .region-selected-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-height: 30px;
      color: var(--text);
      font-size: 14px;
      font-weight: 700;
      min-width: 0;
      text-align: left;
    }
    .region-selected-item > div:first-child {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .region-desktop-confirm {
      position: sticky;
      bottom: 0;
      display: none;
      justify-content: flex-end;
      padding: 16px 0 0;
      background: #fff;
      z-index: 2;
    }
    .region-search-shell.builder-context .region-desktop-confirm {
      display: flex;
    }
    .region-confirm-button {
      min-width: 150px;
      min-height: 44px;
      border-radius: 12px;
      background: var(--blue);
      color: #fff;
      font-size: 15px;
      font-weight: 800;
    }
    .region-recent-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 12px;
      color: var(--text);
      font-size: 18px;
      font-weight: 700;
    }
    .region-recent-clear {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
    }
    .region-recent-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px 28px;
    }
    .region-hot-window {
      --region-hot-row-step: 36px;
      display: block;
      height: calc(var(--region-hot-row-step) * 3);
      overflow: hidden;
    }
    .region-hot-track {
      display: grid;
      gap: 0;
      animation: regionHotSlide 18s infinite;
      will-change: transform;
    }
    .region-hot-row {
      min-height: var(--region-hot-row-step);
      line-height: 1.35;
    }
    @keyframes regionHotSlide {
      0%, 13% { transform: translateY(0); }
      16.66%, 29.66% { transform: translateY(calc(var(--region-hot-row-step) * -1)); }
      33.33%, 46.33% { transform: translateY(calc(var(--region-hot-row-step) * -2)); }
      50%, 63% { transform: translateY(calc(var(--region-hot-row-step) * -3)); }
      66.66%, 79.66% { transform: translateY(calc(var(--region-hot-row-step) * -4)); }
      83.33%, 96.33% { transform: translateY(calc(var(--region-hot-row-step) * -5)); }
      100% { transform: translateY(calc(var(--region-hot-row-step) * -6)); }
    }
    .region-recent-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 26px;
      color: var(--text);
      font-size: 14px;
      font-weight: 700;
    }
    .region-recent-remove {
      color: #94a3b8;
      font-size: 18px;
      font-weight: 400;
      line-height: 1;
    }
    .region-desktop-title {
      margin: 20px 0 12px;
      color: var(--text);
      font-size: 20px;
      font-weight: 700;
    }
    .region-desktop-columns {
      display: grid;
      grid-template-columns: minmax(126px, 0.8fr) minmax(180px, 1.25fr) minmax(150px, 1fr);
      min-height: 392px;
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      background: #fff;
    }
    .region-desktop-col {
      min-width: 0;
      border-right: 1px solid var(--border);
      background: #fff;
      overflow-y: auto;
    }
    .region-desktop-col:last-child {
      border-right: 0;
    }
    .region-desktop-main {
      background: #fff;
    }
    .region-desktop-button {
      width: 100%;
      min-height: 49px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 0 13px;
      border-bottom: 1px solid var(--border);
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 600;
      text-align: left;
      background: transparent;
    }
    .region-desktop-button.active {
      background: #fff;
      color: var(--blue);
    }
    .region-desktop-label {
      min-width: 0;
      display: inline-flex;
      align-items: center;
      gap: 5px;
    }
    .region-desktop-hot-badge {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      min-height: 16px;
      padding: 0 5px;
      border-radius: 999px;
      color: #ef4444;
      background: #fff1f2;
      font-size: 10px;
      font-weight: 900;
      line-height: 1;
    }
    .region-desktop-country-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0;
      padding: 10px 0;
    }
    .region-desktop-country-list .region-desktop-button {
      min-height: 42px;
      border-bottom: 0;
      color: var(--text);
      font-size: 15px;
    }
    .region-desktop-country-list .region-desktop-button.active {
      color: var(--blue);
      background: transparent;
    }
    .region-desktop-city-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      padding: 10px 14px 16px;
    }
    .region-desktop-city {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      color: #495056;
      font-size: 15px;
      font-weight: 500;
      text-align: left;
    }
    .region-desktop-city:hover,
    .region-desktop-button:hover {
      color: var(--blue);
      background: #f5f6f8;
    }
    .region-desktop-chevron {
      flex: 0 0 auto;
      width: 14px;
      height: 14px;
      color: #94a3b8;
    }
    .region-option::after {
      content: none;
      display: none;
    }
    .region-hot {
      display: inline-flex;
      align-items: center;
      margin-left: 3px;
      padding: 1px 4px;
      border-radius: 999px;
      background: #6d28d9;
      color: #fff;
      font-size: 8px;
      font-weight: 900;
      vertical-align: middle;
    }
    .travel-date-modal {
      width: min(420px, 100vw);
      height: min(760px, 100vh);
      border-radius: 0;
      background: #fff;
      overflow: hidden;
      box-shadow: none;
    }
    .travel-date-shell {
      height: 100%;
      display: flex;
      flex-direction: column;
      background: #fff;
    }
    .travel-date-body {
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 0 21px 96px;
    }
    .travel-weekdays {
      position: sticky;
      top: 0;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      padding: 8px 21px;
      background: #fff;
      border-bottom: 1px solid #e5e7eb;
      color: #373A3C;
      font-size: 12px;
      font-weight: 800;
      text-align: center;
    }
    .travel-weekdays > div:first-child,
    .travel-weekdays > div:last-child,
    .travel-calendar-day.sunday,
    .travel-calendar-day.saturday,
    .travel-calendar-day.holiday {
      color: #ef4444;
    }
    .travel-month {
      padding-top: 18px;
    }
    .travel-month-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 8px;
      color: #373A3C;
      font-size: 17px;
      font-weight: 900;
    }
    .travel-month-all {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: #4b5563;
      font-size: 12px;
      font-weight: 800;
    }
    .travel-month-all::before {
      content: "?";
      width: 17px;
      height: 17px;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: #9ca3af;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
    }
    .travel-calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      row-gap: 14px;
      text-align: center;
    }
    .travel-calendar-day {
      min-height: 36px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      padding-top: 0;
      color: #373A3C;
      font-size: 14px;
      font-weight: 900;
    }
    .travel-calendar-day::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      height: 34px;
      transform: translateY(-50%);
      background: transparent;
      z-index: 0;
    }
    .travel-calendar-day .travel-day-number {
      position: relative;
      z-index: 2;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
    }
    .travel-calendar-day.muted {
      color: #c7cbd1;
    }
    .travel-calendar-day .today-label {
      position: absolute;
      left: 50%;
      top: calc(50% + 12px);
      transform: translateX(-50%);
      color: #373A3C;
      font-size: 9px;
      font-weight: 900;
    }
    .travel-calendar-day.selected-start,
    .travel-calendar-day.selected-end {
      color: #fff;
    }
    .travel-calendar-day.selected-start .travel-day-number,
    .travel-calendar-day.selected-end .travel-day-number {
      background: var(--blue);
    }
    .travel-calendar-day.selected-start .travel-day-number,
    .travel-calendar-day.selected-end .travel-day-number {
      width: 34px;
      height: 34px;
    }
    .travel-calendar-day.in-range {
      background: transparent;
    }
    .travel-calendar-day.in-range::before,
    .travel-calendar-day.selected-start::before,
    .travel-calendar-day.selected-end::before {
      background: rgba(26, 46, 70, 0.08);
    }
    .travel-calendar-day.selected-start::before {
      left: 50%;
    }
    .travel-calendar-day.selected-end::before {
      right: 50%;
    }
    .travel-date-bottom {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      padding: 12px 21px 16px;
      background: #fff;
      box-shadow: 0 -10px 26px rgba(15, 23, 42, 0.08);
      text-align: center;
    }
    .travel-date-summary {
      margin-bottom: 10px;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 800;
    }
    .travel-date-actions {
      display: grid;
      grid-template-columns: 1fr;
    }
    .travel-date-view {
      min-height: 50px;
      border-radius: 999px;
      background: var(--blue);
      color: #fff;
      font-size: 16px;
      font-weight: 900;
    }
    .modal-scroll {
      max-height: calc(100vh - 40px);
      overflow-y: auto;
      padding-right: 8px;
      scrollbar-gutter: stable;
    }
    .modal-header {
      position: sticky;
      top: 0;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: var(--modal-header-padding-pc);
      background: rgba(255, 255, 255, 0.96);
      border-bottom: 1px solid var(--border);
    }
    .modal-title {
      font-size: var(--modal-main-title-pc);
      font-weight: var(--modal-main-title-weight);
    }
    #detailModalTitle {
      flex: 1 1 auto;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .modal-close-icon {
      width: var(--modal-close-size);
      height: var(--modal-close-size);
      border-radius: 14px;
      border: 0;
      background: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .modal-close-icon::before {
      content: "";
      width: var(--modal-close-icon-size);
      height: var(--modal-close-icon-size);
      background: currentColor;
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .modal-back-icon::before {
      display: none;
    }
    .modal-back-icon svg {
      width: 24px;
      height: 24px;
      display: block;
      stroke-width: 2;
    }
    .modal-header-spacer {
      display: block;
      width: var(--modal-close-size);
      height: var(--modal-close-size);
    }
    .detail-share-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483670;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: rgba(15, 23, 42, 0.42);
    }
    .detail-share-overlay.open {
      display: flex;
    }
    .detail-share-panel {
      width: min(420px, 100%);
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 20px 60px rgba(15, 23, 42, 0.24);
      overflow: hidden;
    }
    .detail-share-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 18px 20px 12px;
      border-bottom: 1px solid var(--border);
    }
    .detail-share-title {
      min-width: 0;
      color: #101418;
      font-size: 18px;
      font-weight: 800;
      line-height: 1.25;
    }
    .detail-share-close {
      width: 36px;
      height: 36px;
      border: 0;
      border-radius: 12px;
      background: #fff;
      color: #373a3c;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .detail-share-close svg {
      width: 24px;
      height: 24px;
    }
    .detail-share-body {
      display: grid;
      gap: 16px;
      padding: 0 20px 20px;
    }
    .detail-share-list {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 0;
    }
    .detail-share-item {
      min-width: 0;
      min-height: 64px;
      border: 0;
      border-radius: 0;
      padding: 14px 0;
      background: #fff;
      color: #101418;
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 12px;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.2;
      text-align: left;
      cursor: pointer;
    }
    .detail-share-item + .detail-share-item {
      border-top: 1px solid #edf1f5;
    }
    .detail-share-icon {
      width: 20px;
      height: 20px;
      border-radius: 0;
      flex: 0 0 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: transparent;
      color: #101418;
    }
    .detail-share-icon img,
    .detail-share-icon svg {
      width: 20px;
      height: 20px;
      display: block;
    }
    .detail-share-url-row {
      display: none;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
    }
    .detail-share-url-input {
      min-width: 0;
      height: 42px;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 0 12px;
      color: #495056;
      font-size: 14px;
      font-weight: 500;
      background: #f8fafc;
    }
    .detail-share-copy-button {
      height: 42px;
      border: 0;
      border-radius: 12px;
      padding: 0 14px;
      background: #54abff;
      color: #fff;
      font-size: 14px;
      font-weight: 800;
    }
    .detail-copy-alert-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483675;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
      pointer-events: none;
    }
    .detail-copy-alert-overlay.open {
      display: flex;
    }
    .detail-copy-alert-panel {
      width: min(320px, 100%);
      border-radius: 18px;
      padding: 22px 20px 20px;
      background: #fff;
      box-shadow: 0 18px 50px rgba(15, 23, 42, 0.24);
      display: grid;
      justify-items: center;
      gap: 10px;
      text-align: center;
      pointer-events: auto;
    }
    .detail-copy-alert-icon {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: #eef7ff;
      color: #1687e8;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .detail-copy-alert-icon svg {
      width: 24px;
      height: 24px;
      stroke-width: 2.5;
    }
    .detail-copy-alert-title {
      color: #101418;
      font-size: 17px;
      font-weight: 800;
      line-height: 1.35;
    }
    .detail-copy-alert-copy {
      color: #64748b;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.45;
    }
    @media (max-width: 640px) {
      .detail-share-overlay {
        align-items: flex-end;
        padding: 0;
      }
      .detail-share-panel {
        width: 100%;
        border-radius: 22px 22px 0 0;
      }
    }
    @media (min-width: 641px) {
      .join-mobile-bottom-nav.is-visible {
        box-shadow: none;
      }

      .modal-header,
      .calendar-sheet-header,
      .builder-header,
      .region-search-header,
      .join-member-login-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) var(--modal-close-size-pc);
        align-items: center;
        gap: 12px;
      }
      #detailModal .modal-header,
      body > #detailModal.sgj-portal-overlay .modal-header {
        grid-template-columns: minmax(0, 1fr) auto;
      }
      .modal-header .modal-title,
      .calendar-sheet-header .calendar-sheet-title,
      .builder-header .builder-header-copy,
      .region-search-header .region-search-title,
      .join-member-login-header .join-member-login-title {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        min-width: 0;
        text-align: left;
      }
      .modal-header .modal-close-icon,
      .calendar-sheet-header .modal-close-icon,
      .builder-header .modal-close-icon,
      .modal-header .region-search-pc-close {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
      }
      .modal-header .modal-header-spacer,
      .calendar-sheet-header .modal-header-spacer,
      .builder-header .modal-header-spacer,
      .region-search-header .region-search-header-spacer {
        display: none;
      }
      #detailModal .detail-pc-header-actions,
      body > #detailModal.sgj-portal-overlay .detail-pc-header-actions {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        gap: 2px;
      }
      #detailModal .detail-pc-header-actions .detail-mobile-header-button,
      body > #detailModal.sgj-portal-overlay .detail-pc-header-actions .detail-mobile-header-button {
        width: var(--modal-close-size-pc);
        height: var(--modal-close-size-pc);
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }
      .modal-close-icon,
      .region-search-back,
      .join-member-login-back {
        width: var(--modal-close-size-pc);
        height: var(--modal-close-size-pc);
        flex: 0 0 var(--modal-close-size-pc);
      }
      .modal-close-icon::before {
        width: var(--modal-close-icon-size-pc);
        height: var(--modal-close-icon-size-pc);
      }
      .modal-back-icon::before {
        display: block;
      }
      .modal-back-icon svg {
        display: none;
      }
      .region-search-back,
      .join-member-login-back {
        color: #373A3C;
      }
      .region-search-back::before,
      .join-member-login-back::before {
        content: "";
        width: var(--modal-close-icon-size-pc);
        height: var(--modal-close-icon-size-pc);
        background: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") center / contain no-repeat;
      }
      .region-search-back svg,
      .join-member-login-back svg {
        display: none;
      }
      .region-search-header .region-search-back {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
      }
      .region-search-header .region-search-pc-close {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
      }
      .join-member-login-back {
        position: static;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
      }
    }
    .modal-body { padding: 22px; }
    .detail-modal .modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      padding-right: 20px;
      scrollbar-gutter: stable;
    }
    .detail-modal .modal-header {
      display: grid;
      grid-template-columns: var(--modal-close-size) minmax(0, 1fr) var(--modal-close-size);
      align-items: center;
      gap: 8px;
    }
    .detail-modal .modal-title {
      text-align: center;
    }
    .detail-modal-actions {
      flex: 0 0 auto;
      display: flex;
      gap: 10px;
      padding: 14px 22px 16px;
      background: rgba(255, 255, 255, 0.98);
      border-top: 1px solid var(--border);
    }
    .detail-modal-actions .button {
      flex: 1;
      min-height: 48px;
      font-weight: 800;
      text-decoration: none;
    }
    .detail-modal-actions .detail-contact-button {
      flex: 0 0 58px;
      width: 58px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .detail-modal-actions .detail-contact-button svg {
      width: 24px;
      height: 24px;
      flex: 0 0 24px;
    }
    .detail-modal-actions .detail-contact-button[hidden] {
      display: none;
    }
    .detail-modal-actions .detail-date-change-button[hidden] {
      display: none;
    }
    .detail-modal-actions .detail-date-change-button {
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    .detail-modal-actions .detail-date-change-button svg {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
    }
    .detail-schedule-conflict-notice {
      position: absolute;
      left: 22px;
      right: 22px;
      bottom: 111px;
      z-index: 8;
      display: none;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 10px 14px;
      border: 1px solid #dbe4ee;
      border-radius: 14px;
      background: #fff;
      color: #334155;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.35;
      text-align: center;
      box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
      transform: translateY(50%);
      pointer-events: none;
    }
    .detail-schedule-conflict-notice.is-visible {
      display: flex;
    }
    #detailPrimaryButton:disabled {
      cursor: not-allowed;
      opacity: .48;
    }
    #detailModal.my-reservation-view-mode .detail-modal-actions {
      display: flex;
    }
    #detailModal.my-reservation-view-mode .detail-modal-actions .detail-contact-button,
    #detailModal.my-reservation-view-mode .detail-modal-actions .detail-date-change-button {
      display: none !important;
    }
    #detailModal.my-reservation-view-mode #detailPrimaryButton {
      display: inline-flex;
      width: 100%;
      flex: 1 1 100%;
    }
    #detailModal.mdpick-recruit-mode #detailPrimaryButton {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }
    #detailModal.mdpick-recruit-mode #detailPrimaryButton svg {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
    }
    .detail-modal .modal-body .modal-actions {
      display: none;
    }
    .detail-apply-panel {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 4;
      max-height: min(78vh, 620px);
      padding: 18px 22px 22px;
      border-top: 1px solid var(--border);
      border-radius: 22px 22px 0 0;
      background: #fff;
      box-shadow: 0 -18px 44px rgba(15, 23, 42, 0.18);
      overflow-y: auto;
      transform: translateY(105%);
      transition: transform .28s ease;
    }
    .detail-apply-panel.open {
      transform: translateY(0);
    }
    .global-apply-overlay {
      position: fixed;
      inset: 0;
      z-index: 100150;
      display: none;
      align-items: flex-end;
      background: rgba(15, 23, 42, 0.42);
    }
    .global-apply-overlay.open {
      display: flex;
    }
    #builderModal,
    #globalApplyOverlay,
    body > #builderModal.sgj-portal-overlay,
    body > #globalApplyOverlay.sgj-portal-overlay {
      --apply-accent: #373A3C;
      --apply-accent-soft: #f1f5f9;
      --apply-green: #16a34a;
      --apply-green-soft: #eaf7f0;
      --apply-placeholder-color: #d3d3d3;
    }
    .global-apply-overlay .detail-apply-panel {
      --apply-accent: #373A3C;
      --apply-accent-soft: #f1f5f9;
      --apply-green: #16a34a;
      --apply-green-soft: #eaf7f0;
      --apply-placeholder-color: #d3d3d3;
      position: relative;
      display: flex;
      flex-direction: column;
      width: min(760px, 100%);
      margin: 0 auto;
      max-height: min(86vh, 720px);
      padding: 0;
      overflow: hidden;
      transform: none;
      transition: none;
    }
    @media (min-width: 640px) {
      .global-apply-overlay {
        align-items: center;
        justify-content: center;
        padding: 20px;
      }
      .global-apply-overlay .detail-apply-panel {
        width: min(760px, calc(100vw - 40px));
        max-height: calc(100vh - 40px);
        border-radius: 24px;
      }
      .global-apply-overlay .detail-apply-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) var(--modal-close-size-pc);
        align-items: center;
        gap: 12px;
      }
      .global-apply-overlay .detail-apply-title {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        text-align: left;
      }
      .global-apply-overlay .global-apply-back {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        width: var(--modal-close-size-pc);
        height: var(--modal-close-size-pc);
        flex: 0 0 var(--modal-close-size-pc);
        color: #373A3C;
      }
      .global-apply-overlay .global-apply-back::before {
        display: block;
        width: var(--modal-close-icon-size-pc);
        height: var(--modal-close-icon-size-pc);
      }
      .global-apply-overlay .global-apply-back > svg,
      .global-apply-overlay .global-apply-header-spacer {
        display: none;
      }
    }
    .global-apply-overlay .detail-apply-head {
      position: sticky;
      top: 0;
      z-index: 3;
      padding: var(--modal-header-padding-pc);
      margin: 0;
      background: rgba(255, 255, 255, 0.96);
      border-bottom: 1px solid var(--border);
    }
    .global-apply-overlay .detail-apply-title {
      font-size: var(--modal-main-title-pc);
      font-weight: var(--modal-main-title-weight);
    }
    .global-apply-overlay .detail-apply-scroll {
      min-height: 0;
      overflow-y: auto;
      overflow-x: hidden;
      padding: 20px 22px 12px;
    }
    .global-apply-overlay .apply-complete-state {
      display: none;
      flex: 1 1 auto;
      min-height: 430px;
      padding: 34px 28px 30px;
      align-items: center;
      justify-content: center;
      text-align: center;
      background: #fff;
      overflow-y: auto;
    }
    .global-apply-overlay .detail-apply-panel.is-complete .detail-apply-scroll,
    .global-apply-overlay .detail-apply-panel.is-complete .detail-apply-actions {
      display: none;
    }
    .global-apply-overlay .detail-apply-panel.is-complete .apply-complete-state {
      display: flex;
    }
    .apply-complete-card {
      width: min(100%, 460px);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
    }
    @media (max-width: 640px) {
      .apply-complete-card {
        gap: 10px;
      }
    }
    .apply-complete-illustration {
      width: 126px;
      height: 126px;
      border-radius: 36px;
      background: #f8fafc;
      box-shadow: inset 0 0 0 1px #e5edf5;
    }
    .apply-complete-title {
      margin: 4px 0 0;
      color: var(--text);
      font-size: 24px;
      font-weight: 800;
      line-height: 1.35;
      letter-spacing: 0;
      text-align: center;
    }
    @media (max-width: 400px) {
      .apply-complete-title {
        margin: 4px 0 10px;
        color: var(--text);
        font-size: 20px;
        font-weight: 800;
        line-height: 1.35;
        letter-spacing: 0;
      }
    }
    .apply-complete-copy {
      margin: 0;
      color: #5d6b82;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.65;
      text-align: center;
      word-break: keep-all;
    }
    .apply-complete-contact {
      width: 100%;
      display: grid;
      gap: 4px;
      margin-top: 2px;
      padding: 13px 16px;
      border-radius: 14px;
      background: #f8fafc;
      color: #475569;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.55;
      text-align: center;
    }
    .apply-complete-contact-main {
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.55;
      text-align: center;
    }
    .apply-complete-contact-time {
      color: #475569;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.55;
      text-align: center;
    }
    .apply-complete-note {
      width: 100%;
      margin-top: 0;
      padding: 13px 16px;
      border-radius: 14px;
      background: #fff;
      border: 1px solid #e5edf5;
      color: #475569;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.55;
    }
    .apply-complete-actions-grid {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .apply-complete-action-card {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 7px;
      padding: 10px;
      border: 1px solid #dbe4ee;
      border-radius: 14px;
      background: #fff;
      text-align: center;
      cursor: pointer;
    }
    .apply-complete-action-card img {
      display: block;
      position: static !important;
      width: 100%;
      height: auto !important;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      border-radius: 10px;
      background: #f8fafc;
      flex: 0 0 auto;
      transform: none !important;
    }
    .apply-complete-action-label {
      display: block;
      position: static !important;
      width: 100%;
      margin: 0;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
      line-height: 1.25;
      text-align: center;
      transform: none !important;
    }
    .apply-complete-share-button {
      width: 100%;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 2px;
      border: 1px solid #dbe4ee;
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.2;
      cursor: pointer;
    }
    .apply-complete-share-button svg {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
    }
    @media (min-width: 641px) {
      .apply-complete-copy {
        margin-top: 12px;
        color: #8590a2;
        font-size: 18px;
        font-weight: 400;
        line-height: 1.65;
        word-break: keep-all;
      }
      .apply-complete-contact {
        font-size: 15px;
      }
      .apply-complete-contact-main {
        color: var(--text);
        font-size: 19px;
        font-weight: 800;
      }
      .apply-complete-action-label {
        color: var(--text);
        font-size: 16px;
        font-weight: 600;
        line-height: 1.25;
      }
    }
    .apply-complete-close {
      width: 100%;
      min-height: 52px;
      margin-top: 8px;
      border: 0;
      border-radius: 14px;
      background: var(--apply-accent, #373A3C);
      color: #fff;
      font-size: 16px;
      font-weight: 800;
      cursor: pointer;
    }
    .apply-complete-share-button + .apply-complete-close {
      margin-top: -4px;
    }
    .detail-apply-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 16px;
    }
    .detail-apply-title {
      font-size: var(--modal-sub-title-pc);
      font-weight: var(--modal-sub-title-weight);
    }
    .detail-apply-kicker {
      margin-top: 4px;
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 700;
      line-height: 1.55;
    }
    .detail-apply-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px 12px;
    }
    .apply-join-summary,
    .apply-public-preview {
      display: grid;
      gap: 12px;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      overflow-x: hidden;
      margin-bottom: 24px;
      padding: 18px;
      border: 0;
      border-radius: 12px;
      background: #f8fafc;
    }
    .apply-join-summary-head,
    .apply-preview-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .apply-join-summary-title,
    .apply-preview-title {
      color: var(--text);
      font-size: 18px;
      font-weight: 800;
      line-height: 1.35;
    }
    .apply-status-pill {
      display: none;
    }
    .apply-join-summary-meta,
    .apply-preview-meta {
      display: grid;
      gap: 6px;
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      line-height: 1.55;
    }
    .apply-join-info-grid {
      display: grid;
      gap: 7px;
      min-width: 0;
      max-width: 100%;
    }
    .apply-join-info-item {
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 8px;
      min-width: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      text-align: left;
    }
    .apply-join-info-label {
      flex: 0 0 45px;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.25;
      text-align: left;
    }
    .apply-join-info-value {
      flex: 1 1 auto;
      min-width: 0;
      max-width: 100%;
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.35;
      word-break: keep-all;
      overflow-wrap: anywhere;
      white-space: normal;
      text-align: left;
    }
    .apply-join-info-subvalue {
      margin-top: 3px;
      color: #6b7280;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.35;
    }
    .apply-join-summary-muted,
    .apply-preview-lock,
    .apply-field-helper {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.55;
    }

    .apply-member-source-field {
      display: none !important;
    }

    .apply-join-safe,
    .apply-preview-lock {
      display: flex;
      align-items: flex-start;
      gap: 7px;
    }
    .apply-join-safe svg,
    .apply-preview-lock svg {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      margin-top: 2px;
      color: var(--apply-green);
    }
    .apply-preview-card {
      display: grid;
      gap: 8px;
      padding: 14px;
      border-radius: 14px;
      background: #fff;
    }
    .apply-preview-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      color: #13723a;
      font-size: 14px;
      font-weight: 900;
      line-height: 1.45;
    }
    .apply-preview-greeting {
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.6;
    }
    .apply-section {
      display: grid;
      gap: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
    }
    .apply-section + .apply-section {
      margin-top: 24px;
    }
    .apply-section.with-divider {
      border-top: 1px solid var(--border);
      padding-top: 20px;
    }
    .apply-public-preview + .apply-section {
      margin-top: 24px;
    }
    .apply-section.private {
      border-color: transparent;
      background: transparent;
    }
    .apply-section-head {
      display: grid;
      gap: 6px;
    }
    .apply-section-title {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--text);
      font-size: 20px;
      font-weight: 900;
      line-height: 1.35;
    }
    .apply-section-title svg.apply-title-inline-icon {
      width: 24px;
      height: 24px;
      flex: 0 0 24px;
    }
    .apply-section-title.compact {
      font-size: 16px;
      line-height: 1.35;
    }
    .apply-section-heading {
      display: flex;
      align-items: center;
      gap: 9px;
      color: #101418;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0;
    }
    .apply-product-info-title {
      margin: 0 0 14px;
    }
    .apply-title-icon {
      width: 30px;
      height: 30px;
      flex: 0 0 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      color: var(--apply-accent, #373A3C);
      background: var(--apply-accent-soft);
    }
    .apply-title-icon.green {
      color: var(--apply-green);
      background: var(--apply-green-soft);
    }
    .apply-title-icon svg {
      width: 18px;
      height: 18px;
    }
    .apply-section-copy {
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 700;
      line-height: 1.55;
    }
    .apply-safe-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      width: fit-content;
      min-height: 30px;
      padding: 0 10px;
      border-radius: 999px;
      background: var(--apply-green-soft);
      color: var(--apply-green);
      font-size: 13px;
      font-weight: 900;
    }
    .apply-safe-badge svg {
      width: 14px;
      height: 14px;
      flex: 0 0 14px;
    }
    .apply-progressive-target {
      opacity: 0;
      max-height: 0;
      overflow: hidden;
      transform: translateY(8px);
      transition: opacity .24s ease, max-height .32s ease, transform .24s ease, margin-top .24s ease;
    }
    .apply-progressive-target.is-visible {
      opacity: 1;
      max-height: 900px;
      transform: translateY(0);
    }
    .detail-apply-panel .field.full {
      grid-column: 1 / -1;
    }
    .detail-apply-panel .field {
      display: grid;
      gap: 10px;
    }
    .detail-apply-panel .field label {
      color: var(--text);
      font-size: 17px;
      font-weight: 800;
      line-height: 1.35;
    }
    .detail-apply-panel input,
    .detail-apply-panel textarea,
    .detail-apply-panel select {
      width: 100%;
      min-height: 52px;
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 0 14px;
      color: var(--text);
      background: #fff;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.5;
      outline: none;
    }
    .detail-apply-panel input::placeholder,
    .detail-apply-panel textarea::placeholder {
      color: var(--apply-placeholder-color, #d3d3d3);
      opacity: 1;
    }
    .detail-apply-panel input::-webkit-input-placeholder,
    .detail-apply-panel textarea::-webkit-input-placeholder {
      color: var(--apply-placeholder-color, #d3d3d3);
    }
    #globalApplyPanel .detail-apply-title,
    #globalApplyPanel .apply-section-heading,
    #globalApplyPanel .apply-join-summary-title,
    #globalApplyPanel .apply-preview-title,
    #globalApplyPanel .apply-reservation-rule-title {
      color: #101418;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0;
    }
    #globalApplyPanel .apply-join-info-label {
      color: #848c94;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }
    #globalApplyPanel .apply-join-info-value,
    #globalApplyPanel .apply-preview-greeting,
    #globalApplyPanel .apply-companion-status,
    #globalApplyPanel .apply-check-line-text,
    #globalApplyPanel .apply-reservation-rule-list {
      color: #101418;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }
    #globalApplyPanel .apply-reservation-rule-section {
      display: grid;
      gap: 0px;
      margin-top: 24px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
    }
    #globalApplyPanel .apply-reservation-rule-content {
      display: grid;
      gap: 8px;
    }
    #globalApplyPanel .apply-reservation-rule-content .apply-reservation-rule-title {
      color: #101418;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.45;
    }
    #globalApplyPanel .field label,
    #globalApplyPanel .apply-people-total-title,
    #globalApplyPanel .apply-companion-title,
    #globalApplyPanel .apply-companion-status-label {
      color: #101418;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }
    #globalApplyPanel .apply-preference-title {
      color: #101418;
      font-size: 19px;
      font-weight: 700;
      line-height: 1.35;
    }
    #globalApplyPanel .apply-preference-copy {
      color: #373a3c;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.45;
    }
    #globalApplyPanel input,
    #globalApplyPanel textarea,
    #globalApplyPanel select,
    #globalApplyPanel .apply-chip,
    #globalApplyPanel .profession-chip,
    #globalApplyPanel .apply-template,
    #globalApplyPanel .apply-people-button,
    #globalApplyPanel .apply-people-radio,
    #globalApplyPanel .apply-people-inline-add-button,
    #globalApplyPanel .apply-people-count-value {
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }
    #globalApplyPanel .traveler-gender-select .apply-chip {
      font-size: 16px !important;
      font-weight: 600 !important;
      line-height: 1.45;
    }
    #globalApplyPanel .apply-join-summary-meta,
    #globalApplyPanel .apply-join-summary-muted,
    #globalApplyPanel .apply-preview-meta,
    #globalApplyPanel .apply-preview-lock,
    #globalApplyPanel .apply-field-helper,
    #globalApplyPanel .apply-section-copy,
    #globalApplyPanel .apply-people-total-helper,
    #globalApplyPanel .apply-companion-helper,
    #globalApplyPanel .traveler-hint {
      color: #69727a;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.45;
    }
    .detail-apply-panel textarea {
      min-height: 92px;
      padding-top: 12px;
      resize: vertical;
    }
    .detail-apply-panel .field.has-error input,
    .detail-apply-panel .field.has-error textarea,
    .detail-apply-panel .field.has-error select {
      border-color: #ef4444;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08);
    }
    .detail-apply-panel .traveler-field:not(.has-error) input:focus {
      border-color: transparent;
      box-shadow: 0 0 0 3px rgba(104, 124, 214, 0.12);
    }
    .traveler-field {
      position: relative;
      gap: 6px;
    }
    .detail-apply-panel .traveler-info-grid {
      grid-template-columns: minmax(0, 1fr) clamp(116px, 34vw, 150px);
      align-items: start;
    }
    .traveler-field .traveler-hint {
      position: absolute;
      top: 7px;
      left: 14px;
      right: 14px;
      z-index: 1;
      display: none;
      color: #565656;
      font-size: 12px;
      font-weight: 500;
      line-height: 1.2;
      pointer-events: none;
    }
    .traveler-field:focus-within:not(.is-filled) .traveler-hint {
      display: block;
    }
    .traveler-field input {
      padding-top: 0;
    }
    .traveler-field input::placeholder {
      color: #666;
      font-weight: 400;
    }
    .traveler-field input::-webkit-input-placeholder {
      color: #666;
      font-weight: 400;
    }
    .traveler-field input:placeholder-shown {
      padding-top: 0;
    }
    .traveler-field:focus-within:not(.is-filled) input {
      padding-top: 18px;
    }
    .profession-chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 8px;
    }
    .profession-chip {
      min-height: 34px;
      padding: 8px 16px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: #fff;
      color: var(--text);
      font-size: 15px;
      font-weight: 700;
      line-height: 1.25;
      white-space: nowrap;
    }
    .profession-chip:hover,
    .profession-chip.active {
      border-color: #6b7280;
      background: #f8fafc;
      color: var(--text);
      box-shadow: inset 0 0 0 1px #6b7280;
    }
    .traveler-gender-select {
      position: relative;
      display: flex;
      width: 100%;
      gap: 0 !important;
      height: auto;
      min-height: 0;
      align-self: start;
      padding: 6px;
      border: 0;
      border-radius: 10px;
      overflow: hidden;
      background: #f1f5f9;
      box-shadow: none;
      user-select: none;
    }
    .traveler-gender-select::before {
      display: none;
    }
    .traveler-gender-select .apply-chip {
      position: relative;
      z-index: 1;
      flex: 1 1 0;
      width: 100%;
      min-width: 0;
      height: auto;
      min-height: 40px;
      padding: 10px 10px;
      border: 0;
      border-radius: 8px;
      background: transparent;
      box-shadow: none;
      color: #64748b;
      font-size: 13px !important;
      font-weight: 800;
      line-height: 1;
      transition: color .2s ease, background .2s ease, box-shadow .2s ease;
    }

    [data-chip-group="join-member-gender"] .apply-chip {
      font-size: 16px !important;
      font-weight: 650;
    }

    [data-chip-group="join-member-gender"].traveler-gender-select {
      isolation: isolate;
    }

    [data-chip-group="join-member-gender"].traveler-gender-select::before {
      content: "";
      position: absolute;
      top: 6px;
      bottom: 6px;
      left: 6px;
      z-index: 0;
      display: block;
      width: calc((100% - 12px) / 2);
      border-radius: 8px;
      background: #fff;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
      opacity: 0;
      transform: translateX(calc(var(--join-member-gender-index, 0) * 100%));
      transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.18s ease;
      will-change: transform;
      pointer-events: none;
    }

    [data-chip-group="join-member-gender"].traveler-gender-select:has(.apply-chip.active)::before {
      opacity: 1;
    }

    [data-chip-group="join-member-gender"].traveler-gender-select.has-gender-selection::before {
      opacity: 1;
    }

    [data-chip-group="join-member-gender"] .apply-chip.active {
      background: transparent;
      color: #0f172a;
      box-shadow: none;
    }

    .traveler-gender-select .apply-chip:hover {
      border-color: transparent;
      background: transparent;
      color: #1e293b;
    }
    .traveler-gender-select .apply-chip:focus-visible {
      outline: 2px solid rgba(59, 130, 246, 0.32);
      outline-offset: -2px;
    }
    .traveler-gender-select .apply-chip.active {
      z-index: 1;
      border-color: transparent;
      background: #fff;
      color: #0f172a;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    }
    .detail-apply-panel .field.has-error .traveler-gender-select {
      border-color: #ef4444;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08);
    }
    .apply-error {
      display: none;
      margin-left: 15px;
      color: #f15555;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.4;
    }
    .field.has-error .apply-error {
      display: block;
    }
    .apply-error.is-visible {
      display: block;
    }
    #globalApplyPanel [data-apply-field="name"],
    #globalApplyPanel [data-apply-field="gender"],
    #globalApplyPanel [data-apply-field="birthYear"],
    #globalApplyPanel [data-apply-field="phone"],
    #globalApplyPanel [data-apply-field="profession"] {
      display: none !important;
    }
    .builder-apply-form [data-builder-apply-field="name"],
    .builder-apply-form [data-builder-apply-field="gender"],
    .builder-apply-form [data-builder-apply-field="birthYear"],
    .builder-apply-form [data-builder-apply-field="phone"],
    .builder-apply-form [data-builder-apply-field="profession"] {
      display: none !important;
    }
    .apply-chip-group {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    [data-chip-group="global-gender"] {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    [data-chip-group="global-style"],
    [data-chip-group="global-level"],
    [data-chip-group="global-member-preference"] {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .apply-booking-option-section {
      display: grid;
      gap: 10px;
    }
    .apply-booking-option-section.is-hidden {
      display: none;
    }
    .detail-apply-panel .field:has(> .apply-booking-option-section.is-hidden),
    .builder-apply-form .field:has(> .apply-booking-option-section.is-hidden) {
      display: none;
    }
    .apply-room-surcharge {
      display: block;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      overflow-x: hidden;
      margin-top: 12px;
      padding: 18px;
      border: 0;
      border-radius: 12px;
      background: #f8fafc;
      color: #373a3c;
      font-size: 18px;
      font-weight: 600;
      line-height: 1.45;
      word-break: keep-all;
      overflow-wrap: anywhere;
    }
    .apply-room-surcharge strong {
      color: #373a3c;
      font-weight: 700;
    }
    .apply-room-surcharge:empty {
      display: none;
    }
    .apply-chip {
      min-height: 48px;
      padding: 8px 10px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: #fff;
      color: var(--text);
      font-weight: 800;
      font-size: 15px;
      line-height: 1.35;
      text-align: center;
      word-break: keep-all;
    }
    .apply-chip:hover,
    .apply-template:hover {
      border-color: #cbd5e1;
      background: #f8fafc;
      color: var(--text);
    }
    .apply-chip.active {
      border-color: #6b7280;
      background: #f8fafc;
      color: var(--text);
      box-shadow: inset 0 0 0 1px #6b7280;
    }
    [data-chip-group="global-style"] .apply-chip.active {
      border-color: #6b7280;
      background: #f8fafc;
      color: var(--text);
    }
    [data-chip-group="global-level"] .apply-chip.active {
      border-color: #6b7280;
      background: #f8fafc;
      color: var(--text);
    }
    .apply-template-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .apply-template {
      min-height: 48px;
      padding: 8px 10px;
      border: 1px solid var(--border);
      border-radius: 12px;
      color: var(--text);
      background: #fff;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.35;
      text-align: center;
      word-break: keep-all;
    }
    .apply-chip,
    .profession-chip,
    .apply-template,
    .apply-people-button,
    .apply-people-radio,
    .join-profile-custom-profession {
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }
    @media (hover: none), (pointer: coarse) {
      .apply-chip:not(.active):hover,
      .apply-chip:not(.active):active,
      .profession-chip:not(.active):hover,
      .profession-chip:not(.active):active,
      .join-profile-inline-picker .apply-chip:not(.active):hover,
      .join-profile-inline-picker .apply-chip:not(.active):active,
      .join-profile-inline-picker .profession-chip:not(.active):hover,
      .join-profile-inline-picker .profession-chip:not(.active):active,
      .apply-template:hover,
      .apply-template:active,
      .join-profile-custom-profession:not(.has-value):hover,
      .join-profile-custom-profession:not(.has-value):active {
        border-color: var(--border);
        background: #fff;
        color: var(--text);
        box-shadow: none;
        transform: none;
      }
      .join-member-signup-chip-row .profession-chip:not(.active):hover,
      .join-member-signup-chip-row .profession-chip:not(.active):active {
        background: #fafafa;
      }
      .traveler-gender-select .apply-chip:not(.active):hover,
      .traveler-gender-select .apply-chip:not(.active):active {
        border-color: transparent;
        background: transparent;
        color: #64748b;
        box-shadow: none;
      }
    }
    .apply-agree-box {
      display: grid;
      gap: 6px;
      margin-top: 24px;
      padding: 20px 0 0;
      border-top: 1px solid var(--border);
      border-radius: 0;
      background: transparent;
    }
    .apply-agree-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding-bottom: 4px;
    }
    .apply-agree-title-row {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .apply-required-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 24px;
      padding: 0 8px;
      border-radius: 999px;
      background: #f8fafc;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 800;
      line-height: 1;
    }
    .apply-complete-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 24px;
      padding: 0 8px;
      border-radius: 999px;
      background: #e8f7ef;
      color: #118443;
      font-size: 12px;
      font-weight: 800;
      line-height: 1;
    }
    .apply-complete-badge[hidden] {
      display: none !important;
    }
    @media (max-width: 360px) {
      .apply-agree-box.is-required-complete .apply-required-badge {
        display: none;
      }
    }
    .apply-agree-toggle {
      width: 30px;
      height: 30px;
      flex: 0 0 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 9px;
      color: var(--text-soft);
      background: transparent;
    }
    .apply-agree-toggle svg {
      width: 18px;
      height: 18px;
      transition: transform .18s ease;
    }
    .apply-agree-box.is-collapsed .apply-agree-toggle svg {
      transform: rotate(-90deg);
    }
    .builder-step[data-builder-step="3"] .apply-agree-box.is-collapsed {
      gap: 0;
      margin-top: 16px;
      padding-top: 14px;
    }
    .builder-step[data-builder-step="3"] .apply-agree-box.is-collapsed .apply-agree-head {
      padding-bottom: 0;
    }
    .apply-agree-box.is-collapsed .apply-agreement-list {
      display: none;
    }
    .apply-agree-box.is-collapsed .apply-agree-all {
      display: none;
    }
    .apply-agree-all {
      margin-top: 4px;
    }
    .apply-agree-all .apply-check-line {
      min-height: 27px;
      align-items: flex-start;
      gap: 9px;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.45;
    }
    .apply-agree-all .apply-check-line input {
      margin-top: 0;
    }
    .apply-agree-all .apply-check-line-text {
      padding-top: 1px;
    }
    .apply-agreement-list {
      display: grid;
      gap: 0;
      overflow: hidden;
      padding: 6px 10px;
      border: 0;
      border-radius: 12px;
      background: #f8fafc;
    }
    .apply-agreement-row {
      display: flex;
      align-items: center;
      gap: 8px;
      min-height: 40px;
      padding: 8px 0;
      border-top: 0;
    }
    .apply-agreement-row:first-child {
      border-top: 0;
    }
    .apply-agreement-row.is-hidden {
      display: none;
    }
    .apply-check-line {
      position: relative;
      min-height: 48px;
      display: flex;
      align-items: flex-start;
      gap: 6px;
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.5;
      cursor: pointer;
    }
    .apply-agreement-row .apply-check-line {
      min-height: 22px;
      flex: 1 1 auto;
      align-items: flex-start;
      gap: 7px;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.45;
    }
    .apply-agreement-row .apply-check-line input {
      width: 20px;
      height: 20px;
      min-width: 20px;
      min-height: 20px;
      max-width: 20px;
      max-height: 20px;
      flex-basis: 20px;
      border-radius: 6px;
    }
    .apply-check-line.as-link {
      align-items: flex-start;
    }
    .apply-check-line input {
      box-sizing: border-box;
      width: 22px;
      height: 22px;
      min-width: 22px;
      min-height: 22px;
      max-width: 22px;
      max-height: 22px;
      flex: 0 0 22px;
      align-self: flex-start;
      margin-top: 1px;
      margin-right: 0;
      margin-bottom: 0;
      margin-left: 0;
      -webkit-appearance: none;
      appearance: none;
      border: 1px solid #cbd5e1;
      border-radius: 7px;
      background: #fff;
      background-position: center;
      background-repeat: no-repeat;
      background-size: 13px 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
    }
    .apply-check-line input::before {
      content: "";
      display: block;
      width: 9px;
      height: 5px;
      margin-top: -2px;
      border-left: 2.4px solid #fff;
      border-bottom: 2.4px solid #fff;
      transform: rotate(-45deg) scale(0);
      transform-origin: center;
      transition: transform .12s ease;
      opacity: 0;
    }
    .apply-check-line input:checked {
      border-color: var(--apply-accent, #373A3C);
      background: var(--apply-accent, #373A3C);
      background-image: none;
      background-position: center;
      background-repeat: no-repeat;
      background-size: 13px 10px;
    }
    .detail-apply-panel .apply-check-line input[type="checkbox"]:checked,
    .global-apply-overlay .apply-check-line input[type="checkbox"]:checked,
    body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line input[type="checkbox"]:checked {
      border-color: var(--apply-accent, #373A3C) !important;
      background-color: var(--apply-accent, #373A3C) !important;
      background: var(--apply-accent, #373A3C) !important;
    }
    .apply-check-line input:checked::before {
      transform: rotate(-45deg) scale(1);
      opacity: 1;
    }

    #globalApplyPanel .apply-agree-all {
      display: none;
    }

    .apply-reservation-rule-box {
      display: grid;
      gap: 8px;
      margin: 12px 0;
      padding: 14px;
      border: 1px solid #e9ecef;
      border-radius: 12px;
      background: #f8fafc;
      color: #495057;
      font-size: 13px;
      font-weight: 650;
      line-height: 1.5;
      text-align: left;
    }

    .apply-reservation-rule-title {
      color: #111827;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.35;
    }

    .apply-reservation-rule-list {
      display: grid;
      gap: 5px;
    }

    .apply-reservation-accordion {
      display: grid;
      gap: 0;
      margin-top: 10px;
      border-top: 1px solid var(--border);
    }

    .apply-reservation-part {
      display: grid;
      gap: 0;
      border-bottom: 1px solid var(--border);
    }

    .apply-reservation-part-button {
      width: 100%;
      min-height: 48px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      border: 0;
      background: transparent;
      color: #101418;
      padding: 0;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.35;
      text-align: left;
      font-family: inherit;
      cursor: pointer;
    }

    .apply-reservation-part-button svg {
      width: 24px;
      height: 24px;
      flex: 0 0 24px;
      color: #69727a;
    }

    .apply-reservation-part-body {
      display: grid;
      gap: 8px;
      padding: 0 0 16px;
      color: #373a3c;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.55;
    }

    .apply-reservation-part-body > div {
      position: relative;
      padding-left: 11px;
    }

    .apply-reservation-part-body > div::before {
      content: "";
      position: absolute;
      left: 0;
      top: .72em;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: currentColor;
    }

    .apply-reservation-part-body > .apply-reservation-note::before {
      display: none;
    }

    .apply-reservation-part.is-collapsed .apply-reservation-part-body {
      display: none;
    }

    .apply-reservation-fee-table {
      width: 100%;
      border-collapse: collapse;
      margin: 4px 0;
      color: #373a3c;
      font-size: 14px;
      line-height: 1.45;
    }

    .apply-reservation-fee-table th,
    .apply-reservation-fee-table td {
      padding: 9px 6px;
      border-bottom: 1px solid #e9ecef;
      text-align: left;
      vertical-align: top;
    }

    .apply-reservation-fee-table th {
      color: #101418;
      font-weight: 700;
    }

    #builderModal .builder-apply-form .apply-check-line input[type="checkbox"] {
      position: absolute;
      width: 1px !important;
      height: 1px !important;
      min-width: 1px !important;
      min-height: 1px !important;
      max-width: 1px !important;
      max-height: 1px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      opacity: 0;
      pointer-events: none;
    }
    #builderModal .builder-apply-form .apply-check-box {
      box-sizing: border-box;
      width: 22px;
      height: 22px;
      min-width: 22px;
      flex: 0 0 22px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 1px;
      border: 1px solid #cbd5e1;
      border-radius: 7px;
      background: #fff;
    }
    #builderModal .builder-apply-form .apply-agreement-row .apply-check-box {
      width: 20px;
      height: 20px;
      min-width: 20px;
      flex-basis: 20px;
      border-radius: 6px;
    }
    #builderModal .builder-apply-form .apply-check-box::before {
      content: "";
      width: 9px;
      height: 5px;
      margin-top: -2px;
      border-left: 2.4px solid #fff;
      border-bottom: 2.4px solid #fff;
      transform: rotate(-45deg) scale(0);
      transform-origin: center;
      transition: transform .12s ease;
    }
    #builderModal .builder-apply-form .apply-check-line input[type="checkbox"]:checked + .apply-check-box {
      border-color: var(--apply-accent, #373A3C) !important;
      background-color: var(--apply-accent, #373A3C) !important;
      background: var(--apply-accent, #373A3C) !important;
    }
    #builderModal .builder-apply-form .apply-check-line input[type="checkbox"]:checked + .apply-check-box::before {
      transform: rotate(-45deg) scale(1);
    }
    #globalApplyOverlay .apply-check-line input[type="checkbox"],
    body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line input[type="checkbox"] {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      min-width: 1px !important;
      min-height: 1px !important;
      max-width: 1px !important;
      max-height: 1px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
    }
    #globalApplyOverlay .apply-check-line .apply-check-box,
    body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line .apply-check-box {
      box-sizing: border-box;
      width: 22px;
      height: 22px;
      min-width: 22px;
      flex: 0 0 22px;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      margin-top: 1px;
      padding-top: 0 !important;
      border: 1px solid #cbd5e1;
      border-radius: 7px;
      background: #fff;
    }
    #globalApplyOverlay .apply-agreement-row .apply-check-line .apply-check-box,
    body > #globalApplyOverlay.sgj-portal-overlay .apply-agreement-row .apply-check-line .apply-check-box {
      width: 20px;
      height: 20px;
      min-width: 20px;
      flex-basis: 20px;
      border-radius: 6px;
    }
    #globalApplyOverlay .apply-check-line .apply-check-box::before,
    body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line .apply-check-box::before {
      content: "";
      width: 9px;
      height: 5px;
      margin-top: -2px;
      border-left: 2.4px solid #fff;
      border-bottom: 2.4px solid #fff;
      transform: rotate(-45deg) scale(0);
      transform-origin: center;
      transition: transform .12s ease;
    }
    #globalApplyOverlay .apply-check-line input[type="checkbox"]:checked + .apply-check-box,
    body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line input[type="checkbox"]:checked + .apply-check-box {
      border-color: var(--apply-accent, #373A3C) !important;
      background-color: var(--apply-accent, #373A3C) !important;
      background: var(--apply-accent, #373A3C) !important;
    }
    #globalApplyOverlay .apply-check-line input[type="checkbox"]:checked + .apply-check-box::before,
    body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line input[type="checkbox"]:checked + .apply-check-box::before {
      transform: rotate(-45deg) scale(1);
    }
    .apply-check-line span {
      display: block;
      padding-top: 0;
    }
    .apply-check-line-text {
      flex: 1 1 auto;
      min-width: 0;
    }
    .apply-check-arrow {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      margin-top: 2px;
      color: var(--text-soft);
    }
    .agreement-detail-button {
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      color: var(--text-soft);
      background: transparent;
    }
    .agreement-detail-button:hover {
      background: #f8fafc;
      color: var(--text);
    }
    .agreement-detail-button svg {
      width: 20px;
      height: 20px;
      display: block;
    }
    .apply-privacy-link {
      color: var(--apply-accent, #373A3C);
      font-size: 14px;
      font-weight: 700;
      text-align: left;
      text-decoration: underline;
      width: fit-content;
      margin-top: -8px;
    }
    #globalApplyOverlay .detail-apply-actions {
      margin: 0;
      padding: 12px 22px 18px;
      background: #fff;
      border-top: 1px solid var(--border);
    }
    #globalApplyOverlay .detail-apply-actions .button.primary {
      min-height: 48px;
      background: var(--blue);
      border-color: var(--blue);
      color: #fff;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.2;
    }
    #globalApplyOverlay .detail-apply-actions .button.secondary {
      min-height: 48px;
      background: #fff;
      color: var(--text);
      border-color: var(--border);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.2;
    }
    .apply-privacy-table {
      display: table;
      width: 100%;
      margin: 8px 0;
      table-layout: fixed;
      border-collapse: separate;
      border-spacing: 0;
      overflow: hidden;
      border: 1px solid #edf1f5;
      border-radius: 5px;
      font-size: 17px;
      line-height: 1.6;
      clear: both;
    }
    .apply-privacy-table th,
    .apply-privacy-table td {
      padding: 12px;
      border: 0;
      border-right: 1px solid #edf1f5;
      border-bottom: 1px solid #edf1f5;
      text-align: left;
      vertical-align: top;
    }
    .apply-privacy-table th:last-child,
    .apply-privacy-table td:last-child {
      border-right: 0;
    }
    .apply-privacy-table th {
      width: 32%;
      background: #f8fafc;
      color: var(--text);
      font-weight: 800;
      word-break: keep-all;
      white-space: nowrap;
    }
    .apply-privacy-th-text,
    .apply-privacy-td-text {
      font-size: 17px;
      line-height: 1.6;
    }
    .apply-privacy-th-text {
      font-weight: 700;
      white-space: nowrap;
    }
    .apply-privacy-td-text {
      font-weight: 500;
    }
    .apply-privacy-table td,
    .apply-privacy-table .apply-privacy-td-text {
      overflow-wrap: anywhere;
      word-break: keep-all;
    }
    .apply-privacy-table tr:last-child th,
    .apply-privacy-table tr:last-child td {
      border-bottom: 0;
    }
    .apply-privacy-table + .privacy-modal-copy {
      display: block;
      clear: both;
      margin-top: 0;
    }
    .privacy-modal-body {
      display: flex;
      flex-direction: column;
      max-height: min(70vh, 560px);
      overflow: hidden;
    }
    #privacyApplyModalContent {
      display: grid;
      gap: 12px;
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      padding-bottom: 12px;
    }
    .privacy-modal-copy {
      color: #565656;
      font-size: 17px;
      font-weight: 500;
      line-height: 1.65;
    }
    .privacy-modal-footer {
      flex: 0 0 auto;
      position: relative;
      padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px));
      background: #fff;
      overflow: hidden;
    }
    .privacy-modal-footer .button {
      min-height: 48px;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.2;
    }
    #privacyApplyModal.sgj-portal-overlay,
    #privacyApplyModal.open {
      z-index: 2147483950 !important;
    }
    #privacyApplyModal.sgj-portal-overlay .modal,
    #privacyApplyModal.open .modal {
      z-index: 2147483951 !important;
    }
    #privacyApplyModal .modal-scroll,
    body > #privacyApplyModal.sgj-portal-overlay .modal-scroll {
      padding-right: 0 !important;
      scrollbar-gutter: auto;
    }
    #privacyApplyModal .privacy-modal-body,
    body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-body {
      box-sizing: border-box;
      width: 100%;
      margin-right: 0;
    }
    .apply-stepper {
      display: inline-flex;
      align-items: center;
      width: 100%;
      min-height: 48px;
      border: 1px solid var(--border);
      border-radius: 14px;
      overflow: hidden;
      background: #fff;
    }
    .apply-stepper button {
      width: 48px;
      height: 48px;
      color: var(--text);
      background: #f8fbff;
      font-size: 22px;
      font-weight: 900;
    }
    .apply-stepper button:hover {
      background: #f1f5f9;
    }
    .apply-stepper input {
      flex: 1;
      min-width: 0;
      border: 0;
      text-align: center;
      font-weight: 900;
      color: var(--text);
      background: transparent;
    }
    .apply-people-select {
      display: grid;
      gap: 10px;
    }
    .apply-people-label-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .apply-remaining-seat {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-left: auto;
      min-height: 26px;
      padding: 8px 12px;
      border-radius: 999px;
      background: #eef5ff;
      color: #0e60e8;
      font-size: 13px;
      font-weight: 700;
      line-height: 1;
      text-align: right;
      white-space: nowrap;
    }
    .apply-people-mode {
      position: relative;
      width: 100%;
      height: 56px;
      padding: 6px;
      border-radius: 14px;
      background: #f1f5f9;
      overflow: hidden;
    }
    .apply-people-button,
    .apply-people-radio {
      position: absolute;
      top: 6px;
      bottom: 6px;
      z-index: 1;
      min-height: 0;
      border: 0;
      border-radius: 8px;
      background: transparent;
      color: #64748b;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.25;
      transition: left .28s cubic-bezier(0.16, 1, 0.3, 1), right .28s cubic-bezier(0.16, 1, 0.3, 1), width .28s cubic-bezier(0.16, 1, 0.3, 1), border-color .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease;
    }
    .apply-people-button[data-mode="solo"] {
      left: 6px;
      width: calc(50% - 9px);
    }
    .apply-people-button[data-mode="group"],
    .apply-people-button[data-join-mode="group"] {
      left: calc(50% + 3px);
      width: calc(50% - 9px);
    }
    .apply-people-mode.is-group .apply-people-button[data-mode="solo"] {
      left: 4px;
      width: 25px;
      color: #9e9e9e;
    }
    .apply-people-mode.is-group .apply-people-button[data-mode="group"],
    .apply-people-mode.is-group .apply-people-button[data-join-mode="group"] {
      left: 30px;
      width: calc(50% - 9px);
    }
    .apply-people-button-label,
    .apply-people-button-back {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: opacity .2s ease, transform .2s ease;
    }
    .apply-people-button-back {
      position: absolute;
      inset: 0;
      opacity: 0;
      transform: scale(.75);
    }
    .apply-people-button-back svg {
      width: 20px;
      height: 20px;
      stroke-width: 2.6;
    }
    .apply-people-mode.is-group .apply-people-button[data-mode="solo"] .apply-people-button-label {
      opacity: 0;
      transform: scale(.75);
      pointer-events: none;
    }
    .apply-people-mode.is-group .apply-people-button[data-mode="solo"] .apply-people-button-back {
      opacity: 1;
      transform: scale(1);
    }
    .apply-people-inline-add {
      position: absolute;
      top: 6px;
      bottom: 6px;
      left: calc(50% + 27px);
      right: 6px;
      display: flex;
      align-items: center;
      gap: 6px;
      opacity: 0;
      pointer-events: none;
      transform: translateX(16px);
      transition: opacity .24s ease, transform .28s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .apply-people-mode.is-group .apply-people-inline-add {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(0);
    }
    .apply-people-inline-add-button {
      flex: 1 1 0;
      height: 100%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 5px;
      border: 0;
      border-radius: 8px;
      background: #fff;
      color: #0f172a;
      font-size: 14px;
      font-weight: 900;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
      transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
    }
    .apply-people-inline-add-button:hover:not(:disabled) {
      background: #fff;
      color: #1e293b;
    }
    .apply-people-inline-add-button:active:not(:disabled) {
      transform: scale(.97);
    }
    .apply-people-inline-add-button:disabled {
      opacity: .35;
      cursor: not-allowed;
      box-shadow: none;
    }
    .apply-people-inline-add-button svg {
      width: 15px;
      height: 15px;
      stroke-width: 2.6;
    }
    .apply-people-button.active,
    .apply-people-radio:has(input:checked) {
      border-color: transparent;
      background: #fff;
      color: #0f172a;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    }
    .apply-people-mode.single-only {
      grid-template-columns: 1fr;
    }
    .apply-people-mode.single-only .apply-people-button[data-mode="group"],
    .apply-people-mode.single-only .apply-people-button[data-join-mode="group"] {
      display: none;
    }
    .apply-people-mode.single-only .apply-people-button {
      left: 6px;
      width: calc(100% - 12px);
    }
    .apply-people-mode.single-only .apply-people-inline-add {
      display: none;
    }
    .apply-people-accordion {
      display: grid;
      grid-template-rows: 0fr;
      opacity: 0;
      transition: grid-template-rows .22s ease, opacity .18s ease;
    }
    .apply-people-accordion.open {
      grid-template-rows: 1fr;
      opacity: 1;
    }
    .apply-people-options {
      min-height: 0;
      overflow: hidden;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .apply-people-group-panel {
      min-height: 0;
      overflow: hidden;
      display: grid;
      gap: 14px;
      padding-top: 2px;
    }
    .apply-people-group-panel .apply-people-total-head,
    .apply-people-group-panel .apply-people-count-stepper,
    .apply-people-group-panel .apply-companion-head {
      display: none;
    }
    .apply-people-total-head,
    .apply-companion-head {
      display: grid;
      gap: 3px;
    }
    .apply-people-total-title,
    .apply-companion-title {
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
      line-height: 1.35;
    }
    .apply-people-total-helper,
    .apply-companion-helper {
      color: #64748b;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
      word-break: keep-all;
    }
    .apply-people-count-stepper {
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr) 48px;
      align-items: center;
      gap: 10px;
    }
    .apply-people-stepper-button {
      width: 48px;
      height: 48px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: 24px;
      font-weight: 900;
      line-height: 1;
    }
    .apply-people-stepper-button:disabled {
      color: #cbd5e1;
      background: #f8fafc;
      cursor: not-allowed;
      opacity: .78;
    }
    .apply-people-count-value {
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: 17px;
      font-weight: 900;
      line-height: 1.25;
    }
    .apply-companion-list {
      display: grid;
      gap: 12px;
      overflow: hidden;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      background: #fff;
      padding: 14px 14px 5px;
    }
    .apply-companion-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-width: 0;
      padding: 0;
      border-bottom: 0;
      background: transparent;
    }
    .apply-companion-card[hidden] {
      display: none !important;
    }
    .apply-companion-status {
      display: grid;
      gap: 5px;
      color: #475569;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.4;
    }
    .apply-companion-status-label {
      color: var(--text);
      font-weight: 800;
      white-space: nowrap;
    }
    .apply-companion-status-line {
      display: grid;
      grid-template-columns: 27px 3px 41px 3px minmax(0, 1fr);
      align-items: center;
      column-gap: 7px;
      min-width: 0;
    }
    .apply-companion-status-count {
      white-space: nowrap;
    }
    .apply-companion-status-gender {
      min-width: 0;
      white-space: nowrap;
    }
    .apply-companion-status-divider {
      width: 1px;
      height: 12px;
      color: #d8dee8;
      transform: translateY(-1px);
    }
    .apply-participant-rail {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
    }
    .apply-participant-rail.has-existing-divider::after {
      content: "";
      position: absolute;
      top: 14px;
      bottom: 25px;
      width: 1px;
      border-radius: 999px;
      background: #e2e8f0;
      pointer-events: none;
    }
    .apply-participant-rail.existing-divider-1::after {
      left: calc(25% - 2.5px);
    }
    .apply-participant-rail.existing-divider-2::after {
      left: calc(50% - .5px);
    }
    .apply-participant-rail.existing-divider-3::after {
      left: calc(75% + 2.5px);
    }
    .apply-participant-rail.monthly {
      --apply-monthly-slot-width: calc((100% - 30px) / 4);
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: center;
      gap: 10px;
    }
    .apply-participant-rail.monthly::after {
      display: none;
    }
    .apply-participant-rail.monthly .apply-participant-slot {
      width: var(--apply-monthly-slot-width);
      min-height: 90px;
      flex: 0 0 var(--apply-monthly-slot-width);
      max-width: var(--apply-monthly-slot-width);
      padding: 9px 0;
    }
    .apply-participant-rail.monthly .apply-participant-avatar {
      width: 50px;
      height: 50px;
      border-radius: 12px;
    }
    .apply-participant-rail.monthly .apply-participant-label {
      font-size: 14px;
      font-weight: 600;
    }
    .apply-monthly-status {
      --apply-monthly-status-gap: 8px;
      --apply-monthly-meta-gap: 12px;
      display: grid;
      gap: var(--apply-monthly-status-gap);
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
    }
    #globalApplyPanel .apply-companion-list:has(.apply-monthly-status) {
      border: 0;
      background: #f8fafc;
    }
    .apply-monthly-recruit-box {
      display: grid;
      gap: 0px;
      min-width: 0;
      padding: 12px;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      background: #ffffff;
    }
    .apply-monthly-status-head {
      display: block;
    }
    .apply-monthly-status-title {
      color: #334155;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.25;
    }
    .apply-monthly-status-count {
      position: absolute;
      right: 0;
      top: -7px;
      color: #0c91f8;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.2;
      white-space: nowrap;
    }
    .apply-monthly-status-meta {
      position: relative;
      display: grid;
      align-content: start;
      gap: 12px;
      padding: 12px;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      background: #ffffff;
    }
    .apply-monthly-application-label {
      color: #334155;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.25;
      padding-right: 76px;
    }
    .apply-monthly-application-count {
      position: absolute;
      right: 12px;
      top: 17px;
      color: #0c91f8;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.2;
      text-align: right;
      white-space: nowrap;
    }
    .apply-monthly-application-genders {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 8px;
      min-width: 0;
      padding: 0;
      overflow: visible;
      background: transparent;
      color: #64748b;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.25;
    }
    .apply-monthly-application-gender {
      position: relative;
      min-width: 0;
      min-height: 48px;
      padding: 7px 8px;
      border-radius: 10px;
      background: #f8fafc;
      white-space: nowrap;
    }
    .apply-monthly-application-gender-label {
      position: absolute;
      left: 11px;
      top: 11px;
      color: #64748b;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.15;
    }
    .apply-monthly-application-gender-count {
      position: absolute;
      right: 11px;
      bottom: 9px;
      color: #334155;
      font-size: 17px;
      font-weight: 800;
      line-height: 1.1;
    }
    .apply-monthly-progress-track {
      position: relative;
      width: 100%;
      height: 8px;
      margin-top: 18px;
      margin-bottom: var(--apply-monthly-meta-gap);
      overflow: hidden;
      border-radius: 999px;
      background: #e5edf7;
    }
    .apply-monthly-progress-fill {
      width: var(--apply-monthly-progress, 0%);
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #54abff 0%, #0c91f8 100%);
    }
    .apply-monthly-gauge {
      position: relative;
      min-width: 0;
    }
    @media (min-width: 641px) {
      .apply-monthly-status {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 14px;
        row-gap: 8px;
        align-items: stretch;
      }
      .apply-monthly-recruit-box {
        grid-column: 1;
      }
      .apply-monthly-status-meta {
        grid-column: 2;
        grid-row: 1;
        background: #ffffff;
      }
      .apply-monthly-progress-track {
        margin-bottom: 0;
      }
    }
    .apply-participant-slot {
      position: relative;
      min-height: 90px;
      display: grid;
      place-items: center;
      gap: 7px;
      padding: 9px 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: #94a3b8;
      text-align: center;
      overflow: visible;
    }
    .apply-participant-slot.filled {
      color: var(--text);
    }
    .apply-participant-slot.is-existing {
      color: var(--text);
    }
    .apply-participant-avatar-wrap {
      position: relative;
      width: 50px;
      height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
    }
    .apply-participant-avatar {
      width: 50px;
      height: 50px;
      border: 2px solid #d1d5db;
      border-radius: 12px;
      background: #f9fafb;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      color: #94a3b8;
      font-size: 18px;
      font-weight: 900;
      line-height: 1;
    }
    .apply-participant-avatar.participant-flow-avatar {
      --participant-border-angle: 0deg;
      --participant-flow-color-1: #3b82f6;
      --participant-flow-color-2: #60a5fa;
      border: 2px solid transparent;
      background:
        linear-gradient(#fbfcfe, #fbfcfe) padding-box,
        conic-gradient(from var(--participant-border-angle), transparent 20%, var(--participant-flow-color-1), var(--participant-flow-color-2) 50%, transparent 80%) border-box,
        linear-gradient(#d1d5db, #d1d5db) border-box;
      animation: participant-border-spin 8s linear infinite;
      animation-delay: var(--participant-flow-delay, 0s);
      box-shadow: none;
    }
    .apply-participant-avatar.participant-flow-avatar.participant-gender-male {
      --participant-flow-color-1: #4a72f24d;
      --participant-flow-color-2: #3ac4ff9c;
    }
    .apply-participant-avatar.participant-flow-avatar.participant-gender-female {
      --participant-flow-color-1: #ffd9ec;
      --participant-flow-color-2: #ffbfe2;
    }
    @media (prefers-reduced-motion: reduce) {
      .apply-participant-avatar.participant-flow-avatar {
        animation: none;
      }
    }
    .apply-participant-slot.empty .apply-participant-avatar {
      border-style: dashed;
      border-color: #cbd5e1;
      background: #f8fafc;
    }
    .apply-participant-slot.empty .apply-participant-avatar svg {
      width: 22px;
      height: 22px;
      stroke-width: 2;
      color: #9ca3af;
    }
    .apply-participant-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transform: scale(1.16);
      transform-origin: center;
    }
    .apply-participant-label {
      max-width: 100%;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.2;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .apply-participant-label .join-my-card-participant-me-badge.apply-me-badge {
      position: static;
      transform: none;
      min-width: 24px;
      height: 18px;
      padding: 0 7px;
      font-size: 11px;
      font-weight: 700;
    }
    .apply-participant-remove {
      position: absolute;
      top: 0;
      right: calc(50% - 32px);
      z-index: 2;
      width: 20px;
      height: 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: #5d5d5d;
      color: #fff;
      padding: 0;
    }
    .apply-participant-remove svg {
      width: 12px;
      height: 12px;
      stroke-width: 2.3;
    }
    .apply-companion-add-row {
      display: none;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .apply-companion-add-button {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      border: 1px solid #dbe4ee;
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
      box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
      transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
    }
    .apply-companion-add-button:hover:not(:disabled) {
      border-color: rgba(104, 124, 214, 0.34);
      background: #f7f8ff;
      color: #4f63c6;
    }
    .apply-companion-add-button:disabled {
      opacity: .36;
      cursor: not-allowed;
      box-shadow: none;
    }
    .apply-companion-add-button svg {
      width: 17px;
      height: 17px;
      stroke-width: 2.5;
    }
    .apply-companion-gender-options.is-hidden {
      display: none;
    }
    .apply-companion-name {
      flex: 1 1 auto;
      min-width: 0;
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
      line-height: 1.35;
    }
    .apply-companion-gender-options {
      position: relative;
      display: flex;
      flex: 0 0 120px;
      width: 120px;
      height: 42px;
      min-height: 42px;
      gap: 0;
      padding: 4px;
      border: 0;
      border-radius: 10px;
      overflow: hidden;
      background: #f1f5f9;
      box-shadow: none;
      user-select: none;
    }
    .apply-companion-gender-button {
      position: relative;
      z-index: 1;
      flex: 1 1 0;
      min-width: 0;
      min-height: 34px;
      border: 0;
      border-radius: 8px;
      background: transparent;
      color: #64748b;
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
      transition: color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .apply-companion-gender-button:hover {
      color: #1e293b;
    }
    .apply-companion-gender-button:focus-visible {
      outline: 2px solid rgba(59, 130, 246, 0.32);
      outline-offset: -2px;
    }
    .apply-companion-gender-button.active {
      z-index: 1;
      border-color: transparent;
      background: #fff;
      color: #0f172a;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    }
    .apply-companion-error {
      display: none;
      color: var(--red);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.4;
    }
    .field.has-error .apply-companion-error {
      display: block;
    }
    .apply-people-radio {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    .apply-people-radio input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }
    .waitlist-modal-copy {
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      line-height: 1.65;
      word-break: keep-all;
    }
    #waitlistApplyModal .modal.small {
      overflow: hidden;
    }
    #waitlistApplyModal .modal-scroll {
      padding-right: 0;
      scrollbar-gutter: auto;
    }
    #waitlistApplyModal .modal-header {
      padding: var(--modal-sheet-header-padding-mobile);
      border-bottom: 1px solid var(--border);
    }
    #waitlistApplyModal .modal-title {
      font-size: var(--modal-sub-title-mobile);
      font-weight: var(--modal-sub-title-weight);
      line-height: 1.25;
    }
    #waitlistApplyModal .modal-body {
      padding: 18px 20px 0;
    }
    .waitlist-modal-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin: 14px -20px 0;
      padding: 12px 20px 16px;
      border-top: 1px solid var(--border);
      background: #fff;
    }
    .waitlist-modal-actions .button {
      min-height: 48px;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.2;
    }
    .detail-apply-actions {
      display: flex;
      gap: 10px;
      margin-top: 14px;
    }
    .detail-apply-actions .button {
      flex: 1;
      min-height: 48px;
      font-weight: 800;
    }
    .builder-bottom {
      grid-template-columns: var(--modal-bottom-prev-width) minmax(0, 1fr);
    }
    .builder-bottom .button,
    .detail-modal-actions .button,
    #globalApplyOverlay .detail-apply-actions .button,
    .privacy-modal-footer .button,
    .waitlist-modal-actions .button,
    .travel-date-view,
    .calendar-empty-schedule-action,
    .apply-complete-close,
    .builder-alert-button {
      font-size: var(--modal-bottom-button-font-size-pc);
      font-weight: var(--modal-bottom-button-font-weight);
    }
    .builder-bottom .button.primary,
    .detail-modal-actions .button.primary,
    #globalApplyOverlay .detail-apply-actions .button.primary,
    .privacy-modal-footer .button.primary,
    .waitlist-modal-actions .button.primary,
    .travel-date-view,
    .calendar-empty-schedule-action,
    .apply-complete-close,
    .builder-alert-button {
      background: var(--modal-bottom-primary-color);
      border-color: var(--modal-bottom-primary-color);
      color: #fff;
    }
    #builderPrevButton,
    #detailModal.builder-select-mode .detail-modal-actions .button.secondary {
      flex: 0 0 var(--modal-bottom-prev-width);
      width: var(--modal-bottom-prev-width);
      min-width: var(--modal-bottom-prev-width);
      padding-right: 0;
      padding-left: 0;
    }
    #detailModal.builder-select-mode .detail-modal-actions {
      grid-template-columns: var(--modal-bottom-prev-width) minmax(0, 1fr);
    }
    #detailModal.builder-select-mode.builder-product-detail-mode .detail-modal-actions {
      grid-template-columns: minmax(0, 1fr);
    }
    @media (min-width: 641px) {
      #detailModal.builder-select-mode.builder-product-detail-mode .detail-modal-actions {
        grid-template-columns: minmax(0, 1fr);
        justify-content: stretch;
      }
    }
    @media (max-width: 640px) {
      .builder-bottom .button,
      .detail-modal-actions .button,
      #globalApplyOverlay .detail-apply-actions .button,
      .privacy-modal-footer .button,
      .waitlist-modal-actions .button,
      .travel-date-view,
      .calendar-empty-schedule-action,
      .apply-complete-close,
      .builder-alert-button {
        font-size: var(--modal-bottom-button-font-size-mo);
        font-weight: var(--modal-bottom-button-font-weight);
      }
    }
    @media (max-width: 520px) {
      .detail-apply-grid {
        grid-template-columns: 1fr;
      }
    }
    .phone-info {
      display: grid;
      gap: 12px;
    }
    #phoneModal .modal.small {
      width: min(420px, calc(100vw - 48px));
      border-radius: 20px;
      box-shadow: 0 20px 56px rgba(15, 23, 42, 0.22);
    }
    #phoneModal .modal-scroll {
      padding-right: 0;
      scrollbar-gutter: auto;
    }
    #phoneModal .modal-header {
      display: grid;
      grid-template-columns: var(--modal-close-size) minmax(0, 1fr) var(--modal-close-size);
      align-items: center;
      gap: 8px;
      padding: 12px 18px;
    }
    #phoneModal .modal-title {
      grid-column: 2;
      text-align: center;
      font-size: 19px;
      font-weight: 800;
      line-height: 1.25;
    }
    #phoneModal .modal-close-icon {
      grid-column: 3;
      justify-self: center;
    }
    #phoneModal .modal-body {
      padding: 18px 20px 20px;
    }
    .phone-intro {
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr);
      align-items: center;
      gap: 12px;
      padding: 14px;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
    }
    .phone-intro-icon {
      width: 44px;
      height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 14px;
      background: #eff6ff;
      color: #3489f8;
    }
    .phone-intro-icon svg {
      width: 22px;
      height: 22px;
    }
    .phone-intro-title {
      color: var(--text);
      font-size: 17px;
      font-weight: 800;
      line-height: 1.3;
    }
    .phone-intro-copy {
      margin-top: 3px;
      color: var(--text-soft);
      font-size: 17px;
      font-weight: 600;
      line-height: 1.45;
    }
    .phone-number-box {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px;
      border-radius: 14px;
      background: var(--surface-soft);
      border: 1px solid var(--border);
      letter-spacing: 0;
    }
    .phone-number-label {
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.2;
    }
    .phone-number-value {
      color: var(--text);
      font-size: 22px;
      font-weight: 900;
      line-height: 1.2;
      white-space: nowrap;
    }
    .phone-hours {
      display: grid;
      gap: 8px;
      padding: 14px 16px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
    }
    .phone-hours-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      font-size: 15px;
    }
    .phone-hours-label {
      color: var(--text-soft);
      font-weight: 700;
    }
    .phone-hours-value {
      color: var(--text);
      font-weight: 800;
      text-align: right;
    }
    .phone-call-button {
      width: 100%;
      min-height: 50px;
      gap: 8px;
      border-radius: 14px;
      background: var(--modal-bottom-primary-color);
      border-color: var(--modal-bottom-primary-color);
      color: #fff;
      font-size: 17px;
      font-weight: 800;
      line-height: 1.2;
    }
    .phone-call-button svg {
      width: 18px;
      height: 18px;
    }
    .detail-slider {
      position: relative;
      margin-bottom: 24px;
      height: 280px;
      border-radius: 18px;
      overflow: hidden;
      background: #e2e8f0;
    }
    .detail-slider-viewport {
      width: 100%;
      height: 100%;
      overflow: hidden;
    }
    .detail-slider-track {
      display: flex;
      width: 100%;
      height: 100%;
      transition: transform .35s ease;
    }
    .detail-thumb {
      width: 100%;
      min-width: 100%;
      height: 280px;
      object-fit: cover;
    }
    .detail-slider-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 27px;
      height: 49px;
      color: transparent;
      font-size: 0;
      line-height: 0;
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/spr_com.png");
      background-repeat: no-repeat;
      background-color: transparent;
      border: 0;
      padding: 0;
      z-index: 1;
    }
    .detail-slider-nav.prev {
      left: 14px;
      background-position: 0 0;
    }
    .detail-slider-nav.next {
      right: 14px;
      background-position: -27px 0;
    }
    .detail-slider-dots {
      position: absolute;
      left: 50%;
      bottom: 14px;
      transform: translateX(-50%);
      width: 112px;
      height: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      overflow: hidden;
      z-index: 1;
    }
    .detail-slider-dots.join-slide-dots {
      min-height: 18px;
      margin: 0;
      pointer-events: auto;
    }
    .detail-slider-back {
      display: none;
    }
    .detail-slider-actions {
      display: none;
    }
    .detail-mobile-sticky-header {
      display: none;
    }
    .detail-pc-header-actions {
      display: none;
    }
    .detail-mobile-header-button {
      border: 0;
      background: transparent;
      color: #373A3C;
      padding: 0;
    }
    .detail-mobile-header-button svg {
      width: 24px;
      height: 24px;
      display: block;
    }
    .detail-mobile-header-button.is-wished {
      color: #ff5b41;
    }
    .detail-mobile-header-button.is-wished svg {
      fill: #ff5b41;
      stroke: #ff5b41;
    }
    .detail-mobile-sticky-title {
      min-width: 0;
      overflow: hidden;
      color: #101418;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.35;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .detail-content-sheet {
      position: relative;
      padding-bottom: 180px;
    }
    .detail-slider-pagination {
      position: absolute;
      right: 14px;
      bottom: 12px;
      z-index: 2;
      min-width: 50px;
      height: 24px;
      padding: 0 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.52);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
    }
    .detail-slider-pagination svg {
      width: 14px;
      height: 14px;
    }
    .detail-slider-dot {
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.55);
      border: 0;
      padding: 0;
      flex: 0 0 8px;
      opacity: .55;
      transform: scale(.33);
      transform-origin: center;
      transition: transform .2s ease, left .2s ease, background .2s ease, opacity .2s ease;
    }
    .detail-slider-dots .join-slide-dot {
      background: rgba(255, 255, 255, 0.55);
      cursor: pointer;
    }
    .detail-slider-dots .join-slide-dot.active {
      background: #fff;
    }
    .detail-slider-dot.active,
    .detail-slider-dot.swiper-pagination-bullet-active {
      background: #fff;
      opacity: 1;
      transform: scale(1);
    }
    .detail-slider-dot.swiper-pagination-bullet-active-prev,
    .detail-slider-dot.swiper-pagination-bullet-active-next {
      background: rgba(255, 255, 255, 0.78);
      opacity: .78;
      transform: scale(.66);
    }
    .detail-slider-dot.swiper-pagination-bullet-active-prev-prev,
    .detail-slider-dot.swiper-pagination-bullet-active-next-next {
      background: rgba(255, 255, 255, 0.58);
      opacity: .58;
      transform: scale(.33);
    }
    @media (max-width: 640px) {
      #detailModal.open .detail-mobile-sticky-header,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header {
        position: fixed;
        left: 0;
        top: 0;
        right: 0;
        z-index: 30;
        height: 56px;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 36px 36px;
        align-items: center;
        gap: 0;
        padding: 0 8px;
        background: #ffffff;
        box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08);
        opacity: 0;
        pointer-events: none;
        transform: none !important;
        transition: opacity .1s ease !important;
      }
      #detailModal.open .detail-mobile-sticky-header.is-visible,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header.is-visible {
        opacity: 1;
        pointer-events: auto;
        transform: none !important;
      }
      #detailModal.open .detail-mobile-header-button,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-header-button {
        width: 36px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #373A3C;
      }
      #detailModal.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child {
        width: 44px;
      }
      #detailModal.open .detail-slider-back,
      #detailModal.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-back,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child {
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
      }
      #detailModal.open .detail-slider-back svg,
      #detailModal.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child svg,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-back svg,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child svg {
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
        stroke-width: 2 !important;
      }
      #detailModal.open .modal-header,
      body > #detailModal.sgj-portal-overlay.open .modal-header {
        display: none;
      }
      #detailModal.open .detail-slider-nav,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-nav {
        display: none;
      }
      #detailModal.open .detail-slider-back,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-back {
        position: absolute;
        left: 8px;
        top: 6px;
        z-index: 2;
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #fff;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      #detailModal.open .detail-slider-back svg,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-back svg {
        width: 24px;
        height: 24px;
        filter: drop-shadow(0 1px 2px rgba(15, 23, 42, .55));
      }
      #detailModal.open .detail-slider-actions,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-actions {
        position: absolute;
        top: 6px;
        right: 20px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0;
      }
      #detailModal.open .detail-slider-actions .detail-mobile-header-button,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-actions .detail-mobile-header-button {
        width: 36px;
        height: 44px;
        color: #fff !important;
      }
      #detailModal.open .detail-slider-actions .detail-mobile-header-button svg,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-actions .detail-mobile-header-button svg {
        width: 24px;
        height: 24px;
        stroke: currentColor;
        filter: drop-shadow(0 1px 2px rgba(15, 23, 42, .55));
      }
      .detail-slider-dots.is-windowed {
        width: 112px;
        height: 18px;
        display: block;
        gap: 0;
      }
      .detail-slider-dots.is-windowed .detail-slider-dot {
        position: absolute;
        top: 50%;
        left: 50%;
        opacity: 0;
        transform: translate(-50%, -50%) translateX(var(--dot-x, 0)) scale(var(--dot-scale, .33));
        transition: transform .2s ease, left .2s ease, background .2s ease, opacity .2s ease;
        pointer-events: none;
      }
      .detail-slider-dots.is-windowed .detail-slider-dot.is-visible {
        opacity: 1;
        pointer-events: auto;
      }
    }
    .detail-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin: 20px 0;
    }
    .detail-grid > div {
      padding: 16px;
      border-radius: 16px;
      background: #fff;
      border: 1px solid var(--border);
    }
    .detail-period-card {
      padding: 16px;
      border-radius: 16px;
      background: #fff;
      border: 1px solid var(--border);
      margin: 20px 0;
    }
    .detail-period-row {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }
    .detail-period-arrow {
      color: var(--text-soft);
      font-size: 22px;
      font-weight: 800;
      line-height: 1;
    }
    .detail-period-duration {
      color: var(--blue);
      font-size: var(--font-detail-duration);
      font-weight: var(--font-weight-detail-duration);
      white-space: nowrap;
    }
    .flight-info-card {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      gap: 14px;
      align-items: center;
      padding: 18px 16px;
      margin: 0 0 20px;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
    }
    .flight-segment {
      display: grid;
      justify-items: start;
      min-width: 0;
      text-align: left;
    }
    .flight-segment:last-child {
      justify-items: end;
      text-align: right;
    }
    .flight-label {
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 800;
      margin-bottom: 4px;
    }
    .flight-time {
      color: var(--text);
      font-size: var(--font-detail-flight-time);
      font-weight: var(--font-weight-detail-flight-time);
      line-height: 1.2;
    }
    .flight-time-date,
    .flight-time-clock {
      display: block;
      white-space: nowrap;
    }
    .flight-time-date-mobile {
      display: none;
    }
    .flight-time-date-desktop {
      display: inline;
    }
    .flight-time-weekday {
      color: var(--text-soft);
      font-size: calc(var(--font-detail-flight-time) - 1px);
      font-weight: var(--font-weight-detail-flight-time);
    }
    .flight-time-clock {
      font-size: var(--font-detail-flight-clock);
      font-weight: var(--font-weight-detail-flight-clock);
    }
    .flight-airline {
      margin-top: 6px;
      color: var(--text);
      font-size: var(--font-detail-flight-airline);
      font-weight: var(--font-weight-detail-flight-airline);
    }
    .flight-code {
      margin-top: 1px;
      color: var(--text-soft);
      font-size: var(--font-detail-flight-code);
      font-weight: var(--font-weight-detail-flight-code);
    }
    .flight-duration {
      min-width: 77px;
      padding: 4px 14px;
      border-radius: 999px;
      background: #373A3C;
      color: #ffffff;
      font-size: 15px;
      font-weight: 500;
      text-align: center;
      white-space: nowrap;
    }
    .flight-info-card.is-flight-placeholder .flight-time,
    .flight-info-card.is-flight-placeholder .flight-airline,
    .flight-info-card.is-flight-placeholder .flight-code {
      display: none;
    }
    .detail-label {
      font-size: var(--font-detail-label);
      color: var(--text-soft);
      font-weight: var(--font-weight-detail-label);
      margin-bottom: 6px;
    }
    .detail-value {
      font-size: var(--font-detail-date);
      font-weight: var(--font-weight-detail-date);
    }
    .detail-main-title {
      font-size: var(--font-detail-main-title);
      font-weight: var(--font-weight-detail-main-title);
      margin: 0 0 15px;
      padding-left: 0;
      line-height: 1.25;
      display: block;
      overflow: visible;
      text-overflow: clip;
    }
    .detail-main-title.has-detail-title-copy {
      margin-bottom: 0;
    }
    .detail-title-copy {
      margin: -4px 0 4px;
      color: #69727d;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.5;
      word-break: keep-all;
    }
    .detail-price-value {
      display: inline-flex;
      align-items: baseline;
      justify-content: flex-end;
      gap: 0;
      margin-left: auto;
      text-align: right;
      white-space: nowrap;
      color: var(--blue);
      font-size: var(--font-detail-price);
      font-weight: var(--font-weight-detail-price);
    }
    .detail-price-unit {
      color: var(--text-soft);
      font-size: 18px;
      font-weight: 600;
      margin-left: 2px;
    }
    .price-box {
      padding: 18px;
      margin-bottom: 20px;
      border-radius: 18px;
      background: #fff;
      border: 1px solid #dbe4ee;
    }
    .detail-anchor-tabs {
      position: sticky;
      top: 0;
      z-index: 2;
      display: none;
      gap: 20px;
      --detail-anchor-indicator-left: 0px;
      --detail-anchor-indicator-width: 0px;
      --detail-anchor-indicator-opacity: 0;
      padding: 12px 0 0;
      margin: 15px 0 0;
      background: rgba(255, 255, 255, 0.96);
      backdrop-filter: blur(8px);
    }
    .detail-anchor-tabs::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: var(--detail-anchor-indicator-width);
      height: 2px;
      border-radius: 999px;
      background: #101418;
      opacity: var(--detail-anchor-indicator-opacity);
      transform: translate3d(var(--detail-anchor-indicator-left), 0, 0);
      transition:
        transform .42s cubic-bezier(.16, 1, .3, 1),
        width .42s cubic-bezier(.16, 1, .3, 1),
        opacity .16s ease;
      pointer-events: none;
      will-change: transform, width;
    }
    .detail-anchor-tabs.is-visible {
      display: flex;
    }
    .detail-anchor-tabs.is-visible .detail-anchor-chip {
      font-weight: 500;
    }
    .detail-anchor-tabs.is-suppressed {
      display: none !important;
    }
    .detail-anchor-chip {
      position: relative;
      border: 0;
      background: transparent;
      color: #101418;
      border-radius: 0;
      padding: 0 0 12px;
      font-size: 18px;
      font-weight: 600;
      line-height: 1.2;
      transition: color .2s ease;
      white-space: nowrap;
      flex: 0 0 auto;
    }
    .detail-anchor-chip:hover,
    .detail-anchor-chip.active {
      color: #101418;
    }
    .detail-anchor-chip.active::after {
      content: none;
    }
    @media (prefers-reduced-motion: reduce) {
      .detail-anchor-tabs::after {
        transition: none;
      }
    }
    .detail-section {
      margin-top: 24px;
    }
    .detail-section-title {
      font-size: 20px;
      font-weight: 800;
      margin: 0 0 12px;
    }
    .detail-content-tabs {
      display: flex;
      gap: 8px;
      margin: 0 0 12px;
    }
    .detail-content-tab {
      flex: 1 1 0;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: #fff;
      color: var(--text-soft);
      padding: 7px 15px;
      font-size: var(--font-label);
      font-weight: 800;
      line-height: 1.2;
      transition: .2s ease;
    }
    .detail-content-tab.active {
      border-color: #9aa5bf;
      background: #9aa5bf;
      color: #fff;
    }
    .detail-tab-panel {
      display: none;
    }
    .detail-tab-panel.active {
      display: block;
    }
    .detail-place-card,
    .detail-review-card {
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      padding: 16px 18px;
    }
    .detail-place-title,
    .detail-review-title {
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 8px;
    }
    .detail-place-copy,
    .detail-review-copy {
      color: var(--text-soft);
      font-size: 16px;
      font-weight: 600;
      line-height: 1.6;
    }
    .detail-place-gallery {
      display: grid;
      gap: 12px;
      margin-top: 0;
    }
    .detail-place-photo {
      width: 100%;
      height: auto;
      display: block;
      object-fit: contain;
      border-radius: 0;
      background: #e2e8f0;
    }
    .detail-review-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 76px;
      gap: 12px;
      border-color: #eef2f7;
      background: #f8fafc;
    }
    .detail-review-carousel {
      display: grid;
      gap: 12px;
      overflow: visible;
      padding-right: 0;
    }
    .detail-review-carousel::-webkit-scrollbar {
      display: none;
    }
    .detail-review-carousel .detail-review-card {
      width: 100%;
    }
    .detail-review-carousel .detail-review-card[data-review-clone="true"] {
      display: none;
    }
    .detail-review-head {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 8px;
      grid-column: 1;
      grid-row: 1;
    }
    .detail-review-stars {
      display: inline-flex;
      align-items: center;
      gap: 1px;
      color: #ffbf00;
      line-height: 1;
      flex: 0 0 auto;
    }
    .detail-review-stars svg {
      display: block;
      width: 16px;
      height: 16px;
      color: #ffbf00;
    }
    .detail-review-time {
      color: #495056;
      font-size: 14px;
      font-weight: 500;
    }
    .detail-review-author {
      color: #495056;
      font-size: 14px;
      font-weight: 500;
    }
    .detail-review-author::before {
      content: "\00B7";
      color: var(--text-soft);
      margin-right: 8px;
    }
    .detail-review-text {
      grid-column: 1;
      grid-row: 2;
      color: var(--text);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.55;
      margin-bottom: 8px;
    }
    .detail-review-thumb-wrap {
      position: relative;
      grid-column: 2;
      grid-row: 1 / span 2;
      align-self: center;
    }
    .detail-review-thumb-wrap:has(.detail-review-thumb[src=""]) {
      display: none;
    }
    .detail-review-thumb {
      width: 76px;
      height: 76px;
      object-fit: cover;
      border-radius: 10px;
      background: #e2e8f0;
    }
    .detail-review-more {
      position: absolute;
      right: 5px;
      bottom: 5px;
      padding: 2px 5px;
      border-radius: 999px;
      background: rgba(15, 23, 42, 0.82);
      color: #fff;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.2;
    }
    .detail-section-title.with-people {
      position: relative;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .detail-section-title.with-people::before {
      content: "";
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      background: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/people.svg") center / contain no-repeat;
    }
    .participant-info-wrap {
      position: relative;
      margin-left: -4px;
      display: inline-flex;
      align-items: center;
    }
    .participant-info-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: #8b95a1;
      padding: 0;
      flex: 0 0 22px;
      cursor: pointer;
    }
    .participant-info-button svg {
      display: block;
      width: 16px;
      height: 16px;
    }
    .participant-info-tooltip {
      position: absolute;
      right: 0;
      bottom: calc(100% + 8px);
      z-index: 8;
      width: 220px;
      padding: 10px 12px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.98);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
      color: var(--text);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.45;
      opacity: 0;
      visibility: hidden;
      transform: translateY(4px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      pointer-events: none;
    }
    .participant-info-tooltip::after {
      content: none;
      position: absolute;
      right: 8px;
      top: 100%;
      width: 10px;
      height: 10px;
      background: rgba(255, 255, 255, 0.98);
      border-right: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      transform: translateY(-5px) rotate(45deg);
    }
    .participant-info-wrap:not(.suppress-hover):hover .participant-info-tooltip,
    .participant-info-wrap:not(.suppress-hover):focus-within .participant-info-tooltip,
    .participant-info-wrap.open .participant-info-tooltip {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .detail-list-card,
    .detail-note-card,
    .detail-schedule {
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      padding: 16px 18px;
    }
    .detail-list {
      margin: 0;
      padding-left: 0;
      color: var(--text);
      list-style: none;
    }
    .detail-list li {
      position: relative;
      padding-left: 17px;
      display: block;
    }
    .detail-list li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.72em;
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: #b6bcc6;
      transform: translateY(-50%);
    }
    .detail-list li + li {
      margin-top: 1px;
    }
    .detail-note-card {
      color: #373A3C;
      line-height: 1.7;
      border: 0;
      border-radius: 15px;
      background: #f8f9fa;
    }
    .detail-note-card.collapsible {
      position: relative;
      max-height: calc(1.7em * 3.4 + 32px);
      overflow: hidden;
      padding-bottom: 42px;
    }
    .detail-note-card.collapsible::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 64px;
      background: linear-gradient(to bottom, rgba(248,249,250,0), #f8f9fa 72%);
      pointer-events: none;
    }
    .detail-note-card.expanded {
      max-height: none;
    }
    .detail-note-card.expanded::after {
      display: none;
    }
    .detail-note-toggle {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1;
      width: 100%;
      height: 42px;
      transform: none;
      border: 0;
      border-radius: 0;
      background-color: transparent;
      padding: 0;
    }
    .detail-note-toggle::before {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 10px;
      width: 15px;
      height: 10px;
      transform: translateX(-50%);
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/spr_com.png");
      background-repeat: no-repeat;
      background-position: -74px -11px;
    }
    .detail-note-card.expanded .detail-note-toggle {
      transform: none;
    }
    .detail-note-card.expanded .detail-note-toggle::before {
      background-position: -74px 0;
    }
    .detail-schedule {
      position: relative;
      display: grid;
      gap: 0;
    }
    .detail-schedule-item {
      border-bottom: 1px solid #eef2f7;
    }
    .detail-schedule-item:last-child {
      border-bottom: 0;
    }
    .detail-schedule-row {
      width: 100%;
      display: grid;
      grid-template-columns: 86px minmax(0, 1fr) 24px;
      column-gap: 0;
      align-items: start;
      padding: 14px 0;
      text-align: left;
      cursor: pointer;
    }
    .detail-schedule-item:first-child .detail-schedule-row {
      padding-top: 0;
    }
    .detail-schedule-item:last-child .detail-schedule-row {
      padding-bottom: 0;
    }
    .detail-schedule-day {
      display: grid;
      gap: 3px;
      font-weight: 800;
      color: var(--blue);
    }
    .detail-schedule-date {
      display: block;
      margin-top: 0;
      color: var(--text-soft);
      font-size: 17px;
      font-weight: 700;
    }
    .detail-schedule-copy {
      position: relative;
      margin-right: 12px;
      padding-left: 0;
      color: var(--text);
      line-height: 1.6;
      overflow: hidden;
      max-height: 47px;
      transition: max-height .34s ease;
      will-change: max-height;
    }
    .detail-schedule-copy::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 18px;
      pointer-events: none;
      background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
    }
    .detail-schedule-item.open .detail-schedule-copy {
      max-height: var(--schedule-open-height, 520px);
    }
    .detail-schedule-item.open .detail-schedule-copy::after {
      display: none;
    }
    .detail-schedule-timeline {
      position: relative;
      display: grid;
      gap: 3px;
      padding-left: 20px;
    }
    .detail-schedule-timeline::before {
      content: "";
      position: absolute;
      left: 4px;
      top: 12px;
      bottom: 10px;
      width: 1px;
      background: #d1d5db;
    }
    .detail-schedule-point {
      position: relative;
      color: var(--text);
      font-weight: 600;
      line-height: 1.55;
    }
    .detail-schedule-point::before {
      content: "";
      position: absolute;
      left: -19px;
      top: 9px;
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: #0e60e7;
    }
    .detail-schedule-extra {
      display: grid;
      gap: 2px;
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px solid #eef2f7;
    }
    .detail-schedule-extra-row {
      display: grid;
      grid-template-columns: 22px 1fr;
      gap: 2px;
      align-items: start;
    }
    .detail-schedule-extra-icon {
      position: relative;
      top: 1px;
      width: 20px;
      height: 20px;
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/spr_com.png");
      background-repeat: no-repeat;
      flex: 0 0 20px;
    }
    .detail-schedule-extra-icon.hotel {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/hotel.svg");
      background-position: center;
      background-size: contain;
    }
    .detail-schedule-extra-icon.meal {
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/meal.svg");
      background-position: center;
      background-size: contain;
    }
    .detail-schedule-extra-title {
      margin-left: 3px;
      color: var(--text);
      font-size: var(--font-detail-schedule-hotel);
      font-weight: var(--font-weight-detail-schedule-hotel);
      line-height: 1.4;
    }
    .detail-meal-list {
      display: flex;
      flex-wrap: wrap;
      gap: 0 4px;
      margin-left: 3px;
      color: var(--text);
      font-size: var(--font-detail-schedule-meal);
      line-height: 1.5;
    }
    .detail-meal-item {
      position: relative;
      display: inline-flex;
      align-items: baseline;
      gap: 3px;
      padding-left: 8px;
      white-space: nowrap;
    }
    .detail-meal-item::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.75em;
      width: 4px;
      height: 4px;
      border-radius: 999px;
      background: #cbd5e1;
      transform: translateY(-50%);
    }
    .detail-meal-item + .detail-meal-item::before {
      content: "";
      margin-right: 0;
    }
    .detail-meal-item:first-child {
      padding-left: 0;
    }
    .detail-meal-item:first-child::before {
      display: none;
    }
    .detail-meal-label {
      font-weight: var(--font-weight-detail-schedule-meal-label);
    }
    .detail-meal-label::after {
      content: "";
      margin: 0;
      font-weight: 600;
    }
    .detail-meal-menu {
      font-weight: var(--font-weight-detail-schedule-meal-menu);
    }
    .detail-list,
    .detail-note-card,
    .detail-schedule-copy,
    .detail-schedule-point,
    .detail-schedule-extra-title,
    .detail-meal-list,
    .detail-place-copy,
    .detail-review-copy,
    .detail-review-text {
      font-size: var(--font-detail-section-content);
      line-height: var(--line-height-detail-section-content);
    }
    .detail-list,
    .detail-note-card,
    .detail-schedule-copy,
    .detail-place-copy,
    .detail-review-copy,
    .detail-review-text {
      font-weight: var(--font-weight-detail-section-content);
    }
    .detail-schedule-extra-title {
      font-size: var(--font-detail-schedule-hotel);
      font-weight: var(--font-weight-detail-schedule-hotel);
    }
    .detail-meal-list {
      font-size: var(--font-detail-schedule-meal);
    }
    .detail-schedule-toggle {
      position: relative;
      width: 24px;
      height: 24px;
      justify-self: end;
      margin-top: 1px;
      border: 0;
      background: transparent;
    }
    .detail-schedule-toggle::before {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: 15px;
      height: 10px;
      transform: translate(-50%, -50%);
      background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/spr_com.png");
      background-repeat: no-repeat;
      background-position: -74px -11px;
    }
    .detail-schedule-item.open .detail-schedule-toggle::before {
      background-position: -74px 0;
    }
    .detail-product-head {
      display: grid;
      gap: 8px;
      margin-top: 0;
    }
    .detail-product-price-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      padding-left: 10px;
    }
    .detail-family-periods {
      display: grid;
      gap: 10px;
      margin-top: 4px;
      padding: 15px 0;
      border-radius: 14px;
      background: #fff;
    }
    .detail-progressive-period {
      min-height: 68px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      margin-top: 4px;
      padding: 14px 16px;
      border-radius: 14px;
      background: #f3f4f6;
      color: #667085;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.45;
      box-sizing: border-box;
    }
    .detail-progressive-period-dot {
      width: 8px;
      height: 8px;
      flex: 0 0 auto;
      border-radius: 50%;
      background: #9ca3af;
    }
    .detail-progressive-shell {
      display: grid;
      gap: 14px;
      padding: 20px 0 28px;
    }
    .detail-progressive-shell-block {
      min-height: 132px;
      border-radius: 16px;
      background: #f3f4f6;
    }
    .detail-progressive-shell-block.is-summary {
      min-height: 176px;
    }
    .detail-progressive-shell-block.is-wide {
      min-height: 240px;
    }
    .detail-load-retry-notice {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 14px;
      border-radius: 12px;
      background: #fff7ed;
      color: #9a3412;
      font-size: 14px;
      font-weight: 650;
      line-height: 1.45;
    }
    .detail-load-retry-notice button,
    .detail-flight-retry-button {
      flex: 0 0 auto;
      min-height: 34px;
      padding: 7px 12px;
      border: 1px solid #fdba74;
      border-radius: 9px;
      background: #fff;
      color: #c2410c;
      font: inherit;
      font-weight: 750;
      cursor: pointer;
    }
    .detail-family-periods.is-switching {
      pointer-events: none;
    }
    .detail-family-period-title {
      color: #101418;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.35;
    }
    .detail-family-period-options {
      display: flex;
      align-items: stretch;
      gap: 8px;
    }
    .detail-family-period-option {
      min-width: 0;
      flex: 1 1 0;
      display: grid;
      grid-template-columns: 18px minmax(0, 1fr);
      gap: 9px;
      align-items: center;
      min-height: 118px;
      padding: 10px;
      border: 2px solid #dfe4ea;
      border-radius: 10px;
      background: #fff;
      color: #373a3c;
      text-align: left;
      cursor: pointer;
      transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
    }
    @media (hover: hover) and (pointer: fine) {
      .detail-family-period-option:hover {
        border-color: #94c9fb;
        background: #f7fbff;
      }
    }
    .detail-family-period-option.is-selected {
      border-color: #54abff;
      background: #fff;
      box-shadow: 0 0 0 1px rgba(16, 139, 255, .08);
    }
    .detail-family-period-radio {
      width: 18px;
      height: 18px;
      display: inline-grid;
      place-items: center;
      border: 1.5px solid #aeb7c2;
      border-radius: 50%;
      background: #fff;
    }
    .detail-family-period-option.is-selected .detail-family-period-radio {
      border-color: #108bff;
    }
    .detail-family-period-option.is-selected .detail-family-period-radio::after {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #108bff;
    }
    .detail-family-period-copy {
      min-width: 0;
      display: grid;
      gap: 4px;
    }
    .detail-family-period-copy strong {
      color: #373a3c;
      font-size: 18px;
      font-weight: 800;
      line-height: 1.25;
      white-space: nowrap;
    }
    .detail-family-period-copy span {
      color: #69727d;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.25;
      white-space: nowrap;
    }
    .detail-family-period-copy .detail-family-period-departure {
      color: #69727d;
      font-size: 15px;
      font-weight: 700;
    }
    .detail-family-period-copy .detail-family-period-golf {
      color: #227ed5;
      font-size: 14px;
      font-weight: 600;
    }
    .detail-family-period-copy .detail-family-period-price {
      margin-top: 2px;
      color: #373a3c;
      font-size: 17px;
      font-weight: 800;
    }
    .detail-product-price-label {
      color: #848c94;
      font-size: 15px;
      font-weight: 600;
    }
    .detail-participant-status-card,
    .detail-summary-card,
    .detail-note-card,
    .detail-info-box {
      border: 0;
      border-radius: 15px;
      background: #f8f9fa;
      padding: 14px;
    }
    .detail-benefit-kicker {
      color: #101418;
      font-size: 20px;
      font-weight: 700;
      margin: 10px 0 8px;
    }
    .detail-participant-status {
      margin-top: 10px;
    }
    .detail-participant-status-title {
      color: #101418;
      font-size: 20px;
      font-weight: 700;
      margin: 0 0 14px;
    }
    .detail-participant-summary {
      display: grid;
      gap: 6px;
      margin-bottom: 14px;
    }
    .detail-participant-count {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #0055cc;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.35;
    }
    .detail-participant-count svg {
      width: 22px;
      height: 22px;
      flex: 0 0 22px;
      color: #373a3c;
    }
    .detail-participant-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 4px;
      color: #373a3c;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }
    .detail-participant-meta-item {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .detail-participant-meta-separator {
      color: #c1c7cd;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.45;
    }
    .detail-participant-meta-item svg {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      color: currentColor;
    }
    .detail-participant-status-card {
      display: grid;
      gap: 16px;
    }
    .detail-participant-status-card.monthly {
      gap: 14px;
    }
    .detail-monthly-mobile-only {
      display: none;
    }
    .detail-monthly-desktop-only {
      display: contents;
    }
    .detail-monthly-progress {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: center;
      gap: 18px;
      padding: 16px;
      border-radius: 16px;
      background: #fff;
    }
    .detail-monthly-progress.detail-monthly-mobile-only {
      display: none;
    }
    .detail-monthly-member-side {
      display: flex;
      align-items: center;
      min-width: 0;
      gap: 14px;
    }
    .detail-monthly-member-copy {
      display: grid;
      gap: 4px;
      min-width: 0;
    }
    .detail-monthly-member-title {
      color: #101418;
      font-size: 23px;
      font-weight: 700;
      line-height: 1.2;
    }
    .detail-monthly-member-sub {
      color: #848c94;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.3;
    }
    .detail-monthly-gauge {
      display: grid;
      gap: 8px;
      min-width: 0;
    }
    .detail-monthly-gauge-head {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 10px;
      color: #848c94;
      font-size: 17px;
      font-weight: 600;
    }
    .detail-monthly-gauge-count {
      color: #4887ff;
      font-size: 20px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .detail-monthly-gauge .detail-participant-gauge-track {
      height: 10px;
      background: #e8eef8;
    }
    .detail-monthly-gauge .detail-participant-gauge-fill {
      background: linear-gradient(90deg, #4f8cff, #20c997);
    }
    .detail-monthly-progress .detail-participant-info-grid {
      padding: 14px 0 0;
      border-top: 1px solid #edf0f2;
      border-radius: 0;
      background: transparent;
    }
    .detail-monthly-progress .detail-participant-info-grid::after {
      display: none;
    }
    .detail-monthly-progress .detail-participant-info-cell {
      padding: 0 14px;
    }
    .detail-monthly-progress .detail-participant-info-cell:first-child {
      padding-left: 0;
    }
    .detail-monthly-progress .detail-participant-info-cell:last-child {
      padding-right: 0;
      border-left: 1px solid #e5e7eb;
    }
    .detail-monthly-progress .detail-participant-info-cell:nth-child(1),
    .detail-monthly-progress .detail-participant-info-cell:nth-child(2) {
      padding-top: 0;
      padding-bottom: 0;
    }
    .detail-monthly-progress .detail-participant-gender {
      padding: 14px 0 0;
      border-top: 1px solid #edf0f2;
      border-radius: 0;
      background: transparent;
    }
    @media (max-width: 640px) {
      .detail-participant-status-card.monthly {
        gap: 10px;
        padding: 0;
        border-radius: 15px;
        background: transparent;
      }
      .detail-participant-status-card.monthly .detail-participant-status-pills {
        padding: 0 4px;
        border-radius: 16px;
      }
      .detail-monthly-progress {
        grid-template-columns: 1fr;
        gap: 14px;
        background: #f8f9fa;
      }
      .detail-monthly-gauge-count {
        font-size: 18px;
      }
      .detail-monthly-progress.detail-monthly-mobile-only {
        display: grid;
      }
      .detail-monthly-desktop-only {
        display: none;
      }
      .detail-participant-status-card.monthly .detail-participant-match {
        border-radius: 16px;
        background: #f8f9fa;
      }
      .detail-monthly-progress .detail-monthly-gauge-head,
      .detail-monthly-progress .detail-participant-block-title,
      .detail-monthly-progress .detail-participant-info-label {
        font-size: 16px;
        font-weight: 600;
      }
      .detail-participant-status-card.monthly .detail-participant-divider {
        display: none;
      }
    }
    .detail-participant-status-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .detail-participant-status-pill {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      min-height: 20px;
      padding: 2px 8px;
      border: 1px solid #e5e7eb;
      border-radius: 999px;
      background: #fff;
      color: #4b5563;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }
    .detail-participant-status-pill.deadline {
      color: #f97316;
    }
    .detail-participant-status-pill.interest {
      margin-left: auto;
    }
    .detail-participant-status-pill svg {
      width: 15px;
      height: 15px;
      flex: 0 0 15px;
      stroke-width: 2.1;
    }
    .detail-participant-info-grid {
      position: relative;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding: 15px 0;
      border-radius: 16px;
      background: #fff;
      overflow: hidden;
    }
    .detail-participant-info-grid::after {
      content: "";
      position: absolute;
      left: 18px;
      right: 18px;
      top: 50%;
      height: 1px;
      background: #e5e7eb;
      transform: translateY(-50%);
    }
    .detail-participant-info-cell {
      min-width: 0;
      padding: 0 18px;
    }
    .detail-participant-info-cell:nth-child(1),
    .detail-participant-info-cell:nth-child(2) {
      padding-bottom: 14px;
    }
    .detail-participant-info-cell:nth-child(3),
    .detail-participant-info-cell:nth-child(4) {
      padding-top: 14px;
    }
    .detail-participant-info-cell:nth-child(2),
    .detail-participant-info-cell:nth-child(4) {
      border-left: 1px solid #e5e7eb;
    }
    .detail-participant-info-label {
      color: #848c94;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.25;
    }
    .detail-participant-info-value {
      margin-top: 6px;
      color: #2b2d33;
      font-size: 20px;
      font-weight: 800;
      line-height: 1.15;
      letter-spacing: 0;
    }
    .detail-participant-info-value.status-open {
      color: #2563eb;
    }
    .detail-participant-gender,
    .detail-participant-match {
      display: grid;
      gap: 10px;
      padding: 18px;
      border: 0;
      border-radius: 16px;
      background: #fff;
    }
    .detail-participant-block-title,
    .detail-participant-match-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding-bottom: 0;
      border-bottom: 0;
      color: #848c94;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.3;
    }
    .detail-participant-match-percent {
      color: #126bff;
      font-size: 20px;
      font-weight: 900;
      line-height: 1;
    }
    .detail-participant-match-label {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      min-width: 0;
    }
    .detail-participant-match-sparkle {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      display: block;
    }
    .detail-participant-gender-row {
      display: grid;
      grid-template-columns: 50px minmax(0, 1fr) 50px;
      gap: 15px;
      align-items: center;
    }
    .detail-participant-gender-side {
      display: grid;
      justify-items: center;
      gap: 4px;
      min-width: 0;
    }
    .detail-participant-gender-avatar {
      width: 52px;
      height: 52px;
      object-fit: contain;
      display: block;
    }
    .detail-participant-gender-center {
      display: grid;
      gap: 9px;
      min-width: 0;
    }
    .detail-participant-gender-scale {
      display: block;
    }
    .detail-participant-gender-summary {
      color: #373a3c;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.3;
      text-align: center;
    }
    .detail-participant-gender-mobile-label {
      display: none;
      color: #373a3c;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.25;
      text-align: center;
      white-space: nowrap;
    }
    .detail-participant-gauge-track {
      position: relative;
      height: 8px;
      border-radius: 999px;
      background: #e8ebf0;
      overflow: hidden;
    }
    .detail-participant-gauge-fill {
      position: absolute;
      inset: 0 auto 0 0;
      width: var(--gauge-width, 0%);
      min-width: var(--gauge-min-width, 0);
      border-radius: inherit;
      background: #5ba5ff;
    }
    .detail-participant-gender-fill-female {
      left: var(--male-width, 0%);
      width: var(--female-width, 0%);
      min-width: var(--female-min-width, 0);
      background: #ffb8df;
      border-radius: var(--female-radius, 999px);
    }
    .detail-participant-gender .detail-participant-gauge-fill:not(.detail-participant-gender-fill-female) {
      border-radius: var(--male-radius, 999px);
    }
    .detail-participant-match > .detail-participant-gauge-track {
      margin-top: 8px;
    }
    .detail-participant-match-gauge {
      position: relative;
      padding-top: 27px;
    }
    .detail-participant-match-gauge .detail-participant-gauge-track {
      margin-top: 5px;
    }
    .detail-participant-match-summary {
      position: absolute;
      top: 0;
      right: 0;
      color: #007fff;
      font-size: 18px;
      font-weight: 800;
      line-height: 1.3;
      text-align: right;
    }
    .detail-participant-match-gauge.is-login-required {
      min-height: 36px;
    }
    .detail-participant-match-gauge.is-login-required::before {
      content: "";
      position: absolute;
      inset: -8px -10px;
      z-index: 2;
      border: 1px solid rgba(255, 255, 255, .68);
      border-radius: 14px;
      background: rgba(255, 255, 255, .54);
      backdrop-filter: blur(7px);
      -webkit-backdrop-filter: blur(7px);
      pointer-events: none;
    }
    .detail-participant-match-gauge.is-login-required::after {
      content: "로그인이 필요해요";
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 3;
      transform: translate(-50%, -50%);
      min-width: max-content;
      padding: 7px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .92);
      color: #101418;
      font-size: 14px;
      font-weight: 800;
      line-height: 1;
      box-shadow: 0 4px 12px rgba(15, 23, 42, .08);
      pointer-events: none;
    }
    .detail-participant-divider {
      display: none;
    }
    .detail-participant-style-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .detail-participant-style-chip {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 8px 13px;
      border: 1px solid #e5e7eb;
      border-radius: 999px;
      background: #fff;
      color: #4b5563;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.2;
      white-space: nowrap;
    }
    .detail-participant-style-chips.mobile {
      display: none;
    }
    .detail-participant-match-reasons {
      display: grid;
      gap: 7px;
      padding: 13px 14px;
      border: 1px solid #e6edf7;
      border-radius: 12px;
      background: #f9f9f9;
      color: #334155;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.38;
    }
    .detail-participant-match-reasons.mobile {
      display: none;
      margin-top: 20px;
      color: #373a3c;
    }
    .detail-participant-match-reasons.desktop {
      grid-column: 1 / -1;
      border: 0;
      background: #fff;
      color: #69727a;
      font-size: 16px;
      font-weight: 700;
    }
    .detail-participant-match-reason {
      position: relative;
      padding-left: 13px;
    }
    .detail-participant-match-reason::before {
      content: "";
      position: absolute;
      left: 0;
      top: .68em;
      width: 5px;
      height: 5px;
      border-radius: 999px;
      background: #2e7dee;
      transform: translateY(-50%);
    }
    @media (min-width: 641px) {
      .detail-participant-status-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 30px;
        padding: 6px 14px;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        background: #fff;
        color: #4b5563;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        white-space: nowrap;
      }
      .detail-participant-status-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .detail-participant-status-pills,
      .detail-monthly-progress,
      .detail-participant-status-card .detail-team,
      .detail-participant-info-grid,
      .detail-participant-divider,
      .detail-participant-style-chips,
      .detail-participant-match-reasons.desktop,
      .detail-participant-info-bubble {
        grid-column: 1 / -1;
      }
      .detail-participant-divider {
        display: none;
      }
      .detail-participant-gender,
      .detail-participant-match {
        align-content: start;
      }
      .detail-participant-match-gauge {
        margin-right: 0;
        margin-left: 0;
        padding-top: 7px;
        padding-bottom: 27px;
      }
      .detail-participant-match-summary {
        top: auto;
        bottom: 0;
      }
    }
    @media (min-width: 360px) and (max-width: 385px) {
      .detail-participant-gender-summary {
        font-size: clamp(15px, calc(15px + (100vw - 360px) * 0.08), 17px);
      }
    }
    @media (max-width: 359.98px) {
      .detail-participant-gender-row {
        grid-template-columns: 52px minmax(0, 1fr) 52px;
        gap: 8px;
        align-items: start;
      }
      .detail-participant-gender-center {
        padding-top: 22px;
      }
      .detail-participant-gender-summary {
        display: none;
      }
      .detail-participant-gender-mobile-label {
        display: block;
      }
    }
    @media (max-width: 640px) {
      #detailModal.open .detail-main-title,
      body > #detailModal.sgj-portal-overlay.open .detail-main-title {
        padding-left: 0 !important;
      }
      #detailModal.open .detail-product-price-row,
      body > #detailModal.sgj-portal-overlay.open .detail-product-price-row {
        padding-left: 5px !important;
      }
      .detail-family-period-options {
        display: grid;
        grid-template-columns: 1fr;
      }
      .detail-family-period-option {
        width: 100%;
      }
      .detail-participant-style-chips.desktop {
        display: none;
      }
      .detail-participant-style-chips.mobile {
        display: flex;
        margin-top: 12px;
      }
      .detail-participant-style-chip {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: 8px 13px;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        background: #fff;
        color: #4b5563;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
        white-space: nowrap;
      }
      .detail-participant-match {
        gap: 6px;
      }
      .detail-participant-match-gauge {
        padding-top: 10px;
      }
      .detail-participant-match-summary {
        top: -11px;
      }
      .detail-participant-match-reasons {
        display: grid;
        gap: 7px;
        padding: 13px 14px;
        border: 0;
        border-radius: 12px;
        background: #fff;
        color: #334155;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.38;
      }
      .detail-participant-match-reasons.mobile {
        display: grid;
      }
      .detail-participant-match-reasons.desktop {
        display: none;
      }
    }
    .detail-benefit-card {
      overflow: hidden;
      border: 0;
      border-radius: 15px;
      background: #f8f9fa;
    }
    .detail-benefit-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 12px 14px;
      background: #fff8de;
    }
    .detail-benefit-title {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
      color: #5f4027;
      font-size: 16px;
      font-weight: 800;
      line-height: 18px;
      margin-bottom: 0;
    }
    .detail-benefit-title img {
      width: 112px;
      height: 22px;
      flex: 0 0 112px;
      object-fit: contain;
    }
    @media (max-width: 640px) {
      .detail-benefit-title {
        gap: 0;
        font-size: 0;
      }
    }
    .detail-benefit-max {
      color: #ff5656;
      font-size: 15px;
      font-weight: 800;
      line-height: 18px;
      white-space: nowrap;
    }
    .detail-benefit-toggle {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      color: #495057;
    }
    .detail-benefit-body {
      display: grid;
      gap: 0;
      padding: 12px 14px 14px;
    }
    .detail-benefit-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      color: #101418;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.45;
    }
    .detail-benefit-row-value {
      white-space: nowrap;
    }
    .detail-benefit-note {
      color: #69727a;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.45;
    }
    .detail-benefit-note-row {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 10px;
      margin-top: 8px;
    }
    .detail-benefit-link {
      flex: 0 0 clamp(64px, 17vw, 78px);
      width: clamp(64px, 17vw, 78px);
      border: 0;
      background: transparent;
      color: #69727a;
      padding: 0;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.3;
      text-align: right;
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 2px;
    }
    .detail-benefit-accordion {
      display: none;
      margin-top: 12px;
      padding-top: 14px;
      border-top: 1px solid #e9ecef;
    }
    .detail-benefit-card.expanded .detail-benefit-accordion {
      display: block;
    }
    .detail-benefit-accordion-title {
      color: #101418;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.35;
      margin-bottom: 4px;
    }
    .detail-benefit-accordion-subtitle {
      color: #377bff;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.45;
      margin-bottom: 10px;
    }
    .detail-benefit-accordion-copy {
      color: #69727a;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.55;
      margin-bottom: 14px;
    }
    .detail-benefit-accordion-copy .detail-benefit-highlight {
      color: #ff5656;
      font-weight: 700;
    }
    .detail-benefit-table-title,
    .detail-benefit-recommend-title {
      color: #101418;
      font-size: 18px;
      font-weight: 700;
      margin: 14px 0 8px;
    }
    .detail-benefit-table {
      width: 100%;
      overflow: hidden;
      border-radius: 10px;
      background: #fff;
      color: #333537;
      font-size: 14px;
      line-height: 1.45;
    }
    .detail-benefit-table-row {
      display: grid;
      grid-template-columns: .8fr .9fr 1.7fr;
    }
    .detail-benefit-table-cell {
      padding: 9px 19px;
      border-bottom: 1px solid #edf0f2;
      text-align: left;
      vertical-align: top;
    }
    .detail-benefit-table-head .detail-benefit-table-cell {
      color: #69727a;
      font-weight: 600;
      background: #f1f3f5;
    }
    .detail-benefit-table-body .detail-benefit-table-cell {
      font-weight: 600;
    }
    .detail-benefit-table-body .detail-benefit-table-row:last-child .detail-benefit-table-cell {
      border-bottom: 0;
    }
    .detail-benefit-recommend-list {
      display: grid;
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
      color: #69727a;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.5;
    }
    @media (min-width: 641px) {
      .detail-benefit-body {
        display: grid;
        gap: 0;
        padding: 16px 25px 25px;
      }
      .detail-benefit-row {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        color: #101418;
        font-size: 21px;
        font-weight: 700;
        line-height: 1.45;
      }
      .detail-benefit-note {
        color: #69727a;
        font-size: 17px;
        font-weight: 500;
        line-height: 1.8;
      }
      .detail-benefit-note-row {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 10px;
        margin-top: 0;
      }
      .detail-benefit-link {
        flex: 0 0 clamp(64px, 17vw, 78px);
        width: clamp(64px, 17vw, 78px);
        border: 0;
        background: transparent;
        color: #69727a;
        padding: 0;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.3;
        text-align: right;
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
      }
      .detail-benefit-accordion-title {
        color: #101418;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.35;
        margin-bottom: 4px;
      }
      .detail-benefit-accordion-subtitle {
        color: #377bff;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.45;
        margin-bottom: 10px;
      }
      .detail-benefit-accordion-copy {
        color: #69727a;
        font-size: 17px;
        font-weight: 500;
        line-height: 1.55;
        margin-bottom: 14px;
      }
      .detail-benefit-table {
        width: 100%;
        overflow: hidden;
        border-radius: 10px;
        background: #fff;
        color: #333537;
        font-size: 16px;
        line-height: 1.45;
      }
      .detail-benefit-recommend-list {
        display: grid;
        gap: 5px;
        margin: 0;
        padding: 0;
        list-style: none;
        color: #69727a;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.5;
      }
    }
    .detail-benefit-recommend-item {
      display: grid;
      grid-template-columns: 24px minmax(0, 1fr);
      gap: 6px;
      align-items: start;
    }
    .detail-benefit-recommend-item svg {
      width: 24px;
      height: 24px;
      color: #377bff;
      flex: 0 0 24px;
    }
    .detail-benefit-join-call {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 46px;
      margin-top: 18px;
      border: 0;
      border-radius: 10px;
      background: #373a3c;
      color: #ffffff;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.2;
      text-decoration: none;
    }
    .detail-benefit-join-call svg {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      margin-right: 6px;
    }
    .detail-benefit-value {
      color: #377bff;
      font-size: 18px;
      font-weight: 800;
    }
      .detail-participant-status-card .detail-team {
        position: relative;
        z-index: 1;
        margin: 0;
        border-top: 0;
        padding-top: 0;
        justify-content: center;
        gap: 20px;
      }
      .detail-participant-status-card .detail-team .team-couple-wrap {
        gap: 20px;
      }
      .detail-participant-status-card .detail-team + .detail-participant-info-grid {
        margin-top: 8px;
      }
    .detail-participant-status-card {
      position: relative;
      z-index: 5;
      overflow: visible;
    }
    .detail-participant-info-bubble {
      --detail-participant-bubble-radius: 10px;
      position: absolute;
      left: var(--detail-participant-bubble-left, 22px);
      top: var(--detail-participant-bubble-top, auto);
      bottom: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      max-width: 100%;
      margin: 0;
      padding: 9px 12px;
      border-radius: var(--detail-participant-bubble-radius);
      background: #373a3c;
      color: #ffffff;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.35;
      letter-spacing: 0;
      box-shadow: 0 8px 18px rgba(16, 20, 24, 0.16);
      opacity: 0;
      pointer-events: none;
      transform: translateY(6px);
      transition: opacity .28s ease, transform .28s ease;
      z-index: 20;
    }
    .detail-participant-info-bubble.is-visible {
      opacity: 1;
      transform: translateY(0);
      animation: detailParticipantBubbleNudge .72s ease .18s 1;
    }
    @keyframes detailParticipantBubbleNudge {
      0%, 100% {
        transform: translateY(0);
      }
      38% {
        transform: translateY(-5px);
      }
      72% {
        transform: translateY(2px);
      }
    }
    .detail-participant-info-bubble::before {
      content: "";
      position: absolute;
      left: 10px;
      top: -4px;
      width: 30px;
      height: 10px;
      background: #373a3c;
      clip-path: path("M 15 0 C 18 0, 20 5, 24 5 H 30 V 10 H 0 V 5 H 6 C 10 5, 12 0, 15 0 Z");
      transform: none;
    }
    .detail-participant-info-bubble::after {
      display: none;
    }
    .detail-section-heading {
      color: rgb(16, 20, 24);
      font-size: 20px;
      font-weight: 700;
      line-height: 1.35;
      margin: 0 0 14px;
    }
    .detail-summary-grid {
      display: grid;
      grid-template-columns: max-content minmax(0, 1fr);
      gap: 8px 20px;
      align-items: start;
    }
    .detail-summary-label {
      color: #848c94;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
      white-space: nowrap;
    }
    .detail-summary-value {
      color: #101418;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
      min-width: 0;
    }
    .detail-summary-flight-card {
      grid-column: 1 / -1;
    }
    .detail-summary-flight-card .detail-flight-summary-card {
      width: 100%;
      max-width: none;
      margin-top: 0;
    }
    @media (min-width: 641px) {
      .detail-summary-flight-card {
        grid-column: 2;
        width: 100%;
        min-width: 0;
      }
      .detail-summary-flight-card .detail-flight-summary-card,
      .detail-summary-flight-card .detail-flight-separate-card {
        width: 100%;
        max-width: none;
        margin-top: 0;
      }
    }
    .detail-summary-code {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .detail-summary-copy-button {
      border: 0;
      background: transparent;
      color: #101418;
      font-size: 14px;
      font-weight: 700;
      padding: 0;
    }
    .detail-flight-summary-card {
      overflow: hidden;
      border-radius: 12px;
      background: #f8f9fa;
    }
    .detail-flight-separate-card {
      display: grid;
      gap: 8px;
      width: 100%;
      padding: 14px 16px;
      border-radius: 14px;
      background: #f8f9fa;
      color: #69727a;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.55;
    }
    .detail-flight-status-card {
      display: grid;
      gap: 6px;
      width: 100%;
      padding: 14px 16px;
      border-radius: 14px;
      background: #f8f9fa;
      color: #69727a;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.55;
    }
    .detail-flight-status-title {
      color: #101418;
      font-size: 16px;
      font-weight: 800;
    }
    .detail-flight-retry-button {
      justify-self: start;
      margin-top: 4px;
    }
    .detail-flight-status-card.is-loading .detail-flight-status-title::after {
      content: "";
      display: inline-block;
      width: 7px;
      height: 7px;
      margin-left: 8px;
      border-radius: 50%;
      background: var(--blue);
      animation: detail-flight-status-pulse 1s ease-in-out infinite alternate;
      vertical-align: 2px;
    }
    @keyframes detail-flight-status-pulse {
      from { opacity: .28; transform: scale(.78); }
      to { opacity: 1; transform: scale(1); }
    }
    .detail-flight-separate-title {
      color: #101418;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.35;
    }
    .detail-flight-summary-head {
      display: flex;
      align-items: center;
      min-height: 45px;
      padding: 14px 18px;
      background: #f8f9fa;
      border-bottom: 1px solid #edf0f2;
    }
    .detail-flight-summary-body {
      display: grid;
      gap: 10px;
      padding: 12px 18px 16px;
    }
    .detail-flight-summary-airline {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #101418;
      font-size: 16px;
      font-weight: 700;
      line-height: 25px;
    }
    .detail-flight-airline-image {
      width: 25px;
      height: 25px;
      flex: 0 0 25px;
      border-radius: 8px;
      overflow: hidden;
      object-fit: cover;
      display: block;
    }
    .detail-flight-route-row {
      display: grid;
      grid-template-columns: minmax(0, max-content) minmax(42px, 1fr) minmax(0, max-content);
      gap: 6px;
      align-items: center;
      color: #101418;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.4;
    }
    .detail-flight-route-icon {
      width: 21px;
      height: 20px;
      color: #373a3c;
    }
    .detail-flight-route-point {
      display: inline-flex;
      align-items: baseline;
      gap: 4px;
      min-width: 0;
      white-space: nowrap;
    }
    .detail-flight-route-row .detail-flight-arrow {
      position: relative;
      height: 1px;
      margin: 0 2px;
      background: #c5cbd3;
      min-width: 42px;
    }
    .detail-flight-route-row .detail-flight-arrow::after {
      content: "";
      position: absolute;
      right: 0px;
      top: 0px;
      width: 6px;
      height: 1px;
      background: #c5cbd3;
      transform: rotate(40deg);
      transform-origin: right center;
    }
    .detail-flight-route-city {
      font-size: 14px;
      font-weight: 500;
    }
    .detail-flight-route-time {
      color: #101418;
      font-size: 17px;
      font-weight: 700;
    }
    .detail-inclusion-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }
    .detail-info-box-title {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: #101418;
      font-size: 17px;
      font-weight: 700;
      margin-bottom: 10px;
    }
    .detail-info-box-title svg {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
    }
    .detail-info-box-title.include svg {
      color: #377bff;
    }
    .detail-info-box-title.exclude svg {
      color: #ff378b;
    }
    .detail-info-box .detail-list li::before,
    .detail-note-card .detail-list li::before {
      display: none;
    }
    .detail-info-box .detail-list li,
    .detail-note-card .detail-list li {
      padding-left: 0;
    }
    .detail-info-box .detail-list-item,
    .detail-note-card .detail-list-item {
      display: grid;
      grid-template-columns: 12px minmax(0, 1fr);
      gap: 7px;
      align-items: start;
    }
    .detail-info-box .detail-list-dot,
    .detail-note-card .detail-list-dot {
      width: 7px;
      height: 7px;
      margin-top: 0.58em;
      color: #b6bcc6;
    }
    .detail-info-box .detail-list-text,
    .detail-note-card .detail-list-text {
      min-width: 0;
    }
    .detail-schedule-day-nav {
      position: sticky;
      top: var(--detail-schedule-nav-top, 0px);
      z-index: 12;
      display: flex;
      justify-content: flex-start;
      gap: 8px;
      overflow-x: auto;
      scrollbar-width: none;
      margin-bottom: 18px;
      padding: 10px 0 12px;
      background: #fff;
    }
    .detail-schedule-day-nav.is-hidden {
      opacity: 0;
      pointer-events: none;
    }
    .detail-schedule-day-nav::-webkit-scrollbar {
      display: none;
    }
    .detail-schedule-day-chip {
      flex: 0 0 auto;
      border: 0;
      border-radius: 999px;
      background: #f1f3f5;
      color: #6b737b;
      padding: 9px 15px;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.2;
    }
    .detail-schedule-day-chip.active {
      background: #495054;
      color: #fff;
    }
    .detail-schedule.is-flat {
      border: 0;
      border-radius: 0;
      background: transparent;
      padding: 0;
      display: grid;
      gap: 28px;
    }
    .detail-schedule.is-flat .detail-schedule-item {
      border-bottom: 0;
      display: block;
    }
    .detail-schedule.is-flat .detail-schedule-row {
      display: grid;
      grid-template-columns: 86px minmax(0, 1fr);
      column-gap: 0;
      padding: 0;
      cursor: default;
    }
    .detail-schedule.is-flat .detail-schedule-day {
      color: #101418;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.35;
    }
    .detail-schedule.is-flat .detail-schedule-copy {
      max-height: none;
      overflow: visible;
      margin-right: 0;
    }
    .detail-schedule.is-flat .detail-schedule-copy::after,
    .detail-schedule.is-flat .detail-schedule-toggle {
      display: none;
    }
    .detail-schedule.is-flat .detail-schedule-timeline {
      gap: 8px;
      padding-left: 20px;
    }
    .detail-schedule.is-flat .detail-schedule-timeline::before {
      display: none;
    }
    .detail-schedule.is-flat .detail-schedule-point::before {
      left: -19px;
      top: 9px;
    }
    .detail-schedule.is-flat .detail-schedule-point:not(:last-child)::after {
      content: "";
      position: absolute;
      left: -16px;
      top: 19px;
      bottom: -14px;
      width: 1px;
      background: #d1d5db;
    }
    .detail-safety-link {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      border-radius: 15px;
      background: #f8f9fa;
      color: #101418;
      padding: 16px 18px;
      text-decoration: none;
    }
    .detail-safety-link-title {
      color: #101418;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.35;
    }
    .detail-safety-link-source {
      color: #848c94;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
    }
    .detail-safety-link svg {
      width: 24px;
      height: 24px;
      flex: 0 0 24px;
      color: currentColor;
    }
    @media (max-width: 640px) {
      .detail-inclusion-grid {
        grid-template-columns: 1fr;
      }
      .detail-schedule-day {
        display: inline-flex;
        align-items: baseline;
        gap: 8px;
      }
      .detail-schedule-date {
        display: inline;
      }
      .detail-schedule-day-nav {
        top: 52px;
      }
      .detail-flight-route-row {
        grid-template-columns: minmax(0, max-content) minmax(42px, 1fr) minmax(0, max-content);
      }
      .detail-summary-grid {
        grid-template-columns: 78px minmax(0, 1fr);
      }
    }
    .modal-actions {
      display: flex;
      gap: 12px;
      margin-top: 24px;
    }
    .check-line {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }
    .check-line input { margin-top: 4px; }
    .helper {
      font-size: var(--font-helper);
      color: var(--text-soft);
      line-height: 1.6;
    }
    .participant-floating {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 100200;
      display: none;
    }
    .participant-floating.open { display: block; }
    .participant-popover {
      width: 256px;
      max-height: min(88vh, 720px);
      overflow-y: auto;
      background: #fff;
      border-radius: 12px;
      border: 1px solid #e5e7eb;
      box-shadow: 0 20px 30px rgba(15, 23, 42, 0.16);
      padding: 16px;
    }
    .participant-sheet-header {
      display: none;
    }
    .participant-profile {
      display: grid;
      gap: 12px;
    }
    .participant-hero {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .participant-thumb {
      position: relative;
      width: 48px;
      height: 48px;
      flex: 0 0 48px;
      overflow: hidden;
      border-radius: 8px;
      border: 2px solid #d1d5db;
      background: #f9fafb;
    }
    .participant-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.2);
      transform-origin: center;
    }
    .participant-thumb-stack {
      --participant-thumb-size: 48px;
      --participant-thumb-overlap: 6px;
      --participant-stack-width: var(--participant-thumb-size);
      --participant-stack-mobile-width: var(--participant-stack-width);
      position: relative;
      width: var(--participant-stack-width);
      height: 52px;
      flex: 0 0 var(--participant-stack-width);
    }
    .participant-thumb-stack .participant-thumb {
      position: absolute;
      left: var(--participant-stack-left, 0);
      top: 2px;
      z-index: var(--participant-stack-z, 1);
      opacity: var(--participant-stack-opacity, 1);
      box-shadow: none;
    }
    .participant-meta {
      font-size: 13px;
      color: var(--text-soft);
      display: flex;
      align-items: center;
      gap: 8px;
      font-weight: 600;
      line-height: 1.35;
    }
    .participant-meta-count {
      color: #687cd6;
    }
    .participant-name {
      color: var(--text);
      font-size: 17px;
      font-weight: 800;
      line-height: 1.25;
    }
    .participant-stat {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      color: #4b5563;
      font-size: 14px;
      line-height: 1.45;
    }
    .participant-stat-label {
      color: var(--text-soft);
      font-weight: 700;
    }
    .participant-stat-value {
      color: var(--text);
      font-weight: 800;
      text-align: right;
    }
    .participant-level-pill {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      width: fit-content;
      min-height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      background: #f8fafc;
      color: var(--text);
      font-size: 13px;
      font-weight: 800;
      line-height: 1.25;
    }
    .participant-section {
      border-top: 1px solid #e5e7eb;
      padding-top: 12px;
    }
    .participant-section-title {
      font-size: 14px;
      color: var(--text);
      margin-bottom: 8px;
      font-weight: 800;
      line-height: 1.35;
    }
    .participant-message {
      position: relative;
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      font-size: 14px;
      color: #374151;
      background: #f8fafc;
      padding: 14px 15px;
      border-radius: 14px;
      line-height: 1.55;
    }
    .participant-message.bubble::before {
      content: "";
      position: absolute;
      top: -6px;
      left: 18px;
      width: 12px;
      height: 12px;
      background: #f8fafc;
      transform: rotate(45deg);
      border-radius: 3px;
    }
    .participant-quote-icon {
      width: 34px;
      height: 34px;
      margin-top: 0;
      color: #cbd5e1;
    }
    .participant-message-text {
      position: relative;
      z-index: 1;
      min-width: 0;
      font-weight: 700;
      word-break: keep-all;
    }
    .participant-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }
    .participant-tag {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      min-height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      background: #f8fafc;
      color: var(--text);
      font-size: 13px;
      font-weight: 800;
      line-height: 1.25;
    }

    @media (min-width: 769px) and (hover: hover) and (pointer: fine) {
      .participant-popover {
        width: 288px;
        padding: 18px;
      }

      .participant-profile {
        gap: 14px;
      }

      .participant-name {
        font-size: 19px;
      }

      .participant-meta {
        font-size: 15px;
      }

      .participant-stat {
        font-size: 16px;
      }

      .participant-level-pill {
        min-height: 32px;
        padding: 0 12px;
        font-size: 15px;
      }

      .participant-section-title {
        font-size: 16px;
        margin-bottom: 9px;
      }

      .participant-message {
        font-size: 16px;
      }

      .participant-tag {
        min-height: 32px;
        padding: 0 12px;
        font-size: 15px;
      }
    }

    @media (max-width: 1024px) {
      :root,
      #secret-golf-join {
        --font-hero-title: 50px;
        --font-hero-subtitle: 26px;
        --font-section-title: 35px;
        --font-section-desc: 22px;
        --font-product-section-title: 35px;
        --font-product-section-desc: 22px;
      }
      .hero-grid { grid-template-columns: 1fr; }
      .join-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .region-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }

    @media (max-width: 640px) {
      :root,
      #secret-golf-join {
        --font-header-logo: 18px;
        --font-header-nav: 13px;
        --font-hero-title: 34px;
        --font-hero-subtitle: clamp(16px, 5vw, 20px);
        --font-section-title: 26px;
        --font-section-desc: clamp(15px, 4.3vw, 16px);
        --font-product-section-title: 24px;
        --font-product-section-desc: 16px;
        --font-mdpick-pack-chip-mobile: 15px;
        --font-card-title: clamp(18px, 5.5vw, 19px);
        --font-card-meta: clamp(14px, 4.2vw, 17px);
        --font-card-location: 13px;
        --font-image-location: 13px;
        --font-soon-card-location: 14px;
        --font-card-date: clamp(14px, 4.2vw, 16px);
        --font-card-price: clamp(20px, 5.8vw, 24px);
        --font-card-price-unit: clamp(13px, 3.8vw, 14px);
        --font-card-category: clamp(11px, 3.4vw, 12px);
        --font-soon-date: 18px;
        --font-soon-weekday: 14px;
        --font-soon-count: 14px;
        --soon-date-weekday-gap: 4px;
        --font-label: clamp(13px, 3.8vw, 14px);
        --font-calendar: 14px;
        --calendar-product-title-mobile-font: 16px;
        --calendar-product-title-mobile-weight: 800;
      }
      .page-container {
        width: min(100%, var(--page-max-width));
      }
      .topbar {
        min-height: 68px;
        padding: 10px 0;
        flex-wrap: wrap;
      }
      #secret-golf-join nav { display: none; }
      .sgj-page .hero.sgj-section { padding: 5px 0 20px; }
      .search-wrap {
        margin-top: -58px;
      }
      .mobile-search-panel {
        width: min(100% - 28px, 420px);
        margin: 0 auto;
      }
      .overlay.region-search-overlay {
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
        background: #fff;
      }
      .region-search-modal {
        width: 100vw;
        height: 100vh;
      }
      .travel-date-modal {
        width: 100vw;
        height: 100vh;
      }
      .category-grid,
      .join-grid,
      .trust-grid,
      .support-grid,
      .region-grid,
      .detail-grid { grid-template-columns: 1fr; }
      .trust-card-title {
        margin-bottom: 3px;
        font-size: 20px;
      }
      .trust-card-copy {
        font-size: 17px;
      }
      .trust-card {
        min-height: 154px;
        padding-right: 20px;
        padding-bottom: 20px;
      }
      .trust-card-image {
        right: 12px;
        top: 19px;
        bottom: auto;
        width: 68px !important;
        max-width: 28% !important;
        max-height: 68px !important;
      }
      .faq-question {
        font-size: 18px;
      }
      .faq-answer {
        font-size: 16px;
      }
      .section-head-row {
        flex-direction: column;
        align-items: stretch;
      }
      .calendar-open-button {
        width: fit-content;
      }
      .calendar-mobile-sticky {
        position: sticky;
        top: 0;
        z-index: 8;
        display: block;
        background: #fff;
      }
      .calendar-mobile-month-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
      }
      .calendar-mobile-month-head .calendar-availability-legend {
        grid-column: 1;
        position: relative;
        top: 5px;
        left: 15px;
        font-size: 13px;
      }
      .calendar-mobile-month-label {
        grid-column: 2;
        min-height: var(--calendar-sticky-month-height, 36px);
        padding: 15px 0 5px;
        color: var(--text);
        font-size: 17px;
        font-weight: 800;
        line-height: 1.35;
        text-align: center;
      }
      .calendar-mobile-sticky .calendar-grid {
        gap: 0px;
        padding: 0 0 8px;
        border-bottom: 1px solid var(--border);
        background: #fff;
      }
      .calendar-mobile-months {
        min-height: 0;
      }
      .calendar-mobile-selection {
        display: none;
      }
      .calendar-sheet-body.mobile-date-selected {
        display: flex;
        flex-direction: column;
        overflow: hidden;
      }
      .calendar-sheet-body.mobile-date-selected .calendar-mobile-sticky {
        position: relative;
        flex: 0 0 auto;
        overflow: hidden;
      }
      .calendar-sheet-body.mobile-date-selected .calendar-mobile-sticky .calendar-grid {
        border-bottom: 0;
      }
      .calendar-sheet-body.mobile-date-selected:not(.calendar-calendar-expanded) .calendar-mobile-months {
        flex: 0 0 auto;
        height: 0;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
        transform: translateY(-14px);
      }
      .calendar-sheet-body.mobile-date-selected.calendar-calendar-expanded .calendar-mobile-months {
        flex: 0 0 auto;
        height: var(--calendar-expanded-month-height, auto);
        max-height: var(--calendar-expanded-month-height, 420px);
        opacity: 1;
        overflow-y: auto;
        padding-bottom: 0;
        border-bottom: 0;
        pointer-events: auto;
        transform: translateY(0);
      }
      .calendar-sheet-body.mobile-date-selected .calendar-mobile-months {
        transition: height .34s cubic-bezier(.22, 1, .36, 1), max-height .34s cubic-bezier(.22, 1, .36, 1), opacity .24s ease, transform .34s cubic-bezier(.22, 1, .36, 1);
        will-change: height, max-height, opacity, transform;
      }
      .calendar-sheet-body.calendar-calendar-expanded .calendar-month.mobile-compact {
        border-bottom: 0;
      }
      .calendar-sheet-body.mobile-date-selected .calendar-mobile-selection {
        min-height: 0;
        min-width: 0;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        background: #fff;
        overflow-x: hidden;
      }
      .calendar-sheet-body.mobile-date-selected.calendar-calendar-expanded .calendar-mobile-selected-week {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transform: translateY(-10px);
        pointer-events: none;
      }
      .calendar-mobile-selected-week {
        position: relative;
        z-index: 9;
        flex: 0 0 auto;
        max-height: 96px;
        opacity: 1;
        padding: 6px 0 0;
        border-bottom: 0;
        background: #fff;
        overflow: visible;
        transform: translateY(0);
        transition: none;
      }
      .calendar-mobile-selected-week .calendar-week {
        position: relative;
        z-index: 9;
        margin-top: 0;
        overflow: visible;
      }
      .calendar-mobile-selected-week .calendar-cell,
      .calendar-mobile-selected-week .calendar-day-button,
      .calendar-mobile-selected-week .calendar-cell strong {
        overflow: visible;
      }
      .calendar-mobile-selected-week .calendar-cell.has-data .calendar-day-button strong::after {
        z-index: 10;
      }
      .calendar-mobile-toggle {
        position: relative;
        z-index: 2;
        flex: 0 0 auto;
        width: 100%;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #64748b;
        background: #fff;
        border-bottom: 1px solid var(--border);
        border-radius: 0 0 14px 14px;
      }
      .calendar-mobile-toggle svg {
        width: 18px;
        height: 18px;
        transition: transform .2s ease;
      }
      .calendar-sheet-body.calendar-calendar-expanded .calendar-mobile-toggle svg {
        transform: rotate(180deg);
      }
      .calendar-sheet-body.calendar-calendar-expanded .calendar-mobile-toggle {
        margin-top: -1px;
      }
      .calendar-mobile-selected-panel {
        min-height: 0;
        min-width: 0;
        flex: 1 1 auto;
        overflow-y: auto;
        overflow-x: hidden;
        background: #fff;
      }
      .calendar-mobile-selected-panel .calendar-accordion-list {
        border-top: 0;
      }
      .calendar-selection-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
      }
      .calendar-selection-sort {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 7px;
      }
      .calendar-selection-sort button {
        min-height: 30px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #64748b;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.2;
        white-space: nowrap;
      }
      .calendar-selection-sort button.active {
        color: var(--blue);
      }
      .calendar-selection-sort-divider {
        content: "";
        flex: 0 0 1px;
        width: 1px;
        height: 11px;
        background: #cbd5e1;
      }
      .calendar-month-title {
        font-size: 17px;
        font-weight: 800;
        grid-template-columns: minmax(0, 1fr);
        margin: 0;
        min-height: var(--calendar-sticky-month-height, 36px);
        padding: 7px 0 5px;
        text-align: center;
      }
      .calendar-month-label {
        grid-column: 1;
      }
      .calendar-month-nav {
        display: none;
      }
      .calendar-month.mobile-compact {
        margin-bottom: 0;
        padding-bottom: 20px;
        padding-top: 18px;
        border-bottom: 1px solid var(--border);
      }
      .calendar-month.mobile-compact .calendar-month-title {
        position: relative;
        top: auto;
        z-index: 1;
        min-height: 32px;
        padding: 0 0 8px 14px;
        background: transparent;
        font-size: 15px;
        text-align: left;
      }
      .calendar-month.mobile-compact .calendar-month-label {
        text-align: left;
      }
      .calendar-week {
        scroll-margin-top: calc(var(--calendar-sticky-month-height, 36px) + var(--calendar-sticky-weekday-height, 43px) + 2px);
      }
      .calendar-accordion-list {
        margin-left: -8px;
        margin-right: -8px;
        padding-left: 22px;
        padding-right: 22px;
        width: calc(100% + 16px);
        max-width: calc(100% + 16px);
        box-sizing: border-box;
        overflow-x: hidden;
      }
      .calendar-event {
        display: block;
        margin-top: 4px;
        padding: 2px 6px;
        border-radius: 3px;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .calendar-grid { gap: 1px; }
      .calendar-cell { min-height: 72px; }
      .calendar-loading-month-title {
        grid-template-columns: minmax(0, 1fr);
        min-height: var(--calendar-sticky-month-height, 36px);
        padding: 7px 0 5px;
      }
      .calendar-loading-month-title .calendar-sheet-loading-title {
        grid-column: 1;
        justify-self: center;
        width: 104px;
        height: 22px;
      }
      .calendar-loading-weekdays {
        top: var(--calendar-sticky-month-height, 36px);
        padding: 0 0 8px;
      }
      .calendar-loading-week {
        gap: 0;
      }
      .calendar-loading-week + .calendar-loading-week {
        margin-top: 0;
      }
      .calendar-sheet-loading-cell {
        min-height: 72px;
      }
      .calendar-loading-accordion {
        margin-left: -8px;
        margin-right: -8px;
        padding: 16px 22px;
        width: calc(100% + 16px);
        max-width: calc(100% + 16px);
        box-sizing: border-box;
        overflow-x: hidden;
      }
      .calendar-sheet-loading-card {
        grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
      }
      .calendar-loading-card-thumb {
        display: none;
      }
      .calendar-product-card {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--calendar-product-card-mobile-gap);
        padding: var(--calendar-product-card-mobile-padding);
      }
      .calendar-product-thumb {
        display: none;
      }
      .calendar-product-title {
        font-size: var(--calendar-product-title-mobile-font);
        font-weight: var(--calendar-product-title-mobile-weight);
      }
      .calendar-product-meta {
        gap: 3px;
        font-size: var(--calendar-product-meta-mobile-font);
        font-weight: var(--calendar-product-meta-mobile-weight);
      }
      .calendar-product-category {
        padding-right: 7px;
      }
      .calendar-product-category::after {
        width: 3px;
        height: 3px;
      }
      .calendar-product-date {
        font-size: var(--calendar-product-date-mobile-font);
        font-weight: var(--calendar-product-date-mobile-weight);
      }
      .calendar-product-price {
        order: 2;
        margin-left: auto;
        font-size: var(--calendar-product-price-mobile-font);
        font-weight: var(--calendar-product-price-mobile-weight);
      }
      .calendar-product-price-unit {
        font-size: var(--calendar-product-price-unit-mobile-font);
        font-weight: var(--calendar-product-price-unit-mobile-weight);
      }
      .calendar-product-participants .team-couple-wrap {
        --team-avatar-size: var(--calendar-product-avatar-mobile-size);
        height: var(--team-avatar-size);
      }
      .calendar-product-participants .team-avatar,
      .calendar-product-participants .team-empty {
        width: var(--calendar-product-avatar-mobile-size);
        height: var(--calendar-product-avatar-mobile-size);
        flex-basis: var(--calendar-product-avatar-mobile-size);
      }
      .calendar-product-side {
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        justify-self: stretch;
        text-align: left;
      }
      .calendar-product-participants {
        order: 1;
        margin-left: 0;
      }
      .detail-schedule-row {
        grid-template-columns: minmax(0, 1fr) 24px;
        column-gap: 12px;
      }
      .detail-schedule-day {
        grid-column: 1;
        grid-row: 1;
      }
      .detail-schedule-copy {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-right: 0;
        margin-top: 8px;
      }
      .detail-schedule-toggle {
        grid-column: 2;
        grid-row: 1;
      }
      .detail-place-gallery {
        grid-auto-columns: 100%;
      }
      .detail-review-carousel {
        display: flex;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        padding-left: 22px;
        padding-right: 22px;
        gap: 8px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        scroll-behavior: smooth;
        scroll-padding-left: 22px;
        scroll-padding-right: 22px;
      }
      .detail-review-carousel .detail-review-card {
        flex: 0 0 min(316px, calc(100vw - 44px));
        width: auto;
        scroll-snap-align: start;
      }
      .detail-review-carousel .detail-review-card[data-review-clone="true"] {
        display: none;
      }
      .detail-review-head {
        grid-column: 1 / -1;
        grid-row: 1;
        min-width: 0;
        margin-bottom: 0;
        white-space: nowrap;
      }
      .detail-review-text {
        grid-column: 1;
        grid-row: 2;
        margin-bottom: 0;
      }
      .detail-review-thumb-wrap {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        margin-top: 5px;
      }
      .detail-review-thumb {
        width: 76px;
        height: 76px;
      }
      .builder-complete-card,
      .builder-complete-info {
        grid-template-columns: 1fr;
      }
      .builder-share-card {
        align-items: stretch;
        flex-direction: column;
      }
      .builder-share-button {
        width: 100%;
      }
      .modal-actions { flex-direction: column; }
      .participant-hero { align-items: flex-start; }
    }

    @media (min-width: 641px) {
      .region-search-overlay {
        align-items: center;
        justify-content: center;
        padding: 24px;
      }
      .region-search-modal {
        width: min(800px, calc(100vw - 48px));
        height: auto;
        max-height: min(760px, calc(100vh - 48px));
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 24px 80px rgba(15, 23, 42, 0.24);
      }
      .region-search-modal .region-search-shell {
        min-height: 0;
        max-height: calc(100vh - 48px);
      }
      .region-search-modal .region-search-header,
      .region-search-modal .region-search-field,
      .region-search-modal .region-search-type,
      .region-search-modal .region-search-body {
        display: none;
      }
      .region-search-modal .region-search-results {
        display: none;
      }
      .region-search-modal .region-desktop-header {
        display: flex;
      }
      .region-search-modal .region-desktop-panel {
        display: block;
      }
      .region-search-modal .region-search-shell.searching .region-desktop-panel {
        display: none;
      }
      .region-search-modal .region-search-shell.searching .region-search-field {
        display: flex;
      }
      .region-search-modal .region-search-shell.searching .region-search-results {
        display: flex;
        padding: 12px 28px 28px;
      }
      .travel-date-modal {
        width: min(760px, calc(100vw - 24px));
        height: min(760px, calc(100vh - 40px));
        border-radius: 24px;
        box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
      }
      .travel-date-modal .region-search-header {
        padding: var(--modal-header-padding-pc);
      }
      .travel-date-modal .region-search-title {
        font-size: var(--modal-main-title-pc);
        font-weight: var(--modal-main-title-weight);
      }
      .travel-date-modal .travel-weekdays {
        padding: 12px 20px;
        font-size: var(--font-calendar);
      }
      .travel-date-modal .travel-date-body {
        padding: 10px 20px 104px;
      }
      .travel-date-modal .travel-month {
        padding-top: 14px;
      }
      .travel-date-modal .travel-month-head {
        margin-bottom: 8px;
        font-size: 20px;
      }
      .travel-date-modal .travel-month-all {
        font-size: 14px;
      }
      .travel-date-modal .travel-calendar-grid {
        row-gap: 10px;
      }
      .travel-date-modal .travel-calendar-day {
        min-height: 58px;
        font-size: var(--font-calendar);
      }
      .travel-date-modal .travel-date-bottom {
        left: 50%;
        right: auto;
        width: min(760px, calc(100vw - 24px));
        transform: translateX(-50%);
        border-radius: 0 0 24px 24px;
      }
    }

    #secret-golf-join .join-card,
    #secret-golf-join .modal,
    #secret-golf-join .detail-modal,
    #secret-golf-join .calendar-sheet,
    #secret-golf-join .region-search-modal,
    #secret-golf-join .travel-date-modal {
      font-family: var(--font-family-sgj);
      word-break: keep-all;
      overflow-wrap: normal;
    }
    #secret-golf-join .join-card {
      min-width: 0;
      overflow: visible;
    }
    #secret-golf-join .join-body {
      display: block;
      min-width: 0;
    }
    #secret-golf-join .card-meta-row,
    #secret-golf-join .card-meta-item {
      display: flex !important;
      align-items: center;
      min-width: 0;
    }
    #secret-golf-join .card-meta-item {
      flex: 0 1 auto;
      width: auto !important;
      max-width: 100%;
      white-space: nowrap;
      gap: 2px;
    }
    #secret-golf-join .card-meta-date-flex {
      flex-direction: column;
      align-items: flex-start !important;
      gap: 4px;
      flex-wrap: nowrap;
    }
    #secret-golf-join .join-title {
      display: -webkit-box !important;
      float: none !important;
      width: auto !important;
      clear: none !important;
      overflow: hidden !important;
      white-space: normal !important;
      text-overflow: ellipsis !important;
      -webkit-box-orient: vertical !important;
      -webkit-line-clamp: 2 !important;
      line-clamp: 2 !important;
    }
    #secret-golf-join .card-meta-text,
    #secret-golf-join .card-meta-text-date,
    #secret-golf-join .card-meta-text-location {
      display: inline !important;
      float: none !important;
      width: auto !important;
      white-space: nowrap !important;
    }
    #secret-golf-join .join-card-include-tags {
      display: flex !important;
      flex-wrap: wrap;
      align-items: center;
      min-width: 0;
    }
    #secret-golf-join .join-card-include-tags > div {
      display: inline-flex !important;
      flex: 0 0 auto;
      width: auto !important;
      white-space: nowrap !important;
    }
    #secret-golf-join .card-meta-text,
    #secret-golf-join .card-meta-text-date,
    #secret-golf-join .card-meta-text-location,
    #secret-golf-join .join-title,
    #secret-golf-join .join-price,
    #secret-golf-join .detail-value,
    #secret-golf-join .detail-period-row,
    #secret-golf-join .flight-time,
    #secret-golf-join .flight-code,
    #secret-golf-join .calendar-product-date,
    #secret-golf-join .calendar-product-price {
      word-break: keep-all;
      overflow-wrap: normal;
    }
    #secret-golf-join .card-meta-text-date,
    #secret-golf-join .join-price,
    #secret-golf-join .calendar-product-price,
    #secret-golf-join .price-box,
    #secret-golf-join .detail-price {
      white-space: nowrap;
    }
    #secret-golf-join .detail-list,
    #secret-golf-join .detail-note-card ul {
      list-style: none;
      padding-left: 0;
    }
    #secret-golf-join .detail-list li,
    #secret-golf-join .detail-note-card li {
      display: block;
    }
    #secret-golf-join .detail-schedule-row {
      display: grid;
      min-width: 0;
    }
    #secret-golf-join .detail-schedule-copy,
    #secret-golf-join .detail-schedule-timeline,
    #secret-golf-join .detail-schedule-point,
    #secret-golf-join .detail-schedule-extra-row,
    #secret-golf-join .detail-meal-list {
      min-width: 0;
      word-break: keep-all;
      overflow-wrap: normal;
    }
    #secret-golf-join .detail-meal-list {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0;
    }
    #secret-golf-join .overlay,
    #secret-golf-join .calendar-sheet-overlay,
    #secret-golf-join .global-apply-overlay,
    #secret-golf-join .participant-floating {
      z-index: 100200;
    }

    .sgj-page {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0;
      color: var(--text);
      background: #fff;
      font-family: var(--font-family-sgj);
      line-height: 1.5;
      letter-spacing: 0;
      word-break: keep-all;
      overflow-wrap: normal;
      position: relative;
      z-index: 1;
      transform: none;
      filter: none;
      perspective: none;
    }
    @media (min-width: 641px) {
      .subTitWrap {
        display: none !important;
      }
      #secret-golf-join.sgj-page {
        margin-top: 50px;
      }
      #secret-golf-join.sgj-page .join-soon-compact-body .join-soon-compact-region {
        display: none !important;
      }
      #secret-golf-join.sgj-page .join-soon-compact-body .join-soon-compact-date {
        display: flex !important;
      }
      #secret-golf-join.sgj-page .join-soon-compact-title {
        font-size: 17px;
      }
      #secret-golf-join.sgj-page .join-category-row.join-soon-category-row {
        margin-bottom: 4px;
      }
      #secret-golf-join.sgj-page .join-soon-compact-date .card-meta-text-date {
        color: var(--text);
      }
    }
    .sgj-page :where(*) {
      box-sizing: border-box;
    }
    .sgj-page :where(button, input, select, textarea) {
      font-family: var(--font-family-sgj);
      letter-spacing: 0;
    }
    .sgj-page .page-container {
      width: min(100% - 60px, var(--page-max-width));
      max-width: var(--page-max-width);
      margin-left: auto;
      margin-right: auto;
    }
    .sgj-page .sgj-section {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 50px 0;
      display: block;
      clear: both;
    }
    .sgj-page .sgj-active-section {
      width: min(100% - 60px, var(--page-max-width));
      max-width: var(--page-max-width);
      margin-left: auto;
      margin-right: auto;
      overflow: hidden;
    }
    #secret-golf-join.sgj-page #active.sgj-active-section {
      width: min(100% - 60px, var(--page-max-width));
      max-width: var(--page-max-width);
      margin-left: auto;
      margin-right: auto;
      overflow: visible;
    }
    .sgj-page .sgj-active-section > .page-container {
      width: 100%;
      max-width: 100%;
    }
    #secret-golf-join.sgj-page #active .section-head-row {
      justify-content: center;
      text-align: center;
      margin: 45px 0 18px;
    }
    #secret-golf-join.sgj-page #active .join-section-list {
      margin-top: 0;
    }
    @media (min-width: 641px) {
      #secret-golf-join.sgj-page #active.sgj-active-section {
        overflow: visible;
      }
    }
    .sgj-page .hero.sgj-section {
      width: min(100% - 60px, var(--page-max-width));
      margin: 0 auto;
      padding: 5px 0 20px;
      border-radius: 24px;
      background: transparent;
      box-shadow: none;
      overflow: visible;
    }
    .sgj-page .hero.sgj-section::before,
    .sgj-page .hero.sgj-section::after {
      content: none !important;
      display: none !important;
      background: none !important;
    }
    .sgj-page .hero .hero-grid {
      width: 100%;
      max-width: none;
      grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
      padding-left: 34px;
      padding-right: 34px;
    }
    .sgj-page .hero .hero-visual {
      aspect-ratio: 610 / 378;
      min-height: 0;
      margin-right: 0;
    }
    .sgj-page .sgj-search {
      width: 100%;
      max-width: none;
      margin-top: 26px;
      position: relative;
      z-index: 5;
    }
    .sgj-page .hero-search-stack {
      width: min(100%, 380px);
      display: grid;
      gap: 10px;
      margin-top: 35px;
    }
    .sgj-page .hero-search-stack .mobile-search-panel {
      width: 100%;
      margin: 0;
    }
    .sgj-page .hero-search-stack .mobile-search-input {
      min-height: 52px;
      border: 0;
      border-radius: 14px;
      background: #f5f6f7;
      box-shadow: none;
      color: #495056;
      padding: 0 20px;
    }
    .sgj-page .hero-destination-search-text {
      color: #495056;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.35;
    }
    .sgj-page .hero-search-stack .button.hero-create-button {
      width: 100%;
      height: 52px;
      min-height: 52px;
      padding: 0 20px;
      border: 0;
      border-radius: 14px;
      background: #108bff;
      color: #ffffff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      font-size: 18px;
      font-weight: 600;
      line-height: 1.25;
    }
    .detail-benefit-note .detail-benefit-highlight {
      color: #ff5656;
      font-weight: 700;
    }
    .sgj-page .hero-search-stack .button.hero-create-button:hover {
      background: #108bff;
      color: #ffffff;
    }
    .sgj-page .hero-search-stack .button.hero-create-button svg {
      width: 19px;
      height: 19px;
      flex: 0 0 19px;
    }
    .sgj-page .hero-search-stack .button.hero-create-button > div {
      font-size: 18px;
    }
    .sgj-page .hero-calendar-button {
      position: relative;
      width: 100%;
      min-height: 0;
      height: clamp(118px, 47.14vw, 132px);
      max-height: 132px;
      aspect-ratio: auto;
      border-radius: 0;
      background: transparent;
      border: 0;
      color: #373A3C;
      gap: 12px;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      padding: 28px 176px 28px 28px;
      box-shadow: none;
      text-align: left;
      overflow: hidden;
    }
    .sgj-page .hero-calendar-shape {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      z-index: 0;
      pointer-events: none;
    }
    .sgj-page .hero-calendar-main-shape {
      fill: #f5f6f7;
    }
    .sgj-page .hero-calendar-cta-shape {
      fill: #b0ec82;
    }
    .sgj-page .hero-calendar-button > :not(.hero-calendar-shape) {
      position: relative;
      z-index: 2;
    }
    .sgj-page .hero-calendar-thumb-stack {
      display: flex;
      align-items: center;
      align-self: flex-start;
      flex: 0 0 auto;
      width: 104px;
      min-width: 104px;
      margin-top: 4px;
      margin-left: 0;
    }
    .sgj-page .hero-calendar-social-proof {
      display: inline-flex;
      align-items: center;
      gap: 0px;
      align-self: flex-start;
      margin-top: 4px;
      min-width: 0;
    }
    .sgj-page .hero-calendar-social-proof .hero-calendar-thumb-stack {
      align-self: center;
      margin-top: 0;
    }
    .sgj-page .hero-calendar-count-stack {
      display: grid;
      gap: 2px;
      align-self: center;
      align-content: center;
      min-width: 0;
      height: 38px;
      min-height: 38px;
      padding: 5px 0 0 0;
    }
    .sgj-page .hero-calendar-profile-count,
    .sgj-page .hero-calendar-active-count {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: #1f91ff;
      font-size: 13px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
    }
    @media (min-width: 641px) {
      .sgj-page .hero-calendar-profile-count,
      .sgj-page .hero-calendar-active-count {
        font-size: 15px;
      }
    }
    .builder-day-holiday-label {
      position: absolute;
      left: 50%;
      top: calc(50% + 18px);
      z-index: 3;
      max-width: 92%;
      transform: translateX(-50%);
      color: #ef4444;
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      pointer-events: none;
    }
    .builder-day.muted .builder-day-holiday-label {
      color: #ffa3a3;
    }
    @media (max-width: 640px) {
      .calendar-holiday-label,
      .builder-day-holiday-label {
        font-size: 11px;
      }
    }
    .sgj-page .hero-calendar-profile-count svg,
    .sgj-page .hero-calendar-active-count svg {
      width: 14px;
      height: 14px;
      flex: 0 0 14px;
      color: #1f91ff;
    }
    .sgj-page .hero-calendar-active-count svg {
      margin-left: -1px;
    }
    .sgj-page .hero-calendar-profile-count-number,
    .sgj-page .hero-calendar-active-count-number {
      display: inline-flex;
      align-items: center;
      height: 1em;
      overflow: hidden;
      font-variant-numeric: tabular-nums;
    }
    .sgj-page .hero-calendar-profile-count-digit {
      width: .62em;
      height: 1em;
      overflow: hidden;
      display: inline-block;
    }
    .sgj-page .hero-calendar-profile-count-reel {
      display: grid;
      grid-auto-rows: 1em;
      transform: translateY(0);
      transition: transform .9s cubic-bezier(.16, 1, .3, 1);
      will-change: transform;
    }
    .sgj-page .hero-calendar-profile-count-reel div {
      height: 1em;
      line-height: 1;
      text-align: center;
    }
    .sgj-page .hero-calendar-profile-count-separator {
      height: 1em;
      line-height: 1;
      padding: 0 .03em;
    }
    .sgj-page .hero-calendar-thumb {
      position: relative;
      width: 38px;
      height: 38px;
      flex: 0 0 38px;
      min-width: 38px;
      border-radius: 50%;
      overflow: hidden;
      border: 1px solid #f1f1f1;
      background: #eaf2ff;
      box-shadow: 2px 3px 10px rgba(15, 23, 42, 0.05);
    }
    .sgj-page .hero-calendar-thumb:nth-child(1) {
      z-index: 1;
    }
    .sgj-page .hero-calendar-thumb:nth-child(2) {
      z-index: 2;
    }
    .sgj-page .hero-calendar-thumb:nth-child(3) {
      z-index: 3;
    }
    .sgj-page .hero-calendar-thumb + .hero-calendar-thumb {
      margin-left: -9px;
    }
    .sgj-page .hero-calendar-thumb img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      transform: translate(var(--hero-calendar-thumb-img-x, 0), var(--hero-calendar-thumb-img-y, 5px)) scale(var(--hero-calendar-thumb-img-scale, 1.35));
      transform-origin: center;
    }
    .sgj-page .hero-calendar-copy {
      display: grid;
      gap: 3px;
      width: 100%;
      min-width: 0;
      flex: 0 0 auto;
    }
    .sgj-page .hero-calendar-kicker {
      color: #373A3C;
      font-size: 11px;
      font-weight: 700;
      line-height: 1.2;
    }
    .sgj-page .hero-calendar-button-text {
      color: #373A3C;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.25;
    }
    @media (min-width: 641px) {
      .sgj-page .hero-calendar-button-text {
        font-size: 20px;
      }
    }
    .sgj-page .hero-calendar-button-desc {
      color: #5d6b82;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.25;
    }
    .sgj-page .hero-calendar-button:hover {
      background: transparent;
    }
    .sgj-page .hero-calendar-button .button-chevron {
      position: absolute;
      right: auto;
      top: 86.58%;
      width: auto;
      height: auto;
      margin: 0;
      flex: 0 0 auto;
      padding: 0;
      border-radius: 0;
      background: transparent;
      color: #495056;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.25;
      white-space: nowrap;
      z-index: 3;
      box-shadow: none;
      transform: translateY(-50%);
    }
    @media (max-width: 1024px) {
      .sgj-page .hero .hero-grid {
        grid-template-columns: 1fr;
      }
      .sgj-page .hero .hero-visual {
        width: 100%;
        max-width: none;
        justify-self: center;
      }
    }
    .sgj-page .button {
      border-radius: 14px;
      padding: 9px 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-weight: 600;
      line-height: 1.2;
      text-decoration: none;
      white-space: nowrap;
      cursor: pointer;
    }
    .sgj-page .builder-bottom .button,
    .sgj-page .detail-modal-actions .button,
    .sgj-page .detail-apply-actions .button,
    .sgj-page .privacy-modal-footer .button,
    .sgj-page .waitlist-modal-actions .button,
    .sgj-page .travel-date-view,
    .sgj-page .calendar-empty-schedule-action,
    .sgj-page .apply-complete-close,
    .sgj-page .builder-alert-button,
    body > #detailModal.sgj-portal-overlay .detail-modal-actions .button,
    body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions .button,
    body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-footer .button {
      font-size: var(--modal-bottom-button-font-size-pc);
      font-weight: var(--modal-bottom-button-font-weight);
    }
    #globalApplyOverlay .detail-apply-actions .button.primary,
    #globalApplyOverlay .detail-apply-actions .button.secondary,
    body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions .button.primary,
    body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions .button.secondary {
      font-size: var(--modal-bottom-button-font-size-pc);
      font-weight: var(--modal-bottom-button-font-weight);
    }
    .sgj-page .button.primary,
    .sgj-page .mobile-search-submit,
    .sgj-page .travel-date-view,
    .sgj-page .detail-modal-actions .button.primary,
    .sgj-page .detail-apply-actions .button.primary {
      background: var(--blue);
      border-color: var(--blue);
      color: #373A3C;
    }
    .sgj-page .builder-bottom .button.primary,
    .sgj-page .detail-modal-actions .button.primary,
    .sgj-page .detail-apply-actions .button.primary,
    .sgj-page .privacy-modal-footer .button.primary,
    .sgj-page .waitlist-modal-actions .button.primary,
    .sgj-page .travel-date-view,
    .sgj-page .calendar-empty-schedule-action,
    .sgj-page .apply-complete-close,
    .sgj-page .builder-alert-button,
    body > #detailModal.sgj-portal-overlay .detail-modal-actions .button.primary,
    body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions .button.primary,
    body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-footer .button.primary {
      background: var(--modal-bottom-primary-color);
      border-color: var(--modal-bottom-primary-color);
      color: #fff;
    }
    @media (max-width: 640px) {
      .sgj-page .builder-bottom .button,
      .sgj-page .detail-modal-actions .button,
      .sgj-page .detail-apply-actions .button,
      .sgj-page .privacy-modal-footer .button,
      .sgj-page .waitlist-modal-actions .button,
      .sgj-page .travel-date-view,
      .sgj-page .calendar-empty-schedule-action,
      .sgj-page .apply-complete-close,
      .sgj-page .builder-alert-button,
      body > #detailModal.sgj-portal-overlay .detail-modal-actions .button,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions .button,
      body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-footer .button {
        font-size: var(--modal-bottom-button-font-size-mo);
        font-weight: var(--modal-bottom-button-font-weight);
      }
      #globalApplyOverlay .detail-apply-actions .button.primary,
      #globalApplyOverlay .detail-apply-actions .button.secondary,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions .button.primary,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions .button.secondary {
        font-size: var(--modal-bottom-button-font-size-mo);
        font-weight: var(--modal-bottom-button-font-weight);
      }
    }
    .sgj-page .button.secondary,
    .sgj-page .chip,
    .sgj-page .detail-content-tab,
    .sgj-page .calendar-open-button {
      background: #fff;
      border: 1px solid var(--border);
      color: var(--text);
    }
    .sgj-page .join-section-calendar-button {
      background: #1f345bdb;
      border-color: #1f345bdb;
      color: #fff;
    }
    .sgj-page .button.secondary.hero-calendar-button {
      background: transparent;
      border: 0;
      color: #373A3C;
    }
    .sgj-page .button.secondary.hero-calendar-button:hover {
      background: transparent;
      color: #373A3C;
    }
    .sgj-page .chip.active,
    .sgj-page .detail-content-tab.active {
      background: #0c91f8;
      border-color: #0c91f8;
      color: #fff;
    }
    @media (min-width: 641px) {
      .sgj-page .join-section-nav .chip.active,
      .sgj-page .join-section-nav .chip[aria-current="true"] {
        background: linear-gradient(135deg, #4b5156 0%, #373a3c 48%, #24282b 100%);
        border-color: #373a3c;
        color: #ffffff;
        box-shadow: 0 10px 22px rgba(36, 40, 43, 0.2);
      }
    }
    .sgj-page .detail-content-tab.active {
      background: #0c91f8;
      border-color: #0c91f8;
    }
    .sgj-page .join-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      width: 100%;
      margin: 0;
    }
    @media (min-width: 1170px) {
      .sgj-page .join-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }
    }
    .sgj-page .join-card {
      display: flex;
      flex-direction: column;
      width: 100%;
      min-width: 0;
      border: 1px solid var(--border);
      border-radius: 22px;
      overflow: visible;
      background: #fff;
    }
    .sgj-page .join-thumb,
    .sgj-page .join-thumb > img:first-child {
      width: 100%;
      object-fit: cover;
    }
    .sgj-page .join-badge-wrap {
      width: auto;
      height: auto;
    }
    .sgj-page .join-thumb img.join-badge {
      width: 66px;
      height: 30px;
      object-fit: contain;
    }
    .sgj-page .join-thumb img.join-badge[data-badge-kind="lowest"] {
      width: 78px;
    }
    .sgj-page .join-body {
      padding: 18px;
      display: block;
      min-width: 0;
    }
    .sgj-page .join-product-section.layout-quick .join-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sgj-page .join-product-section.layout-quick .join-card {
      display: grid;
      grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
    }
    .sgj-page .join-product-section.layout-quick .join-card .join-thumb,
    .sgj-page .join-product-section.layout-quick .join-card .join-thumb > img:first-child,
    .sgj-page .join-product-section.layout-popular .join-thumb,
    .sgj-page .join-product-section.layout-popular .join-thumb > img:first-child {
      height: 100%;
    }
    @media (min-width: 1170px) {
      .sgj-page .join-product-section.layout-quick .join-grid {
        display: flex;
        grid-template-columns: none;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }
      .sgj-page .join-product-section.layout-quick .join-grid::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-product-section.layout-quick .join-card {
        flex: 0 0 calc((100% - 16px) / 2);
        scroll-snap-align: start;
        scroll-snap-stop: always;
      }
    }
    .sgj-page .join-product-section.layout-popular .join-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sgj-page .join-product-section.layout-popular .join-card {
      display: grid;
      grid-template-columns: 168px minmax(0, 1fr);
    }
    .sgj-page .join-product-section.layout-overseas .join-grid {
      display: flex;
      grid-template-columns: none;
      gap: 14px;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-behavior: smooth;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      padding: 0;
    }
    .sgj-page .join-product-section.layout-domestic .join-grid {
      display: flex;
      grid-template-columns: none;
      gap: 14px;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-behavior: smooth;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      padding: 0;
    }
    .sgj-page .join-product-section.layout-overseas .join-grid::-webkit-scrollbar,
    .sgj-page .join-product-section.layout-domestic .join-grid::-webkit-scrollbar {
      display: none;
    }
    .sgj-page .join-product-section.layout-overseas .join-card,
    .sgj-page .join-product-section.layout-domestic .join-card {
      flex: 0 0 calc((100% - 42px) / 4);
      min-width: calc((100% - 42px) / 4);
      scroll-snap-align: start;
    }
    @media (min-width: 641px) and (max-width: 1126px) {
      .sgj-page .join-soon-panel.active {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        width: 100%;
        max-width: 100%;
        overflow: visible;
      }
      .sgj-page .join-soon-compact-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }
      .sgj-page .join-product-section.layout-overseas .join-card,
      .sgj-page .join-product-section.layout-domestic .join-card {
        flex: 0 0 calc((100% - 14px) / 2);
        min-width: calc((100% - 14px) / 2);
      }
      .sgj-page .join-product-section.layout-overseas .join-title,
      .sgj-page .join-product-section.layout-domestic .join-title {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.3;
      }
      .sgj-page .join-product-section.layout-overseas .card-meta-text-date,
      .sgj-page .join-product-section.layout-domestic .card-meta-text-date {
        font-size: var(--font-card-date);
      }
      .sgj-page .join-product-section.layout-overseas .join-price,
      .sgj-page .join-product-section.layout-domestic .join-price {
        font-size: var(--font-card-price-unit);
      }
      .sgj-page .join-product-section.layout-overseas .join-price-value,
      .sgj-page .join-product-section.layout-domestic .join-price-value {
        font-size: var(--font-card-price);
      }
      .sgj-page .join-product-section.layout-overseas .join-price-label,
      .sgj-page .join-product-section.layout-overseas .join-price-unit,
      .sgj-page .join-product-section.layout-domestic .join-price-label,
      .sgj-page .join-product-section.layout-domestic .join-price-unit {
        font-size: var(--font-card-price-unit);
      }
    }
    @media (min-width: 641px) and (max-width: 940px) {
      .sgj-page .join-custom-panel.active,
      .sgj-page .join-product-section.layout-custom .join-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        width: 100%;
        max-width: 100%;
      }
      .sgj-page .join-product-section.layout-custom .join-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }
    }
    .sgj-page .toolbar,
    .sgj-page .toolbar-group,
    .sgj-page .team-row,
    .sgj-page .detail-team,
    .sgj-page .modal-actions,
    .sgj-page .detail-modal-actions {
      display: flex;
    }
    .sgj-page .toolbar {
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
    }
    .sgj-page .toolbar-group,
    .sgj-page .team-row,
    .sgj-page .detail-team {
      flex-wrap: wrap;
    }
    .sgj-page .modal-actions,
    .sgj-page .detail-modal-actions {
      gap: 10px;
    }
    .sgj-page .team-avatar,
    .sgj-page .team-empty {
      border: 2px solid #d1d5db;
      background: #fff;
      color: #94a3b8;
    }
    .sgj-page .team-empty {
      border-style: dashed;
    }
    .sgj-page .overlay,
    .sgj-page .calendar-sheet-overlay,
    .sgj-page .global-apply-overlay,
    .sgj-page .participant-floating {
      z-index: 100200;
      font-family: var(--font-family-sgj);
    }
    .sgj-page .overlay,
    .sgj-page .calendar-sheet-overlay,
    .sgj-page .global-apply-overlay,
    .sgj-page .participant-floating {
      position: fixed;
      z-index: 100300;
    }
    body > .sgj-portal-overlay,
    body > .sgj-portal-overlay.calendar-sheet-overlay,
    body > .sgj-portal-overlay.global-apply-overlay {
      position: fixed;
      z-index: 2147483000 !important;
      font-family: var(--font-family-sgj);
    }
    body > .sgj-portal-overlay.overlay,
    body > .sgj-portal-overlay.calendar-sheet-overlay,
    body > .sgj-portal-overlay.global-apply-overlay {
      inset: 0;
    }
    body > .sgj-portal-overlay.calendar-sheet-overlay {
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }
    body > .sgj-portal-overlay.calendar-sheet-overlay.open {
      display: flex;
    }
    body > .sgj-portal-overlay .calendar-sheet {
      width: min(760px, calc(100vw - 24px));
      max-height: calc(100vh - 40px);
      border-radius: 24px;
      box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
      transform: translateY(16px) scale(.98);
    }
    body > .sgj-portal-overlay.open .calendar-sheet {
      transform: translateY(0);
    }
    body > .sgj-portal-overlay .modal,
    body > .sgj-portal-overlay .calendar-sheet,
    body > .sgj-portal-overlay .detail-apply-panel,
    body > .sgj-portal-overlay .participant-popover {
      z-index: 100201;
      font-family: var(--font-family-sgj);
    }
    body > #globalApplyOverlay.sgj-portal-overlay {
      z-index: 2147483644 !important;
    }
    body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel {
      z-index: 2147483645 !important;
    }
    body > .sgj-portal-overlay.participant-floating {
      display: none;
      position: fixed;
      z-index: 2147483700 !important;
      width: min(320px, calc(100vw - 24px));
      pointer-events: none;
    }
    body > .sgj-portal-overlay.participant-floating.open {
      display: block;
      pointer-events: auto;
    }
    body > .sgj-portal-overlay .participant-popover {
      position: relative;
      z-index: 2147483701 !important;
      width: 100%;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
      color: var(--text);
    }
    .sgj-page .overlay,
    .sgj-page .calendar-sheet-overlay,
    .sgj-page .global-apply-overlay {
      inset: 0;
    }
    .sgj-page .overlay,
    .sgj-page .modal,
    .sgj-page .calendar-sheet-overlay,
    .sgj-page .calendar-sheet,
    .sgj-page .global-apply-overlay,
    .sgj-page .detail-apply-panel,
    .sgj-page .participant-floating,
    .sgj-page .participant-popover,
    .sgj-page .detail-modal-actions,
    .sgj-page .modal-header,
    .sgj-page .detail-anchor-tabs {
      z-index: 100200;
    }
    .sgj-page .modal,
    .sgj-page .calendar-sheet,
    .sgj-page .participant-popover {
      background: #fff;
      color: var(--text);
      font-family: var(--font-family-sgj);
      word-break: keep-all;
      overflow-wrap: normal;
    }
    .sgj-page .modal {
      box-sizing: border-box;
      max-width: calc(100vw - 24px);
    }
    .sgj-page .overlay.open {
      display: flex;
    }
    .sgj-page .detail-list,
    .sgj-page .detail-note-card ul {
      list-style: none;
      padding-left: 0;
    }
    .sgj-page .detail-list li,
    .sgj-page .detail-note-card li {
      display: block;
    }
    @media (max-width: 1024px) {
      .sgj-page .join-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (min-width: 641px) and (max-width: 1024px) {
      body > #detailModal.sgj-portal-overlay {
        align-items: center;
        justify-content: center;
        padding: 20px;
        overflow: hidden;
      }
      body > #detailModal.sgj-portal-overlay .detail-modal {
        display: flex;
        flex-direction: column;
        width: min(760px, calc(100vw - 24px));
        max-width: calc(100vw - 24px);
        height: auto;
        min-height: 0;
        max-height: calc(100dvh - 40px);
        overflow: hidden;
        border-radius: 24px;
      }
      body > #detailModal.sgj-portal-overlay .detail-modal .modal-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
      }
    }
    @media (min-width: 641px) and (max-width: 875px) {
      .sgj-page .join-section-nav {
        gap: 6px;
        padding: 8px;
      }
      .sgj-page .join-section-nav .chip {
        gap: 5px;
        min-height: 42px;
        padding: 8px 6px;
        font-size: 13px;
      }
      .sgj-page .join-section-nav .join-section-nav-icon {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
      }
      .sgj-page .join-mdpick-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .sgj-page .join-mdpick-theme-groups {
        grid-template-columns: 1fr;
        gap: 30px;
      }
      .sgj-page .join-mdpick-theme-group {
        grid-template-columns: 1fr;
      }
      .sgj-page .join-mdpick-theme-head {
        min-height: 210px;
      }
      .sgj-page .join-mdpick-theme-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 18px;
      }
      .sgj-page .join-mdpick-theme-meta {
        padding: 6px 2px 0;
      }
      .sgj-page .join-product-section.layout-quick .join-grid {
        grid-template-columns: 1fr;
      }
      .sgj-page .join-product-section.layout-quick .join-section-controls {
        display: none;
      }
      .sgj-page .join-product-section.layout-quick .join-card {
        display: grid;
        grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
        min-height: 260px;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-thumb {
        align-self: stretch;
        height: auto;
        min-height: 260px;
        overflow: hidden;
        border-radius: 22px 0 0 22px;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-thumb > img:first-child {
        display: block;
        height: 100%;
        min-height: 100%;
        max-height: 100%;
        border-radius: 22px 0 0 22px;
        clip-path: inset(0 round 22px 0 0 22px);
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-body {
        display: flex;
        flex-direction: column;
        align-self: stretch;
        height: 100%;
        min-height: 260px;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-card-feature-tag {
        display: inline-flex;
        width: fit-content;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-height: 22px;
        margin-bottom: 0;
        padding: 5px 9px;
        border-radius: 999px;
        background: #fff7ed;
        color: #c2410c;
        font-size: 12px;
        font-weight: 800;
        line-height: 1;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-card-include-tags {
        display: none !important;
        flex-wrap: wrap;
        align-content: flex-start;
        gap: 6px;
        margin: 12px 0 10px;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-card-participant-copy {
        display: block;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-price {
        margin-top: 0;
      }
      .sgj-page .join-product-section.layout-quick .join-card .team-row {
        flex-wrap: nowrap;
        margin-top: 12px;
      }
    }
    @media (max-width: 640px) {
      #detailModal .detail-modal-actions,
      body > #detailModal.sgj-portal-overlay .detail-modal-actions {
        position: relative;
        overflow: visible;
      }

      #detailModal.open .detail-modal,
      body > #detailModal.sgj-portal-overlay.open .detail-modal {
        overflow: visible !important;
      }

      #detailModal.mdpick-recruit-mode .detail-modal-actions,
      body > #detailModal.sgj-portal-overlay.mdpick-recruit-mode .detail-modal-actions {
        display: grid !important;
        grid-template-columns: minmax(0, .72fr) minmax(0, 1fr) !important;
      }

      #detailModal.builder-select-mode.builder-product-detail-mode .detail-modal-actions,
      body > #detailModal.sgj-portal-overlay.builder-select-mode.builder-product-detail-mode .detail-modal-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px;
      }

      #detailModal .detail-modal-actions::after,
      body > #detailModal.sgj-portal-overlay .detail-modal-actions::after,
      #detailModal.mdpick-recruit-mode .detail-modal-actions::after,
      #detailModal.builder-product-detail-mode .detail-modal-actions::after,
      body > #detailModal.sgj-portal-overlay.mdpick-recruit-mode .detail-modal-actions::after,
      body > #detailModal.sgj-portal-overlay.builder-product-detail-mode .detail-modal-actions::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 180px;
        background: #fff;
        pointer-events: none;
      }

      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions {
        position: relative;
        overflow: visible;
      }

      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 240px;
        background: #fff;
        pointer-events: none;
      }

      #detailModal.mdpick-recruit-mode .detail-modal-actions .detail-contact-button,
      body > #detailModal.sgj-portal-overlay.mdpick-recruit-mode .detail-modal-actions .detail-contact-button {
        display: none !important;
      }
      #detailModal.mdpick-recruit-mode #detailPrimaryButton svg,
      body > #detailModal.sgj-portal-overlay.mdpick-recruit-mode #detailPrimaryButton svg {
        display: none !important;
      }
      .read_contens > #secret-golf-join,
      .boardread_type1 .read_contens > #secret-golf-join {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc((100% - 100vw) / 2);
        margin-right: calc((100% - 100vw) / 2);
      }
      .sgj-board-host > #secret-golf-join {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
      }
      #secret-golf-join.sgj-page {
        --font-hero-title: 34px;
        --font-hero-subtitle: clamp(16px, 5vw, 20px);
        --font-section-title: 26px;
        --font-section-desc: clamp(15px, 4.3vw, 16px);
        --font-product-section-title: 24px;
        --font-product-section-desc: 16px;
        --font-card-title: clamp(18px, 5.5vw, 19px);
        --font-card-meta: clamp(14px, 4.2vw, 17px);
        --font-card-location: 13px;
        --font-image-location: 13px;
        --font-soon-card-location: 14px;
        --font-card-date: clamp(14px, 4.2vw, 16px);
        --font-card-price: clamp(20px, 5.8vw, 24px);
        --font-card-price-unit: clamp(13px, 3.8vw, 14px);
        --font-card-category: clamp(11px, 3.4vw, 12px);
        --font-soon-date: 18px;
        --font-soon-weekday: 14px;
        --font-soon-count: 14px;
        --soon-date-weekday-gap: 4px;
        --font-label: clamp(13px, 3.8vw, 14px);
        --mobile-page-gutter: 25px;
        --mobile-home-header-height: 55px;
      }
      #secret-golf-join {
        -webkit-user-select: none;
        user-select: none;
        -webkit-touch-callout: none;
      }
      #secret-golf-join input,
      #secret-golf-join textarea,
      #secret-golf-join select {
        -webkit-user-select: text;
        user-select: text;
        -webkit-touch-callout: default;
      }
      body > .sgj-portal-overlay {
        -webkit-user-select: none;
        user-select: none;
        -webkit-touch-callout: none;
        touch-action: pan-y;
      }
      body > .sgj-portal-overlay input,
      body > .sgj-portal-overlay textarea,
      body > .sgj-portal-overlay select {
        -webkit-user-select: text;
        user-select: text;
      }
      #builderDatePopover.builder-date-popover::after,
      #builderFlexSheet.builder-flex-sheet::after,
      #builderActiveScheduleSheet.builder-flex-sheet::after,
      body > #detailModal.sgj-portal-overlay .detail-apply-panel::after,
      body > .participant-floating.sgj-portal-overlay .participant-popover::after {
        content: "";
        position: absolute;
        top: 8px;
        left: 50%;
        z-index: 5;
        width: 42px;
        height: 5px;
        border-radius: 999px;
        background: #d1d5db;
        transform: translateX(-50%);
        pointer-events: none;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel::after {
        display: none;
        content: none;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel.is-complete::after {
        display: none;
        content: none;
      }
      #builderDatePopover.builder-date-popover,
      #builderFlexSheet.builder-flex-sheet {
        padding-top: 24px;
      }
      body > #detailModal.sgj-portal-overlay .detail-apply-head,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-head,
      body > .participant-floating.sgj-portal-overlay .participant-sheet-header {
        padding-top: 24px;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel.is-complete .detail-apply-head {
        padding-top: 0;
      }
      .sgj-page .page-container {
        width: min(calc(100% - (var(--mobile-page-gutter) * 2)), var(--page-max-width));
      }
      #secret-golf-join.sgj-page #active.sgj-active-section {
        width: 100%;
        max-width: none;
        overflow: visible;
        padding-top: 0;
      }
      #secret-golf-join.sgj-page #active.sgj-active-section > .page-container {
        width: min(calc(100% - (var(--mobile-page-gutter) * 2)), var(--page-max-width));
        max-width: var(--page-max-width);
        margin-left: auto;
        margin-right: auto;
      }
      .sgj-page .sgj-section {
        padding: 50px 0;
      }
      .sgj-page .sgj-active-section {
        width: 100%;
        max-width: none;
      }
      .sgj-page .hero.sgj-section {
        width: min(calc(100% - (var(--mobile-page-gutter) * 2)), var(--page-max-width));
        padding: 5px 0 0px;
        border-radius: 20px;
      }
      .sgj-page .hero .hero-grid {
        padding-left: 0;
        padding-right: 0;
      }
      .sgj-page .hero-title {
        font-size: var(--font-hero-title);
        line-height: 1.2;
        margin: 28px 0 12px;
        font-weight: 800;
      }
      .sgj-page .hero-subtitle {
        font-size: var(--font-hero-subtitle);
        line-height: 1.5;
      }
      .sgj-page .mobile-search-input {
        --font-mobile-search-input: 14px;
        --font-weight-mobile-search-input: 500;
        --font-mobile-search-placeholder: 14px;
        --font-weight-mobile-search-placeholder: 500;
        --color-mobile-search-input: #a3a3a3;
        box-shadow: none;
      }
      .sgj-page .hero-search-stack .mobile-search-input {
        min-height: 48px;
        border-radius: 14px;
      }
      .sgj-page .hero-search-stack .button.hero-create-button > div {
        font-size: 17px;
      }
      .sgj-page .hero-search-stack .button.hero-create-button svg {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
      }
      .sgj-page .hero-destination-search-text {
        color: #495056;
        font-size: 15px;
        font-weight: 500;
      }
      .sgj-page .hero .hero-visual {
        width: 100%;
        max-width: 100%;
        min-height: 170px;
        margin-left: 0;
        margin-right: 0;
        border-radius: 15px;
        justify-self: center;
      }
      .sgj-page .hero .hero-slider-viewport,
      .sgj-page .hero .hero-slide,
      .sgj-page .hero .hero-visual img {
        border-radius: 15px;
      }
      .sgj-page .hero-slick-dots {
        position: absolute;
        left: 50%;
        bottom: -16px;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        transform: translateX(-50%);
      }
      .sgj-page .section-title-bolt {
        display: inline-block;
        width: 14px;
        height: 19px;
        margin-left: 1px;
        vertical-align: -2px;
        background: linear-gradient(180deg, #ffb84d 0%, #f97316 100%);
        clip-path: polygon(52% 0, 100% 0, 66% 40%, 100% 40%, 36% 100%, 48% 56%, 0 56%);
      }
      .sgj-page .section-title {
        font-size: var(--font-section-title) !important;
        line-height: 1.30;
        font-weight: 800;
        margin: 0 0 3px;
      }
      .sgj-page .sgj-create-section .cta-copy {
        text-align: center;
      }
      .sgj-page .sgj-create-section .cta-title {
        text-align: center;
      }
      .sgj-page .sgj-create-section .cta-subcopy {
        text-align: center;
      }
      .sgj-page .sgj-create-section .cta-subcopy-text {
        text-align: center;
      }
      .sgj-page .section-head-row {
        align-items: stretch;
      }
      .sgj-page .calendar-open-button {
        width: 100%;
        justify-content: center;
      }
      .sgj-page .hero-calendar-button {
        min-height: 0;
        border-radius: 0;
        padding: 24px 132px 24px 20px;
      }
      .sgj-page .hero-calendar-button .button-chevron {
        width: auto;
        height: auto;
        flex-basis: auto;
        padding: 0;
        border-radius: 0;
      }
      .sgj-page .calendar-sheet .calendar-cell strong {
        font-size: 17px;
        font-weight: 600;
      }
      body > .calendar-sheet-overlay .calendar-cell strong {
        font-size: 17px;
        font-weight: 600;
      }
      .sgj-page .sgj-search {
        margin-top: 22px;
      }
      .sgj-page .hero-search-stack {
        width: min(100%, 420px);
        display: grid;
        gap: 12px;
        margin-top: 35px;
      }
      .sgj-page .join-grid,
      .sgj-page .detail-grid {
        grid-template-columns: 1fr;
      }
      .sgj-page .join-section-list {
        gap: 44px;
        margin-top: 20px;
      }
      .sgj-page .join-product-section {
        gap: 14px;
      }
      .sgj-page .join-product-section.layout-quick,
      .sgj-page .join-product-section.layout-overseas,
      .sgj-page .join-product-section.layout-domestic {
        overflow: visible;
      }
      .sgj-page .join-product-section-head {
        align-items: flex-start;
      }
      .sgj-page .join-section-controls {
        display: none !important;
      }
      .sgj-page .join-soon-month-controls {
        display: none;
      }
      .sgj-page .join-product-section-title {
        font-size: var(--font-product-section-title);
      }
      .sgj-page .join-product-section-desc {
        font-size: var(--font-product-section-desc);
      }
      .sgj-page .join-section-calendar-button {
        width: auto;
        min-height: 36px;
        margin-right: 0;
        padding: 8px 12px;
        border-radius: 12px;
        white-space: nowrap;
      }
      .sgj-page .join-section-calendar-button .calendar-label-full {
        display: none;
      }
      .sgj-page .join-section-calendar-button .calendar-label-short {
        display: inline;
      }
      .sgj-page .join-product-section.layout-quick .join-grid,
      .sgj-page .join-product-section.layout-soon .join-grid,
      .sgj-page .join-product-section.layout-popular .join-grid,
      .sgj-page .join-product-section.layout-custom .join-grid,
      .sgj-page .join-product-section.layout-domestic .join-grid {
        grid-template-columns: 1fr;
      }
      .sgj-page .join-custom-themes {
        display: flex;
        grid-template-columns: none;
        gap: 7px;
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 0;
        box-sizing: border-box;
      }
      .sgj-page .join-custom-themes::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-custom-themes::before,
      .sgj-page .join-custom-themes::after {
        content: "";
        flex: 0 0 calc(var(--mobile-page-gutter) + 1px);
        scroll-snap-align: none;
      }
      .sgj-page .join-custom-theme-card {
        display: flex;
        flex: 0 0 calc(100% - (var(--mobile-page-gutter) * 2));
        min-width: calc(100% - (var(--mobile-page-gutter) * 2));
        max-width: calc(100% - (var(--mobile-page-gutter) * 2));
        min-height: 0;
        aspect-ratio: 2.6 / 1;
        padding: 12px 14px;
        border: 1px solid #edf0f4;
        border-radius: 8px;
        background: #fff;
        color: var(--text);
        text-align: left;
        box-shadow: none;
        scroll-snap-align: center;
      }
      .sgj-page .join-custom-theme-card[data-custom-theme="beginner"] {
        background:
          linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .72) 46%, rgba(255, 255, 255, .12) 68%),
          url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/banner_beginner.jpg") center / cover no-repeat;
      }
      .sgj-page .join-custom-theme-card[data-custom-theme="women"] {
        background:
          linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .72) 46%, rgba(255, 255, 255, .12) 68%),
          url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/banner_woman.jpg") center / cover no-repeat;
      }
      .sgj-page .join-custom-theme-card[data-custom-theme="senior"] {
        background:
          linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .72) 46%, rgba(255, 255, 255, .12) 68%),
          url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/banner_senior.jpg") center / cover no-repeat;
      }
      .sgj-page .join-custom-theme-card::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2px;
        border-radius: 999px 999px 0 0;
        background: #cacaca29;
        opacity: 1;
      }
      .sgj-page .join-custom-theme-card.active::after {
        opacity: 1;
      }
      .sgj-page .join-custom-theme-card.active {
        border-radius: 14px;
      }
      .sgj-page .join-custom-theme-card:first-child {
        border-radius: 14px;
      }
      .sgj-page .join-custom-theme-card:last-child {
        border-radius: 14px;
      }
      .sgj-page .join-custom-theme-card::before {
        content: none;
      }
      .sgj-page .join-custom-theme-card.active {
        border-color: #edf0f4;
        box-shadow: none;
        transform: none;
        outline: 0;
      }
      .sgj-page .join-custom-theme-copy {
        width: 64%;
        place-items: start;
        align-content: center;
        gap: clamp(8px, 2.2vw, 12px);
      }
      .sgj-page .join-custom-theme-label {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        padding: clamp(5px, 1.45vw, 7px) clamp(9px, 2.4vw, 12px);
        border-radius: 999px;
        background: #3667d6;
        color: #ffffff;
        font-size: clamp(12px, 3.6vw, 15px);
        font-weight: 500;
        line-height: 1;
      }
      .sgj-page .join-custom-theme-title {
        padding-left: 0;
        font-size: clamp(17px, 4.95vw, 21px);
        font-weight: 800;
        color: var(--text);
        line-height: 1.2;
        min-height: 0;
        white-space: nowrap;
        overflow: visible;
        word-break: keep-all;
      }
      .sgj-page .join-custom-mobile-break {
        display: none;
      }
      .sgj-page .join-custom-theme-desc {
        display: block;
        margin-top: -3px;
        color: #7c7d7f;
        font-size: clamp(13px, 3.85vw, 16px);
        font-weight: 600;
        line-height: 1.35;
      }
      .sgj-page .join-custom-theme-visual {
        display: none;
      }
      .sgj-page .join-custom-panels {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        overflow: visible;
        box-sizing: border-box;
      }
      .sgj-page .join-custom-panel.active {
        display: flex;
        gap: 10px;
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-top: -6px;
        padding: 10px 0 8px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        box-sizing: border-box;
      }
      .sgj-page .join-custom-panel.active::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-custom-panel.active::before,
      .sgj-page .join-custom-panel.active::after {
        content: "";
        flex: 0 0 calc(var(--mobile-page-gutter) + 1px);
        scroll-snap-align: none;
      }
      .sgj-page .join-product-section.layout-custom .join-card {
        flex: 0 0 calc(100% - (var(--mobile-page-gutter) * 2));
        max-width: calc(100% - (var(--mobile-page-gutter) * 2));
        display: flex;
        flex-direction: column;
        min-height: 0;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        background: #fff;
      }
      .sgj-page .join-product-section.layout-custom .join-thumb,
      .sgj-page .join-product-section.layout-custom .join-thumb > img:first-child {
        height: 170px;
        min-height: 0;
        border-radius: 22px 22px 0 0;
        clip-path: inset(0 round 22px 22px 0 0);
      }
      .sgj-page .join-product-section.layout-custom .join-badge-wrap {
        top: 14px;
        right: 14px;
        bottom: auto;
        left: auto;
      }
      .sgj-page .join-product-section.layout-custom .join-title {
        font-size: var(--font-card-title);
      }
      .sgj-page .join-product-section.layout-quick .join-grid {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scrollbar-width: none;
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 0 0 4px;
        box-sizing: border-box;
      }
      .sgj-page .join-product-section.layout-quick .join-grid::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-product-section.layout-popular .join-grid {
        display: flex;
        grid-template-columns: none;
        gap: 10px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 0 0 4px;
        box-sizing: border-box;
      }
      .sgj-page .join-product-section.layout-popular .join-grid::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-product-section.layout-overseas .join-grid,
      .sgj-page .join-product-section.layout-domestic .join-grid {
        display: flex;
        grid-template-columns: none;
        gap: 10px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 0 0 4px;
        box-sizing: border-box;
      }
      .sgj-page .join-product-section.layout-overseas .join-grid::-webkit-scrollbar,
      .sgj-page .join-product-section.layout-domestic .join-grid::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-product-section.layout-quick .join-grid::before,
      .sgj-page .join-product-section.layout-quick .join-grid::after,
      .sgj-page .join-product-section.layout-popular .join-grid::before,
      .sgj-page .join-product-section.layout-popular .join-grid::after,
      .sgj-page .join-product-section.layout-overseas .join-grid::before,
      .sgj-page .join-product-section.layout-overseas .join-grid::after,
      .sgj-page .join-product-section.layout-domestic .join-grid::before,
      .sgj-page .join-product-section.layout-domestic .join-grid::after {
        content: "";
        flex: 0 0 calc(var(--mobile-page-gutter) + 1px);
        scroll-snap-align: none;
      }
      .sgj-page .join-product-section.layout-quick .join-card {
        flex: 0 0 calc(100% - (var(--mobile-page-gutter) * 2));
        max-width: calc(100% - (var(--mobile-page-gutter) * 2));
        scroll-snap-align: center;
        scroll-snap-stop: always;
      }
      .sgj-page .join-product-section.layout-popular .join-card {
        flex: 0 0 calc(100% - (var(--mobile-page-gutter) * 2));
        max-width: calc(100% - (var(--mobile-page-gutter) * 2));
        scroll-snap-align: center;
        scroll-snap-stop: always;
      }
      .sgj-page .join-product-section.layout-overseas .join-card,
      .sgj-page .join-product-section.layout-domestic .join-card {
        flex: 0 0 calc(100% - (var(--mobile-page-gutter) * 2));
        max-width: calc(100% - (var(--mobile-page-gutter) * 2));
        scroll-snap-align: center;
        scroll-snap-stop: always;
      }
      .sgj-page .join-product-section.layout-overseas .join-title,
      .sgj-page .join-product-section.layout-domestic .join-title {
        font-size: var(--font-card-title);
        line-height: 1.35;
        font-weight: 700;
      }
      .sgj-page .join-product-section.layout-overseas .card-meta-text-date,
      .sgj-page .join-product-section.layout-domestic .card-meta-text-date {
        font-size: var(--font-card-date);
      }
      .sgj-page .join-product-section.layout-overseas .join-price,
      .sgj-page .join-product-section.layout-domestic .join-price {
        font-size: var(--font-card-price-unit);
      }
      .sgj-page .join-product-section.layout-overseas .join-price-value,
      .sgj-page .join-product-section.layout-domestic .join-price-value {
        font-size: var(--font-card-price);
      }
      .sgj-page .join-product-section.layout-overseas .join-price-label,
      .sgj-page .join-product-section.layout-overseas .join-price-unit,
      .sgj-page .join-product-section.layout-domestic .join-price-label,
      .sgj-page .join-product-section.layout-domestic .join-price-unit {
        font-size: var(--font-card-price-unit);
      }
      .sgj-page .join-product-section.layout-quick .join-card,
      .sgj-page .join-product-section.layout-popular .join-card,
      .sgj-page .join-product-section.layout-overseas .join-card,
      .sgj-page .join-product-section.layout-domestic .join-card {
        display: flex;
        flex-direction: column;
        min-height: 0;
      }
      .sgj-page .join-product-section.layout-quick .join-card:first-child {
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        min-height: 0;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-body {
        display: block;
        align-self: auto;
        height: auto;
        min-height: 0;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-card-feature-tag {
        display: inline-flex;
        width: fit-content;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-height: 22px;
        margin-bottom: 0;
        padding: 5px 9px;
        border-radius: 999px;
        background: #fff7ed;
        color: #c2410c;
        font-size: 12px;
        font-weight: 800;
        line-height: 1;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-card-include-tags {
        display: none !important;
        flex-wrap: wrap;
        align-content: flex-start;
        gap: 6px;
        margin: 10px 0 10px;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-title {
        font-size: clamp(17px, 5vw, 20px);
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-card-participant-copy {
        display: block;
        margin: 5px 0 5px;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-price {
        margin-top: 7px;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-thumb,
      .sgj-page .join-product-section.layout-popular .join-thumb {
        height: 210px;
        min-height: 0;
        border-radius: 22px 22px 0 0;
      }
      .sgj-page .join-product-section.layout-quick .join-card:first-child .join-thumb {
        height: 210px;
        min-height: 0;
        border-radius: 22px 22px 0 0;
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-thumb > img:first-child,
      .sgj-page .join-product-section.layout-popular .join-thumb > img:first-child {
        height: 210px;
        border-radius: 22px 22px 0 0;
        clip-path: inset(0 round 22px 22px 0 0);
      }
      .sgj-page .join-product-section.layout-quick .join-card:first-child .join-thumb > img:first-child {
        height: 210px;
        border-radius: 22px 22px 0 0;
        clip-path: inset(0 round 22px 22px 0 0);
      }
      .sgj-page .join-product-section.layout-quick .join-card .join-thumb,
      .sgj-page .join-product-section.layout-quick .join-card .join-thumb > img:first-child,
      .sgj-page .join-product-section.layout-quick .join-card:first-child .join-thumb,
      .sgj-page .join-product-section.layout-quick .join-card:first-child .join-thumb > img:first-child {
        height: 189px;
      }
      .sgj-page .join-product-section.layout-domestic .join-thumb,
      .sgj-page .join-product-section.layout-domestic .join-thumb > img:first-child,
      .sgj-page .join-product-section.layout-overseas .join-thumb,
      .sgj-page .join-product-section.layout-overseas .join-thumb > img:first-child {
        height: 190px;
        border-radius: 22px 22px 0 0;
        clip-path: inset(0 round 22px 22px 0 0);
      }
      @media (max-width: 360px) {
        .sgj-page .join-product-section.layout-quick .join-card .join-thumb,
        .sgj-page .join-product-section.layout-quick .join-card .join-thumb > img:first-child,
        .sgj-page .join-product-section.layout-quick .join-card:first-child .join-thumb,
        .sgj-page .join-product-section.layout-quick .join-card:first-child .join-thumb > img:first-child,
        .sgj-page .join-product-section.layout-popular .join-thumb,
        .sgj-page .join-product-section.layout-popular .join-thumb > img:first-child,
        .sgj-page .join-product-section.layout-overseas .join-thumb,
        .sgj-page .join-product-section.layout-overseas .join-thumb > img:first-child {
          height: 170px;
        }
      }
      .sgj-page .join-soon-mobile {
        display: block;
        width: calc(100% + var(--mobile-page-gutter));
        max-width: none;
        margin-right: calc(var(--mobile-page-gutter) * -1);
        overflow: hidden;
      }
      .sgj-page .join-soon-panels {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
      }
      .sgj-page .join-soon-date-rail {
        position: relative;
        display: flex;
        gap: 12px;
        margin: 0 0 12px;
        padding: 4px 82px 8px 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 82px), transparent 100%);
        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 82px), transparent 100%);
      }
      .sgj-page .join-soon-date-rail::before {
        content: none;
      }
      .sgj-page .join-soon-date-rail::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-soon-date-line {
        position: absolute;
        left: 0;
        top: 50%;
        z-index: 0;
        width: var(--soon-date-line-width, 100%);
        height: 2px;
        border-radius: 999px;
        background: #e2e8f0;
        transform: translateY(-50%);
        pointer-events: none;
      }
      .sgj-page .join-soon-date-chip {
        position: relative;
        z-index: 1;
        flex: 0 0 82px;
        border: 1px solid #d9e3ef;
        border-radius: 14px;
        background: #fff;
        color: #475569;
        padding: 8px 9px;
        font: inherit;
        text-align: left;
        box-shadow: 0 3px 6px rgba(15, 23, 42, 0.035);
      }
      .sgj-page .join-soon-date-chip.active {
        border-color: var(--blue);
        background: var(--blue);
        color: #fff;
      }
      .sgj-page .join-soon-date-main {
        display: flex;
        align-items: baseline;
        gap: var(--soon-date-weekday-gap);
        font-size: var(--font-soon-date);
        font-weight: 800;
        line-height: 1.1;
      }
      .sgj-page .join-soon-date-weekday {
        font-size: var(--font-soon-weekday);
        font-weight: 800;
        line-height: 1;
      }
      .sgj-page .join-soon-date-count {
        display: inline-flex;
        align-items: baseline;
        gap: 2px;
        margin-top: 4px;
        font-size: var(--font-soon-count);
        font-weight: 700;
        line-height: 1;
        opacity: .78;
        white-space: nowrap;
        letter-spacing: 0;
      }
      .sgj-page .join-soon-date-chip.active .join-soon-date-count,
      .sgj-page .join-soon-date-chip.active .join-soon-date-count-number,
      .sgj-page .join-soon-date-chip.active .join-soon-date-count-unit {
        color: #e2ff0a;
      }
      .sgj-page .join-soon-date-chip.active .join-soon-date-count-unit {
        color: rgba(255, 255, 255, 0.68);
      }
      .sgj-page .join-soon-panel {
        display: none;
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }
      .sgj-page .join-soon-panel.active {
        display: flex;
        gap: 10px;
        width: calc(100vw - var(--mobile-page-gutter));
        max-width: none;
        margin-right: calc(50% - 50vw);
        padding: 0 0 4px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        box-sizing: border-box;
      }
      .sgj-page .join-soon-panel.active::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-soon-panel.active::after {
        content: "";
        flex: 0 0 calc(var(--mobile-page-gutter) + 1px);
        scroll-snap-align: none;
      }
      .sgj-page .join-soon-compact-card {
        display: grid;
        position: relative;
        grid-template-columns: minmax(0, 1fr);
        flex: 0 0 calc(100% - (var(--mobile-page-gutter) * 2));
        max-width: calc(100% - (var(--mobile-page-gutter) * 2));
        min-width: 0;
        gap: 0;
        align-items: stretch;
        padding: 17px 12px 12px;
        border: 1px solid var(--border);
        border-radius: 16px;
        background: #fff;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        box-sizing: border-box;
        overflow: hidden;
        box-shadow: none;
      }
      .sgj-page .join-soon-compact-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 5px;
        background: #d7f8e4;
      }
      .sgj-page .join-soon-compact-card.domestic::before {
        background: linear-gradient(90deg, #bbf7d0, #dcfce7);
      }
      .sgj-page .join-soon-compact-card.overseas::before {
        background: linear-gradient(90deg, #bfdbfe, #dbeafe);
      }
      .sgj-page .join-soon-compact-thumb {
        display: none;
      }
      .sgj-page .join-soon-compact-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .sgj-page .join-soon-compact-body {
        min-width: 0;
        display: flex;
        flex-direction: column;
        padding: 0 5px 5px;
      }
      .sgj-page .join-soon-compact-body .join-soon-compact-region {
        display: flex;
      }
      .sgj-page .join-category-row.join-soon-category-row {
        display: none !important;
      }
      .sgj-page .join-soon-compact-region {
        margin: 0 0 3px;
        color: var(--text-soft);
        font-size: var(--font-soon-card-location);
        font-weight: 700;
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .sgj-page .join-soon-compact-title {
        margin: 0 0 6px;
        color: var(--text);
        font-size: var(--font-card-title);
        font-weight: 700;
        line-height: 1.25;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      .sgj-page .join-soon-compact-date {
        margin: 0 0 8px 0;
        color: #334155;
        font-size: clamp(11px, 3.4vw, 13px);
        font-weight: 700;
        line-height: 1.25;
      }
      .sgj-page .join-soon-compact-price {
        display: flex;
        align-items: baseline;
        gap: 5px;
        margin-top: 14px;
        color: var(--blue);
        font-size: clamp(12px, 3.7vw, 13px);
        font-weight: 800;
        line-height: 1.2;
      }
      .sgj-page .join-soon-compact-price strong {
        top: 0;
        font-size: clamp(18px, 5.8vw, 21px);
        letter-spacing: 0;
      }
      .sgj-page .join-soon-compact-team {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid #edf2f7;
      }
      .sgj-page .join-soon-compact-team .team-couple-wrap {
        --team-avatar-size: 48px;
        height: var(--team-avatar-size);
      }
      .sgj-page .join-soon-compact-team .team-avatar,
      .sgj-page .join-soon-compact-team .team-empty {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        border-radius: 12px;
        border-width: 2px;
      }
      .sgj-page .join-product-section.layout-soon .join-card::before {
        left: -25px;
        top: 14px;
      }
      .sgj-page .join-section-nav-slot {
        position: relative;
        width: 100vw;
        max-width: 100vw;
        height: 105px;
        margin: 8px calc((100% - 100vw) / 2) 12px;
      }
      .sgj-page .join-section-nav {
        --join-section-nav-chip-width: 75px;
        --join-section-nav-chip-gap: 7px;
        position: sticky;
        top: var(--mobile-home-header-height);
        z-index: 40;
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        gap: var(--join-section-nav-chip-gap);
        box-sizing: border-box;
        width: 100vw;
        max-width: 100vw;
        margin: 0;
        padding: 15px var(--mobile-page-gutter);
        border: 0;
        border-radius: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(8px);
      }
      .sgj-page .join-section-nav .chip {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        flex: 0 0 var(--join-section-nav-chip-width);
        width: var(--join-section-nav-chip-width);
        min-width: var(--join-section-nav-chip-width);
        max-width: var(--join-section-nav-chip-width);
        box-sizing: border-box;
        overflow: hidden;
        white-space: nowrap;
        transform-origin: top center;
        border-radius: 16px;
        transition:
          height .38s cubic-bezier(0.16, 1, 0.3, 1),
          min-height .38s cubic-bezier(0.16, 1, 0.3, 1),
          padding .32s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow .2s ease-out;
      }
      .sgj-page .join-section-nav .chip[data-join-section-target="overseas"] {
        flex: 0 0 88px;
        flex-basis: 88px;
        width: 88px;
        min-width: 88px;
        max-width: 88px;
      }
      .sgj-page .join-section-nav:not(.is-fixed) .chip {
        flex-direction: column;
        gap: 2px;
        height: 75px;
        min-height: 75px;
        padding: 5px 4px;
        border-radius: 16px;
        background: rgb(245, 246, 247) !important;
        border-color: #eef0f3 !important;
        color: var(--text) !important;
        box-shadow: none;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.1;
      }
      .sgj-page .join-section-nav .join-section-nav-icon,
      .sgj-page .join-section-nav .join-section-nav-label {
        transform-origin: top center;
        transition:
          opacity .2s ease-out,
          transform .34s cubic-bezier(0.16, 1, 0.3, 1),
          width .32s cubic-bezier(0.16, 1, 0.3, 1),
          height .32s cubic-bezier(0.16, 1, 0.3, 1),
          flex-basis .32s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .sgj-page .join-section-nav .join-section-nav-label {
        display: block;
        font-size: 14px;
      }
      .sgj-page .join-section-nav .join-section-nav-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
        opacity: 1;
        transform: scale(1);
        overflow: hidden;
      }
      .sgj-page .join-section-nav .join-section-nav-icon img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
      .sgj-page .join-section-nav:not(.is-fixed) .join-section-nav-icon {
        transition-delay: .06s;
      }
      .sgj-page .join-section-nav:not(.is-fixed) .join-section-nav-label {
        opacity: 1;
        transform: scale(1);
        transition-delay: .08s;
      }
      .sgj-page .join-section-nav.is-fixed {
        position: fixed !important;
        top: var(--mobile-home-header-height) !important;
        left: 0 !important;
        width: 100vw !important;
        z-index: 40;
        gap: var(--join-section-nav-chip-gap) !important;
        margin: 0;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
        padding-left: var(--mobile-page-gutter) !important;
        padding-right: var(--mobile-page-gutter) !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
      }
      .sgj-page .join-section-nav.is-fixed .chip {
        flex: 0 0 var(--join-section-nav-chip-width) !important;
        width: var(--join-section-nav-chip-width) !important;
        min-width: var(--join-section-nav-chip-width) !important;
        max-width: var(--join-section-nav-chip-width) !important;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 0;
        height: 32px;
        min-height: 32px;
        padding: 6px 4px;
        border-radius: 16px;
        background: #fff !important;
        border-color: var(--border) !important;
        color: var(--text) !important;
        box-shadow: none;
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
      }
      .sgj-page .join-section-nav.is-fixed .chip[data-join-section-target="overseas"] {
        flex: 0 0 94px !important;
        flex-basis: 94px !important;
        width: 94px !important;
        min-width: 94px !important;
        max-width: 94px !important;
      }
      .sgj-page .join-section-nav.is-fixed .join-section-nav-icon {
        display: flex;
        width: 0;
        height: 0;
        flex: 0 0 0;
        opacity: 0;
        transform: scale(0.35);
        transition-delay: 0s;
      }
      .sgj-page .join-section-nav.is-fixed .join-section-nav-label {
        width: 100%;
        overflow: visible;
        text-align: center;
        text-overflow: clip;
        font-size: 15px !important;
        opacity: 1;
        transform: translateX(0);
        transition-delay: 0s;
      }
      .sgj-page .join-section-nav.is-fixed [data-compact-label] .join-section-nav-label {
        font-size: 0;
      }
      .sgj-page .join-section-nav.is-fixed [data-compact-label] .join-section-nav-label::after {
        content: attr(data-compact-label);
        font-size: 15px;
      }
      .sgj-page .join-section-nav::-webkit-scrollbar {
        display: none;
      }
      .sgj-page .join-section-nav .chip.active,
      .sgj-page .join-section-nav .chip[aria-current="true"] {
        background: #fff !important;
        border-color: #dde3ea !important;
        color: var(--text) !important;
      }
      .sgj-page .join-section-nav.is-fixed .chip.active,
      .sgj-page .join-section-nav.is-fixed .chip[aria-current="true"] {
        background: #373a3c !important;
        border-color: #373a3c !important;
        color: #fff !important;
      }
      .sgj-page .join-product-section.layout-soon .join-section-controls {
        display: none;
      }
      .sgj-page .toolbar {
        margin-top: 0 !important;
        margin-bottom: 0;
      }
      .sgj-page .join-body {
        padding: 10px 14px 14px;
      }
      .sgj-page .join-card .card-meta-text-date {
        left: 2px;
        top: 1px;
        font-size: 15px;
      }
      .sgj-page .join-card .join-price {
        display: flex;
        align-items: baseline;
        gap: 6px;
        margin-top: 14px;
        color: var(--blue);
        font-weight: 800;
      }
      .sgj-page .join-card .team-row {
        --team-slot-gap: 8px;
        display: flex;
        flex-wrap: nowrap;
        gap: var(--team-slot-gap);
        padding-top: 15px;
        margin-top: 12px;
        border-top: 1px solid #edf2f7;
        overflow: visible;
      }
      .sgj-page .join-card .team-row.monthly-card-team {
        display: block;
        padding-top: 12px;
        margin-top: 16px;
        overflow: visible;
      }
      .sgj-page .monthly-card-participant-label {
        font-size: 15px;
      }
      .sgj-page .monthly-card-thumb {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
        min-width: 30px;
      }
      .sgj-page .monthly-card-thumb + .monthly-card-thumb {
        margin-left: var(--monthly-card-thumb-overlap, -7px);
      }
      .sgj-page .monthly-card-progress-track {
        height: 8px;
      }
      .sgj-page .join-soon-compact-team {
        flex-wrap: nowrap;
        gap: 8px;
        overflow: visible;
      }
      .sgj-page .team-avatar-wrap {
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        min-width: 48px;
        max-width: 48px;
      }
      .sgj-page .team-couple-wrap .team-avatar-wrap {
        flex: 0 0 48px;
      }
      .sgj-page .team-avatar,
      .sgj-page .team-empty,
      .sgj-page .join-soon-compact-team .team-avatar,
      .sgj-page .join-soon-compact-team .team-empty {
        box-sizing: border-box;
        width: 48px;
        min-width: 48px;
        max-width: 48px;
        height: 48px;
        min-height: 48px;
        max-height: 48px;
        flex: 0 0 48px;
        border-width: 2px;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay {
        align-items: stretch;
        justify-content: center;
        padding: 0;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet {
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: var(--join-mobile-modal-height, 100dvh);
        height: 100dvh;
        height: 100lvh;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        min-height: 100vh;
        min-height: var(--join-mobile-modal-height, 100dvh);
        min-height: 100dvh;
        min-height: 100lvh;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        max-height: none;
        border-radius: 0;
        transform: none;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-body {
        overflow-y: auto;
        padding: 0 8px 16px;
        --calendar-sticky-month-height: 36px;
        --calendar-sticky-weekday-height: 43px;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-empty-schedule-sheet {
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: none;
        border-radius: 22px 22px 0 0;
        transform: translateY(100%);
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-empty-schedule-sheet.open {
        transform: translateY(0);
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay.open .calendar-sheet {
        transform: none;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header,
      body > #builderModal.sgj-portal-overlay .builder-header,
      body > #regionSearchModal.sgj-portal-overlay .region-search-header {
        display: grid;
        grid-template-columns: var(--modal-close-size) minmax(0, 1fr) var(--modal-close-size);
        align-items: center;
        gap: 8px;
        padding: var(--modal-header-padding-mobile);
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header::before,
      body > #regionSearchModal.sgj-portal-overlay .region-search-header::before {
        content: "";
        display: block;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header::before {
        grid-column: 1;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-header::before {
        grid-column: 1;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-title,
      body > #builderModal.sgj-portal-overlay .builder-title,
      body > #regionSearchModal.sgj-portal-overlay .region-search-title {
        grid-column: 2;
        font-size: var(--modal-main-title-mobile);
        font-weight: var(--modal-main-title-weight);
        line-height: 1.25;
        text-align: center;
        min-width: 0;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .modal-close-icon {
        grid-column: 3;
      }
      body > #builderModal.sgj-portal-overlay .builder-header .modal-back-icon {
        display: inline-flex !important;
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        width: var(--modal-close-size);
        height: var(--modal-close-size);
        color: #111827;
      }
      body > #builderModal.sgj-portal-overlay .builder-header .modal-back-icon::before {
        display: none !important;
      }
      body > #builderModal.sgj-portal-overlay .builder-header .modal-back-icon > svg {
        display: block !important;
        width: 24px;
        height: 24px;
      }
      body > #builderModal.sgj-portal-overlay .builder-header .modal-header-spacer {
        display: block;
        grid-column: 3;
        grid-row: 1;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-back {
        display: none;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-pc-close {
        display: inline-flex;
        grid-column: 3;
        justify-self: center;
      }
      body > #builderModal.sgj-portal-overlay {
        align-items: stretch;
        justify-content: center;
        padding: 0;
      }
      body > #builderModal.sgj-portal-overlay .builder-modal {
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: var(--join-mobile-modal-height, 100dvh);
        height: 100dvh;
        height: 100lvh;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        min-height: 100vh;
        min-height: var(--join-mobile-modal-height, 100dvh);
        min-height: 100dvh;
        min-height: 100lvh;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        max-height: none;
        border-radius: 0;
      }
      #detailModal.open,
      body > #detailModal.sgj-portal-overlay {
        position: fixed !important;
        inset: 0 !important;
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
        z-index: 2147483600 !important;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
      }
      body > #detailModal.sgj-portal-overlay.open {
        display: flex !important;
      }
      #detailModal.open {
        display: flex !important;
      }
      #detailModal.open .detail-modal,
      body > #detailModal.sgj-portal-overlay .detail-modal {
        --font-modal-title: var(--modal-sub-title-mobile);
        --font-detail-main-title: 18px;
        --font-detail-date: 15px;
        --font-detail-duration: 15px;
        --font-detail-price: 18px;
        --font-detail-price-unit: 13px;
        --font-detail-flight-time: 15px;
        --font-detail-flight-clock: 14px;
        --font-detail-schedule-hotel: var(--font-detail-schedule-hotel-mobile);
        --font-detail-schedule-meal: var(--font-detail-schedule-meal-mobile);
        --font-detail-section-content: var(--font-detail-section-content-mobile);
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: 100dvh;
        min-height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
        transform: translateY(0) !important;
        z-index: 2147483601 !important;
        box-shadow: none;
        overflow-x: hidden;
      }
      body > #detailModal.sgj-portal-overlay .modal-header {
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: var(--modal-sheet-header-padding-mobile);
        background: rgba(255, 255, 255, 0.96);
        border-bottom: 1px solid var(--border);
      }
      body > #detailModal.sgj-portal-overlay .modal-title {
        flex: 1 1 auto;
        min-width: 0;
        font-size: var(--modal-sub-title-mobile);
        font-weight: var(--modal-sub-title-weight);
        line-height: 1.25;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      body > #detailModal.sgj-portal-overlay #detailModalTitle {
        display: -webkit-box !important;
        -webkit-line-clamp: 1 !important;
        -webkit-box-orient: vertical !important;
        max-height: 1.25em !important;
        overflow: hidden !important;
      }
      #detailModal.open #detailModalTitle,
      body > #detailModal.sgj-portal-overlay.open #detailModalTitle {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 1 !important;
        -webkit-box-orient: vertical !important;
        line-height: 1.25 !important;
        max-height: 1.25em !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }
      body > #detailModal.sgj-portal-overlay #detailContent {
        width: 100%;
        max-width: 100%;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        overflow-x: hidden;
        scrollbar-gutter: auto;
      }
      body > #detailModal.sgj-portal-overlay .detail-slider {
        width: 100%;
        max-width: 100%;
        height: 220px;
        margin-left: 0;
        margin-right: 0;
        transform: none;
        margin-bottom: 24px;
        border-radius: 0;
      }
      body > #detailModal.sgj-portal-overlay .detail-meta-row,
      body > #detailModal.sgj-portal-overlay .detail-main-title,
      body > #detailModal.sgj-portal-overlay .detail-period-card,
      body > #detailModal.sgj-portal-overlay .flight-info-card,
      body > #detailModal.sgj-portal-overlay .price-box,
      body > #detailModal.sgj-portal-overlay .detail-anchor-tabs,
      body > #detailModal.sgj-portal-overlay .detail-section,
      body > #detailModal.sgj-portal-overlay .detail-section-title.with-people,
      body > #detailModal.sgj-portal-overlay .detail-team {
        margin-left: 22px;
        margin-right: 22px;
      }
      body > #detailModal.sgj-portal-overlay .detail-content-tabs,
      body > #detailModal.sgj-portal-overlay .detail-content-tab,
      body > #detailModal.sgj-portal-overlay .flight-info-card,
      body > #detailModal.sgj-portal-overlay .detail-list-card,
      body > #detailModal.sgj-portal-overlay .detail-note-card,
      body > #detailModal.sgj-portal-overlay .detail-schedule,
      body > #detailModal.sgj-portal-overlay .detail-place-card,
      body > #detailModal.sgj-portal-overlay .detail-review-card {
        min-width: 0;
        max-width: 100%;
      }
      body > #detailModal.sgj-portal-overlay .detail-thumb {
        height: 190px;
      }
      body > #detailModal.sgj-portal-overlay .detail-main-title {
        font-size: var(--font-detail-main-title);
        font-weight: var(--font-weight-detail-main-title);
        margin: 0 22px 16px;
        line-height: 1.25;
        display: block;
        overflow: visible;
        text-overflow: clip;
      }
      body > #detailModal.sgj-portal-overlay .detail-period-card {
        padding: 15px;
        border-radius: 16px;
        background: #fff;
        border: 1px solid var(--border);
        margin: 13px 22px;
      }
      body > #detailModal.sgj-portal-overlay .flight-info-card {
        margin: 13px 22px 20px;
      }
      body > #detailModal.sgj-portal-overlay .detail-period-row {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
      }
      body > #detailModal.sgj-portal-overlay .detail-period-arrow {
        color: var(--text-soft);
        font-size: 14px;
        font-weight: 600;
        line-height: 1;
      }
      body > #detailModal.sgj-portal-overlay .price-box {
        padding: 16px;
        margin-bottom: 12px;
        border-radius: 18px;
        background: #fff;
        border: 1px solid #dbe4ee;
      }
      body > #detailModal.sgj-portal-overlay .price-box .detail-label {
        margin-bottom: 6px !important;
      }
      body > #detailModal.sgj-portal-overlay .detail-anchor-tabs {
        position: relative;
        top: auto;
        z-index: 2;
        display: none;
        gap: 20px;
        box-sizing: border-box;
        width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        padding: 10px 22px 0;
        margin: 0;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(8px);
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
      }
      body > #detailModal.sgj-portal-overlay .detail-anchor-tabs::-webkit-scrollbar {
        display: none;
      }
      body > #detailModal.sgj-portal-overlay .detail-anchor-tabs.is-visible {
        display: flex;
      }
      body > #detailModal.sgj-portal-overlay .participant-info-tooltip {
        position: absolute;
        left: 50%;
        right: auto;
        top: auto;
        bottom: calc(100% + 8px);
        width: min(260px, calc(100vw - 56px));
        text-align: center;
        transform: translate(-50%, 4px);
      }
      body > #detailModal.sgj-portal-overlay .participant-info-wrap:not(.suppress-hover):hover .participant-info-tooltip,
      body > #detailModal.sgj-portal-overlay .participant-info-wrap:not(.suppress-hover):focus-within .participant-info-tooltip,
      body > #detailModal.sgj-portal-overlay .participant-info-wrap.open .participant-info-tooltip {
        transform: translate(-50%, 0);
      }
      body > #detailModal.sgj-portal-overlay .detail-section {
        margin-top: 15px;
      }
      body > #detailModal.sgj-portal-overlay .detail-section-title {
        font-size: 18px;
        font-weight: 700;
        margin: 0 0 12px;
      }
      body > #detailModal.sgj-portal-overlay .detail-list-card,
      body > #detailModal.sgj-portal-overlay .detail-note-card,
      body > #detailModal.sgj-portal-overlay .detail-schedule {
        border: 1px solid var(--border);
        border-radius: 16px;
        background: #fff;
        padding: 16px 16px;
      }
      body > #detailModal.sgj-portal-overlay .detail-schedule-day-nav {
        position: sticky;
        top: 52px;
        z-index: 12;
        box-sizing: border-box;
        width: calc(100% + 44px);
        margin-left: -22px;
        margin-right: -22px;
        padding-left: 22px;
        padding-right: 22px;
        justify-content: flex-start;
        background: #fff;
      }
      body > #detailModal.sgj-portal-overlay .detail-schedule-extra-icon {
        width: 22px;
        height: 22px;
        background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/spr_com.png");
        background-repeat: no-repeat;
        flex: 0 0 22px;
      }
      body > #detailModal.sgj-portal-overlay .detail-schedule-extra-icon.hotel {
        background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/hotel.svg");
        background-position: center;
        background-size: contain;
      }
      body > #detailModal.sgj-portal-overlay .detail-schedule-extra-icon.meal {
        background-image: url("https://storage.googleapis.com/golfjoin-bucket/golfjoin_img/meal.svg");
        background-position: center;
        background-size: contain;
      }
      body > #detailModal.sgj-portal-overlay .detail-schedule-day {
        display: inline-flex;
        align-items: baseline;
        gap: 8px;
        white-space: nowrap;
      }
      body > #detailModal.sgj-portal-overlay .detail-schedule-date {
        display: inline;
        margin-top: 0;
      }
      body > #detailModal.sgj-portal-overlay .detail-list li {
        position: relative;
        padding-left: 13px;
        display: block;
      }
      body > #detailModal.sgj-portal-overlay .detail-list li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.82em;
        width: 5px;
        height: 5px;
        border-radius: 999px;
        background: #b6bcc6;
        transform: translateY(-50%);
      }
      body > #detailModal.sgj-portal-overlay .detail-info-box .detail-list li,
      body > #detailModal.sgj-portal-overlay .detail-note-card .detail-list li {
        padding-left: 0;
      }
      body > #detailModal.sgj-portal-overlay .detail-info-box .detail-list li::before,
      body > #detailModal.sgj-portal-overlay .detail-note-card .detail-list li::before {
        display: none;
      }
      body > #detailModal.sgj-portal-overlay .detail-info-box .detail-list-item,
      body > #detailModal.sgj-portal-overlay .detail-note-card .detail-list-item {
        display: grid;
        grid-template-columns: 12px minmax(0, 1fr);
        gap: 7px;
        align-items: start;
      }
      body > #detailModal.sgj-portal-overlay .detail-note-card {
        --text-soft: #373A3C;
        color: #373A3C;
        border: 0;
        border-radius: 15px;
        background: #f8f9fa;
      }
      body > #detailModal.sgj-portal-overlay .flight-duration {
        padding: 2px 11px;
        border-radius: 999px;
        background: #373A3C;
        color: #ffffff;
        font-size: 13px;
        font-weight: 500;
        text-align: center;
        white-space: nowrap;
      }
      body > #detailModal.sgj-portal-overlay .flight-time-date-desktop {
        display: none;
      }
      body > #detailModal.sgj-portal-overlay .flight-time-date-mobile {
        display: inline;
      }
      body > #detailModal.sgj-portal-overlay .flight-segment:last-child,
      body > #detailModal.sgj-portal-overlay .flight-segment:last-child .flight-time,
      body > #detailModal.sgj-portal-overlay .flight-segment:last-child .flight-time-date,
      body > #detailModal.sgj-portal-overlay .flight-segment:last-child .flight-time-clock {
        justify-self: end;
        text-align: right;
      }
      body > #detailModal.sgj-portal-overlay .flight-segment:last-child .flight-time {
        margin-left: auto;
      }
      body > #detailModal.sgj-portal-overlay.open .detail-modal {
        animation: none;
      }
      @keyframes detailSheetUp {
        from { transform: translateY(100%); }
        to { transform: translateY(0); }
      }
      body > #detailModal.sgj-portal-overlay .detail-apply-panel,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel {
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow: hidden;
      }
      body > #detailModal.sgj-portal-overlay .detail-apply-head,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-head {
        flex: 0 0 auto;
        display: grid;
        grid-template-columns: var(--modal-close-size) minmax(0, 1fr) var(--modal-close-size);
        align-items: center;
        gap: 8px;
        padding: var(--modal-sheet-header-padding-mobile);
        margin: 0;
        border-bottom: 1px solid var(--border);
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-head {
        padding: var(--modal-header-padding-mobile);
      }
      body > #detailModal.sgj-portal-overlay .detail-apply-title,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-title {
        grid-column: 2;
        grid-row: 1;
        font-size: var(--modal-sub-title-mobile);
        font-weight: var(--modal-sub-title-weight);
        line-height: 1.25;
        text-align: center;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .global-apply-back {
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        color: #111827;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .global-apply-back::before {
        display: none !important;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .global-apply-back > svg {
        display: block !important;
        width: 24px;
        height: 24px;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .global-apply-header-spacer {
        grid-column: 3;
        grid-row: 1;
        width: var(--modal-close-size);
        height: var(--modal-close-size);
      }
      body > #detailModal.sgj-portal-overlay .detail-apply-scroll,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-scroll {
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 18px 22px calc(118px + env(safe-area-inset-bottom));
      }
      body > #builderModal.sgj-portal-overlay .builder-body.builder-agree-collapsed {
        padding-bottom: calc(var(--builder-bottom-offset, 118px) + 72px + env(safe-area-inset-bottom));
      }
      body > #builderModal.sgj-portal-overlay .builder-step[data-builder-step="3"] .apply-agree-box.is-collapsed {
        margin-bottom: 22px;
      }
      body > #builderModal.sgj-portal-overlay .builder-apply-form .apply-check-line input[type="checkbox"]:checked + .apply-check-box,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line input[type="checkbox"]:checked {
        border-color: var(--apply-accent, #373A3C) !important;
        background-color: var(--apply-accent, #373A3C) !important;
        background: var(--apply-accent, #373A3C) !important;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-join-info-grid {
        grid-template-columns: 1fr;
        gap: 7px;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-join-info-item {
        align-items: flex-start;
        padding: 0;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-join-summary-head {
        align-items: flex-start;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-field-helper {
        color: #909090;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.55;
        margin-top: -5px;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-section-title {
        display: flex;
        align-items: center;
        gap: 9px;
        color: var(--text);
        font-size: 18px;
        font-weight: 800;
        line-height: 1.35;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .profession-chip {
        min-height: 34px;
        padding: 7px 15px;
        border: 1px solid var(--border);
        border-radius: 999px;
        background: #fff;
        color: var(--text);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.25;
        white-space: nowrap;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line {
        font-size: 13px;
        font-weight: 500;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-check-line span {
        display: block;
        padding-top: 2px;
      }
      body > #globalApplyOverlay.sgj-portal-overlay [data-chip-group="global-level"],
      body > #globalApplyOverlay.sgj-portal-overlay [data-chip-group="global-member-preference"] {
        grid-template-columns: minmax(0, 1fr);
      }
      body > #detailModal.sgj-portal-overlay .detail-apply-actions,
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions {
        position: sticky;
        bottom: 0;
        z-index: 2;
        margin: 0;
        padding: 14px 22px calc(16px + env(safe-area-inset-bottom));
        background: #fff;
        border-top: 1px solid var(--border);
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-actions {
        padding: 14px 22px 16px;
      }
      body > #globalApplyOverlay.sgj-portal-overlay {
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
        z-index: 2147483644 !important;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel {
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: var(--join-mobile-modal-height, 100dvh);
        height: 100dvh;
        height: 100lvh;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        min-height: 100vh;
        min-height: var(--join-mobile-modal-height, 100dvh);
        min-height: 100dvh;
        min-height: 100lvh;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        max-height: none;
        border-radius: 0;
        z-index: 2147483645 !important;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel.is-complete {
        max-height: calc(100dvh - 16px);
      }
      body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel.is-complete .apply-complete-state {
        flex: 0 0 auto;
        min-height: 0;
        overflow-y: visible;
        padding: 18px 28px 16px;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-illustration {
        width: 80px;
        height: 80px;
        border-radius: 10px;
        background: #f8fafc;
        box-shadow: inset 0 0 0 1px #e5edf5;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-copy {
        margin: 11px 0 0;
        color: #5d6b82;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.65;
        text-align: center;
        word-break: keep-all;
        padding: 0;
      }
      body > #builderModal.sgj-portal-overlay .apply-complete-title,
      body > #builderModal.sgj-portal-overlay .apply-complete-copy,
      body > #builderModal.sgj-portal-overlay .apply-complete-contact,
      body > #builderModal.sgj-portal-overlay .apply-complete-contact-main,
      body > #builderModal.sgj-portal-overlay .apply-complete-contact-time,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-title,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-copy,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-contact,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-contact-main,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-contact-time {
        text-align: center;
      }
      body > #builderModal.sgj-portal-overlay .apply-complete-action-card,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-action-card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        overflow: visible;
      }
      body > #builderModal.sgj-portal-overlay .apply-complete-action-card img,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-action-card img {
        display: block;
        position: static !important;
        width: 100%;
        height: auto !important;
        flex: 0 0 auto;
        transform: none !important;
      }
      body > #builderModal.sgj-portal-overlay .apply-complete-action-label,
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-action-label {
        display: block;
        position: static !important;
        width: 100%;
        margin: 0;
        text-align: center;
        transform: none !important;
      }
      body > #globalApplyOverlay.sgj-portal-overlay .apply-complete-close {
        min-height: 48px;
        height: 48px;
      }
      body > #privacyApplyModal.sgj-portal-overlay .modal-title {
        font-size: var(--modal-sub-title-mobile);
        font-weight: 800;
        line-height: 1.25;
      }
      body > #privacyApplyModal.sgj-portal-overlay {
        inset: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100vw !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        max-height: var(--join-mobile-modal-height, 100dvh) !important;
        padding: 20px !important;
        background: rgba(15, 23, 42, 0.56) !important;
        overflow: hidden !important;
      }
      body > #privacyApplyModal.sgj-portal-overlay.open::before {
        content: none !important;
      }
      body > #privacyApplyModal.sgj-portal-overlay .modal {
        width: min(560px, calc(100vw - 40px));
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(var(--join-mobile-modal-height, 100dvh) - 40px) !important;
        border-radius: 22px;
        overflow: hidden;
      }
      body > #privacyApplyModal.sgj-portal-overlay .modal-header {
        padding: var(--modal-sheet-header-padding-mobile);
      }
      body > #privacyApplyModal.sgj-portal-overlay .modal-scroll {
        display: flex;
        flex-direction: column;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(var(--join-mobile-modal-height, 100dvh) - 40px) !important;
        overflow: hidden;
        padding-right: 0 !important;
        scrollbar-gutter: auto;
      }
      body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-body {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-right: 0;
        min-height: 0;
        max-height: calc(var(--join-mobile-modal-height, 100dvh) - 112px);
        overflow: hidden;
        padding: 0;
        scrollbar-gutter: auto;
      }
      body > #privacyApplyModal.sgj-portal-overlay #privacyApplyModalContent {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        padding: 14px 18px 18px;
        box-sizing: border-box;
        scrollbar-gutter: auto;
      }
      body > #privacyApplyModal.sgj-portal-overlay .apply-privacy-table {
        margin-top: 8px;
        margin-bottom: 8px;
      }
      body > #privacyApplyModal.sgj-portal-overlay .apply-privacy-table,
      body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-copy {
        width: 100%;
        margin-right: 0;
      }
      body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-footer {
        display: block;
        width: 100%;
        margin: 0;
        flex: 0 0 auto;
        padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px));
        border: 0;
        outline: 0;
        box-shadow: none;
        background: #fff;
        overflow: hidden;
      }
      body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-footer .button {
        border: 0;
        outline: 0;
        box-shadow: none;
        width: 100%;
        min-height: 48px;
        margin: 0;
        background-clip: padding-box;
        padding: 0 18px;
        font-size: var(--modal-bottom-button-font-size-mo);
        font-weight: var(--modal-bottom-button-font-weight);
      }
      body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-footer .button:focus,
      body > #privacyApplyModal.sgj-portal-overlay .privacy-modal-footer .button:focus-visible {
        outline: 0;
        box-shadow: none;
      }
      body > .participant-floating.sgj-portal-overlay {
        inset: 0;
        width: 100vw;
        height: 100vh;
        height: 100svh;
        height: 100dvh;
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
        padding: 0;
        align-items: flex-end;
        justify-content: center;
        background: rgba(15, 23, 42, 0.42);
        z-index: 2147483700 !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
      }
      body > .participant-floating.sgj-portal-overlay.open {
        display: flex;
      }
      body > .participant-floating.sgj-portal-overlay .participant-popover {
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        width: 100vw;
        max-width: 100vw;
        height: auto;
        max-height: min(calc(88dvh + env(safe-area-inset-bottom, 0px)), 720px);
        padding: 0 0 env(safe-area-inset-bottom, 0px);
        border: 0;
        border-radius: 22px 22px 0 0;
        background: #fff;
        box-shadow: none !important;
        overflow: hidden;
        transform: translateY(100%);
        transition: transform .28s ease;
        z-index: 2147483701 !important;
      }
      body > .participant-floating.sgj-portal-overlay.sheet-open .participant-popover {
        transform: translateY(0);
      }
      body > .participant-floating.sgj-portal-overlay .participant-sheet-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        padding: var(--modal-sheet-header-padding-mobile);
        border-bottom: 1px solid var(--border);
      }
      .participant-sheet-title {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        font-size: var(--modal-sub-title-mobile);
        font-weight: var(--modal-sub-title-weight);
        color: var(--text);
        text-align: left;
      }
      body > .participant-floating.sgj-portal-overlay .participant-sheet-close {
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        color: #111827;
      }
      body > .participant-floating.sgj-portal-overlay .participant-sheet-close::before {
        display: none !important;
      }
      body > .participant-floating.sgj-portal-overlay .participant-sheet-close > svg {
        display: block !important;
        width: 24px;
        height: 24px;
        stroke-width: 2;
      }
      .participant-sheet-spacer {
        grid-column: 3;
        grid-row: 1;
        width: var(--modal-close-size);
        height: var(--modal-close-size);
      }
      body > .participant-floating.sgj-portal-overlay .participant-profile {
        --participant-section-divider-gap: 12px;
        align-content: start;
        grid-auto-rows: max-content;
        flex: 0 1 auto;
        min-height: 0;
        max-height: calc(min(88dvh, 720px) - 66px);
        gap: 0;
        padding: 18px;
        overflow-y: auto;
        overscroll-behavior: contain;
      }
      .participant-hero {
        gap: 14px;
      }
      .participant-hero-info {
        transform: translateY(5px);
      }
      .participant-thumb {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        border-radius: 12px;
      }
      .participant-thumb-stack {
        --participant-thumb-size: 58px;
        --participant-thumb-overlap: 7px;
        width: var(--participant-stack-mobile-width);
        height: 64px;
        flex-basis: var(--participant-stack-mobile-width);
      }
      .participant-thumb-stack .participant-thumb {
        left: var(--participant-stack-mobile-left, var(--participant-stack-left, 0));
        top: 3px;
      }
      .participant-name {
        font-size: 19px;
        font-weight: 800;
      }
      .participant-meta {
        margin-top: 4px;
        color: #4b5563;
        font-size: 16px;
        font-weight: 700;
      }
      body > .participant-floating.sgj-portal-overlay .participant-section {
        margin-top: var(--participant-section-divider-gap) !important;
        padding-top: 0;
        border-top: 0;
      }
      body > .participant-floating.sgj-portal-overlay .participant-section + .participant-section {
        margin-top: var(--participant-section-divider-gap) !important;
      }
      body > .participant-floating.sgj-portal-overlay .participant-section::before {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        margin: 0 0 var(--participant-section-divider-gap);
        background: #e5e7eb;
      }
      body > .participant-floating.sgj-portal-overlay .participant-section > :last-child,
      body > .participant-floating.sgj-portal-overlay .participant-tags,
      body > .participant-floating.sgj-portal-overlay .participant-level-pill,
      body > .participant-floating.sgj-portal-overlay .participant-message {
        margin-bottom: 0 !important;
      }
      .participant-stat {
        font-size: 17px;
      }
      .participant-stat-label {
        font-size: 16px;
      }
      .participant-stat-value {
        font-size: 18px;
      }
      .participant-level-pill {
        min-height: 38px;
        padding: 0 14px;
        font-size: 16px;
      }
      .participant-section .card-meta {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 12px;
        color: var(--text-soft);
        font-size: 17px;
        font-weight: 700;
        line-height: 1.45;
      }
      .participant-section .card-meta [style] {
        color: inherit !important;
        font-size: inherit !important;
      }
      .participant-section .card-meta [style*="font-weight"] {
        color: var(--text) !important;
        font-size: 18px !important;
        font-weight: 800 !important;
      }
      .participant-section-title {
        margin-bottom: 10px;
        color: var(--text);
        font-size: 17px;
        font-weight: 800;
      }
      .participant-message {
        padding: 12px;
        border-radius: 12px;
        color: #374151;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.6;
      }
      .participant-tags {
        gap: 8px;
      }
      .participant-tag {
        min-height: 34px;
        padding: 0 12px;
        font-size: 15px;
        font-weight: 800;
      }
      .sgj-page #periodButtons {
        width: 100%;
        margin-top: 15px;
        margin-bottom: 12px;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }
      .sgj-page #periodButtons::-webkit-scrollbar {
        display: none;
      }
      .sgj-page #periodButtons .chip {
        flex: 0 0 auto;
        white-space: nowrap;
      }
      .sgj-page #sortButtons {
        display: none;
      }
    }

    #regionSearchModal .region-search-modal {
      color: var(--text);
      background: #fff;
    }
    #regionSearchModal .region-search-shell {
      background: #fff;
    }
    #regionSearchModal .region-search-header,
    #regionSearchModal .region-desktop-header {
      border-bottom: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.98);
    }
    #regionSearchModal .region-search-row {
      margin: 16px 22px 16px;
      padding: 0;
      border-bottom: 0;
    }
    #regionSearchModal .region-search-field {
      --region-search-input-width: 100%;
      padding: 0 14px;
      min-height: 48px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
    }
      #regionSearchModal .region-search-field input {
        min-width: 0;
        color: var(--text);
        font-size: 16px;
        font-weight: 600;
        line-height: 1.35;
        transform: translateX(-1px);
      }
    #regionSearchModal .region-search-shell.has-region-query .region-search-field input {
      flex: 0 1 auto;
      width: min(calc(var(--region-search-input-width) + 2px), calc(100% - 30px));
      max-width: calc(100% - 30px);
      margin-left: 0;
      transform: none;
    }
    #regionSearchModal .region-search-clear-input {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      color: #272727;
      background: #eeeeee;
    }
    #regionSearchModal .region-search-clear-input:hover {
      color: #373a3c;
      background: #d9dee5;
    }
    #regionSearchModal .region-search-clear-input svg {
      width: 13px;
      height: 13px;
    }
    #regionSearchModal .region-search-field .mobile-search-icon {
      width: 22px;
      height: 22px;
      color: #64748b;
      flex: 0 0 22px;
    }
    #regionSearchModal .region-search-actions { display: none; }
    #regionSearchModal .region-search-selected {
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 600;
      line-height: 1.45;
    }
    #regionSearchModal .region-search-selected.has-value {
      color: var(--text);
      font-weight: 800;
    }
    #regionSearchModal .region-search-shell.builder-context .region-search-actions {
      display: none;
    }
    #regionSearchModal .region-search-type {
      padding: 14px 22px 0;
      gap: 10px;
    }
    #regionSearchModal .region-search-type button {
      min-height: 42px;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
    }
    #regionSearchModal .region-search-body {
      padding: 12px 22px 22px;
      background: #fff;
    }
    #regionSearchModal .region-group {
      border: 1px solid var(--border);
      border-radius: 14px;
      box-shadow: none;
      background: #fff;
    }
    #regionSearchModal .region-group.featured {
      border-color: #cbd5e1;
      box-shadow: none;
    }
    #regionSearchModal .region-group summary {
      padding: 16px 18px;
      font-size: 17px;
      font-weight: 800;
    }
    #regionSearchModal .region-option,
    #regionSearchModal .region-subgroup summary,
    #regionSearchModal .region-subgroup-toggle,
    #regionSearchModal .region-subregion {
      min-height: 38px;
      font-size: 15px;
      font-weight: 700;
    }
    #regionSearchModal .region-search-results {
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 0px 22px 24px;
      background: #fff;
    }
    #regionSearchModal .region-search-shell.searching .region-search-type,
    #regionSearchModal .region-search-shell.searching .region-search-body {
      display: none;
    }
    #regionSearchModal .region-search-shell.searching .region-search-quickbar {
      display: none;
    }
    #regionSearchModal .region-search-shell.searching .region-desktop-panel {
      display: none;
    }
    #regionSearchModal .region-search-shell.has-product-results .region-search-results {
      display: block;
    }
    #regionSearchModal .region-search-shell.has-product-results .region-result-suggestions {
      display: none;
    }
    #regionSearchModal .region-result-suggestions {
      display: grid;
      gap: 2px;
    }
    #regionSearchModal .region-result-item {
      border-bottom: 1px solid #edf2f7;
      padding: 13px 0;
    }
    #regionSearchModal .region-result-name {
      color: var(--text);
      font-size: 18px;
      font-weight: 800;
    }
    #regionSearchModal .region-result-type {
      font-size: 16px;
      font-weight: 600;
    }
    #regionSearchModal .region-product-head {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 5px;
    }
    #regionSearchModal .region-product-count {
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.3;
      white-space: nowrap;
      margin-left: 12px;
    }
    #regionSearchModal .region-product-count strong {
      color: var(--blue);
      font-weight: 900;
    }
    #regionSearchModal .region-product-sort {
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      min-width: 0;
    }
    #regionSearchModal .region-product-sort button {
      min-height: 30px;
      padding: 0 9px;
      border: 0;
      color: #475569;
      background: transparent;
      font-size: 14px;
      font-weight: 700;
      white-space: nowrap;
    }
    #regionSearchModal .region-product-sort button.active,
    #regionSearchModal .region-product-sort button:hover {
      color: var(--blue);
      background: transparent;
    }
    #regionSearchModal .region-product-sort-native {
      display: none;
      align-items: center;
      gap: 3px;
      color: var(--blue);
    }
    #regionSearchModal .region-product-sort-native select {
      min-height: 30px;
      padding: 0 18px 0 0;
      border: 0;
      outline: 0;
      appearance: none;
      -webkit-appearance: none;
      color: currentColor;
      background: transparent;
      font-size: 14px;
      font-weight: 800;
    }
    #regionSearchModal .region-product-sort-native svg {
      width: 14px;
      height: 14px;
      margin-left: -17px;
      pointer-events: none;
    }
    #regionSearchModal .region-product-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 10px;
    }
    #regionSearchModal .region-product-card {
      width: 100%;
      min-width: 0;
      display: grid;
      grid-template-columns: 90px minmax(0, 1fr) minmax(160px, auto);
      align-items: center;
      gap: 16px;
      padding: 12px;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    #regionSearchModal .region-product-card:hover {
      border-color: #bfdbfe;
      background: #f8fbff;
    }
    #regionSearchModal .region-product-thumb {
      position: relative;
      width: 90px;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      border-radius: 14px;
      background: #e2e8f0;
    }
    #regionSearchModal .region-product-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    #regionSearchModal .region-product-info {
      min-width: 0;
      display: grid;
      gap: 4px;
    }
    #regionSearchModal .region-product-meta {
      min-width: 0;
      display: flex;
      align-items: center;
      column-gap: 0;
      color: #475569;
      font-size: 14px;
      font-weight: 700;
    }
    #regionSearchModal .region-product-meta svg {
      position: relative;
      top: -1px;
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      margin-right: 2px;
    }
    #regionSearchModal .region-product-location {
      min-width: 0;
      flex: 0 1 auto;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #regionSearchModal .region-product-name {
      min-width: 0;
      overflow: hidden;
      color: var(--text);
      font-size: 18px;
      font-weight: 800;
      line-height: 1.28;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #regionSearchModal .region-product-date {
      display: flex;
      align-items: center;
      gap: 4px;
      flex-wrap: wrap;
      min-height: 29px;
      color: #475569;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.35;
    }
    #regionSearchModal .region-product-date::before {
      content: "";
      width: 14px;
      height: 14px;
      flex: 0 0 14px;
      background: currentColor;
      -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v4M16 2v4M3.5 9.5h17M5 5h14a1.5 1.5 0 0 1 1.5 1.5v12A1.5 1.5 0 0 1 19 20H5a1.5 1.5 0 0 1-1.5-1.5v-12A1.5 1.5 0 0 1 5 5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v4M16 2v4M3.5 9.5h17M5 5h14a1.5 1.5 0 0 1 1.5 1.5v12A1.5 1.5 0 0 1 19 20H5a1.5 1.5 0 0 1-1.5-1.5v-12A1.5 1.5 0 0 1 5 5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    #regionSearchModal .region-product-date .schedule-overlap-badge,
    .calendar-accordion-list .region-product-date .schedule-overlap-badge,
    .builder-region-product-list .region-product-date .schedule-overlap-badge {
      margin-left: 2px;
    }
    #regionSearchModal .region-product-side {
      min-width: 0;
      display: grid;
      justify-items: end;
      gap: 12px;
      margin-right: 5px;
      transform: translateY(-4px);
    }
    #regionSearchModal .region-product-price {
      display: flex;
      align-items: baseline;
      justify-content: flex-end;
      gap: 2px;
      color: var(--text);
      white-space: nowrap;
    }
    #regionSearchModal .region-product-price-label,
    #regionSearchModal .region-product-price-unit {
      font-size: 14px;
      font-weight: 700;
    }
    #regionSearchModal .region-product-price-value {
      font-size: 20px;
      font-weight: 800;
      letter-spacing: 0;
    }
    #regionSearchModal .region-product-team {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
    }
    #regionSearchModal .region-product-team.monthly-summary {
      display: block;
      justify-content: stretch;
      width: min(190px, 100%);
    }
    #regionSearchModal .region-product-team .team-avatar-wrap,
    #regionSearchModal .region-product-team .team-avatar,
    #regionSearchModal .region-product-team .team-empty {
      width: 48px;
      height: 48px;
      flex-basis: 48px;
    }
    #regionSearchModal .region-product-team .team-couple-wrap {
      --team-avatar-size: 48px;
      height: var(--team-avatar-size);
      gap: 10px;
    }
    #regionSearchModal .region-product-team .team-couple-wrap .team-avatar-wrap,
    #regionSearchModal .region-product-team .team-couple-wrap .team-avatar,
    #regionSearchModal .region-product-team .team-couple-wrap .team-empty {
      width: 48px;
      height: 48px;
      flex-basis: 48px;
    }
    .calendar-accordion-list .region-product-team .team-couple-wrap {
      --team-avatar-size: 48px;
      height: var(--team-avatar-size);
      gap: 10px;
    }
    .calendar-accordion-list .region-product-team .team-couple-wrap .team-avatar-wrap,
    .calendar-accordion-list .region-product-team .team-couple-wrap .team-avatar {
      width: 48px;
      height: 48px;
      flex-basis: 48px;
    }
    .calendar-accordion-list .region-product-card {
      width: 100%;
      min-width: 0;
      display: grid;
      grid-template-columns: 90px minmax(0, 1fr) minmax(160px, auto);
      align-items: center;
      gap: 16px;
      padding: 12px;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fff;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    .calendar-accordion-list .region-product-card:hover {
      border-color: #bfdbfe;
      background: #f8fbff;
    }
    .builder-active-schedule-list .region-product-card,
    .builder-active-schedule-list .region-product-card * {
      -webkit-tap-highlight-color: transparent;
    }
    .builder-active-schedule-list .region-product-card {
      border: 1px solid var(--border) !important;
      box-shadow: none !important;
    }
    .builder-active-schedule-list.calendar-accordion-list {
      border-top: 0 !important;
      border-bottom: 0 !important;
    }
    @media (hover: none), (pointer: coarse) {
      .calendar-product-card:hover,
      .calendar-product-card:active,
      #regionSearchModal .region-product-card:hover,
      #regionSearchModal .region-product-card:active,
      .calendar-accordion-list .region-product-card:hover,
      .calendar-accordion-list .region-product-card:active,
      .builder-active-schedule-list .region-product-card:hover,
      .builder-active-schedule-list .region-product-card:active {
        border-color: var(--border);
        background: #fff;
        box-shadow: none;
      }
      .builder-active-schedule-list .region-product-card:hover *,
      .builder-active-schedule-list .region-product-card:active * {
        -webkit-tap-highlight-color: transparent;
      }
      .builder-active-schedule-sheet .chip:not(.active):hover,
      .builder-active-schedule-sheet .chip:not(.active):active,
      .builder-active-schedule-sheet .apply-chip:not(.active):hover,
      .builder-active-schedule-sheet .apply-chip:not(.active):active {
        border-color: var(--border);
        background: #fff;
        color: var(--text);
        box-shadow: none;
        transform: none;
      }
    }
    .calendar-accordion-list .region-product-thumb {
      position: relative;
      width: 90px;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      border-radius: 14px;
      background: #e2e8f0;
    }
    .calendar-accordion-list .region-product-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .calendar-accordion-list .region-product-info {
      min-width: 0;
      display: grid;
      gap: 4px;
    }
    .calendar-accordion-list .region-product-meta {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 2px;
      color: #475569;
      font-size: 14px;
      font-weight: 700;
    }
    .calendar-accordion-list .region-product-meta svg {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
    }
    .calendar-accordion-list .region-product-location {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #regionSearchModal .region-product-admin-badges,
    .calendar-accordion-list .region-product-admin-badges {
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      margin-left: auto;
      flex: 0 0 auto;
    }
    #regionSearchModal .region-product-admin-badges {
      margin-left: 6px;
    }
    #regionSearchModal .region-product-admin-badge,
    .calendar-accordion-list .region-product-admin-badge {
      display: inline-flex;
      align-items: center;
      min-height: 20px;
      padding: 0px 10px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
    }
    #regionSearchModal .region-product-admin-badge.lowest-price,
    .calendar-accordion-list .region-product-admin-badge.lowest-price {
      background: #eef9e6;
      color: #19b22b;
    }
    #regionSearchModal .region-product-admin-badge.recommended,
    .calendar-accordion-list .region-product-admin-badge.recommended {
      background: #f3eeff;
      color: #8b40f0;
    }
    #regionSearchModal .region-product-admin-badge.monthly,
    .calendar-accordion-list .region-product-admin-badge.monthly {
      background: #fff7ed;
      color: #ea580c;
    }
    @media (min-width: 641px) {
      #regionSearchModal .region-product-admin-badges,
      .calendar-accordion-list .region-product-admin-badges {
        margin-left: 6px;
      }
    }
    @media (min-width: 641px) and (max-width: 700px) {
      #regionSearchModal .region-product-admin-badges {
        margin-left: 6px;
      }
    }
    .calendar-accordion-list .region-product-name {
      min-width: 0;
      overflow: hidden;
      color: var(--text);
      font-size: 18px;
      font-weight: 700;
      line-height: 1.28;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .calendar-accordion-list .region-product-date {
      display: flex;
      align-items: center;
      gap: 4px;
      min-height: 29px;
      color: #475569;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.35;
    }
    .calendar-accordion-list .region-product-date::before {
      content: "";
      width: 14px;
      height: 14px;
      flex: 0 0 14px;
      background: currentColor;
      -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v4M16 2v4M3.5 9.5h17M5 5h14a1.5 1.5 0 0 1 1.5 1.5v12A1.5 1.5 0 0 1 19 20H5a1.5 1.5 0 0 1-1.5-1.5v-12A1.5 1.5 0 0 1 5 5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v4M16 2v4M3.5 9.5h17M5 5h14a1.5 1.5 0 0 1 1.5 1.5v12A1.5 1.5 0 0 1 19 20H5a1.5 1.5 0 0 1-1.5-1.5v-12A1.5 1.5 0 0 1 5 5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .calendar-accordion-list .region-product-side {
      min-width: 0;
      display: grid;
      justify-items: end;
      gap: 12px;
      margin-right: 5px;
      transform: translateY(-4px);
    }
    .calendar-accordion-list .region-product-price {
      display: flex;
      align-items: baseline;
      justify-content: flex-end;
      gap: 2px;
      color: var(--text);
      white-space: nowrap;
    }
    .calendar-accordion-list .region-product-price-label,
    .calendar-accordion-list .region-product-price-unit {
      font-size: 14px;
      font-weight: 700;
    }
    .calendar-accordion-list .region-product-price-value {
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0;
    }
    .calendar-accordion-list .region-product-team {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
    }
    .calendar-accordion-list .region-product-team.monthly-summary {
      display: block;
      justify-content: stretch;
      width: min(190px, 100%);
    }
    .calendar-monthly-participant-box {
      position: relative;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 0;
      row-gap: 3px;
      min-width: 0;
      padding: 6px 8px;
      border: 1px solid #e2e2e2;
      border-radius: 10px;
      background: #f8f8f8;
      color: #373a3c;
      text-align: center;
      line-height: 1.15;
    }
    .calendar-monthly-participant-box::before {
      content: "";
      position: absolute;
      left: 50%;
      top: 10%;
      width: 1px;
      height: 80%;
      background: #e2e2e2;
      transform: translateX(-50%);
    }
    .calendar-monthly-participant-item {
      min-width: 0;
      display: grid;
      gap: 3px;
      box-sizing: border-box;
    }
    .calendar-monthly-participant-item:first-child {
      padding-right: 8px;
    }
    .calendar-monthly-participant-item:last-child {
      padding-left: 8px;
    }
    .calendar-monthly-participant-label {
      color: #64748b;
      font-size: 13px;
      font-weight: 700;
      white-space: nowrap;
    }
    .calendar-monthly-participant-value {
      color: #373a3c;
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
    }
    .calendar-accordion-list .region-product-team.has-detail-button {
      width: 100%;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    .calendar-accordion-list .region-product-team-slots {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .calendar-accordion-list .region-product-team .team-avatar,
    .calendar-accordion-list .region-product-team .team-empty {
      width: 48px;
      height: 48px;
      flex-basis: 48px;
      border-width: 2px;
      border-radius: 12px;
    }
    #regionSearchModal .region-result-empty {
      padding: 28px 12px;
      border: 0;
      border-radius: 16px;
      color: var(--text-soft);
      background: #f8fafc;
      font-size: 16px;
      line-height: 1.5;
    }
    #regionSearchModal .region-result-empty > div {
      display: flex;
      justify-content: center;
      width: 100%;
      text-align: center;
    }
    #regionSearchModal .region-result-empty-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      float: none;
      margin-top: 14px;
      margin-right: auto;
      margin-left: auto;
      min-height: 48px;
      padding: 12px 160px;
      border-radius: 14px;
      color: #fff;
      background: #54abff;
      font-size: 16px;
      font-weight: 700;
    }
    @media (min-width: 641px) {
      #regionSearchModal .region-result-empty-copy,
      .join-my-empty-copy {
        display: block !important;
        width: 100%;
        color: #373a3c;
        font-size: 20px;
        font-weight: 600;
        line-height: 1.5;
        text-align: center;
      }
      #regionSearchModal .region-result-empty-copy > div {
        display: block !important;
        width: 100%;
      }
      #regionSearchModal .region-result-empty-action-line {
        display: block !important;
      }
      #regionSearchModal .region-result-empty-mobile-break {
        display: none;
      }
      #regionSearchModal .region-result-empty-title,
      #regionSearchModal .region-result-empty-action-line {
        display: block !important;
        width: 100%;
        text-align: center;
        white-space: nowrap;
      }
      #regionSearchModal .region-result-empty-action-line {
        color: #808e97;
        font-size: 17px;
        margin-top: 3px;
      }
    }
    #regionSearchModal .region-empty-recommend {
      margin-top: 18px;
    }
    #regionSearchModal .region-empty-recommend-title {
      margin: 0 0 10px;
      color: var(--text);
      font-size: 20px;
      font-weight: 800;
    }
    #regionSearchModal .region-empty-recommend-tabs {
      display: none !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin: 0 0 14px;
    }
    #regionSearchModal .region-empty-recommend-tab {
      position: relative;
      min-height: 34px;
      padding: 0 4px 8px;
      color: #64748b;
      background: transparent;
      border: 0;
      font-size: 16px;
      font-weight: 800;
      text-align: center;
    }
    #regionSearchModal .region-empty-recommend-tab.active {
      color: var(--blue);
    }
    #regionSearchModal .region-empty-recommend-tab.active::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 2px;
      background: var(--blue);
    }
    #regionSearchModal .region-empty-recommend-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      align-items: start;
    }
    #regionSearchModal .region-empty-recommend-column {
      min-width: 0;
      display: grid;
      gap: 12px;
    }
    #regionSearchModal .region-empty-recommend-group {
      min-width: 0;
      display: grid;
      gap: 8px;
    }
    #regionSearchModal .region-empty-recommend-region {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      color: var(--blue);
      font-size: 16px;
      font-weight: 700;
      line-height: 1.3;
    }
    #regionSearchModal .region-empty-recommend-region-name {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      min-width: 0;
    }
    #regionSearchModal .region-empty-recommend-pin {
      width: 17px;
      height: 17px;
      flex: 0 0 17px;
      color: #ef4444;
      transform: translateY(-1px);
    }
    #regionSearchModal .region-empty-recommend-pin path {
      fill: currentColor;
      stroke: none;
    }
    #regionSearchModal .region-empty-recommend-pin circle {
      fill: #fff;
      stroke: none;
    }
    #regionSearchModal .region-empty-recommend-region-text {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #regionSearchModal .region-empty-recommend-more {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      gap: 2px;
      padding: 0;
      color: #64748b;
      background: transparent;
      border: 0;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.3;
    }
    #regionSearchModal .region-empty-recommend-more svg {
      width: 12px;
      height: 12px;
      stroke-width: 2.4;
    }
    #regionSearchModal .region-empty-recommend-more:hover {
      color: var(--blue);
    }
    #regionSearchModal .region-empty-recommend-card {
      min-width: 0;
      display: grid;
      grid-template-columns: 70px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      padding: 9px 15px 9px 9px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      text-align: left;
      min-height: 92px;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    #regionSearchModal .region-empty-recommend-card *,
    #regionSearchModal .region-empty-recommend-tab,
    #regionSearchModal .region-empty-recommend-more {
      -webkit-tap-highlight-color: transparent;
    }
    #regionSearchModal .region-empty-recommend-card:hover {
      border-color: #bfdbfe;
      background: #f8fbff;
    }
    #regionSearchModal .region-empty-recommend-mobile-list {
      display: none;
    }
    #regionSearchModal .region-empty-recommend-thumb {
      width: 70px;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      border-radius: 10px;
      background: #e2e8f0;
    }
    #regionSearchModal .region-empty-recommend-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    #regionSearchModal .region-empty-recommend-name {
      min-width: 0;
      overflow: hidden;
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      line-height: 1.3;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #regionSearchModal .region-empty-recommend-meta {
      margin-top: 4px;
      color: #475569;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.3;
    }
    #regionSearchModal .region-empty-recommend-bottom {
      margin-top: 2px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    #regionSearchModal .region-empty-recommend-price {
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      white-space: nowrap;
    }
    #regionSearchModal .region-empty-recommend-slot {
      color: #3a71d5;
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
    }
    @media (hover: none), (pointer: coarse) {
      #regionSearchModal .region-empty-recommend-card,
      #regionSearchModal .region-empty-recommend-card * {
        -webkit-tap-highlight-color: transparent;
      }
      #regionSearchModal .region-empty-recommend-card {
        touch-action: pan-y;
      }
      #regionSearchModal .region-empty-recommend-card:hover,
      #regionSearchModal .region-empty-recommend-card:active {
        border-color: var(--border);
        background: #fff;
        box-shadow: none;
        transform: none;
      }
      #regionSearchModal .region-empty-recommend-tab:not(.active):hover,
      #regionSearchModal .region-empty-recommend-tab:not(.active):active,
      #regionSearchModal .region-product-sort button:not(.active):hover,
      #regionSearchModal .region-product-sort button:not(.active):active {
        color: #64748b;
        background: transparent;
        border-color: transparent;
        box-shadow: none;
        transform: none;
      }
      #regionSearchModal .region-empty-recommend-more:hover,
      #regionSearchModal .region-empty-recommend-more:active {
        color: #64748b;
        background: transparent;
        box-shadow: none;
        transform: none;
      }
    }
    @media (max-width: 640px) {
      #regionSearchModal .region-empty-recommend-card {
        display: none;
      }
      #regionSearchModal .region-empty-recommend-mobile-list.calendar-accordion-list {
        display: grid;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        gap: 10px;
        overflow: visible;
      }
    }
    @media (min-width: 641px) {
      #regionSearchModal .region-empty-recommend-info {
        min-width: 0;
        transform: translateY(2px);
      }
      #regionSearchModal .region-search-modal .region-search-header,
      #regionSearchModal .region-search-modal .region-search-row,
      #regionSearchModal .region-search-modal .region-search-field {
        display: flex;
      }
      #regionSearchModal .region-search-modal .region-search-header {
        display: grid;
        grid-template-columns: var(--modal-close-size) minmax(0, 1fr) var(--modal-close-size);
        align-items: center;
        gap: 8px;
      }
      #regionSearchModal .region-search-modal .region-search-back {
        display: inline-flex;
        grid-column: 3;
        justify-self: center;
      }
      #regionSearchModal .region-search-modal .region-search-title {
        grid-column: 2;
        justify-self: center;
        min-width: 0;
        text-align: center;
      }
      #regionSearchModal .region-search-modal .region-search-header-spacer {
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
      }
      #regionSearchModal .region-search-modal .region-desktop-panel {
        display: grid;
      }
      #regionSearchModal .region-search-modal .region-search-quickbar {
        display: grid;
        order: 3;
        margin: 14px 22px 0;
      }
      #regionSearchModal .region-search-modal .region-search-body,
      #regionSearchModal .region-search-modal .region-search-type,
      #regionSearchModal .region-search-modal .region-desktop-header {
        display: none;
      }
      #regionSearchModal .region-search-modal .region-search-results {
        display: none;
      }
      #regionSearchModal .region-search-modal .region-search-shell.searching .region-search-results {
        display: flex;
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results .region-search-results {
        display: block;
        order: 3;
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
      }
      #regionSearchModal .region-search-modal .region-search-shell.searching .region-search-quickbar {
        display: none;
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results .region-search-quickbar,
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results .region-desktop-panel {
        display: none;
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-hot .region-search-quickbar,
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-recent .region-search-quickbar {
        display: grid;
        order: 5;
        flex: 0 0 auto;
        margin: 0 22px 16px;
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-hot .region-search-quickbar {
        grid-template-columns: minmax(0, 1fr);
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-recent .region-search-quickbar {
        grid-template-columns: minmax(0, 1fr);
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-hot .region-search-quickcol:nth-child(2),
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-recent .region-search-quickcol:nth-child(1) {
        display: none;
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-cities .region-desktop-panel {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        order: 3;
        flex: 0 1 auto;
        min-height: 0;
        overflow: hidden;
        padding: 14px 22px 0;
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-cities .region-search-results {
        order: 4;
      }
      #regionSearchModal .region-search-modal .region-search-shell.has-product-results.region-panel-cities .region-desktop-columns {
        min-height: 0;
        height: min(274px, calc(100vh - 360px));
        max-height: min(274px, calc(100vh - 360px));
      }
      #regionSearchModal .region-search-modal {
        width: min(800px, calc(100vw - 48px));
        height: min(760px, calc(100vh - 48px));
        max-height: calc(100vh - 48px);
      }
      #regionSearchModal .region-search-modal .region-search-shell {
        height: 100%;
        min-height: 0;
      }
      #regionSearchModal .region-search-modal .region-desktop-panel {
        order: 4;
        flex: 1 1 0;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        min-height: 0;
        overflow: hidden;
        padding: 16px 22px 24px;
      }
      #regionSearchModal .region-search-modal .region-selection-panel,
      #regionSearchModal .region-search-modal .region-desktop-confirm {
        display: none;
      }
      #regionSearchModal .region-desktop-title {
        margin: 0 13px 12px;
        font-size: 17px;
        font-weight: 700;
      }
      #regionSearchModal .region-desktop-columns {
        grid-template-columns: minmax(126px, 0.7fr) minmax(230px, 1.65fr) minmax(150px, 0.85fr);
        min-height: 0;
        height: 100%;
        max-height: none;
        border-radius: 15px;
        overflow: hidden;
      }
      #regionSearchModal .region-desktop-col {
        overflow: hidden;
      }
      #regionSearchModal #regionDesktopCities {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
      }
      #regionSearchModal .region-desktop-main,
      #regionSearchModal .region-desktop-main .region-desktop-button:not(.active) {
        background: #f7f7f8;
      }
      #regionSearchModal .region-desktop-button {
        border-bottom: 1px solid var(--border);
        border-radius: 0;
        color: var(--text);
      }
      #regionSearchModal .region-desktop-button.active {
        color: var(--blue);
        font-weight: 800;
        background: #fff;
      }
      #regionSearchModal .region-desktop-country-list .region-desktop-button.active.has-children {
        color: var(--blue) !important;
      }
      #regionSearchModal .region-desktop-country-list .region-desktop-button.active .region-desktop-label,
      #regionSearchModal .region-desktop-country-list .region-desktop-button:hover .region-desktop-label,
      #regionSearchModal .region-desktop-city:hover .region-desktop-label {
        position: static;
      }
      #regionSearchModal .region-desktop-country-list .region-desktop-button.active .region-desktop-label::before,
      #regionSearchModal .region-desktop-country-list .region-desktop-button:hover .region-desktop-label::before,
      #regionSearchModal .region-desktop-city:hover .region-desktop-label::before {
        display: none;
      }
      #regionSearchModal .region-desktop-country-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 8px 14px;
      }
      #regionSearchModal .region-desktop-country-list .region-desktop-button {
        border-bottom: 0;
        border-radius: 4px;
      }
      #regionSearchModal .region-desktop-country-list .region-desktop-label {
        white-space: nowrap;
      }
      #regionSearchModal .region-desktop-city-list {
        grid-template-columns: 1fr;
        padding: 8px 12px 16px;
      }
      #regionSearchModal .region-desktop-city {
        border-radius: 4px;
        padding: 0 10px;
      }
      #regionSearchModal .region-desktop-country-list .region-desktop-button.active,
      #regionSearchModal .region-desktop-country-list .region-desktop-button:hover,
      #regionSearchModal .region-desktop-city:hover {
        color: var(--blue);
        background: #f5f6f8;
      }
      #regionSearchModal .region-desktop-main .region-desktop-button:hover {
        color: var(--blue);
        background: transparent;
      }
      #regionSearchModal .region-desktop-chevron {
        width: 16px;
        height: 16px;
        color: currentColor;
      }
      #regionSearchModal .region-product-grid {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    @media (max-width: 640px) {
      #regionSearchModal {
        --region-mobile-major-font-size: 20px;
        --region-mobile-mid-font-size: 18px;
        --region-mobile-small-font-size: 18px;
      }
      #regionSearchModal .region-result-empty {
        padding: 28px 12px 12px;
      }
      #regionSearchModal .region-result-empty-action {
        width: 100%;
        max-width: 320px;
        min-height: 46px;
        padding: 11px 18px;
        font-size: 15px;
      }
      #regionSearchModal .region-result-empty-copy {
        display: block !important;
        width: 100%;
        color: #373a3c;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.55;
        text-align: center;
      }
      #regionSearchModal .region-result-empty-copy > div {
        display: block !important;
        width: 100%;
      }
      #regionSearchModal .region-result-empty-title,
      #regionSearchModal .region-result-empty-action-line {
        display: block !important;
        text-align: center;
        white-space: nowrap;
      }
      #regionSearchModal .region-result-empty-title {
        font-size: 16px;
      }
      #regionSearchModal .region-result-empty-action-line {
        color: #808e97;
        font-size: 14px;
        margin-top: 3px;
      }
      #regionSearchModal #regionSearchInput {
        padding-left: 0;
        padding-right: 0;
      }
      #regionSearchModal .region-search-all-button,
      #regionSearchModal .region-search-shell.has-region-selection .region-search-all-button {
        display: none;
      }
      #regionSearchModal .region-search-header {
        display: grid !important;
        grid-template-columns: var(--modal-close-size) minmax(0, 1fr) var(--modal-close-size);
        width: 100%;
        align-items: center;
        gap: 8px;
      }
      #regionSearchModal .region-search-header::before {
        content: "";
        display: block;
        grid-column: 1;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-header::before {
        content: "";
        display: block;
        grid-column: 1;
      }
      #regionSearchModal .region-search-header::after {
        content: none;
        display: none;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-header::after {
        content: none;
        display: none;
      }
      #regionSearchModal .region-search-pc-close {
        display: inline-flex;
        grid-column: 3;
        justify-self: center;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-pc-close {
        display: inline-flex;
        grid-column: 3;
        justify-self: center;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-back,
      #regionSearchModal .region-search-back {
        display: inline-flex !important;
        grid-column: 3;
        justify-self: center;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-title {
        grid-column: 2;
        text-align: center;
        white-space: nowrap;
      }
      #regionSearchModal .region-search-title {
        grid-column: 2;
        min-width: 0;
        text-align: center;
        white-space: nowrap;
      }
      #regionSearchModal .region-search-shell.has-product-results .region-search-type,
      #regionSearchModal .region-search-shell.has-product-results .region-search-body {
        display: none;
      }
      #regionSearchModal .region-search-shell.has-product-results.region-panel-cities .region-search-body {
        display: block;
        order: 3;
        flex: 0 0 auto;
      }
      #regionSearchModal .region-search-shell.has-product-results.region-panel-cities .region-search-results {
        order: 4;
      }
      #regionSearchModal .region-search-row {
        margin: 14px 18px 14px;
      }
      #regionSearchModal .region-search-field {
        margin: 0;
      }
      #regionSearchModal .region-search-actions,
      #regionSearchModal .region-search-body,
      #regionSearchModal .region-search-results {
        padding-left: 18px;
        padding-right: 18px;
      }
      #regionSearchModal .region-search-type {
        display: none !important;
      }
      #regionSearchModal .region-group {
        margin-bottom: 6px;
      }
      #regionSearchModal .region-group summary {
        padding: 13px 15px;
        font-size: var(--region-mobile-major-font-size);
        font-weight: 700;
      }
      #regionSearchModal .region-option,
      #regionSearchModal .region-subgroup summary,
      #regionSearchModal .region-subgroup-toggle {
        min-height: 43px;
        font-size: var(--region-mobile-mid-font-size);
      }
      #regionSearchModal .region-subgroup summary,
      #regionSearchModal .region-subgroup-toggle {
        position: relative;
        padding-right: 36px;
        padding-left: 10px;
      }
      #regionSearchModal .region-subgroup summary::after,
      #regionSearchModal .region-subgroup-toggle::after {
        position: absolute;
        top: 50%;
        right: 10px;
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        margin-left: 0;
        background-size: 16px 16px;
        transform: translateY(-50%) rotate(0deg);
      }
      #regionSearchModal .region-subgroup[open] > summary::after,
      #regionSearchModal .region-subgroup-toggle.active::after {
        transform: translateY(-50%) rotate(180deg);
      }
      #regionSearchModal .region-subgroup-label {
        position: relative;
        display: inline-flex;
        align-self: stretch;
        align-items: center;
        gap: 5px;
      }
      #regionSearchModal .region-subgroup-toggle.active .region-subgroup-label::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 3px;
        background: #373a3c;
        pointer-events: none;
      }
      #regionSearchModal .region-grid-list {
        display: block;
        padding: 0 10px 10px;
      }
      #regionSearchModal .region-grid-row,
      #regionSearchModal .region-subregion-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 0px;
      }
      #regionSearchModal .region-grid-row > .region-subregion-list {
        grid-column: 1 / -1;
        margin-bottom: 0px;
        padding: 4px 0px 6px;
        border-radius: 8px;
        background: #f8fafc;
      }
      #regionSearchModal .region-subregion,
      #regionSearchModal .region-subregion-heading {
        min-height: 43px;
        font-size: var(--region-mobile-small-font-size);
        padding-left: 10px;
      }
      #regionSearchModal .region-subregion-heading {
        min-height: 43px;
        color: #373A3C;
        font-weight: 700;
      }
      #regionSearchModal .region-product-sort {
        position: relative;
        min-width: 0;
        justify-content: flex-end;
        z-index: 3;
      }
      #regionSearchModal .region-product-sort button {
        display: none;
      }
      #regionSearchModal .region-product-sort-native {
        display: inline-flex;
        justify-content: flex-end;
        gap: 5px;
      }
      #regionSearchModal .region-product-sort-native select {
        min-width: 0;
        padding: 0 19px 0 0;
        text-align: right;
        text-align-last: right;
        direction: rtl;
      }
      #regionSearchModal .region-product-sort-native select option {
        direction: ltr;
      }
      #regionSearchModal .region-product-sort-native svg {
        margin-left: -14px;
      }
      #regionSearchModal .region-product-admin-badges {
        margin-left: 6px;
      }
      #regionSearchModal .region-empty-recommend-grid {
        grid-template-columns: minmax(0, 1fr);
      }
      #regionSearchModal .region-product-card {
        grid-template-columns: 90px minmax(0, 1fr) minmax(120px, auto);
      }
      .calendar-accordion-list .region-product-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0px;
        padding: 15px;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
      }
      #regionSearchModal .region-product-thumb {
        width: 90px;
      }
      .calendar-accordion-list .region-product-thumb {
        display: none;
      }
      .calendar-accordion-list .region-product-side {
        justify-items: start;
        gap: 13px;
        margin-right: 0;
        width: 100%;
      }
      .calendar-accordion-list .region-product-price {
        width: 100%;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--border);
        justify-content: flex-start;
      }
      .calendar-accordion-list .region-product-team {
        justify-content: flex-start;
      }
      .calendar-accordion-list .region-product-team.monthly-summary {
        width: 100%;
        max-width: none;
      }
      .calendar-accordion-list .region-product-team.monthly-summary .calendar-monthly-participant-box {
        width: 100%;
        box-sizing: border-box;
      }
      .calendar-accordion-list .region-product-team.has-detail-button {
        justify-content: space-between;
      }
    }
    @media (max-width: 540px) {
      #regionSearchModal .region-product-card {
        grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
      }
      .calendar-accordion-list .region-product-card {
        grid-template-columns: minmax(0, 1fr);
      }
      #regionSearchModal .region-product-thumb {
        display: none;
      }
      .calendar-accordion-list .region-product-thumb {
        display: none;
      }
    }
    @media (max-width: 470px) {
      #regionSearchModal .region-product-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0px;
        padding: 15px;
      }
      .calendar-accordion-list .region-product-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0px;
        padding: 15px;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
      }
      .calendar-sheet-loading-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 15px;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
      }
      #regionSearchModal .region-product-side {
        justify-items: start;
        gap: 13px;
        margin-right: 0;
      }
      .calendar-accordion-list .region-product-side {
        justify-items: start;
        gap: 13px;
        margin-right: 0;
        width: 100%;
      }
      .calendar-loading-card-side {
        justify-items: start;
        gap: 13px;
        margin-right: 0;
        width: 100%;
      }
      #regionSearchModal .region-product-price {
        width: 100%;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--border);
      }
      .calendar-accordion-list .region-product-price {
        width: 100%;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--border);
      }
      .calendar-loading-card-pill {
        width: 100%;
        max-width: 128px;
      }
      #regionSearchModal .region-product-price,
      #regionSearchModal .region-product-team {
        justify-content: flex-start;
      }
      #regionSearchModal .region-product-team.monthly-summary {
        width: 100%;
        max-width: none;
      }
      #regionSearchModal .region-product-team.monthly-summary .calendar-monthly-participant-box {
        width: 100%;
        box-sizing: border-box;
      }
      .calendar-accordion-list .region-product-price {
        justify-content: flex-start;
      }
      .calendar-accordion-list .region-product-team {
        justify-content: flex-start;
      }
      .calendar-accordion-list .region-product-team.monthly-summary {
        width: 100%;
        max-width: none;
      }
      .calendar-accordion-list .region-product-team.monthly-summary .calendar-monthly-participant-box {
        width: 100%;
        box-sizing: border-box;
      }
      .calendar-accordion-list .region-product-team.has-detail-button {
        justify-content: space-between;
      }
    }
    @media (min-width: 471px) and (max-width: 540px) {
      #regionSearchModal .region-product-card {
        grid-template-columns: 82px minmax(0, 1fr);
        align-items: center;
      }
      #regionSearchModal .region-product-thumb {
        display: block;
        width: 82px;
      }
      #regionSearchModal .region-product-side {
        grid-column: 2;
        justify-items: start;
        gap: 8px;
        transform: translateY(-4px);
      }
    }
    @media (max-width: 359px) {
      #regionSearchModal .region-product-card {
        grid-template-columns: minmax(0, 1fr);
      }
      #regionSearchModal .region-product-thumb {
        display: none;
      }
    }
    @media (max-width: 640px) {
      #detailModal.open .detail-period-arrow,
      body > #detailModal.sgj-portal-overlay.open .detail-period-arrow {
        color: var(--text-soft) !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
      }
      #detailModal.open .detail-period-row,
      body > #detailModal.sgj-portal-overlay.open .detail-period-row {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        flex-wrap: wrap !important;
      }
      #detailModal.open .price-box,
      body > #detailModal.sgj-portal-overlay.open .price-box {
        padding: 16px !important;
      }
      #detailModal.open .detail-section-title,
      body > #detailModal.sgj-portal-overlay.open .detail-section-title {
        font-size: 17px !important;
        font-weight: 800 !important;
        margin: 0 0 12px !important;
      }
      #detailModal.open .detail-section-title.with-people,
      body > #detailModal.sgj-portal-overlay.open .detail-section-title.with-people {
        margin-top: 24px !important;
      }
      #detailModal.open .detail-list-card,
      #detailModal.open .detail-note-card,
      #detailModal.open .detail-schedule,
      body > #detailModal.sgj-portal-overlay.open .detail-list-card,
      body > #detailModal.sgj-portal-overlay.open .detail-note-card,
      body > #detailModal.sgj-portal-overlay.open .detail-schedule {
        border: 1px solid var(--border) !important;
        border-radius: 16px !important;
        background: #fff !important;
        padding: 16px 16px !important;
      }
      #detailModal.open .detail-note-card,
      body > #detailModal.sgj-portal-overlay.open .detail-note-card {
        border: 0 !important;
        border-radius: 15px !important;
        background: #f8f9fa !important;
      }
      #detailModal.open .detail-schedule.is-flat,
      body > #detailModal.sgj-portal-overlay.open .detail-schedule.is-flat {
        display: grid !important;
        gap: 28px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        padding: 0 !important;
      }
      #detailModal.open .detail-schedule.is-flat .detail-schedule-item,
      body > #detailModal.sgj-portal-overlay.open .detail-schedule.is-flat .detail-schedule-item {
        display: block !important;
        border-bottom: 0 !important;
      }
      #detailModal.open .detail-schedule.is-flat .detail-schedule-row,
      body > #detailModal.sgj-portal-overlay.open .detail-schedule.is-flat .detail-schedule-row {
        display: grid !important;
        grid-template-columns: 86px minmax(0, 1fr) !important;
        padding: 0 !important;
        cursor: default !important;
      }
      #detailModal.open .detail-schedule.is-flat .detail-schedule-copy,
      body > #detailModal.sgj-portal-overlay.open .detail-schedule.is-flat .detail-schedule-copy {
        max-height: none !important;
        overflow: visible !important;
        margin-right: 0 !important;
      }
      #detailModal.open .detail-schedule.is-flat .detail-schedule-copy::after,
      #detailModal.open .detail-schedule.is-flat .detail-schedule-toggle,
      body > #detailModal.sgj-portal-overlay.open .detail-schedule.is-flat .detail-schedule-copy::after,
      body > #detailModal.sgj-portal-overlay.open .detail-schedule.is-flat .detail-schedule-toggle {
        display: none !important;
      }
      #detailModal.open .detail-list li,
      body > #detailModal.sgj-portal-overlay.open .detail-list li {
        position: relative !important;
        padding-left: 13px !important;
        display: block !important;
      }
      #detailModal.open .detail-list li::before,
      body > #detailModal.sgj-portal-overlay.open .detail-list li::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 0.82em !important;
        width: 5px !important;
        height: 5px !important;
        border-radius: 999px !important;
        background: #b6bcc6 !important;
        transform: translateY(-50%) !important;
      }
      #detailModal.open .detail-info-box .detail-list li,
      #detailModal.open .detail-note-card .detail-list li,
      body > #detailModal.sgj-portal-overlay.open .detail-info-box .detail-list li,
      body > #detailModal.sgj-portal-overlay.open .detail-note-card .detail-list li {
        padding-left: 0 !important;
      }
      #detailModal.open .detail-info-box .detail-list li::before,
      #detailModal.open .detail-note-card .detail-list li::before,
      body > #detailModal.sgj-portal-overlay.open .detail-info-box .detail-list li::before,
      body > #detailModal.sgj-portal-overlay.open .detail-note-card .detail-list li::before {
        display: none !important;
      }
      #detailModal.open .detail-info-box .detail-list-item,
      #detailModal.open .detail-note-card .detail-list-item,
      body > #detailModal.sgj-portal-overlay.open .detail-info-box .detail-list-item,
      body > #detailModal.sgj-portal-overlay.open .detail-note-card .detail-list-item {
        display: grid !important;
        grid-template-columns: 12px minmax(0, 1fr) !important;
        gap: 2px !important;
        align-items: start !important;
      }
      #detailModal.open #detailContent,
      body > #detailModal.sgj-portal-overlay.open #detailContent {
        padding-top: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: hidden !important;
      }
      #detailModal.open .detail-meta-row,
      body > #detailModal.sgj-portal-overlay.open .detail-meta-row {
        margin-left: 22px !important;
        margin-right: 22px !important;
      }
      #detailModal.open .detail-main-title,
      body > #detailModal.sgj-portal-overlay.open .detail-main-title {
        margin: 15px 0 0 !important;
        font-size: 20px !important;
        display: block !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: initial !important;
        max-height: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
      }
      #detailModal.open .detail-price-value,
      body > #detailModal.sgj-portal-overlay.open .detail-price-value {
        font-size: 22px !important;
        font-weight: 700 !important;
      }
      #detailModal.open .detail-summary-grid,
      body > #detailModal.sgj-portal-overlay.open .detail-summary-grid {
        gap: 8px 0 !important;
      }
      #detailModal.open .detail-period-card,
      body > #detailModal.sgj-portal-overlay.open .detail-period-card {
        margin: 13px 22px !important;
      }
      #detailModal.open .flight-info-card,
      body > #detailModal.sgj-portal-overlay.open .flight-info-card {
        margin: 13px 22px 20px !important;
      }
      #detailModal.open .price-box,
      body > #detailModal.sgj-portal-overlay.open .price-box {
        margin-left: 22px !important;
        margin-right: 22px !important;
      }
      #detailModal.open .detail-anchor-tabs,
      body > #detailModal.sgj-portal-overlay.open .detail-anchor-tabs {
        position: relative !important;
        top: auto !important;
        z-index: 2 !important;
        display: flex !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px 22px 0 !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-x: contain !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x !important;
      }
      #detailModal.open .detail-anchor-tabs.is-mobile-fixed,
      body > #detailModal.sgj-portal-overlay.open .detail-anchor-tabs.is-mobile-fixed {
        position: fixed !important;
        display: flex !important;
        left: 0 !important;
        right: 0 !important;
        top: 56px !important;
        margin: 0 !important;
        z-index: 2147483602 !important;
      }
      #detailModal.open .detail-anchor-tabs-spacer,
      body > #detailModal.sgj-portal-overlay.open .detail-anchor-tabs-spacer {
        display: none;
        height: 0;
      }
      #detailModal.open .detail-anchor-tabs-spacer.is-active,
      body > #detailModal.sgj-portal-overlay.open .detail-anchor-tabs-spacer.is-active {
        display: block;
        flex: 0 0 auto;
      }
      #detailModal.open .detail-anchor-tabs.is-suppressed,
      body > #detailModal.sgj-portal-overlay.open .detail-anchor-tabs.is-suppressed {
        display: none !important;
      }
      #detailContent.detail-mobile-sticky-visible .detail-anchor-tabs.is-mobile-fixed {
        top: 56px !important;
      }
      #detailContent.detail-anchor-tabs-fixed .detail-anchor-tabs + .detail-anchor-tabs-spacer + .detail-section {
        margin-top: 25px !important;
      }
      #detailModal.open .detail-anchor-tabs::-webkit-scrollbar,
      body > #detailModal.sgj-portal-overlay.open .detail-anchor-tabs::-webkit-scrollbar {
        display: none !important;
      }
      #detailModal.open .detail-section,
      body > #detailModal.sgj-portal-overlay.open .detail-section {
        margin: 25px 22px 15px !important;
      }
      #detailModal.open .detail-section-title.with-people,
      #detailModal.open .detail-team,
      body > #detailModal.sgj-portal-overlay.open .detail-section-title.with-people,
      body > #detailModal.sgj-portal-overlay.open .detail-team {
        margin-left: 22px !important;
        margin-right: 22px !important;
      }
      #detailModal.open .detail-participant-status-card .detail-team,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card .detail-team {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 10px !important;
        margin: 0 !important;
        overflow: visible !important;
      }
      #detailModal.open .detail-participant-status,
      #detailModal.open .detail-participant-status-card,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card {
        position: relative !important;
        z-index: 2147483603 !important;
        overflow: visible !important;
      }
      #detailModal.open .detail-participant-status-pill,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-pill {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        min-height: 20px !important;
        padding: 2px 8px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 999px !important;
        background: #fff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
      }
      #detailModal.open .detail-participant-info-bubble,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-info-bubble {
        z-index: 2147483604 !important;
      }
      #detailModal.open .detail-participant-status-card .team-avatar-wrap,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card .team-avatar-wrap {
        flex: 0 0 clamp(46px, 14.5vw, 50px) !important;
        width: clamp(46px, 14.5vw, 50px) !important;
        height: clamp(46px, 14.5vw, 50px) !important;
      }
      #detailModal.open .detail-participant-status-card .team-avatar,
      #detailModal.open .detail-participant-status-card .team-empty,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card .team-avatar,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card .team-empty {
        width: clamp(46px, 14.5vw, 50px) !important;
        height: clamp(46px, 14.5vw, 50px) !important;
        flex: 0 0 clamp(46px, 14.5vw, 50px) !important;
      }
      #detailModal.open .detail-participant-status-card .team-couple-wrap,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card .team-couple-wrap {
        --team-avatar-size: clamp(46px, 14.5vw, 50px);
        gap: 10px !important;
        height: clamp(46px, 14.5vw, 50px) !important;
        flex: 0 0 auto !important;
      }
      #detailModal.open .detail-participant-status-card .team-couple-wrap .team-avatar-wrap,
      #detailModal.open .detail-participant-status-card .team-couple-wrap .team-avatar,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card .team-couple-wrap .team-avatar-wrap,
      body > #detailModal.sgj-portal-overlay.open .detail-participant-status-card .team-couple-wrap .team-avatar {
        width: clamp(46px, 14.5vw, 50px) !important;
        height: clamp(46px, 14.5vw, 50px) !important;
        flex-basis: clamp(46px, 14.5vw, 50px) !important;
      }
      #detailModal.open .detail-slider,
      body > #detailModal.sgj-portal-overlay.open .detail-slider {
        position: sticky !important;
        top: 0 !important;
        z-index: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 4 / 3 !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 0 0px 0 !important;
        transform: none !important;
        border-radius: 0 !important;
      }
      #detailModal.open .detail-product-head,
      #detailModal.open .detail-section,
      body > #detailModal.sgj-portal-overlay.open .detail-product-head,
      body > #detailModal.sgj-portal-overlay.open .detail-section {
        position: relative !important;
        z-index: 2 !important;
        background: #ffffff !important;
      }
      #detailModal.open .detail-product-head:has(.detail-participant-info-bubble.is-visible),
      body > #detailModal.sgj-portal-overlay.open .detail-product-head:has(.detail-participant-info-bubble.is-visible) {
        z-index: 2147483605 !important;
        overflow: visible !important;
      }
      #detailModal.open .detail-content-sheet,
      body > #detailModal.sgj-portal-overlay.open .detail-content-sheet {
        position: relative !important;
        z-index: 2 !important;
        width: 100% !important;
        background: #ffffff !important;
        padding-top: 1px !important;
        margin-top: -1px !important;
      }
      #detailModal.open .detail-slider-viewport,
      #detailModal.open .detail-slider-track,
      #detailModal.open .detail-thumb,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-viewport,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-track,
      body > #detailModal.sgj-portal-overlay.open .detail-thumb {
        height: 100% !important;
        border-radius: 0 !important;
      }
      #detailModal.open .detail-slider-viewport,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-viewport {
        touch-action: pan-y pinch-zoom !important;
        overscroll-behavior-x: contain;
      }
      #detailModal.open .detail-thumb,
      body > #detailModal.sgj-portal-overlay.open .detail-thumb {
        width: 100% !important;
        object-fit: cover !important;
      }
    }
    @media (max-width: 360px) {
      body > #globalApplyOverlay.sgj-portal-overlay [data-apply-field="name"] .traveler-hint {
        font-size: 0;
      }
      body > #globalApplyOverlay.sgj-portal-overlay [data-apply-field="name"] .traveler-hint::before {
        content: "여권명 동일";
        color: #565656;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.2;
      }
      #detailModal.open .flight-duration,
      body > #detailModal.sgj-portal-overlay.open .flight-duration {
        min-width: 60px;
        padding: 4px 11px;
        border-radius: 999px;
        background: #373A3C;
        color: #ffffff;
        font-size: 13px;
        font-weight: 500;
        text-align: center;
        white-space: nowrap;
      }
    }

    .team-avatar.participant-flow-avatar,
    .sgj-page .team-avatar.participant-flow-avatar,
    .sgj-page .join-soon-compact-team .team-avatar.participant-flow-avatar,
    #regionSearchModal .region-product-team .team-avatar.participant-flow-avatar,
    .calendar-accordion-list .region-product-team .team-avatar.participant-flow-avatar {
      border: 2px solid transparent;
      background:
        linear-gradient(#fbfcfe, #fbfcfe) padding-box,
        conic-gradient(from var(--participant-border-angle), transparent 20%, var(--participant-flow-color-1), var(--participant-flow-color-2) 50%, transparent 80%) border-box,
        linear-gradient(#d1d5db, #d1d5db) border-box;
      animation: participant-border-spin 8s linear infinite;
      animation-delay: var(--participant-flow-delay, 0s);
      box-shadow: none;
    }

    .team-avatar.participant-flow-avatar:hover,
    .sgj-page .team-avatar.participant-flow-avatar:hover,
    .detail-team .team-avatar.participant-flow-avatar:hover {
      border-color: transparent;
      background:
        linear-gradient(#fbfcfe, #fbfcfe) padding-box,
        linear-gradient(#3b82f6, #3b82f6) border-box;
      box-shadow: none;
    }

    @media (prefers-reduced-motion: reduce) {
      .team-avatar.participant-flow-avatar,
      .sgj-page .team-avatar.participant-flow-avatar,
      .sgj-page .join-soon-compact-team .team-avatar.participant-flow-avatar,
      #regionSearchModal .region-product-team .team-avatar.participant-flow-avatar,
      .calendar-accordion-list .region-product-team .team-avatar.participant-flow-avatar {
        animation: none;
      }
      .detail-flight-status-card.is-loading .detail-flight-status-title::after {
        animation: none;
      }
    }
    #joinMyHomeSection .join-card .participant-flow-avatar,
    #joinMdPickSection .join-card .participant-flow-avatar,
    #joinSectionList .join-card .participant-flow-avatar,
    #joinSectionList .join-soon-compact-card .participant-flow-avatar,
    #joinGrid .join-card .participant-flow-avatar {
      animation: none;
    }
    @media (max-width: 640px) {
      .join-mdpick-countries {
        gap: 0;
      }
      .join-mdpick-country-head {
        align-items: flex-start;
        flex-direction: column;
      }
      .join-mdpick-country-name {
        font-size: 22px;
      }
      .join-mdpick-list {
        grid-template-columns: 1fr;
      }
      .join-mdpick-loading-controls {
        gap: 10px;
      }
      .join-mdpick-loading-country {
        width: 58%;
        height: 36px;
        border-radius: 11px;
      }
      .join-mdpick-loading-pack {
        width: 38%;
        height: 34px;
      }
      .join-mdpick-loading-list {
        grid-template-columns: 1fr;
        gap: 12px;
      }
      .join-mdpick-loading-card {
        min-height: 84px;
        border-radius: 12px;
      }
      .join-mdpick-card {
        display: grid;
        grid-template-columns: 75px minmax(0, 1fr);
        gap: 12px;
        height: auto;
        padding: 5px 0;
        border: 0;
        box-shadow: none;
      }
      .join-mdpick-thumb {
        width: 75px;
        aspect-ratio: 1 / 1;
        border-radius: 8px;
      }
      .join-mdpick-info {
        gap: 5px;
        padding: 3px 0 4px;
      }
      .join-mdpick-title {
        font-size: 17px;
        display: block;
        white-space: nowrap;
        -webkit-line-clamp: unset;
        line-clamp: unset;
      }
      .join-mdpick-price {
        font-size: 16px;
        font-weight: 700;
      }
      .join-mdpick-theme-section {
        margin-top: 24px;
      }
      .join-mdpick-theme-title {
        font-size: var(--font-product-section-title);
      }
      .join-mdpick-theme-copy {
        margin-top: -17px;
        font-size: var(--font-product-section-desc);
      }
      .join-mdpick-theme-loading-shell {
        grid-template-columns: 1fr;
        gap: 14px;
        min-height: 0;
      }
      .join-mdpick-theme-loading-feature {
        min-height: 170px;
        border-radius: 15px;
      }
      .join-mdpick-theme-loading-cards {
        grid-template-columns: 1fr;
        gap: 12px;
      }
      .join-mdpick-theme-loading-card {
        min-height: 84px;
        border-radius: 12px;
      }
      .join-mdpick-theme-groups {
        --mdpick-theme-gap: 16px;
        display: flex;
        grid-template-columns: none;
        gap: var(--mdpick-theme-gap);
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }
      .join-mdpick-theme-groups::before,
      .join-mdpick-theme-groups::after {
        content: "";
        flex: 0 0 calc(var(--mobile-page-gutter) + 1px);
        scroll-snap-align: none;
      }
      .join-mdpick-theme-groups::-webkit-scrollbar {
        display: none;
      }
      .join-mdpick-theme-group {
        display: grid !important;
        flex: 0 0 calc(100% - (var(--mobile-page-gutter) * 2));
        width: calc(100% - (var(--mobile-page-gutter) * 2));
        grid-template-columns: 1fr;
        min-height: 0;
        scroll-snap-align: center;
        scroll-snap-stop: always;
      }
      .join-mdpick-theme-head {
        min-height: 170px;
        gap: 10px;
        padding: 20px 26px;
      }
      .join-mdpick-theme-name {
        font-size: 23px;
        font-weight: 600;
      }
      .join-mdpick-theme-subcopy {
        max-width: 100%;
        font-size: 15px;
        font-weight: 600;
      }
      .join-mdpick-theme-tab {
        padding: 5px 16px;
        font: 800 14px/1.25 Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      }
      .join-mdpick-theme-tab.active,
      .join-mdpick-theme-tab[aria-selected="true"] {
        background: #f5f5f5;
        border-color: transparent;
        color: #585858;
      }
      .join-mdpick-theme-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 16px 0;
      }
      .join-mdpick-theme-card {
        display: grid;
        grid-template-columns: 75px minmax(0, 1fr);
        min-height: auto;
        gap: 12px;
        padding: 5px 0;
      }
      .join-mdpick-theme-thumb {
        width: 75px;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 8px;
      }
      .join-mdpick-theme-meta {
        gap: 5px;
        padding: 3px 0 4px;
      }
      .join-mdpick-theme-region {
        font-size: 14px;
        line-height: 1.2;
      }
      .join-mdpick-theme-product {
        font-size: 17px;
        display: block;
        white-space: nowrap;
        word-break: keep-all;
        -webkit-line-clamp: unset;
        line-clamp: unset;
      }
      .join-mdpick-theme-price {
        font-size: 16px;
        font-weight: 700;
      }
      #secret-golf-join .join-mdpick-pack-chip,
      .join-mdpick-pack-chip {
        font-size: var(--font-mdpick-pack-chip-mobile) !important;
      }
      .join-mdpick-pack-chip::after {
        right: auto;
        left: 0;
      }
    }
    @media (max-width: 640px) {
      #secret-golf-join.sgj-page .join-product-section.layout-custom .join-card .join-title,
      #secret-golf-join.sgj-page .join-product-section.layout-overseas .join-card .join-title {
        font-size: 19px;
      }
      #secret-golf-join.sgj-page .join-product-section.layout-quick .join-card .join-card-include-tags {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
      }
    }
    #secret-golf-join.sgj-page #active .section-head-row {
      margin: 45px 0 45px;
    }
    @media (min-width: 641px) {
      #secret-golf-join.sgj-page #active .section-head-row {
        margin: 65px 0 18px;
      }
      #secret-golf-join.sgj-page .join-product-section.layout-soon .join-title {
        font-size: 19px;
      }
      #secret-golf-join.sgj-page .join-product-section.layout-soon .join-price {
        margin-top: 14px;
      }
    }
    @media (min-width: 640px) and (max-width: 1169px) {
      #secret-golf-join.sgj-page .join-mdpick-theme-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(12px, 2vw, 24px);
        padding: 18px 0;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-card {
        min-height: 0;
        height: auto;
        border-radius: 18px;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-thumb {
        aspect-ratio: 1.28 / .7;
        border-radius: 18px 18px 0 0;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-meta {
        padding: 15px 18px 20px;
        border-radius: 0 0 18px 18px;
      }
    }
    @media (min-width: 1170px) {
      #secret-golf-join.sgj-page .join-mdpick-theme-group {
        min-height: 415px;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-head {
        height: 415px;
        gap: 14px;
        padding: 52px 52px 42px;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-subcopy {
        max-width: 210px;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-grid {
        top: 52px;
        padding: 0;
        align-items: start;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-card {
        min-height: 0;
        height: auto;
        border-radius: 18px;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-thumb {
        height: 170px;
        border-radius: 18px 18px 0 0;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-meta {
        gap: 5px;
        min-height: 0;
        padding: 16px 16px 20px;
        border-radius: 0 0 18px 18px;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-region {
        line-height: 1.2;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-product {
        min-height: 0;
        font-size: 17px;
        line-height: 1.3;
      }
      #secret-golf-join.sgj-page .join-mdpick-theme-price {
        margin-top: 10px;
        font-size: 19px;
        line-height: 1;
      }
    }
    .join-mobile-bottom-nav {
      position: fixed;
      left: 50%;
      right: auto;
      bottom: 16px;
      z-index: 2147482500;
      display: block;
      width: min(430px, calc(100vw - 32px));
      height: 80px;
      padding: 0;
      background: transparent;
      border: 0;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translate(-50%, calc(100% + 80px));
      transition:
        transform .28s cubic-bezier(.2, .8, .2, 1),
        opacity .22s ease,
        visibility 0s linear .28s;
      will-change: transform, opacity;
    }

    .join-mobile-bottom-nav.is-visible {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translate(-50%, 0);
      transition:
        transform .26s cubic-bezier(.2, .8, .2, 1),
        opacity .18s ease,
        visibility 0s linear 0s;
    }

    .join-mobile-bottom-nav.is-nav-layer-active,
    .join-mobile-bottom-nav.is-my-layer-active {
      z-index: 2147483646;
    }

    .join-mobile-bottom-nav-shell {
      --join-mobile-nav-active-bg: #3489f8;
      --join-mobile-nav-active-x: 0px;
      --join-mobile-nav-active-width: 72px;
      --join-mobile-nav-scale-x: 1;
      --join-mobile-nav-scale-y: 1;
      position: relative;
      width: 100%;
      height: 80px;
      padding: 8px;
      overflow: hidden;
      user-select: none;
      border: 1px solid rgba(241, 245, 249, .8);
      border-radius: 32px;
      background: #fff;
      box-shadow: 0 12px 45px rgba(15, 23, 42, 0.2);
    }

    .join-mobile-bottom-nav-inactive-layer,
    .join-mobile-bottom-nav-active-overlay {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: stretch;
      justify-content: space-between;
      gap: 0;
      padding: 8px;
    }

    .join-mobile-bottom-nav-inactive-layer {
      z-index: 1;
    }

    .join-mobile-bottom-nav-indicator {
      position: absolute;
      top: 8px;
      bottom: 8px;
      left: 0;
      width: var(--join-mobile-nav-active-width);
      border-radius: 22px;
      opacity: 0;
      pointer-events: none;
      transform: translate3d(var(--join-mobile-nav-active-x), 0, 0);
      transition: none;
      will-change: transform, width;
      z-index: 2;
    }

    .join-mobile-bottom-nav-indicator-deform {
      width: 100%;
      height: 100%;
      transform: scaleX(var(--join-mobile-nav-scale-x)) scaleY(var(--join-mobile-nav-scale-y));
      transform-origin: center;
      will-change: transform;
    }

    .join-mobile-bottom-nav-indicator-visual {
      width: 100%;
      height: 100%;
      border-radius: 22px;
      background: var(--join-mobile-nav-active-bg);
      box-shadow: 0 8px 18px rgba(52, 137, 248, .28);
    }

    .join-mobile-bottom-nav-active-overlay {
      --join-mobile-nav-clip-top: 8px;
      --join-mobile-nav-clip-right: 100%;
      --join-mobile-nav-clip-bottom: 8px;
      --join-mobile-nav-clip-left: 0px;
      pointer-events: none;
      opacity: 0;
      transition: none;
      clip-path: inset(
        var(--join-mobile-nav-clip-top)
        var(--join-mobile-nav-clip-right)
        var(--join-mobile-nav-clip-bottom)
        var(--join-mobile-nav-clip-left)
        round 22px
      );
      z-index: 3;
    }

    .join-mobile-bottom-nav-shell.has-active .join-mobile-bottom-nav-indicator,
    .join-mobile-bottom-nav-shell.has-active .join-mobile-bottom-nav-active-overlay {
      opacity: 1;
    }

    .join-mobile-bottom-nav-button,
    .join-mobile-bottom-nav-overlay-item {
      position: relative;
      display: flex;
      flex: 1 1 0;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
      min-width: 0;
      height: 100%;
      padding: 0;
      border: 0;
      border-radius: 22px;
      background: transparent;
      box-sizing: border-box;
      color: #334155;
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0;
      text-align: center;
      -webkit-tap-highlight-color: transparent;
    }

    .join-mobile-bottom-nav-button {
      cursor: pointer;
      z-index: 1;
    }

    .join-mobile-bottom-nav-button.is-active,
    .join-mobile-bottom-nav-button.is-indicator-overlap {
      color: #334155;
      background: transparent;
    }

    .join-mobile-bottom-nav-button:active,
    .join-mobile-bottom-nav-button:focus-visible {
      background: rgba(52, 137, 248, .08);
      outline: none;
    }

    .join-mobile-bottom-nav-overlay-item {
      color: #fff;
    }

    .join-mobile-bottom-nav svg {
      display: block;
      flex: 0 0 auto;
      width: 24px;
      height: 24px;
      color: currentColor;
      transform: translateX(var(--join-mobile-nav-content-shift-x, 0));
    }

    .join-mobile-bottom-nav-label {
      display: block;
      width: var(--join-mobile-nav-active-width, 72px);
      max-width: var(--join-mobile-nav-active-width, 72px);
      min-width: 0;
      overflow: hidden;
      text-overflow: clip;
      white-space: nowrap;
      color: currentColor;
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
      text-align: center;
      transform: translateX(var(--join-mobile-nav-content-shift-x, 0));
    }

    .join-mobile-bottom-nav-button[data-mobile-nav-key="create"],
    .join-mobile-bottom-nav-active-overlay .join-mobile-bottom-nav-overlay-item:nth-child(1) {
      --join-mobile-nav-content-shift-x: -1.5px;
    }

    .join-mobile-bottom-nav-button[data-mobile-nav-key="phone"],
    .join-mobile-bottom-nav-active-overlay .join-mobile-bottom-nav-overlay-item:nth-child(4) {
      --join-mobile-nav-content-shift-x: 1.5px;
    }

    @media (min-width: 641px) {
      .join-mobile-bottom-nav {
        width: min(500px, calc(100vw - 40px));
        height: 84px;
      }
      .join-mobile-bottom-nav-shell {
        height: 84px;
        border-radius: 26px;
      }

      .join-mobile-bottom-nav-inactive-layer,
      .join-mobile-bottom-nav-active-overlay {
        top: 50%;
        right: auto;
        bottom: auto;
        left: 50%;
        width: calc(100% - 16px);
        height: 68px;
        padding: 0;
        gap: 12px;
        transform: translate(-50%, -50%);
      }

      .join-mobile-bottom-nav-indicator {
        top: 50%;
        bottom: auto;
        height: 68px;
        border-radius: 20px;
        transform: translate3d(var(--join-mobile-nav-active-x), -50%, 0);
      }

      .join-mobile-bottom-nav-indicator-visual {
        border-radius: 20px;
      }

      .join-mobile-bottom-nav-active-overlay {
        clip-path: inset(
          var(--join-mobile-nav-clip-top)
          var(--join-mobile-nav-clip-right)
          var(--join-mobile-nav-clip-bottom)
          var(--join-mobile-nav-clip-left)
          round 20px
        );
      }

      .join-mobile-bottom-nav-button,
      .join-mobile-bottom-nav-overlay-item {
        gap: 8px;
        border-radius: 20px;
      }

      .join-mobile-bottom-nav svg {
        width: 34px;
        height: 34px;
      }

      .join-mobile-bottom-nav-label {
        font-size: 17px;
      }
    }

    @media (max-width: 640px) {
      .region-search-back::before,
      .join-member-login-back::before {
        content: none !important;
        display: none !important;
      }
      .region-search-back > svg,
      .join-member-login-back > svg {
        display: block !important;
      }
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header::before {
        content: none;
        display: none;
      }

      body > #regionSearchModal.sgj-portal-overlay .region-search-header::before,
      #regionSearchModal .region-search-header::before {
        content: none;
        display: none;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header .modal-back-icon {
        display: inline-flex !important;
        grid-column: 1;
        justify-self: center;
        color: #373A3C;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header .modal-back-icon::before {
        content: none !important;
        display: none !important;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header .modal-back-icon > svg {
        display: block !important;
        width: 24px;
        height: 24px;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-header .modal-header-spacer {
        grid-column: 3;
        justify-self: center;
      }

      body > #regionSearchModal.sgj-portal-overlay .region-search-back,
      #regionSearchModal .region-search-back {
        display: inline-flex !important;
        grid-column: 1;
        justify-self: center;
      }

      body > #regionSearchModal.sgj-portal-overlay .region-search-pc-close,
      #regionSearchModal .region-search-pc-close {
        display: none !important;
      }

      body > #regionSearchModal.sgj-portal-overlay .region-search-header-spacer,
      #regionSearchModal .region-search-header-spacer {
        grid-column: 3;
        justify-self: center;
      }

      #joinMyMenuModal .modal-header {
        display: grid;
        grid-template-columns: var(--modal-close-size) minmax(0, 1fr) var(--modal-close-size);
        align-items: center;
        gap: 8px;
        min-height: 56px;
        height: 56px;
        padding: 0 18px;
      }

      #joinMyMenuModal .modal-back-icon {
        grid-column: 1;
        align-self: center;
        justify-self: center;
      }

      #joinMyMenuModal .modal-title {
        grid-column: 2;
        align-self: center;
        color: var(--text);
        font-size: var(--modal-main-title-mobile);
        font-weight: var(--modal-main-title-weight);
        line-height: 1.25;
        text-align: center;
      }

      #joinMyMenuModal .modal-header-spacer {
        grid-column: 3;
        align-self: center;
        justify-self: center;
      }
    }

    .join-my-drawer-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483647 !important;
      display: flex;
      justify-content: flex-end;
      background: rgba(15, 23, 42, .34);
      opacity: 0;
      pointer-events: none;
      transition: opacity .24s ease;
    }

    .join-my-drawer-overlay.open {
      opacity: 1;
      pointer-events: auto;
    }

    .join-my-drawer {
      position: relative;
      z-index: 2147483647 !important;
      width: 250px;
      height: 100%;
      padding: 22px 16px calc(22px + env(safe-area-inset-bottom, 0px));
      background: #fff;
      box-shadow: -18px 0 34px rgba(15, 23, 42, .18);
      transform: translateX(100%);
      transition: transform .28s cubic-bezier(.2, .8, .2, 1);
      overflow-y: auto;
    }

    .join-my-drawer-overlay.open .join-my-drawer {
      transform: translateX(0);
    }
    @media (max-width: 640px) {
      .join-my-drawer-overlay {
        height: var(--join-mobile-modal-height, 100dvh);
        min-height: var(--join-mobile-modal-height, 100dvh);
        max-height: var(--join-mobile-modal-height, 100dvh);
        overflow: hidden;
      }
      .join-my-drawer {
        height: var(--join-mobile-modal-height, 100dvh);
        min-height: var(--join-mobile-modal-height, 100dvh);
        max-height: var(--join-mobile-modal-height, 100dvh);
        box-sizing: border-box;
        background: #fff;
      }
    }
    @media (min-width: 641px) {
      .join-my-drawer-overlay {
        justify-content: flex-start;
        top: var(--join-pc-header-zone-offset, 0px);
      }
      .join-my-drawer {
        box-shadow: 18px 0 34px rgba(15, 23, 42, .18);
        transform: translateX(-100%);
      }
      .join-my-drawer-overlay.open .join-my-drawer {
        transform: translateX(0);
      }
    }

    .join-my-drawer-profile {
      position: relative;
      display: grid;
      gap: 7px;
      padding: 4px 2px 18px;
    }

    .join-my-drawer-profile-row {
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr);
      align-items: start;
      gap: 12px;
    }

    .join-my-drawer-avatar {
      display: grid;
      place-items: center;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      overflow: hidden;
      background: #f1f5f9;
      color: #475569;
      font-size: 18px;
      font-weight: 800;
      line-height: 1;
      border: 1px solid #e2e8f0;
    }

    .join-my-drawer-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .join-my-drawer-profile-copy {
      min-width: 0;
      display: grid;
      gap: 6px;
      padding-right: 44px;
    }

    .join-my-drawer-close {
      position: absolute;
      top: -7px;
      right: -10px;
      z-index: 1;
      color: #111827;
      cursor: pointer;
    }

    @media (min-width: 641px) {
      .join-my-drawer-close {
        top: -5px;
        right: -2px;
        width: var(--modal-close-size-pc);
        height: var(--modal-close-size-pc);
        flex-basis: var(--modal-close-size-pc);
      }
    }

    .join-my-drawer-close:active,
    .join-my-drawer-close:focus-visible {
      background: #f8fafc;
      outline: none;
    }

    @media (hover: hover) and (pointer: fine) {
      .join-my-drawer-close:hover {
        background: #f8fafc;
      }
    }

    .join-my-drawer-name {
      color: #111827;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.25;
    }

    .join-my-drawer-meta {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 7px;
      color: #393939;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.2;
    }

    .join-my-drawer-dot {
      width: 4px;
      height: 4px;
      border-radius: 999px;
      background: #94a3b8;
    }

    .join-my-drawer-profile-manage {
      justify-self: start;
      min-height: 0;
      padding: 0;
      border-radius: 0;
      border: 0;
      background: transparent;
      font: inherit;
      line-height: inherit;
    }

    .join-my-drawer-profile-manage-text {
      color: rgb(43, 150, 237);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.2;
      margin-top: 3px;
    }

    .join-my-drawer-profile-manage:active,
    .join-my-drawer-profile-manage:focus-visible {
      background: #f8fafc;
      outline: none;
    }

    .join-my-drawer-divider {
      height: 1px;
      margin: 0 -2px;
      background: #edf2f7;
    }

    .join-my-drawer-list {
      display: grid;
      gap: 2px;
      padding: 10px 0;
    }

    .join-my-drawer-item {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      align-items: center;
      gap: 8px;
      width: 100%;
      min-height: 38px;
      padding: 0 4px;
      border-radius: 10px;
      color: #111827;
      text-align: left;
      font-size: 17px;
      font-weight: 500;
      line-height: 1.2;
    }

    .join-my-drawer-item:active,
    .join-my-drawer-item:focus-visible {
      background: #f1f5f9;
      outline: none;
    }

    @media (min-width: 641px) {
      .join-my-drawer-item:hover,
      .join-my-drawer-item.is-selected {
        background: #f1f5f9;
      }
    }

    .join-profile-manage-overlay {
      position: fixed;
      inset: 0;
      z-index: 10080;
      display: none;
      align-items: center;
      justify-content: center;
      background: rgba(15, 23, 42, .42);
      padding: 18px;
    }

    .join-profile-manage-overlay.open {
      display: flex;
    }

    body.join-profile-scroll-locked {
      position: fixed;
      width: 100%;
      overflow: hidden !important;
    }

    body.join-participant-scroll-locked {
      width: 100%;
      overflow: hidden !important;
      overscroll-behavior: contain;
    }

    .join-profile-manage-modal {
      width: min(100%, 520px);
      max-height: min(92vh, 760px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 18px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
    }

    .join-profile-manage-head.modal-header {
      flex: 0 0 auto;
    }

    .join-profile-manage-head .join-profile-manage-title {
      flex: 1 1 auto;
      min-width: 0;
      text-align: center;
    }

    .join-profile-manage-head .modal-header-spacer {
      flex: 0 0 var(--modal-close-button-size, 44px);
    }

    .join-profile-manage-body {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      gap: 22px;
      overflow-y: auto;
      padding: 22px 22px 0;
    }

    .join-profile-manage-summary {
      display: grid;
      justify-items: center;
      gap: 4px;
      padding: 4px 0 10px;
      text-align: center;
    }

    .join-profile-photo-wrap {
      position: relative;
      width: 104px;
      height: 104px;
      margin-bottom: 8px;
    }

    .join-profile-photo-preview {
      width: 104px;
      height: 104px;
      border-radius: 50%;
      overflow: hidden;
      display: grid;
      place-items: center;
      background: #f1f5f9;
      color: #475569;
      font-size: 22px;
      font-weight: 800;
      border: 1px solid #e2e8f0;
    }

    .join-profile-photo-preview img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .join-profile-photo-button {
      position: absolute;
      right: -10px;
      bottom: 1px;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid #e5e7eb;
      background: #f5f6f7;
      color: #666d75;
      font-size: 14px;
      font-weight: 700;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: 0 2px 8px rgba(15, 23, 42, .12);
    }

    .join-profile-photo-button svg {
      width: 20px;
      height: 20px;
      display: block;
    }

    .join-profile-photo-note {
      display: none;
      min-height: 18px;
      color: #64748b;
      font-size: 12px;
      line-height: 1.35;
      text-align: center;
    }

    .join-profile-summary-name {
      color: #373a3c;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.3;
    }

    .join-profile-summary-meta {
      color: #6b7280;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.35;
    }

    .join-profile-info-list {
      display: grid;
      border-top: 1px solid #eef1f4;
    }

    .join-profile-info-row {
      display: grid;
      grid-template-columns: 94px minmax(0, 1fr) 54px;
      gap: 12px;
      align-items: center;
      min-height: 64px;
      padding: 12px 0;
      border-bottom: 1px solid #eef1f4;
    }

    .join-profile-info-row.is-tall {
      align-items: start;
    }

    .join-profile-info-main {
      grid-column: 1 / 3;
      grid-row: 1;
      display: grid;
      grid-template-columns: 94px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
      min-width: 0;
      min-height: 40px;
    }

    .join-profile-info-error {
      grid-column: 2;
      display: none;
      margin-top: -2px;
      color: #dc2626;
      font-size: 13px;
      font-weight: 500;
      line-height: 1.35;
    }

    .join-profile-info-row.is-invalid .join-profile-info-error {
      display: block;
    }

    .join-profile-info-row > .join-profile-manage-label,
    .join-profile-info-row > .join-profile-manage-input,
    .join-profile-info-row > .join-profile-manage-select,
    .join-profile-info-row > .join-profile-manage-textarea,
    .join-profile-info-row > .join-profile-gender-control,
    .join-profile-info-row > .join-profile-info-change {
      grid-row: 1;
    }

    .join-profile-info-row.is-picker-open {
      align-items: start;
      row-gap: 18px;
    }

    .join-profile-info-row.is-picker-open > .join-profile-manage-label,
    .join-profile-info-row.is-picker-open > .join-profile-manage-input,
    .join-profile-info-row.is-picker-open > .join-profile-manage-select,
    .join-profile-info-row.is-picker-open > .join-profile-manage-textarea,
    .join-profile-info-row.is-picker-open > .join-profile-gender-control,
    .join-profile-info-row.is-picker-open > .join-profile-info-main,
    .join-profile-info-row.is-picker-open > .join-profile-info-change {
      align-self: center;
    }

    .join-profile-info-row.is-invalid > .join-profile-info-change {
      align-self: start;
      margin-top: 3px;
    }

    .join-profile-manage-label {
      color: #373a3c;
      font-size: 17px;
      font-weight: 500;
      line-height: 1.35;
    }

    .join-profile-manage-input,
    .join-profile-manage-select,
    .join-profile-manage-textarea {
      width: 100%;
      min-height: 40px;
      border: 1px solid transparent;
      border-radius: 8px;
      padding: 0 12px;
      color: #373a3c;
      font-size: 18px;
      font-weight: 700;
      background: #fff;
      outline: none;
      cursor: default;
      opacity: 1;
    }

    #joinProfileManageForm .join-profile-info-row:not(.is-editing) .join-profile-manage-input,
    #joinProfileManageForm .join-profile-info-row:not(.is-editing) .join-profile-manage-select,
    #joinProfileManageForm .join-profile-info-row:not(.is-editing) .join-profile-manage-textarea {
      border-color: transparent !important;
      box-shadow: none !important;
      -webkit-appearance: none;
      appearance: none;
    }

    .join-profile-manage-textarea {
      min-height: 72px;
      padding-top: 10px;
      resize: vertical;
      line-height: 1.45;
    }

    .join-profile-info-row.is-editing .join-profile-manage-input,
    .join-profile-info-row.is-editing .join-profile-manage-select,
    .join-profile-info-row.is-editing .join-profile-manage-textarea {
      border-color: transparent !important;
      cursor: text;
    }

    .join-profile-info-row.is-editing .join-profile-manage-select {
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
      background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
      background-size: 5px 5px, 5px 5px;
      background-repeat: no-repeat;
      padding-right: 32px;
    }

    .join-profile-gender-radios {
      display: none;
      align-items: center;
      gap: 0;
      min-height: 40px;
    }

    .join-profile-info-row.is-editing #joinProfileManageGender {
      display: none;
    }

    .join-profile-info-row.is-editing .join-profile-gender-radios {
      display: flex;
    }

    .join-profile-gender-option {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      position: relative;
      min-height: 40px;
      padding: 0 12px;
      border: 0;
      border-radius: 15px;
      color: #373a3c;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
    }

    .join-profile-gender-option::before {
      content: "";
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      border: 1.5px solid #cbd5e1;
      border-radius: 50%;
      background: #fff;
      box-sizing: border-box;
    }

    .join-profile-gender-option.is-selected {
      color: #3689ff;
    }

    .join-profile-gender-option.is-selected::before {
      border-color: #3689ff;
      box-shadow: inset 0 0 0 4px #fff;
      background: #3689ff;
    }

    .join-profile-gender-option-text {
      color: #373a3c;
      font-size: 18px;
      font-weight: 700;
    }

    .join-profile-gender-option.is-selected .join-profile-gender-option-text {
      color: #373a3c;
    }

    .join-profile-gender-option input {
      position: absolute;
      width: 1px;
      height: 1px;
      opacity: 0;
      pointer-events: none;
    }

    .join-profile-inline-picker {
      grid-column: 1 / -1;
      grid-row: 2;
      display: none;
      min-width: 0;
      padding: 0 0 14px;
    }

    .join-profile-info-row.is-picker-open .join-profile-inline-picker {
      display: block;
    }

    .join-profile-inline-picker .apply-chip-group,
    .join-profile-inline-picker .profession-chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .join-profile-inline-picker .join-profile-level-picker {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .join-profile-inline-picker .join-profile-profession-picker {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .join-profile-picker-help {
      margin: 0 0 10px;
      color: #6b7280;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.35;
    }

    .join-profile-picker-done {
      width: 100%;
      min-height: 42px;
      margin-top: 10px;
      border-radius: 10px;
      background: #54abff;
      color: #fff;
      font-size: 15px;
      font-weight: 700;
    }

    .join-profile-inline-picker .join-profile-style-picker {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .join-profile-inline-picker .apply-chip,
    .join-profile-inline-picker .profession-chip {
      width: 100%;
      min-height: 38px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 700;
    }

    .join-profile-inline-picker .profession-chip:hover {
      border-color: var(--border);
      background: #fff;
      color: var(--text);
      box-shadow: none;
    }

    .join-profile-inline-picker .profession-chip.active,
    .join-profile-inline-picker .profession-chip.active:hover {
      border-color: #6b7280;
      background: #f8fafc;
      color: var(--text);
      box-shadow: inset 0 0 0 1px #6b7280;
    }

    .join-profile-custom-profession {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      border-style: dashed;
      border-color: #54abff;
      background: #fafafa;
      color: #54abff;
      gap: 6px;
    }

    .join-profile-custom-profession.has-value {
      position: relative;
      justify-content: space-between;
      border-style: solid;
      color: #212529;
    }

    .join-profile-custom-profession.is-editing {
      display: none;
    }

    .join-profile-custom-profession-text {
      min-width: 0;
      width: 100%;
      padding: 0 28px;
      overflow: hidden;
      text-align: center;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .join-profile-custom-profession-edit {
      position: absolute;
      right: 8px;
      top: 50%;
      transform: translateY(-50%);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 26px;
      height: 26px;
      border-radius: 8px;
      color: inherit;
    }

    .join-profile-custom-profession svg {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
    }

    .join-profile-custom-profession-input {
      width: 100%;
      min-width: 0;
      min-height: 44px;
      padding: 8px 10px;
      border: 1px dashed #54abff;
      border-radius: 10px;
      background: #fff;
      color: #212529;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
      outline: none !important;
      box-shadow: none;
    }

    .join-profile-custom-profession-input:focus {
      border-color: #54abff;
      outline: none !important;
      box-shadow: none !important;
    }

    .join-profile-info-row.is-editing .join-profile-manage-input:focus,
    .join-profile-info-row.is-editing .join-profile-manage-select:focus,
    .join-profile-info-row.is-editing .join-profile-manage-textarea:focus {
      border-color: transparent;
      outline: 2px solid #3689ff;
      outline-offset: 2px;
    }

    .join-profile-info-row.is-picker-open #joinProfileManageLevel,
    .join-profile-info-row.is-picker-open #joinProfileManageProfession,
    .join-profile-info-row.is-picker-open #joinProfileManageTravelStyles {
      border-color: transparent;
      outline: 2px solid #3689ff;
      outline-offset: 2px;
    }

    .join-profile-info-change {
      width: 40px;
      min-width: 40px;
      min-height: 40px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: #a6a6a6;
      font-size: 15px;
      font-weight: 700;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .join-profile-info-change svg {
      width: 20px;
      height: 20px;
      display: block;
    }

    .join-profile-manage-actions {
      position: sticky;
      bottom: 0;
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
      padding: 12px 0 18px;
      margin-top: auto;
      background: #fff;
    }

    .join-profile-manage-cancel,
    .join-profile-manage-save {
      min-height: 50px;
      padding: 0 16px;
      border-radius: 12px;
      font-size: 19px;
      font-weight: 600;
    }

    .join-profile-manage-cancel {
      display: none;
    }

    .join-profile-manage-save {
      background: #54abff;
      color: #fff;
    }

    @media (max-width: 640px) {
      .join-profile-manage-overlay {
        padding: 0;
        align-items: stretch;
        justify-content: stretch;
        height: var(--join-mobile-modal-height, 100dvh);
        min-height: var(--join-mobile-modal-height, 100dvh);
        max-height: none;
        overflow: hidden;
        background: #fff;
      }

      .join-profile-manage-overlay.open::after {
        content: "";
        position: fixed;
        left: 0;
        right: 0;
        bottom: -140px;
        z-index: 0;
        height: calc(140px + max(24px, env(safe-area-inset-bottom, 0px)));
        background: #fff;
        pointer-events: none;
      }

      .join-profile-manage-modal {
        position: relative;
        z-index: 1;
        width: 100vw;
        height: var(--join-mobile-modal-height, 100dvh);
        min-height: var(--join-mobile-modal-height, 100dvh);
        max-height: none;
        border-radius: 0;
        box-shadow: none;
      }

      .join-profile-manage-body {
        padding: 18px 18px 0;
      }

      .join-profile-manage-actions {
        padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
      }

      .join-profile-info-row {
        grid-template-columns: 65px minmax(0, 1fr) 34px;
        gap: 7px;
      }

      .join-profile-info-main {
        grid-template-columns: 65px minmax(0, 1fr);
        gap: 7px;
      }

      .join-profile-manage-label {
        font-size: 14px;
      }

      .join-profile-manage-input,
      .join-profile-manage-select,
      .join-profile-manage-textarea {
        font-size: 16px;
      }

      .join-profile-inline-picker .join-profile-level-picker {
        grid-template-columns: 1fr;
      }

      .join-profile-inline-picker .join-profile-profession-picker {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    .join-my-drawer-icon {
      width: 34px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      background: #f8fafc;
      color: #3689ff;
    }

    .join-my-drawer-icon svg {
      width: 19px;
      height: 19px;
      stroke-width: 2.2;
    }

    .join-my-drawer-icon img {
      width: 22px;
      height: 22px;
      object-fit: contain;
    }

    .join-my-drawer-phone-icon {
      overflow: hidden;
    }

    .join-my-drawer-phone-image {
      width: 21px;
      height: 21px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      flex: 0 0 21px;
    }

    .join-my-drawer-phone-image img {
      width: 100%;
      height: 100%;
      max-width: 100%;
      max-height: 100%;
      display: block;
      object-fit: contain;
    }

    .join-my-drawer-section-title {
      padding: 12px 2px 0px;
      color: #111827;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.2;
    }

    .join-my-drawer-logout {
      width: 100%;
      min-height: 48px;
      padding: 0 2px;
      color: #475569;
      text-align: left;
      font-size: 15px;
      font-weight: 500;
    }

    .join-my-drawer-support-info {
      display: grid;
      gap: 5px;
      padding: 12px 2px 18px;
      line-height: 1.45;
    }

    .join-my-drawer-support-title {
      color: #373a3c;
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 5px;
    }

    .join-my-drawer-support-line {
      display: grid;
      grid-template-columns: 51px minmax(0, 1fr);
      gap: 8px;
      color: #6b7280;
      font-size: 15px;
      font-weight: 500;
    }

    .join-my-drawer-support-value {
      color: #373a3c;
      font-weight: 600;
    }

    .join-my-modal {
      width: min(760px, calc(100vw - 32px));
      max-height: calc(100vh - 40px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 14px;
    }

    @media (min-width: 641px) {
      #joinMyMenuModal .join-my-modal {
        width: min(760px, calc(100vw - 32px));
        max-width: 760px;
      }

      body:has(#joinMyDrawerOverlay.open) > #joinMyMenuModal.open {
        pointer-events: none;
      }

      body:has(#joinMyDrawerOverlay.open) > #joinMyMenuModal.open .join-my-modal {
        pointer-events: auto;
      }
    }

    #joinMyMenuModal .modal-title {
      font-size: 23px;
      font-weight: 700;
    }

    .join-my-body {
      flex: 1 1 auto;
      min-height: 0;
      padding: 0;
      overflow-y: auto;
      background: #fff;
    }

    .join-my-state {
      color: var(--text-soft);
      font-size: 14px;
      line-height: 1.55;
    }

    .join-my-loading-state {
      position: relative;
      display: grid;
      gap: 12px;
      padding: 2px 0 12px;
    }

    .join-my-loading-common {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
    }

    .join-my-loading-card {
      display: grid;
      grid-template-columns: 128px minmax(0, 1fr);
      gap: 14px;
      min-height: 168px;
      padding: 20px;
      border: 0;
      border-radius: 12px;
      background: transparent;
    }

    .join-my-loading-thumb,
    .join-my-loading-line,
    .join-my-loading-avatar,
    .join-my-loading-button {
      border: 0;
      background: #f1f3f5;
      box-shadow: none;
    }

    .join-my-loading-thumb {
      width: 128px;
      height: 128px;
      border-radius: 10px;
    }

    .join-my-loading-content {
      min-width: 0;
      display: grid;
      align-content: start;
      gap: 12px;
    }

    .join-my-loading-line {
      height: 13px;
      border-radius: 6px;
    }

    .join-my-loading-line.title {
      width: 72%;
      height: 18px;
    }

    .join-my-loading-line.meta {
      width: 54%;
    }

    .join-my-loading-row {
      display: flex;
      gap: 8px;
      align-items: center;
    }

    .join-my-loading-avatar {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      flex: 0 0 auto;
    }

    .join-my-loading-button {
      width: 112px;
      height: 34px;
      margin-top: 2px;
      border-radius: 8px;
    }

    .join-my-reservation-section > .join-my-state {
      text-align: center;
    }

    .join-my-profile {
      display: grid;
      gap: 16px;
      padding: 18px 22px 24px;
    }

    .join-my-reservation-nav {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      padding: 10px 22px;
      background: rgba(255, 255, 255, .96);
      border-bottom: 1px solid #edf2f7;
      scrollbar-width: none;
    }

    .join-my-reservation-nav::-webkit-scrollbar {
      display: none;
    }

    .join-my-reservation-title {
      color: #373A3C;
      font-size: 23px;
      font-weight: 700;
      line-height: 1.3;
    }

    .join-my-reservation-title-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .join-my-recent-clear-button {
      flex: 0 0 auto;
      padding: 4px 0;
      border: 0;
      background: transparent;
      color: #64748b;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.4;
      cursor: pointer;
    }

    .join-my-recent-clear-button:hover {
      color: #dc2626;
    }

    .join-my-card-browse-open-row {
      display: flex;
      width: 100%;
      margin-top: 4px;
    }

    .join-my-card-browse-open-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      width: 100%;
      min-height: 44px;
      padding: 0 16px;
      border: 0;
      border-radius: 10px;
      background: #eef0f2;
      color: #373a3c;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.2;
      cursor: pointer;
    }

    .join-my-card-browse-open-button svg {
      width: 19px;
      height: 19px;
      stroke-width: 2;
    }

    .join-my-recent-delete-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 0;
      border-radius: 10px;
      background: #f8fafc;
      color: #64748b;
      cursor: pointer;
    }

    .join-my-recent-delete-button:hover {
      background: #fef2f2;
      color: #dc2626;
    }

    .join-my-recent-delete-button svg {
      width: 24px;
      height: 24px;
    }

    .join-my-card.join-my-card-accordion.is-browse-card {
      cursor: pointer;
    }

    .join-my-card.join-my-card-accordion.is-browse-card .join-my-card-summary-top {
      padding-right: 52px;
    }

    .join-my-card.join-my-card-accordion.is-browse-card .join-my-participant-icons-box {
      cursor: default;
    }

    .join-my-created-filter-group {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
    }

    .join-my-created-filter-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 0 11px;
      border: 1px solid #dce4ed;
      border-radius: 999px;
      background: #fff;
      color: #64748b;
      font-size: 16px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
      cursor: pointer;
    }

    .join-my-created-filter-button.active {
      border-color: #fed7aa;
      background: #fff7ed;
      color: #c2410c;
    }

    @media (max-width: 640px) {
      .join-my-created-filter-group {
        gap: 6px;
      }

      .join-my-created-filter-button {
        min-height: 32px;
        padding: 0 9px;
        font-size: 16px;
      }
    }

    .join-my-profile-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
      padding: 14px;
      border-radius: 10px;
      background: #fff;
      border: 1px solid #e7edf5;
    }

    .join-my-profile-name {
      color: #373A3C;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.3;
    }

    .join-my-profile-fields {
      display: grid;
      gap: 8px;
    }

    .join-my-profile-field {
      display: grid;
      gap: 3px;
    }

    .join-my-profile-field-label {
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.2;
    }

    .join-my-profile-sub {
      margin-top: 4px;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
    }

    .join-my-profile-badge {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 0 9px;
      border-radius: 999px;
      background: #eef5ff;
      color: #0e60e8;
      font-size: 16px;
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
    }

    .join-my-summary-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }

    .join-my-summary-card {
      min-height: 74px;
      padding: 14px;
      border: 1px solid #e5e7eb;
      border-radius: 14px;
      background: #fff;
    }

    .join-my-summary-label {
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
    }

    .join-my-summary-value {
      margin-top: 6px;
      color: #373A3C;
      font-size: 22px;
      font-weight: 700;
      line-height: 1.1;
    }

    .join-my-tabs {
      display: contents;
    }

    .join-my-tab {
      flex: 0 0 auto;
      min-height: 34px;
      padding: 8px 15px;
      border: 1px solid #e2e8f0;
      border-radius: 999px;
      background: #fff;
      color: #373A3C;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.2;
      cursor: pointer;
    }

    .join-my-tab.active {
      background: #373a3c;
      color: #fff;
      box-shadow: none;
    }

    .join-my-section {
      display: grid;
      gap: 12px;
    }

    .join-my-section[hidden] {
      display: none !important;
    }

    .join-my-card {
      display: grid;
      grid-template-columns: 128px minmax(0, 1fr);
      gap: 14px;
      padding: 20px;
      border: 1px solid #e7edf5;
      border-radius: 12px;
      background: #fff;
    }

    .join-my-card.no-image {
      grid-template-columns: minmax(0, 1fr);
    }

    .join-my-card.join-my-card-accordion {
      grid-template-columns: minmax(0, 1fr);
      align-items: start;
    }

    .join-my-card-thumb {
      position: relative;
      width: 128px;
      height: 128px;
      min-height: 0;
      align-self: start;
      aspect-ratio: 1 / 1;
      border-radius: 10px;
      overflow: hidden;
      background: #e2e8f0;
    }

    .join-my-card-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .join-my-card-thumb-badge {
      position: absolute;
      left: 9px;
      top: 9px;
      display: inline-flex;
      align-items: center;
      min-height: 23px;
      padding: 0 8px;
      border-radius: 999px;
      background: rgba(17, 24, 39, .78);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      line-height: 1;
    }

    .join-my-card-content {
      min-width: 0;
      display: grid;
      gap: 10px;
    }

    .join-my-card-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      align-items: flex-start;
    }

    .join-my-card-summary {
      position: relative;
      min-width: 0;
      display: grid;
      gap: 8px;
    }

    .join-my-card-summary-thumb {
      display: none;
    }

    .join-my-card-summary-info {
      min-width: 0;
      display: grid;
      gap: 8px;
    }

    .join-my-card-summary-button {
      display: flex;
      align-items: flex-start;
      justify-content: flex-end;
      min-width: 0;
    }

    .join-my-card-summary-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      min-width: 0;
    }

    .join-my-card.join-my-card-accordion .join-my-card-summary-button {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2;
    }

    .join-my-card.join-my-card-accordion .join-my-card-summary-top {
      padding-right: 168px;
      min-height: 36px;
    }

    @media (min-width: 641px) {
      .join-my-card.join-my-card-accordion .join-my-card-summary {
        grid-template-columns: 128px minmax(0, 1fr);
        gap: 14px;
        align-items: start;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary-thumb {
        display: block;
        grid-column: 1;
        grid-row: 1;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary-info {
        grid-column: 2;
        grid-row: 1;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary-button {
        grid-column: auto;
        grid-row: auto;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary-top {
        justify-content: flex-start;
      }
    }

    .join-my-card-title {
      color: #373A3C;
      font-size: 22px;
      font-weight: 700;
      line-height: 1.35;
      word-break: keep-all;
    }

    .join-my-card-accordion .join-my-card-title {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .join-my-card-dday {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      min-height: 28px;
      margin-bottom: 0;
      padding: 0 10px;
      border-radius: 999px;
      background: #eef5ff;
      color: #0e60e8;
      font-size: 16px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
    }

    .join-my-card-status-row {
      min-width: 0;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
    }

    .join-my-card-schedule-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      min-height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      background: #f1f5f9;
      color: #475569;
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
    }

    .join-my-card-schedule-badge.recruiting {
      background: #eafaf0;
      color: #12823b;
    }

    .join-my-card-schedule-badge.complete {
      background: #fff7ed;
      color: #c2410c;
    }

    .join-my-card-schedule-badge.confirmed {
      background: #eef5ff;
      color: #0e60e8;
    }

    .join-my-card-schedule-badge.joined {
      background: #eef5ff;
      color: #0e60e8;
    }

    .join-my-card-meta {
      margin-top: 5px;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .join-my-card-region {
      margin-top: 5px;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .join-my-card-date {
      margin-top: 2px;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .join-my-summary-line {
      display: flex;
      align-items: center;
      gap: 7px;
      min-width: 0;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
      word-break: keep-all;
    }

    .join-my-summary-line svg {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      color: #0e60e8;
      stroke-width: 2;
      transform: translateY(-1px);
    }

    .join-my-summary-line.period svg {
      width: 18px;
      height: 18px;
      flex-basis: 18px;
    }

    @media (min-width: 641px) {
      .join-my-summary-line.period svg {
        transform: translateY(0);
      }
    }

    .join-my-summary-line-text {
      min-width: 0;
    }

    .join-my-summary-dot {
      display: inline-block;
      width: 3px;
      height: 3px;
      margin: 0 6px;
      border-radius: 50%;
      background: #94a3b8;
      vertical-align: middle;
    }

    .join-my-summary-mobile-duration,
    .join-my-summary-mobile-duration-dot {
      display: none;
    }

    .join-my-summary-duration,
    .join-my-summary-mobile-duration,
    .join-my-summary-mobile-duration-dot {
      font-style: normal;
    }

    .join-my-card-detail-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin-top: 2px;
    }

    .join-my-card-detail-row {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      min-height: 78px;
      padding: 12px;
      border: 1px solid #edf2f7;
      border-radius: 12px;
      background: #f8fafc;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .join-my-card-detail-row.participants {
      grid-column: 1 / -1;
      padding: 14px;
    }

    .join-my-card-detail-row.participants > .join-my-card-detail-icon,
    .join-my-card-detail-row.participants > .join-my-card-detail-copy > .join-my-card-detail-label {
      display: none;
    }

    .join-my-card-detail-row.participants {
      display: block;
    }

    .join-my-card-detail-row.participants .join-my-card-detail-icon {
      color: #373A3C;
    }

    .join-my-card-detail-icon {
      width: 34px;
      height: 34px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #fff;
      color: #0e60e8;
      border: 1px solid #e5edf7;
    }

    .join-my-card-detail-icon svg {
      width: 20px;
      height: 20px;
      stroke-width: 2;
    }

    .join-my-card-detail-copy {
      min-width: 0;
      display: grid;
      gap: 4px;
    }

    .join-my-card-detail-label {
      color: #6b7280;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
    }

    .join-my-card-detail-value {
      min-width: 0;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
      word-break: keep-all;
    }

    .join-my-card-participants {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      gap: 14px;
    }

    .join-my-card-participant-slot {
      --team-avatar-size: 50px;
      min-width: var(--team-avatar-size);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .join-my-card-participant-slot .team-avatar-wrap {
      position: relative;
      width: var(--team-avatar-size);
      height: var(--team-avatar-size);
      flex: 0 0 var(--team-avatar-size);
      min-width: var(--team-avatar-size);
    }

    .join-my-card-participants .team-avatar,
    .join-my-card-participants .team-empty {
      width: var(--team-avatar-size);
      height: var(--team-avatar-size);
      flex: 0 0 var(--team-avatar-size);
      min-width: var(--team-avatar-size);
      flex-basis: var(--team-avatar-size);
      aspect-ratio: 1 / 1;
    }

    .join-my-card-participant-me-badge {
      position: absolute;
      left: 50%;
      bottom: -9px;
      min-width: 28px;
      height: 20px;
      padding: 0 8px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transform: translateX(-50%);
      background: #0e60e8;
      color: #fff;
      border: 1px solid #fff;
      box-shadow: none;
      font-size: 12px;
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
      z-index: 2;
    }

    .join-my-card-participant-me-badge.host {
      min-width: 50px;
      background: #f97316;
    }

    @media (min-width: 641px) {
      .detail-team > .team-avatar-wrap {
        width: 56px;
        height: 56px;
        flex: 0 0 56px;
      }
    }

    .detail-team .join-my-card-participant-me-badge.detail-me-badge,
    .detail-participant-status-card .join-my-card-participant-me-badge.detail-me-badge {
      left: 50%;
      bottom: 0;
      min-width: 24px;
      height: 18px;
      padding: 0 7px;
      font-size: 11px;
      font-weight: 700;
      transform: translate(-50%, 50%);
      z-index: 4;
    }

    .detail-team .team-couple-wrap::before,
    .detail-participant-status-card .team-couple-wrap::before {
      top: 50%;
      left: calc(var(--team-avatar-size) / 2);
      right: calc(var(--team-avatar-size) / 2);
      height: var(--team-connector-thickness, 2px);
      background: var(--team-connector-color, #d1d5db);
      transform: translateY(-50%);
    }

    .join-my-card-participants .team-couple-wrap {
      --team-avatar-size: 42px;
      height: var(--team-avatar-size);
      flex: 0 0 auto;
    }

    .join-my-card-participants .team-couple-wrap .team-avatar-wrap,
    .join-my-card-participants .team-couple-wrap .team-avatar {
      width: var(--team-avatar-size);
      height: var(--team-avatar-size);
      flex-basis: var(--team-avatar-size);
      min-width: var(--team-avatar-size);
    }

    .join-my-empty-slot {
      width: var(--team-avatar-size, 42px);
      height: var(--team-avatar-size, 42px);
      flex: 0 0 var(--team-avatar-size, 42px);
      min-width: var(--team-avatar-size, 42px);
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #fff;
      border: 2px dashed #d1d5db;
      color: #9ca3af;
      overflow: hidden;
    }

    .join-my-empty-slot svg {
      width: 24px;
      height: 24px;
      stroke-width: 2;
    }

    .join-my-participant-status {
      display: grid;
      gap: 12px;
    }

    .join-my-participant-panel {
      display: grid;
      gap: 12px;
      padding: 14px;
      border: 1px solid #e7edf5;
      border-radius: 12px;
      background: #f8fafc;
    }

    .join-my-participant-panel-head {
      display: grid;
      grid-template-columns: 20px minmax(0, 1fr);
      align-items: center;
      gap: 8px;
    }

    .join-my-participant-panel-icon {
      width: 20px;
      height: 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #373A3C;
    }

    .join-my-participant-panel-icon svg {
      width: 20px;
      height: 20px;
      stroke-width: 2;
    }

    .join-my-participant-panel-title {
      color: #373A3C;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.35;
    }

    .join-my-participant-overview {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: start;
      gap: 10px;
    }

    .join-my-participant-main {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: stretch;
      gap: 12px;
      min-width: 0;
    }

    .join-my-participant-icons-box {
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
      padding: 12px 40px;
      border: 1px solid #e5edf7;
      border-radius: 12px;
      background: #fff;
      overflow: hidden;
    }

    .join-my-participant-icons-box .join-my-card-participants {
      width: 100%;
      min-width: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: nowrap;
      gap: 10px;
    }

    .join-my-participant-icons-box .join-my-card-participant-slot {
      --team-avatar-size: 50px;
    }

    .join-my-participant-counts {
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0;
      border: 1px solid #e5edf7;
      border-radius: 12px;
      background: #fff;
      overflow: hidden;
    }

    .join-my-participant-count {
      min-width: 0;
      min-height: 34px;
      display: grid;
      align-content: center;
      gap: 4px;
      padding: 10px 12px;
      background: #fff;
      border: 0;
    }

    .join-my-participant-count + .join-my-participant-count {
      border-left: 1px solid #eef2f7;
    }

    .join-my-participant-count-label {
      color: #6b7280;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
    }

    .join-my-participant-count-value {
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
      white-space: nowrap;
    }

    .join-my-participant-summary {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
      border: 1px solid #e5edf7;
      border-radius: 12px;
      background: #fff;
      overflow: hidden;
    }

    .join-my-participant-pill {
      min-width: 0;
      display: grid;
      gap: 4px;
      padding: 10px 16px;
      border-radius: 0;
      background: #fff;
      border: 0;
      color: #373A3C;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.25;
    }

    .join-my-participant-pill + .join-my-participant-pill {
      border-left: 1px solid #e5edf7;
    }

    .join-my-participant-pill-label {
      color: #6b7280;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.35;
    }

    .join-my-participant-pill-value {
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .join-my-card-detail-button {
      min-height: 42px;
      padding: 0 16px;
      border: 1px solid var(--modal-bottom-primary-color);
      border-radius: 14px;
      background: var(--modal-bottom-primary-color);
      color: #fff;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
      cursor: pointer;
    }

    .join-my-card-product-button {
      min-height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 2px;
      padding: 0 10px 0 16px;
      border: 0;
      border-radius: 10px;
      background: #eef0f2;
      color: #373a3c;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
      cursor: pointer;
    }

    .join-my-card-product-button svg {
      width: 18px;
      height: 18px;
      stroke-width: 2;
    }

    .join-my-card-quote-row {
      grid-column: 1 / -1;
      display: flex;
      justify-content: flex-end;
      padding-top: 12px;
      border-top: 1px solid #e7edf5;
    }

    .join-my-card-quote-button {
      min-height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      padding: 0 15px;
      border: 1px solid #3489f8;
      border-radius: 8px;
      background: #3489f8;
      color: #fff;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
      cursor: pointer;
    }

    .join-my-card-quote-button svg {
      width: 19px;
      height: 19px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .join-my-card-product-label-mobile {
      display: none;
    }

    .join-my-card-product-label-desktop,
    .join-my-card-product-label-mobile {
      font-style: normal;
    }

    .join-my-card-accordion-button {
      width: 42px;
      height: 42px;
      border: 1px solid #e5edf7;
      border-radius: 12px;
      background: #fff;
      color: #373A3C;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }

    .join-my-card-accordion-button svg {
      width: 24px;
      height: 24px;
      stroke-width: 2;
    }

    .join-my-card.is-accordion-collapsed .join-my-card-detail-list,
    .join-my-card.is-accordion-collapsed .join-my-card-info,
    .join-my-card.is-accordion-collapsed .join-my-card-actions,
    .join-my-card.is-accordion-collapsed .join-my-review-box,
    .join-my-card.is-accordion-collapsed .join-my-card-expanded {
      display: none;
    }

    .join-my-card-expanded {
      grid-column: 1 / -1;
      min-width: 0;
      display: grid;
      gap: 10px;
    }

    .join-my-status-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 26px;
      padding: 0 9px;
      border-radius: 999px;
      background: #eef5ff;
      color: #0e60e8;
      font-size: 16px;
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
    }

    .join-my-status-pill.green {
      background: #eafaf0;
      color: #12823b;
    }

    .join-my-status-pill.gray {
      background: #f1f5f9;
      color: #475569;
    }

    .join-my-card-info {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }

    .join-my-info-chip {
      padding: 10px;
      border-radius: 10px;
      background: #f6f8fb;
      border: 1px solid #edf2f7;
    }

    .join-my-info-chip-label {
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.3;
    }

    .join-my-info-chip-value {
      margin-top: 4px;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.3;
    }

    .join-my-card-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .join-my-card-actions button {
      flex: 1 1 0;
      min-width: 0;
      min-height: 48px;
      padding: 9px 20px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: var(--modal-bottom-button-font-size-pc);
      font-weight: var(--modal-bottom-button-font-weight);
      line-height: 1.2;
      cursor: pointer;
    }

    .join-my-card-actions button.primary {
      border-color: var(--modal-bottom-primary-color);
      background: var(--modal-bottom-primary-color);
      color: #fff;
    }

    .join-my-review-box {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid #e7edf5;
      border-radius: 12px;
      background: #f8fafc;
    }

    .join-my-review-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      min-width: 0;
    }

    .join-my-review-title {
      color: #373A3C;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.35;
    }

    .join-my-review-meta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #6b7280;
      font-size: 14px;
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
    }

    .join-my-review-date {
      color: #979797;
      font-size: 12px;
    }

    .join-my-review-stars {
      color: #ffbf00;
      font-size: 16px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .join-my-review-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .join-my-review-tag {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 0 9px;
      border-radius: 999px;
      background: #fff;
      border: 1px solid #dbe6f3;
      color: #495056;
      font-size: 14px;
      font-weight: 600;
      line-height: 1;
    }

    .join-my-review-text {
      color: #495056;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.55;
      overflow-wrap: anywhere;
      word-break: break-word;
      white-space: pre-wrap;
    }

    .join-my-review-photos {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      scrollbar-width: none;
    }

    .join-my-review-photos::-webkit-scrollbar {
      display: none;
    }

    .join-my-review-photo {
      width: 64px;
      height: 64px;
      flex: 0 0 64px;
      border-radius: 8px;
      object-fit: cover;
      background: #e2e8f0;
    }

    .join-my-empty {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      justify-content: center;
      gap: 18px;
      padding: 0;
      border: 0;
      border-radius: 16px;
      background: transparent;
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.55;
      text-align: center;
    }

    .join-my-empty-copy {
      width: 100%;
      text-align: center;
    }

    .join-my-empty-box {
      width: 100%;
      padding: 24px 16px;
      border-radius: 15px;
      background: #f5f6f7;
      text-align: center;
    }

    .join-my-empty .region-result-empty-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 14px;
      min-height: 45px;
      padding: 10px 62px;
      border: 0;
      border-radius: 14px;
      color: #fff;
      background: var(--modal-bottom-primary-color);
      font-size: 17px;
      font-weight: 600;
      cursor: pointer;
    }

    #joinMyMenuModal .region-empty-recommend {
      width: 100%;
      margin-top: 0;
      text-align: left;
    }

    #joinMyMenuModal .region-empty-recommend-title {
      margin: 0 0 10px;
      color: var(--text);
      font-size: 23px;
      font-weight: 700;
      line-height: 1.3;
    }

    #joinMyMenuModal .region-empty-recommend-tabs {
      display: none !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin: 0 0 14px;
    }

    #joinMyMenuModal .region-empty-recommend-tab {
      position: relative;
      min-height: 34px;
      padding: 0 4px 8px;
      color: #64748b;
      background: transparent;
      border: 0;
      font-size: 16px;
      font-weight: 800;
      text-align: center;
      cursor: pointer;
    }

    #joinMyMenuModal .region-empty-recommend-tab.active {
      color: var(--blue);
    }

    #joinMyMenuModal .region-empty-recommend-tab.active::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 2px;
      background: var(--blue);
    }

    #joinMyMenuModal .region-empty-recommend-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      align-items: start;
    }

    #joinMyMenuModal .region-empty-recommend-column,
    #joinMyMenuModal .region-empty-recommend-group {
      min-width: 0;
      display: grid;
      gap: 12px;
    }

    #joinMyMenuModal .region-empty-recommend-group {
      gap: 8px;
    }

    #joinMyMenuModal .region-empty-recommend-region {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      color: var(--blue);
      font-size: 16px;
      font-weight: 700;
      line-height: 1.3;
    }

    #joinMyMenuModal .region-empty-recommend-region-name {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      min-width: 0;
    }

    #joinMyMenuModal .region-empty-recommend-pin {
      width: 17px;
      height: 17px;
      flex: 0 0 17px;
      color: #ef4444;
      transform: translateY(-1px);
    }

    #joinMyMenuModal .region-empty-recommend-pin path {
      fill: currentColor;
      stroke: none;
    }

    #joinMyMenuModal .region-empty-recommend-pin circle {
      fill: #fff;
      stroke: none;
    }

    #joinMyMenuModal .region-empty-recommend-region-text {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #joinMyMenuModal .region-empty-recommend-more {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      gap: 2px;
      padding: 0;
      color: #64748b;
      background: transparent;
      border: 0;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.3;
      cursor: pointer;
    }

    #joinMyMenuModal .region-empty-recommend-more svg {
      width: 12px;
      height: 12px;
      stroke-width: 2.4;
    }

    #joinMyMenuModal .region-empty-recommend-card {
      min-width: 0;
      display: grid;
      grid-template-columns: 70px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      padding: 9px 15px 9px 9px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      text-align: left;
      min-height: 92px;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }

    #joinMyMenuModal .region-empty-recommend-card:hover {
      border-color: #bfdbfe;
      background: #f8fbff;
    }

    #joinMyMenuModal .region-empty-recommend-mobile-list {
      display: none;
    }

    #joinMyMenuModal .region-empty-recommend-thumb {
      width: 70px;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      border-radius: 10px;
      background: #e2e8f0;
    }

    #joinMyMenuModal .region-empty-recommend-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    #joinMyMenuModal .region-empty-recommend-name {
      min-width: 0;
      overflow: hidden;
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      line-height: 1.3;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #joinMyMenuModal .region-empty-recommend-meta {
      margin-top: 4px;
      color: #475569;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.3;
    }

    #joinMyMenuModal .region-empty-recommend-bottom {
      margin-top: 2px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }

    #joinMyMenuModal .region-empty-recommend-price {
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      white-space: nowrap;
    }

    #joinMyMenuModal .region-empty-recommend-slot {
      color: #3a71d5;
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
    }

    @media (min-width: 641px) {
      #joinMyMenuModal .region-empty-recommend-info {
        min-width: 0;
        transform: translateY(2px);
      }
    }

    @media (max-width: 640px) {
      #joinMyMenuModal .region-empty-recommend-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      #joinMyMenuModal .region-empty-recommend-card {
        display: none;
      }

      #joinMyMenuModal .region-empty-recommend-mobile-list.calendar-accordion-list {
        display: grid;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        gap: 10px;
        overflow: visible;
      }
    }

    .join-my-info-list {
      display: grid;
      grid-template-columns: 92px 1fr;
      gap: 9px 12px;
      margin: 0;
      padding: 0;
      font-size: 14px;
      line-height: 1.45;
    }

    .join-my-info-list dt {
      color: #64748b;
      font-weight: 800;
    }

    .join-my-info-list dd {
      margin: 0;
      color: #111827;
      font-weight: 800;
      word-break: break-word;
    }

    .join-review-modal {
      width: min(560px, calc(100vw - 24px));
      max-height: min(760px, calc(100dvh - 24px));
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 16px;
      background: #fff;
    }

    .join-review-modal form {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }

    .join-review-body {
      flex: 1 1 auto;
      min-height: 0;
      display: grid;
      gap: 16px;
      padding: 20px 22px 22px;
      overflow-y: auto;
      background: #fff;
    }

    .join-review-trip {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid #e7edf5;
      border-radius: 12px;
      background: #f8fafc;
    }

    .join-review-trip-summary {
      display: grid;
      grid-template-columns: 86px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
      min-width: 0;
    }

    .join-review-trip-thumb {
      position: relative;
      width: 86px;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      border-radius: 10px;
      background: #e2e8f0;
    }

    .join-review-trip-thumb img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

    .join-review-trip-info {
      min-width: 0;
      display: grid;
      gap: 6px;
    }

    .join-review-trip-region,
    .join-review-trip-period {
      color: #373A3C;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .join-review-trip-title {
      color: #373A3C;
      font-size: 19px;
      font-weight: 700;
      line-height: 1.35;
      word-break: keep-all;
    }

    .join-review-field {
      display: grid;
      gap: 8px;
    }

    .join-review-field-copy {
      margin: -2px 0 2px;
      color: #64748b;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.45;
      word-break: keep-all;
    }

    .join-review-label {
      color: var(--text);
      font-size: 20px;
      font-weight: 700;
      line-height: 1.3;
    }

    .join-review-stars {
      display: grid;
      grid-template-columns: repeat(5, 44px);
      gap: 6px;
    }

    .join-review-star {
      width: 44px;
      height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      background: #fff;
      color: #cbd5e1;
      cursor: pointer;
    }

    .join-review-star.is-active {
      color: #ffbf00;
      border-color: #ffd666;
      background: #fff8db;
    }

    .join-review-star svg {
      width: 22px;
      height: 22px;
      fill: currentColor;
      stroke: currentColor;
    }

    .join-review-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .join-review-tag {
      min-height: 36px;
      padding: 0 13px;
      border: 1px solid #dbe4ee;
      border-radius: 999px;
      background: #fff;
      color: #475569;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
    }

    .join-review-tag.is-active {
      border-color: #54abff;
      background: #eef5ff;
      color: #54abff;
    }

    .join-review-textarea {
      width: 100%;
      min-height: 150px;
      padding: 14px;
      border: 1px solid #dbe4ee;
      border-radius: 12px;
      background: #fff;
      color: var(--text);
      font-size: 15px;
      font-weight: 600;
      line-height: 1.55;
      resize: vertical;
      outline: none;
    }

    .join-review-textarea:focus {
      border-color: transparent;
      box-shadow: 0 0 0 3px rgba(54, 137, 255, .12);
    }

    .join-review-photo-button {
      width: var(--join-review-photo-tile-size, 54px);
      height: var(--join-review-photo-tile-size, 54px);
      min-height: var(--join-review-photo-tile-size, 54px);
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      flex: 0 0 var(--join-review-photo-tile-size, 54px);
      border: 1px dashed #b8c7d9;
      border-radius: 8px;
      background: #f8fafc;
      color: #475569;
      font-size: 10px;
      font-weight: 700;
      line-height: 1.1;
      cursor: pointer;
    }

    .join-review-photo-button svg {
      width: 24px;
      height: 24px;
      stroke-width: 2;
    }

    .join-review-photo-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .join-review-field > .join-review-field-copy + .join-review-photo-head {
      margin-top: -8px;
    }

    .join-review-field > .join-review-field-copy:has(+ .join-review-photo-head) {
      display: none;
    }

    .join-review-photo-clear {
      flex: 0 0 auto;
      border: 0;
      background: transparent;
      color: #64748b;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
      text-decoration: underline;
      text-underline-offset: 3px;
      padding: 0;
      cursor: pointer;
    }

    .join-review-photo-list {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      min-width: 0;
      overflow-x: auto;
      padding-bottom: 2px;
      scrollbar-width: none;
    }

    .join-review-photo-list::-webkit-scrollbar {
      display: none;
    }

    @media (min-width: 641px) {
      .join-review-photo-list {
        --join-review-photo-tile-size: 84px;
        overflow: visible;
        padding-top: 6px;
      }
    }

    .join-review-photo-preview {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      min-width: 0;
    }

    .join-review-photo-item {
      position: relative;
      width: var(--join-review-photo-tile-size, 54px);
      height: var(--join-review-photo-tile-size, 54px);
      flex: 0 0 var(--join-review-photo-tile-size, 54px);
      overflow: visible;
      border: 1px solid #edf2f7;
      border-radius: 8px;
      background: #fff;
    }

    .join-review-photo-thumb {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      border-radius: 8px;
      background: #e2e8f0;
    }

    .join-review-photo-name {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      min-width: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    .join-review-photo-remove {
      position: absolute;
      top: -6px;
      right: -6px;
      z-index: 2;
      width: 20px;
      height: 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      border-radius: 999px;
      background: #5d5d5d;
      color: #fff;
      padding: 0;
      cursor: pointer;
    }

    .join-review-photo-remove svg {
      width: 12px;
      height: 12px;
      display: block;
      stroke-width: 2.3;
    }

    .join-review-help {
      color: #64748b;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.45;
    }

    .join-review-error {
      min-height: 20px;
      color: #dc2626;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
    }

    .join-review-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      padding: 14px 22px 20px;
      border-top: 1px solid #edf2f7;
      background: #fff;
    }

    .join-review-actions button {
      min-height: 48px;
      padding: 0 18px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      color: var(--text);
      font-size: var(--modal-bottom-button-font-size-pc);
      font-weight: var(--modal-bottom-button-font-weight);
      cursor: pointer;
    }

    .join-review-actions button.primary {
      position: relative;
      border-color: var(--modal-bottom-primary-color);
      background: var(--modal-bottom-primary-color);
      color: #fff;
    }

    .join-my-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 6px;
    }

    .join-my-actions button {
      min-height: 48px;
      padding: 9px 20px;
      border: 1px solid var(--modal-bottom-primary-color);
      border-radius: 14px;
      background: var(--modal-bottom-primary-color);
      color: #fff;
      font-size: var(--modal-bottom-button-font-size-pc);
      font-weight: var(--modal-bottom-button-font-weight);
      line-height: 1.2;
      cursor: pointer;
    }

    .join-my-actions button.secondary {
      background: #fff;
      color: var(--text);
      border-color: var(--border);
    }

    @media (max-width: 640px) {
      html.join-region-search-modal-open body::after {
        content: "";
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100vw;
        height: auto;
        height: 100vh;
        height: var(--join-mobile-modal-height, 100dvh);
        height: 100dvh;
        height: 100lvh;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        min-height: 100vh;
        min-height: var(--join-mobile-modal-height, 100dvh);
        min-height: 100dvh;
        min-height: 100lvh;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        max-height: none;
        background: #fff;
        box-shadow: 0 0 0 200vmax #fff;
        z-index: 2147482990;
        pointer-events: auto;
      }

      body > #regionSearchModal.sgj-portal-overlay,
      #regionSearchModal.region-search-overlay {
        position: fixed !important;
        inset: 0 !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        padding: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: 100lvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: 100lvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        max-height: none !important;
        overflow: hidden !important;
        background: #fff !important;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-modal,
      #regionSearchModal .region-search-modal {
        position: relative !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
      }
      body > #regionSearchModal.sgj-portal-overlay .region-search-shell,
      #regionSearchModal .region-search-shell {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
      }

      #joinMyMenuModal {
        inset: 0 !important;
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
        width: 100vw !important;
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: 100lvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: 100lvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        max-height: none !important;
        overflow: hidden;
        background: #fff;
        z-index: 2147483620 !important;
      }

      .join-my-modal {
        position: relative;
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: var(--join-mobile-modal-height, 100dvh);
        height: 100dvh;
        height: 100lvh;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        min-height: 100vh;
        min-height: var(--join-mobile-modal-height, 100dvh);
        min-height: 100dvh;
        min-height: 100lvh;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        max-height: none;
        border-radius: 0;
        overflow: visible;
      }

      .join-my-modal .modal-header {
        min-height: 56px;
        height: 56px;
      }

      .join-my-body {
        max-height: calc(var(--join-mobile-modal-height, 100dvh) - 56px);
        padding-bottom: 0;
        background: #fff;
      }

      .join-my-profile-head,
      .join-my-card-head {
        grid-template-columns: 1fr;
      }

      .join-my-profile-head {
        display: grid;
      }

      .join-my-summary-grid,
      .join-my-card-info {
        grid-template-columns: 1fr;
      }

      .join-my-card-detail-list {
        grid-template-columns: 1fr;
      }

      .join-my-card-participant-slot {
        --team-avatar-size: 46px;
      }

      .join-my-participant-icons-box .join-my-card-participant-slot {
        --team-avatar-size: 46px;
      }

      .join-my-participant-overview {
        grid-template-columns: 1fr;
        align-items: stretch;
      }

      .join-my-participant-panel {
        padding: 12px;
      }

      .join-my-participant-panel-head {
        grid-template-columns: 20px minmax(0, 1fr);
      }

      .join-my-participant-main {
        grid-template-columns: 1fr;
      }

      .join-my-participant-icons-box {
        padding: 15px;
      }

      .join-my-participant-counts {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .join-my-participant-count {
        min-height: 34px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 10px 12px;
      }

      .join-my-participant-count + .join-my-participant-count {
        border-top: 0;
        border-left: 1px solid #eef2f7;
      }

      .join-my-participant-count-label {
        font-size: 14px;
      }

      .join-my-participant-summary {
        grid-template-columns: 1fr;
      }

      .join-my-participant-pill {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
      }

      .join-my-participant-pill-label {
        color: #6b7280;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.35;
      }

      .join-my-participant-pill-value {
        text-align: right;
      }

      .join-my-participant-pill + .join-my-participant-pill {
        border-left: 0;
        border-top: 1px solid #e5edf7;
      }

      .join-my-card-product-button {
        font-size: 13.5px;
      }

      .join-my-card-browse-open-button {
        min-height: 44px;
        font-size: 15px;
      }

      .join-my-card-quote-row {
        padding-top: 10px;
      }

      .join-my-card-quote-button {
        width: 100%;
        min-height: 44px;
        font-size: 15px;
      }

      .join-my-card-product-label-desktop {
        display: none;
      }

      .join-my-card-product-label-mobile {
        display: inline;
      }

      .join-my-summary-mobile-duration {
        display: inline;
      }

      .join-my-summary-mobile-duration-dot {
        display: inline-block;
      }

      .join-my-summary-line.period .join-my-summary-duration {
        display: none;
      }

      .join-my-profile {
        padding: 16px 14px 22px;
      }

      .join-my-reservation-nav {
        padding: 10px 14px 11px;
      }

      .join-my-reservation-title {
        font-size: 20px;
      }

      #joinMyMenuModal .region-empty-recommend-title {
        font-size: 20px;
        font-weight: 700;
      }

      .join-my-card {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 11px;
        padding: 12px;
        border-radius: 12px;
      }

      .join-my-loading-card {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 11px;
        min-height: 128px;
        padding: 12px;
      }

      .join-my-loading-thumb {
        width: 104px;
        height: 104px;
      }

      .join-my-loading-content {
        gap: 10px;
      }

      .join-my-loading-avatar {
        width: 32px;
        height: 32px;
      }

      .join-my-loading-button {
        width: 92px;
        height: 30px;
      }

      .join-my-card.join-my-card-accordion {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary {
        position: relative;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary-button {
        position: absolute;
        top: 0;
        right: 0;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary-info {
        padding-right: 0;
      }

      .join-my-card.join-my-card-accordion .join-my-card-summary-top {
        padding-right: 88px;
        min-height: 34px;
      }

      .join-my-card.no-image {
        grid-template-columns: minmax(0, 1fr);
      }

      .join-my-card-thumb {
        width: 104px;
        height: 104px;
        min-height: 0;
        border-radius: 10px;
      }

      .join-my-card-title {
        font-size: 20px;
        transform: translateX(2px);
      }

      .join-my-summary-line {
        gap: 6px;
        font-size: 15px;
      }

      .join-my-summary-line svg {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
      }

      .join-my-card-accordion-button {
        width: 34px;
        height: 34px;
        border-radius: 10px;
      }

      .join-my-card-accordion-button svg {
        width: 22px;
        height: 22px;
      }

      .join-my-card.no-image .join-my-card-head {
        position: relative;
        display: block;
        padding-top: 0;
      }

      .join-my-card.no-image .join-my-card-dday {
        min-height: 32px;
        margin: 0 88px 0 0;
      }

      .join-my-card.no-image .join-my-card-detail-button {
        position: absolute;
        top: 0;
        right: 0;
        min-height: 32px;
        padding: 0 12px;
        border-radius: 11px;
        font-size: 14px;
      }

      .join-my-card-actions button,
      .join-my-actions button {
        font-size: var(--modal-bottom-button-font-size-mo);
      }

      .join-my-card-actions button {
        flex: 1 1 auto;
      }

      .join-my-review-box {
        gap: 9px;
        padding: 12px;
      }

      .join-my-review-title,
      .join-my-review-meta,
      .join-my-review-stars {
        font-size: 15px;
      }

      .join-my-review-text {
        font-size: 14px;
      }

      .join-my-review-photo {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
      }

      #joinMyReviewModal {
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
      }

      .join-review-modal {
        width: 100vw;
        max-width: none;
        height: 100dvh;
        max-height: 100dvh;
        min-height: 100dvh;
        border-radius: 0;
        box-shadow: none;
      }

      .join-review-modal .modal-header {
        min-height: 56px;
        height: 56px;
      }

      .join-review-body {
        max-height: none;
        padding: 16px 14px 18px;
      }

      .join-review-trip {
        padding: 14px 18px;
      }

      .join-review-trip-summary {
        grid-template-columns: minmax(0, 1fr);
      }

      .join-review-trip-thumb {
        display: none;
      }

      .join-review-photo-list {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        overflow: visible;
        padding-bottom: 0;
      }

      .join-review-photo-preview {
        display: contents;
      }

      .join-review-photo-button,
      .join-review-photo-item {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 1 / 1;
        flex: initial;
      }

      .join-review-stars {
        grid-template-columns: repeat(5, minmax(0, 1fr));
      }

      .join-review-star {
        width: 100%;
      }

      .join-review-actions {
        padding: 12px 14px calc(14px + env(safe-area-inset-bottom));
      }

      .join-review-actions button {
        font-size: var(--modal-bottom-button-font-size-mo);
      }
    }

    .join-member-login-overlay {
      align-items: stretch;
      justify-content: center;
      padding: 0;
      background: #fff;
    }

    .join-member-login-modal {
      --join-member-login-content-width: 520px;
      width: 100%;
      max-width: none;
      min-height: 100vh;
      max-height: 100vh;
      border-radius: 0;
      box-shadow: none;
      background: #fff;
      display: flex;
      flex-direction: column;
    }

    .join-member-login-header {
      position: relative;
      min-height: 58px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 56px;
      border-bottom: 1px solid #eef2f7;
    }

    .join-member-login-back {
      position: fixed;
      left: max(14px, calc(50% - (var(--join-member-login-content-width) / 2)));
      top: 8px;
      z-index: 2;
      width: 42px;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #111827;
      border-radius: 999px;
      background: transparent;
    }

    .join-member-login-back:active,
    .join-member-login-back:focus-visible {
      background: #f1f5f9;
      outline: none;
    }

    .join-member-login-back svg {
      width: 24px;
      height: 24px;
    }

    .join-member-login-modal.is-profile-required .join-member-login-back {
      display: none;
    }

    .join-member-login-title {
      color: #111827;
      font-size: 18px;
      font-weight: 800;
      line-height: 1.25;
      text-align: center;
    }

    .join-member-login-body {
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 46px 28px 34px;
      min-height: 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }

    .join-member-login-main {
      display: grid;
      gap: 26px;
      width: min(100%, 520px);
      margin: 0 auto;
      text-align: center;
    }

    .join-member-login-logo {
      display: flex;
      justify-content: center;
      width: 180px;
      max-width: 34vw;
      margin: 0 auto;
    }

    .join-member-login-logo img {
      display: block;
      width: 100%;
      max-width: 100%;
      height: auto;
      margin: 0 auto;
      object-fit: contain;
    }

    .join-member-login-copy {
      margin: 0;
      display: grid;
      justify-items: center;
      gap: 0;
      color: rgb(16, 20, 24);
      font-size: 26px;
      font-weight: 700;
      line-height: 1.55;
      word-break: keep-all;
    }

    .join-member-login-copy-line {
      display: block;
    }

    .join-member-login-copy-headline {
      color: #393939;
      font-size: 22px;
      font-weight: 700;
      line-height: 1.45;
    }

    .join-member-login-copy-line.dynamic {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      width: 100%;
    }

    .join-member-login-copy-word {
      font-size: 26px;
      font-weight: 700;
      line-height: 1.55;
    }

    .join-member-login-copy-fixed {
      display: inline-block;
      color: #393939;
      font-size: 22px;
      font-weight: 700;
      line-height: 1.55;
      margin-left: -0.18em;
    }

    .join-member-login-copy-rotator {
      position: relative;
      display: inline-block;
      width: 5.8em;
      height: 1.55em;
      overflow: hidden;
      vertical-align: top;
    }

    .join-member-login-copy-rotator > .join-member-login-copy-word {
      position: absolute;
      inset: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transform: translateY(100%);
      animation: joinMemberLoginCopyRotate 6s cubic-bezier(.22, .61, .36, 1) infinite;
      white-space: nowrap;
      isolation: isolate;
    }

    .join-member-login-copy-rotator > .join-member-login-copy-word:nth-child(2) {
      animation-delay: 2s;
    }

    .join-member-login-copy-rotator > .join-member-login-copy-word:nth-child(3) {
      animation-delay: 4s;
    }

    .join-member-login-copy-word.taste {
      color: #3689ff;
    }

    .join-member-login-copy-word.business {
      color: #7c3aed;
    }

    .join-member-login-copy-word.romance {
      color: #e11d48;
    }

    .join-member-login-copy-text {
      position: relative;
      z-index: 2;
    }

    @keyframes joinMemberLoginCopyRotate {
      0% {
        opacity: 0;
        transform: translateY(100%);
      }
      8%, 28% {
        opacity: 1;
        transform: translateY(0);
      }
      36%, 100% {
        opacity: 0;
        transform: translateY(-100%);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .join-member-login-copy-rotator > .join-member-login-copy-word {
        animation: none;
      }

      .join-member-login-copy-rotator > .join-member-login-copy-word:first-child {
        opacity: 1;
        transform: none;
      }
    }

    .join-member-login-modal a {
      color: rgb(33, 37, 41);
      font-size: 14px;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .join-member-login-actions {
      display: grid;
      gap: 10px;
      margin-top: 8px;
    }

    .join-member-login-modal.is-email-mode .join-member-login-body,
    .join-member-login-modal.is-signup-mode .join-member-login-body,
    .join-member-login-modal.is-signup-intro-mode .join-member-login-body,
    .join-member-login-modal.is-find-id-mode .join-member-login-body,
    .join-member-login-modal.is-find-pw-mode .join-member-login-body {
      justify-content: flex-start;
      padding-top: 42px;
    }

    .join-member-login-modal.is-email-mode .join-member-login-logo,
    .join-member-login-modal.is-email-mode .join-member-login-copy,
    .join-member-login-modal.is-email-mode .join-member-login-actions > .join-member-login-button.kakao,
    .join-member-login-modal.is-email-mode .join-member-login-actions > .join-member-login-button.email,
    .join-member-login-modal.is-email-mode .join-member-login-signup,
    .join-member-login-modal.is-email-mode .join-member-signup-intro,
    .join-member-login-modal.is-signup-mode .join-member-login-logo,
    .join-member-login-modal.is-signup-mode .join-member-login-copy,
    .join-member-login-modal.is-signup-mode .join-member-login-actions > .join-member-login-button.kakao,
    .join-member-login-modal.is-signup-mode .join-member-login-actions > .join-member-login-button.email,
    .join-member-login-modal.is-signup-mode .join-member-login-signup,
    .join-member-login-modal.is-signup-mode .join-member-signup-intro,
    .join-member-login-modal.is-signup-mode .join-member-email-form,
    .join-member-login-modal.is-signup-intro-mode .join-member-login-logo,
    .join-member-login-modal.is-signup-intro-mode .join-member-login-copy,
    .join-member-login-modal.is-signup-intro-mode .join-member-login-actions > .join-member-login-button.kakao,
    .join-member-login-modal.is-signup-intro-mode .join-member-login-actions > .join-member-login-button.email,
    .join-member-login-modal.is-signup-intro-mode .join-member-login-signup,
    .join-member-login-modal.is-signup-intro-mode .join-member-email-form,
    .join-member-login-modal.is-signup-intro-mode .join-member-signup-form,
    .join-member-login-modal.is-find-id-mode .join-member-login-logo,
    .join-member-login-modal.is-find-id-mode .join-member-login-copy,
    .join-member-login-modal.is-find-id-mode .join-member-login-actions > .join-member-login-button.kakao,
    .join-member-login-modal.is-find-id-mode .join-member-login-actions > .join-member-login-button.email,
    .join-member-login-modal.is-find-id-mode .join-member-login-signup,
    .join-member-login-modal.is-find-id-mode .join-member-email-form,
    .join-member-login-modal.is-find-id-mode .join-member-signup-intro,
    .join-member-login-modal.is-find-id-mode .join-member-signup-form,
    .join-member-login-modal.is-find-pw-mode .join-member-login-logo,
    .join-member-login-modal.is-find-pw-mode .join-member-login-copy,
    .join-member-login-modal.is-find-pw-mode .join-member-login-actions > .join-member-login-button.kakao,
    .join-member-login-modal.is-find-pw-mode .join-member-login-actions > .join-member-login-button.email,
    .join-member-login-modal.is-find-pw-mode .join-member-login-signup,
    .join-member-login-modal.is-find-pw-mode .join-member-email-form,
    .join-member-login-modal.is-find-pw-mode .join-member-signup-intro,
    .join-member-login-modal.is-find-pw-mode .join-member-signup-form {
      display: none;
    }

    .join-member-login-modal.is-email-mode .join-member-login-actions,
    .join-member-login-modal.is-signup-mode .join-member-login-actions,
    .join-member-login-modal.is-signup-intro-mode .join-member-login-actions,
    .join-member-login-modal.is-find-id-mode .join-member-login-actions,
    .join-member-login-modal.is-find-pw-mode .join-member-login-actions {
      margin-top: 0;
    }

    .join-member-login-modal.is-email-mode .join-member-email-form {
      display: grid;
    }

    .join-member-login-modal.is-signup-mode .join-member-signup-form {
      display: grid;
    }

    .join-member-login-modal.is-signup-intro-mode .join-member-signup-intro {
      display: grid;
    }

    .join-member-login-modal.is-find-id-mode .join-member-find-id-form,
    .join-member-login-modal.is-find-pw-mode .join-member-find-pw-form {
      display: grid;
    }

    .join-member-signup-alert {
      position: fixed;
      inset: 0;
      z-index: 20;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 24px;
      background: rgba(15, 23, 42, 0.42);
    }

    .join-member-signup-alert.is-open {
      display: flex;
    }

    .join-member-signup-alert-panel {
      width: min(320px, 100%);
      padding: 24px 22px 20px;
      border-radius: 18px;
      background: #fff;
      box-shadow: 0 22px 60px rgba(15, 23, 42, 0.24);
      text-align: center;
    }

    .join-member-signup-alert-title {
      color: #111827;
      font-size: 18px;
      font-weight: 800;
      line-height: 1.35;
    }

    .join-member-signup-alert-message {
      margin-top: 10px;
      color: #4b5563;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.55;
      word-break: keep-all;
    }

    .join-member-signup-alert-button {
      width: 100%;
      min-height: 48px;
      margin-top: 18px;
      border-radius: 12px;
      border: 1px solid #54abff;
      background: #54abff;
      color: #fff;
      font-size: 16px;
      font-weight: 600;
      cursor: pointer;
    }

    .join-member-login-button {
      width: 100%;
      min-height: 52px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      border: 1px solid #111827;
      background: #111827;
      color: #fff;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.2;
      cursor: pointer;
    }

    .join-member-login-button svg {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
    }

    .join-member-login-button-label {
      display: block;
      min-width: 0;
      color: inherit;
      font: inherit;
      line-height: inherit;
      letter-spacing: inherit;
    }

    .join-member-login-button.kakao {
      gap: 8px;
      border: 1px solid rgb(247, 227, 23);
      background: #fee500;
      color: #381e1f;
    }

    .join-member-login-button.email {
      gap: 8px;
      background: #fff;
      border: 1px solid rgb(233, 236, 239);
      color: rgb(73, 80, 86);
    }

    .join-member-login-button.kakao,
    .join-member-login-button.email,
    .join-member-login-button.signup {
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -0.2px;
    }

    .join-member-email-form,
    .join-member-signup-form,
    .join-member-find-id-form,
    .join-member-find-pw-form {
      display: none;
      gap: 8px;
      margin-top: 2px;
    }

    .join-member-email-form.is-open,
    .join-member-signup-form.is-open,
    .join-member-find-id-form.is-open,
    .join-member-find-pw-form.is-open {
      display: grid;
    }

    .join-member-signup-form[data-step="1"] [data-signup-step]:not([data-signup-step="1"]),
    .join-member-signup-form[data-step="2"] [data-signup-step]:not([data-signup-step="2"]),
    .join-member-signup-form[data-step="3"] [data-signup-step]:not([data-signup-step="3"]),
    .join-member-signup-form[data-step="4"] [data-signup-step]:not([data-signup-step="4"]),
    .join-member-signup-form[data-step="5"] [data-signup-step]:not([data-signup-step="5"]),
    .join-member-signup-form[data-step="6"] [data-signup-step]:not([data-signup-step="6"]),
    .join-member-signup-form[data-step="7"] [data-signup-step]:not([data-signup-step="7"]) {
      display: none !important;
    }

    .join-member-signup-progress {
      display: flex;
      gap: 8px;
      margin: 2px 0 12px;
    }

    .join-member-signup-progress-bar {
      width: 28px;
      height: 8px;
      border-radius: 999px;
      background: #e9ecef;
      transition: width .18s ease, background .18s ease;
    }

    .join-member-signup-progress-bar.is-active {
      background: #54abff;
    }

    .join-member-signup-form.is-profile-only .join-member-signup-progress-bar[data-progress-step="2"] {
      display: none;
    }

    .join-member-kakao-nickname-field {
      display: none !important;
    }

    .join-member-signup-form.is-kakao-signup .join-member-kakao-nickname-field {
      display: grid !important;
    }

    .join-member-signup-step-copy {
      display: grid;
      gap: 5px;
      margin-bottom: 8px;
      text-align: left;
    }

    .join-member-signup-step-title {
      color: #111827;
      font-size: 28px;
      font-weight: 700;
      line-height: 1.28;
      letter-spacing: 0;
    }

    .join-member-signup-step-desc {
      color: #63696e;
      font-size: 20px;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0;
      white-space: pre-line;
    }

    .join-member-signup-step-desc.is-title-style {
      color: #111827;
      font-size: 28px;
      font-weight: 700;
      line-height: 1.28;
    }

    .join-member-signup-password-desc {
      color: #868e96;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.45;
      letter-spacing: 0;
    }

    .join-member-signup-step-desc[hidden] {
      display: none !important;
    }

    @media (max-width: 640px) {
      .join-member-signup-step-title {
        font-size: 25px;
      }

      .join-member-signup-step-desc {
        font-size: 17px;
      }

      .join-member-signup-step-desc.is-title-style {
        font-size: 25px;
      }
    }

    .join-member-signup-nav {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin-top: 8px;
      align-items: stretch;
    }

    .join-member-signup-nav.has-prev {
      grid-template-columns: 92px minmax(0, 1fr);
    }

    .join-member-signup-nav[hidden] {
      display: none !important;
    }

    .join-member-signup-nav [data-signup-prev][hidden],
    .join-member-signup-nav [data-signup-next][hidden],
    .join-member-signup-nav [data-signup-submit][hidden] {
      display: none !important;
    }

    .join-member-signup-nav .join-member-login-button.signup {
      width: 100%;
      margin-top: 0;
      min-height: 48px;
      height: 48px;
      box-sizing: border-box;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      grid-column: 1 / -1;
    }

    .join-member-signup-nav.has-prev .join-member-login-button.signup {
      grid-column: auto;
    }

    .join-member-signup-prev {
      width: 100%;
      height: 48px;
      min-height: 48px;
      box-sizing: border-box;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #e9ecef;
      border-radius: 10px;
      background: #fff;
      color: #495057;
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
    }

    .join-member-signup-nav button:disabled {
      border-color: #d7dce3;
      background: #e9ecef;
      color: #98a1ad;
      box-shadow: none;
      cursor: not-allowed;
    }

    .join-member-password-input-wrap {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 34px;
      align-items: center;
      gap: 4px;
      width: 100%;
    }

    .join-member-password-toggle {
      width: 34px;
      height: 34px;
      border: 0;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: transparent;
      color: #868e96;
      cursor: pointer;
      margin-right: -8px;
    }

    .join-member-password-toggle:hover,
    .join-member-password-toggle:focus-visible {
      color: #54abff;
      background: #eff6ff;
      outline: none;
    }

    .join-member-password-toggle svg {
      width: 22px;
      height: 22px;
    }

    .join-member-birth-gender-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 10px;
      align-items: start;
    }

    .join-member-year-select {
      width: 100%;
      height: 48px;
      border: 1px solid #e9ecef;
      border-radius: 12px;
      padding: 0 42px 0 13px;
      appearance: none;
      -webkit-appearance: none;
      background-color: #fff;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23868e96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      background-size: 22px 22px;
      color: #212529;
      font-size: 15px;
      font-weight: 600;
      outline: none;
    }

    .join-member-email-field.is-invalid .join-member-year-select,
    .join-member-email-field.is-invalid .traveler-gender-select {
      border-color: #ef4444;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
    }

    .join-member-email-field.is-invalid .traveler-gender-select {
      padding: 6px;
      border: 2px solid #ef4444;
      border-radius: 12px;
    }

    .join-member-signup-chip-row {
      display: grid;
      gap: 8px;
    }

    [data-chip-group="join-member-travel-style"] {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    [data-chip-group="join-member-travel-style"] .apply-chip {
      width: 100%;
      min-width: 0;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .join-member-signup-chip-row {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 8px;
    }

    [data-chip-group="join-member-level"] {
      grid-template-columns: 1fr;
    }

    [data-chip-group="join-member-level"] .apply-chip {
      width: 100%;
      justify-content: center;
    }

    .join-member-signup-chip-row .profession-chip {
      width: 100%;
      min-width: 0;
      min-height: 44px;
      padding: 8px 10px;
      border-radius: 12px;
      background: #fafafa;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }

    .join-member-signup-chip-row .profession-chip:disabled,
    .join-member-signup-chip-row .profession-chip.is-disabled {
      cursor: not-allowed;
      opacity: .42;
    }

    .join-member-signup-chip-row.is-custom-editing {
      grid-template-columns: minmax(0, 1fr);
    }

    .join-member-signup-chip-row.is-custom-editing .profession-chip {
      display: none;
    }

    .join-member-signup-custom-profession {
      border-style: dashed;
      color: #54abff;
      gap: 6px;
    }

    .join-member-signup-custom-profession:hover,
    .join-member-signup-custom-profession:active {
      border-color: var(--border);
      border-style: dashed;
      background: #fafafa;
      color: #54abff;
      box-shadow: none;
      transform: none;
    }

    .join-member-signup-custom-profession.has-value {
      position: relative;
      justify-content: space-between;
      border-style: solid;
      color: #212529;
    }

    .join-member-signup-custom-profession.has-value:hover,
    .join-member-signup-custom-profession.has-value:active {
      border-color: var(--border);
      border-style: solid;
      background: #fafafa;
      color: #212529;
      box-shadow: none;
      transform: none;
    }

    .join-member-signup-custom-profession-text {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      width: 100%;
      padding: 0 30px;
      text-align: center;
    }

    .join-member-signup-custom-profession-edit {
      position: absolute;
      right: 8px;
      top: 50%;
      transform: translateY(-50%);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 28px;
      width: 28px;
      height: 28px;
      border-radius: 8px;
      color: inherit;
    }

    .join-member-signup-custom-profession-edit:hover {
      background: #eff6ff;
    }

    .join-member-signup-custom-profession svg {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
    }

    .join-member-signup-custom-profession.is-editing {
      display: none;
    }

    .join-member-signup-form .join-member-signup-custom-profession-input {
      grid-column: 1 / -1;
      width: 100%;
      min-width: 0;
      min-height: 58px;
      padding: 12px 14px;
      border: 1px dashed #54abff;
      border-radius: 12px;
      background: #fff;
      color: #212529;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
      outline: none;
    }

    .join-member-signup-form .join-member-signup-custom-profession-input:focus {
      border-color: transparent;
      box-shadow: 0 0 0 3px rgba(54, 137, 255, .12);
    }

    .join-member-login-body.has-signup-keyboard-focus {
      padding-bottom: calc(34px + var(--join-mobile-keyboard-gap, 0px) + 160px);
      scroll-padding-bottom: calc(var(--join-mobile-keyboard-gap, 0px) + 180px);
    }

    .join-member-signup-complete {
      position: relative;
      min-height: 380px;
      align-content: center;
      justify-items: center;
      gap: 14px;
      overflow: hidden;
      text-align: center;
      padding: 12px 0 4px;
    }

    .join-member-confetti {
      position: absolute;
      inset: 0;
      pointer-events: none;
      overflow: hidden;
    }

    .join-member-confetti-shape {
      position: absolute;
      top: -28px;
      left: var(--x);
      width: var(--s);
      height: var(--s);
      border-radius: var(--r);
      background: var(--c);
      opacity: 0;
      animation: join-member-confetti-fall var(--d) ease-in var(--delay) forwards;
    }

    @keyframes join-member-confetti-fall {
      0% { opacity: 0; transform: translate3d(0, -18px, 0) rotate(0deg); }
      12% { opacity: 1; }
      100% { opacity: 0; transform: translate3d(var(--drift), 430px, 0) rotate(var(--rot)); }
    }

    .join-member-signup-complete-icon {
      width: 76px;
      height: 76px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: #54abff;
      color: #fff;
      box-shadow: 0 18px 38px rgba(84, 171, 255, 0.28);
      z-index: 1;
    }

    .join-member-signup-complete-title {
      color: #101418;
      font-size: 26px;
      font-weight: 800;
      line-height: 1.35;
      z-index: 1;
    }

    .join-member-signup-complete-copy {
      max-width: 280px;
      color: #63696e;
      font-size: 15px;
      font-weight: 650;
      line-height: 1.55;
      z-index: 1;
    }

    .join-member-signup-complete-note {
      width: 100%;
      max-width: 320px;
      border: 1px solid #e9ecef;
      border-radius: 14px;
      background: #f8fafc;
      padding: 14px 16px;
      color: #495057;
      font-size: 14px;
      font-weight: 650;
      line-height: 1.55;
      z-index: 1;
    }

    .join-member-signup-complete-action {
      width: 100%;
      margin-top: 4px;
      z-index: 1;
    }

    @media (prefers-reduced-motion: reduce) {
      .join-member-confetti-shape {
        animation: none;
        top: 20px;
        opacity: .85;
      }
    }

    .join-member-email-form .join-member-login-button.signup,
    .join-member-signup-form .join-member-login-button.signup {
      margin-top: 8px;
    }

    .join-member-signup-form .join-member-signup-nav .join-member-login-button.signup {
      margin-top: 0;
    }

    .join-member-email-field {
      display: grid;
      gap: 8px;
      text-align: left;
    }

    .join-member-email-label,
    .join-member-signup-password-title {
      color: rgb(33, 37, 41);
      font-size: 16px;
      font-weight: 700;
      line-height: 138%;
      letter-spacing: -0.01em;
    }

    .join-member-signup-profile-field {
      margin-top: 0;
    }

    .join-member-email-input-wrap {
      width: 100%;
      height: 48px;
      border: 1px solid rgb(233, 236, 239);
      border-radius: 10px;
      display: flex;
      align-items: center;
      padding: 0 14px;
      background: rgb(255, 255, 255);
    }

    .join-member-email-form input,
    .join-member-signup-form input,
    .join-member-find-id-form input,
    .join-member-find-pw-form input {
      width: 100%;
      margin: 0;
      padding: 0;
      text-align: left;
      background-color: rgb(255, 255, 255);
      border: 0;
      border-radius: 4px;
      outline: none;
      color: rgb(33, 37, 41);
      font-size: 16px;
      font-weight: 500;
      line-height: 138%;
      letter-spacing: -0.01em;
    }

    .join-member-signup-form input:disabled {
      color: #495057;
      -webkit-text-fill-color: #495057;
      cursor: default;
    }

    .join-member-email-form input::placeholder,
    .join-member-signup-form input::placeholder,
    .join-member-find-id-form input::placeholder,
    .join-member-find-pw-form input::placeholder {
      color: rgb(173, 181, 189);
    }

    .join-member-float-field .join-member-email-input-wrap {
      position: relative;
      height: 58px;
      padding-top: 17px;
    }

    .join-member-float-field .join-member-email-label {
      position: absolute;
      left: 14px;
      top: 50%;
      z-index: 1;
      transform: translateY(-50%);
      color: rgb(134, 142, 150);
      pointer-events: none;
      transition: transform .16s ease, top .16s ease, font-size .16s ease, color .16s ease;
    }

    .join-member-float-field.is-focused .join-member-email-label,
    .join-member-float-field.is-filled .join-member-email-label {
      top: 8px;
      transform: none;
      color: #687cd6;
      font-size: 11px;
      line-height: 1.1;
    }

    .join-member-float-field.is-invalid .join-member-email-label {
      color: #dc2626;
    }

    .join-member-signup-section-title {
      color: #111827;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.35;
      text-align: left;
    }

    .join-member-signup-agree {
      margin-top: 6px;
      padding: 0;
      border-top: 0;
      border-radius: 14px;
    }

    .apply-agree-box.join-member-signup-agree {
      padding: 0;
    }

    .join-member-signup-agree .apply-agree-title-main {
      font-size: 15px;
    }

    .join-member-signup-agree .apply-agree-all {
      text-align: left;
    }

    .join-member-signup-agree .apply-agree-all .apply-check-line,
    .join-member-signup-agree .apply-agreement-row .apply-check-line {
      width: 100%;
      justify-content: flex-start;
      text-align: left;
    }

    .join-member-signup-agree .apply-check-line input[type="checkbox"] {
      position: absolute;
      width: 1px !important;
      height: 1px !important;
      min-width: 1px !important;
      min-height: 1px !important;
      max-width: 1px !important;
      max-height: 1px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }

    .join-member-signup-agree .apply-check-line .apply-check-box {
      box-sizing: border-box;
      width: 22px;
      height: 22px;
      min-width: 22px;
      flex: 0 0 22px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 1px;
      border: 1px solid #cbd5e1;
      border-radius: 7px;
      background: #fff;
    }

    .join-member-signup-agree .apply-agreement-row .apply-check-box {
      width: 20px;
      height: 20px;
      min-width: 20px;
      flex-basis: 20px;
      border-radius: 6px;
    }

    .join-member-signup-agree .apply-check-line .apply-check-box::before {
      content: "";
      width: 14px;
      height: 14px;
      margin-top: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px 14px no-repeat;
      opacity: 0;
      transform: scale(.82);
      transform-origin: center;
      transition: opacity .12s ease, transform .12s ease;
    }

    .join-member-signup-agree .apply-check-line input[type="checkbox"]:checked + .apply-check-box {
      border-color: transparent;
      background: #54abff;
    }

    .join-member-signup-agree .apply-check-line input[type="checkbox"]:checked + .apply-check-box::before {
      opacity: 1;
      transform: scale(1);
    }

    .join-member-signup-agree .apply-check-line input[type="checkbox"]:indeterminate + .apply-check-box {
      border-color: transparent;
      background: #54abff;
    }

    .join-member-signup-agree .apply-check-line input[type="checkbox"]:indeterminate + .apply-check-box::before {
      width: 14px;
      height: 14px;
      background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 8H11.5' stroke='white' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px 14px no-repeat;
      opacity: 1;
      transform: scale(1);
    }

    .join-member-signup-agree .apply-check-line-text {
      flex: 1 1 auto;
      min-width: 0;
      padding-top: 0;
      text-align: left;
    }

    .join-member-signup-agree .agreement-detail-button {
      margin-left: auto;
    }

    .join-member-email-input-wrap:focus-within {
      border-color: transparent;
      box-shadow: 0 0 0 3px rgba(104, 124, 214, 0.12);
      outline: none;
    }

    .join-member-email-field.is-invalid .join-member-email-input-wrap {
      border-width: 2px;
      border-color: #ef4444;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
    }

    .join-member-email-field.is-invalid .join-member-email-label {
      color: #dc2626;
    }

    .join-member-email-helper {
      display: none;
      color: #dc2626;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.45;
      letter-spacing: -0.01em;
      text-align: left;
    }

    .join-member-email-field.is-invalid .join-member-email-helper {
      display: block;
    }

    .join-member-signup-field {
      gap: 6px;
    }

    .join-member-signup-field .join-member-email-input-wrap {
      height: 48px;
      display: flex;
      align-items: center;
      gap: 0;
      padding: 0 14px;
    }

    .join-member-signup-field .join-member-signup-field-head {
      display: flex;
      align-items: center;
      gap: 7px;
      min-width: 0;
    }

    .join-member-signup-field .join-member-signup-title {
      flex: 0 0 auto;
      color: rgb(33, 37, 41);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: -0.01em;
    }

    .join-member-signup-field .join-member-signup-inline-hint {
      min-width: 0;
      opacity: 0;
      overflow: hidden;
      color: rgb(134, 142, 150);
      font-size: 11px;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.01em;
      text-overflow: ellipsis;
      white-space: nowrap;
      transform: translateX(-8px);
      transition: opacity .18s ease, transform .18s ease;
    }

    .join-member-signup-field .join-member-email-helper {
      display: none;
      min-width: 0;
      overflow: visible;
      color: #dc2626;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.45;
      letter-spacing: -0.01em;
      text-overflow: clip;
      white-space: normal;
      transform: none;
      text-align: left;
    }

    .join-member-signup-field.is-focused:not(.is-filled):not(.is-invalid) .join-member-signup-inline-hint {
      opacity: 1;
      transform: translateX(0);
    }

    .join-member-signup-field.is-invalid .join-member-signup-title,
    .join-member-signup-field.is-invalid .join-member-signup-inline-hint {
      color: #dc2626;
    }

    .join-member-signup-field.is-invalid .join-member-signup-inline-hint {
      display: none;
    }

    .join-member-signup-field .join-member-signup-bottom-hint {
      display: block;
      max-height: 22px;
      overflow: hidden;
      color: rgb(134, 142, 150);
      font-size: 12px;
      font-weight: 600;
      line-height: 1.45;
      letter-spacing: -0.01em;
      text-align: left;
      opacity: 1;
      transform: translateY(0);
      transition: max-height .18s ease, opacity .16s ease, transform .16s ease;
    }

    .join-member-signup-field.is-focused .join-member-signup-bottom-hint,
    .join-member-signup-field.is-filled .join-member-signup-bottom-hint,
    .join-member-signup-field.is-invalid .join-member-signup-bottom-hint {
      max-height: 0;
      opacity: 0;
      transform: translateY(-4px);
    }

    .join-member-signup-field.is-invalid .join-member-email-input-wrap {
      border-width: 1px;
      border-color: rgb(233, 236, 239);
      box-shadow: none;
    }

    .join-member-signup-field.is-invalid .join-member-email-label {
      color: rgb(33, 37, 41);
    }

    #joinMemberEmailForm .join-member-email-field.is-invalid .join-member-email-input-wrap {
      border-width: 1px;
      border-color: rgb(233, 236, 239);
      box-shadow: none;
    }

    #joinMemberEmailForm .join-member-email-field.is-invalid .join-member-email-label {
      color: rgb(33, 37, 41);
    }

    .join-member-signup-password-guide,
    .join-member-signup-password-field {
      display: none;
    }

    .join-member-signup-form.is-email-valid .join-member-signup-password-guide {
      display: grid;
      gap: 5px;
      margin-top: 6px;
      text-align: left;
    }

    .join-member-signup-form.is-email-valid .join-member-signup-password-field {
      display: grid;
    }

    .join-member-login-status {
      min-height: 20px;
      color: #dc2626;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
      text-align: left;
    }
    .join-member-signup-form[data-step="6"] + .join-member-login-status {
      display: none;
      min-height: 0;
    }

    .join-member-find-links {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin-top: 4px;
    }

    .join-member-find-links a + a::before {
      content: "";
      display: inline-block;
      width: 1px;
      height: 12px;
      margin-right: 10px;
      background: rgb(222, 226, 230);
      vertical-align: -1px;
    }

    .join-member-find-id-form > .join-member-login-button.signup,
    .join-member-find-pw-form > .join-member-login-button.signup[data-find-pw-check] {
      margin-top: 10px;
    }

    .join-member-find-result {
      display: none;
      gap: 10px;
      margin-top: 8px;
      padding: 16px;
      border: 1px solid #e9ecef;
      border-radius: 12px;
      background: #f8fafc;
      text-align: left;
    }

    .join-member-find-result.is-fail {
      border-color: #fee2e2;
      background: #fff7f7;
    }

    .join-member-find-result.is-visible {
      display: grid;
    }

    .join-member-find-result-title {
      color: #111827;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.35;
    }

    .join-member-find-result-copy {
      color: #63696e;
      font-size: 14px;
      font-weight: 650;
      line-height: 1.55;
    }

    .join-member-found-id {
      color: #3689ff;
      font-size: 24px;
      font-weight: 800;
      line-height: 1.25;
      word-break: break-all;
    }

    .join-member-find-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin-top: 4px;
    }

    .join-member-login-button.secondary {
      border-color: #e9ecef;
      background: #fff;
      color: #495057;
    }

    .join-member-login-signup {
      width: min(100%, 520px);
      margin: 44px auto 0;
      padding-top: 24px;
      border-top: 1px solid #eef2f7;
      text-align: center;
    }

    .join-member-login-signup-copy {
      margin: 0 0 14px;
      color: rgb(102, 109, 117);
      font-size: 14px;
      font-weight: 600;
      line-height: 1.45;
    }

    .join-member-login-button.signup {
      min-height: 48px;
      background: #54abff;
      border-color: #54abff;
    }

    .join-member-signup-intro {
      display: none;
      gap: 22px;
      text-align: left;
    }

    .join-member-signup-intro-head {
      display: grid;
      gap: 16px;
      text-align: left;
    }

    .join-member-signup-intro-title {
      color: #111827;
      font-size: 28px;
      font-weight: 800;
      line-height: 1.28;
      letter-spacing: 0;
    }

    .join-member-signup-intro-copy {
      color: #343a40;
      font-size: 21px;
      font-weight: 700;
      line-height: 1.5;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .join-member-benefit-list {
      display: grid;
      gap: 10px;
    }

    .join-member-benefit-card {
      position: relative;
      min-height: 70px;
      display: grid;
      grid-template-columns: 1fr 70px;
      align-items: center;
      gap: 12px;
      padding: 13px 12px 13px 22px;
      border-radius: 12px;
      overflow: hidden;
    }

    .join-member-benefit-card.mileage {
      background: #eef4ff;
    }

    .join-member-benefit-card.coupon {
      background: #f8f8f8;
    }

    .join-member-benefit-card.live {
      background: #fff5ef;
    }

    .join-member-benefit-eyebrow {
      color: #8b95a1;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.2;
    }

    .join-member-benefit-title {
      margin-top: 2px;
      color: #111827;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.24;
      letter-spacing: 0;
    }

    .join-member-benefit-art {
      width: 64px;
      height: 52px;
      justify-self: end;
    }

    .join-member-signup-intro-actions {
      display: grid;
      gap: 10px;
    }

    @media (max-width: 640px) {
      .join-mobile-bottom-nav {
        --join-mobile-bottom-nav-height: 80px;
        --join-mobile-bottom-nav-gap: max(16px, env(safe-area-inset-bottom, 0px));
        display: block;
        left: 50%;
        right: auto;
        top: calc(var(--join-mobile-visual-end, 100vh) - var(--join-mobile-bottom-nav-height) - var(--join-mobile-bottom-nav-gap));
        bottom: auto !important;
        width: min(430px, calc(100vw - 32px));
        max-width: calc(100vw - 32px);
        height: var(--join-mobile-bottom-nav-height);
        padding: 0;
        overflow: visible;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        transform: translate(-50%, 0);
      }

      .join-mobile-bottom-nav::after {
        content: none;
      }

      .join-mobile-bottom-nav.is-visible {
        transform: translate(-50%, 0);
      }

      .join-mobile-bottom-nav.is-hidden {
        transform: translate(-50%, calc(100% + 44px));
      }
    }

    @media (max-width: 640px) {
      body > .sgj-portal-overlay,
      body > .sgj-portal-overlay.overlay,
      body > .sgj-portal-overlay.calendar-sheet-overlay,
      body > .sgj-portal-overlay.global-apply-overlay,
      body > .participant-floating.sgj-portal-overlay {
        position: fixed !important;
        inset: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh) !important;
        max-height: none !important;
        background: #fff;
        overflow: hidden !important;
      }

      body > #calendarSheet.sgj-portal-overlay.open,
      body > #builderModal.sgj-portal-overlay.open,
      body > #regionSearchModal.sgj-portal-overlay.open,
      body > #globalApplyOverlay.sgj-portal-overlay.open,
      body > #joinMyMenuModal.sgj-portal-overlay.open {
        overflow: visible !important;
      }

      body > #joinMyDrawerOverlay.sgj-portal-overlay {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: stretch !important;
        min-height: 100dvh !important;
        background: rgba(15, 23, 42, .34) !important;
      }

      body > #joinMyDrawerOverlay.sgj-portal-overlay.open {
        overflow: visible !important;
      }

      body > #joinMyDrawerOverlay.sgj-portal-overlay .join-my-drawer {
        width: 250px !important;
        max-width: calc(100vw - 78px) !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        background: #fff !important;
      }

      body > .sgj-portal-overlay.open::before,
      body > .sgj-portal-overlay.overlay.open::before,
      body > .sgj-portal-overlay.calendar-sheet-overlay.open::before,
      body > .sgj-portal-overlay.global-apply-overlay.open::before,
      body > .participant-floating.sgj-portal-overlay.open::before {
        content: "";
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        height: var(--join-mobile-modal-height, 100dvh);
        height: 100dvh;
        height: 100lvh;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        min-height: 100vh;
        min-height: var(--join-mobile-modal-height, 100dvh);
        min-height: 100dvh;
        min-height: 100lvh;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh);
        max-height: none;
        z-index: 0;
        background: #fff;
        box-shadow: 0 0 0 200vmax #fff;
        pointer-events: none;
      }

      body > #builderModal.sgj-portal-overlay.open,
      body > #joinMyMenuModal.sgj-portal-overlay.open {
        background: #fff !important;
        box-shadow: 0 0 0 200vmax #fff !important;
        isolation: isolate;
      }
      body > #builderModal.sgj-portal-overlay.open::after {
        content: "";
        position: fixed;
        left: 0;
        right: 0;
        bottom: -360px;
        height: calc(420px + env(safe-area-inset-bottom, 0px));
        background: #fff;
        z-index: 0;
        pointer-events: none;
      }
      body > #calendarSheet.sgj-portal-overlay.open::after,
      body > #regionSearchModal.sgj-portal-overlay.open::after,
      body > #globalApplyOverlay.sgj-portal-overlay.open::after,
      body > #joinMyMenuModal.sgj-portal-overlay.open::after {
        content: "";
        position: fixed;
        left: 0;
        right: 0;
        bottom: -360px;
        height: 420px;
        background: #fff;
        z-index: 0;
        pointer-events: none;
      }
      body > #builderAlertModal.sgj-portal-overlay.open::before {
        content: none !important;
      }
      body > #builderAlertModal.builder-alert-overlay.sgj-portal-overlay {
        z-index: 2147483647 !important;
        background: rgba(15, 23, 42, .34) !important;
      }
      body > #applySubmitConfirmModal.sgj-portal-overlay.open::before {
        content: none !important;
      }
      body > #applySubmitConfirmModal.apply-submit-confirm-overlay.sgj-portal-overlay {
        z-index: 2147483647 !important;
        background: rgba(15, 23, 42, .42) !important;
      }
      body > #builderAlertModal.sgj-portal-overlay .builder-alert-modal {
        position: relative;
        z-index: 1 !important;
      }
      body > #applySubmitConfirmModal.sgj-portal-overlay .apply-submit-confirm-modal {
        position: relative;
        z-index: 1 !important;
      }

      body > .sgj-portal-overlay .modal,
      body > .sgj-portal-overlay .calendar-sheet,
      body > .sgj-portal-overlay .builder-modal,
      body > .sgj-portal-overlay .detail-modal,
      body > .sgj-portal-overlay .detail-apply-panel,
      body > .sgj-portal-overlay .join-my-modal,
      body > .sgj-portal-overlay .join-review-modal,
      body > .participant-floating.sgj-portal-overlay .participant-popover {
        position: relative;
        z-index: 1;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay {
        overflow: hidden !important;
        background: #fff !important;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet {
        display: flex !important;
        flex-direction: column !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        background: #fff !important;
        box-shadow: none !important;
        overflow: visible !important;
      }

      body > #calendarSheet.sgj-portal-overlay.open .calendar-sheet::after,
      body > #regionSearchModal.sgj-portal-overlay.open .region-search-modal::after,
      body > #joinMyMenuModal.sgj-portal-overlay.open .join-my-modal::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 240px;
        background: #fff;
        pointer-events: none;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-sheet-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        background: #fff !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
      }

      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-mobile-selection,
      body > .sgj-portal-overlay.calendar-sheet-overlay .calendar-mobile-selected-panel {
        background: #fff !important;
      }
    }

    @media (min-width: 641px) {
      .modal-header,
      .calendar-sheet-header,
      .builder-header,
      .region-search-header,
      .join-member-login-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) var(--modal-close-size-pc) !important;
        align-items: center !important;
      }
      #detailModal .modal-header,
      body > #detailModal.sgj-portal-overlay .modal-header {
        grid-template-columns: minmax(0, 1fr) auto !important;
      }
      #detailModal #detailContent,
      body > #detailModal.sgj-portal-overlay #detailContent {
        padding-top: 0 !important;
      }
      .modal-header .modal-title,
      .calendar-sheet-header .calendar-sheet-title,
      .builder-header .builder-header-copy,
      .region-search-header .region-search-title,
      .join-member-login-header .join-member-login-title {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        min-width: 0 !important;
        max-width: 100% !important;
        text-align: left !important;
      }
      #detailModal .modal-header #detailModalTitle,
      body > #detailModal.sgj-portal-overlay .modal-header #detailModalTitle {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: block !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
      }
      .builder-header .modal-back-icon,
      .calendar-sheet-header .modal-back-icon,
      .modal-header .modal-back-icon,
      .modal-header .modal-close-icon,
      .calendar-sheet-header .modal-close-icon,
      .builder-header .modal-close-icon,
      .region-search-header .region-search-back,
      .join-member-login-header .join-member-login-back {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: var(--modal-close-size-pc) !important;
        height: var(--modal-close-size-pc) !important;
        flex-basis: var(--modal-close-size-pc) !important;
      }
      #detailModal .detail-pc-header-actions,
      body > #detailModal.sgj-portal-overlay .detail-pc-header-actions {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 2px !important;
      }
      #detailModal .detail-pc-header-actions .detail-mobile-header-button,
      body > #detailModal.sgj-portal-overlay .detail-pc-header-actions .detail-mobile-header-button {
        width: var(--modal-close-size-pc) !important;
        height: var(--modal-close-size-pc) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
      }
      #detailModal .detail-pc-header-actions .modal-close-icon,
      body > #detailModal.sgj-portal-overlay .detail-pc-header-actions .modal-close-icon {
        position: static !important;
        grid-column: auto !important;
        grid-row: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #373A3C !important;
        opacity: 1 !important;
        visibility: visible !important;
      }
      #joinMemberLoginModal .join-member-login-header {
        width: min(100%, var(--join-member-login-content-width)) !important;
        margin: 0 auto !important;
        padding: 0 !important;
      }
      .builder-header .modal-back-icon::before,
      .calendar-sheet-header .modal-back-icon::before,
      .modal-header .modal-back-icon::before,
      .region-search-header .region-search-back::before,
      .join-member-login-header .join-member-login-back::before {
        display: block !important;
      }
      .builder-header .modal-back-icon > svg,
      .calendar-sheet-header .modal-back-icon > svg,
      .modal-header .modal-back-icon > svg,
      .region-search-header .region-search-back > svg,
      .join-member-login-header .join-member-login-back > svg {
        display: none !important;
      }
      .builder-header .modal-header-spacer,
      .calendar-sheet-header .modal-header-spacer,
      .modal-header .modal-header-spacer,
      .region-search-header .region-search-header-spacer {
        display: none !important;
      }
    }

    @media (max-width: 640px) {
      .modal-header,
      .calendar-sheet-header,
      .builder-header,
      .region-search-header,
      .join-member-login-header {
        padding-left: 20px !important;
        padding-right: 20px !important;
      }

      .modal-header .modal-back-icon,
      .calendar-sheet-header .modal-back-icon,
      .builder-header .modal-back-icon,
      .region-search-header .region-search-back,
      .join-member-login-header .join-member-login-back {
        justify-self: start !important;
        justify-content: flex-start !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        color: #373A3C !important;
      }

      .modal-header .modal-back-icon > svg,
      .calendar-sheet-header .modal-back-icon > svg,
      .builder-header .modal-back-icon > svg,
      .region-search-header .region-search-back > svg,
      .join-member-login-header .join-member-login-back > svg {
        color: #373A3C !important;
        stroke: currentColor !important;
      }

      .join-member-login-header .join-member-login-back {
        left: 20px !important;
      }

      #detailModal.open .detail-slider-back,
      body > #detailModal.sgj-portal-overlay.open .detail-slider-back {
        left: 10px !important;
        justify-content: center !important;
      }

      #detailModal.open .detail-mobile-sticky-header,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header {
        padding-left: 20px !important;
        padding-right: 20px !important;
      }

      #detailModal.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header .detail-mobile-header-button:first-child {
        justify-content: flex-start !important;
      }
    }

    .join-member-login-complete-close {
      display: none;
      position: absolute;
      right: 0;
      top: 8px;
      z-index: 3;
      width: 42px;
      height: 42px;
      align-items: center;
      justify-content: center;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: #111827;
      cursor: pointer;
    }

    .join-member-login-complete-close svg {
      width: 24px;
      height: 24px;
    }

    .join-member-login-modal.is-signup-complete .join-member-login-header {
      justify-content: flex-start;
    }

    .join-member-login-modal.is-signup-complete .join-member-login-title {
      width: 100%;
      padding-right: 52px;
      text-align: left;
    }

    .join-member-login-modal.is-signup-complete .join-member-login-back {
      display: none !important;
    }

    .join-member-login-modal.is-signup-complete .join-member-login-complete-close {
      display: inline-flex;
    }

    .join-member-signup-form[data-step="7"] {
      gap: 0;
      margin-top: 0;
    }

    .join-member-signup-form[data-step="7"] .join-member-signup-progress,
    .join-member-signup-form[data-step="7"] .join-member-signup-step-copy {
      display: none !important;
    }

    .join-member-signup-form[data-step="7"] .join-member-signup-complete {
      display: grid;
      grid-template-rows: auto auto minmax(80px, 1fr) auto;
      min-height: calc(100vh - 134px);
      min-height: calc(100dvh - 134px);
      padding: 42px 0 4px;
      gap: 8px;
      align-content: stretch;
      justify-items: stretch;
      overflow: hidden;
      text-align: left;
      box-sizing: border-box;
    }

    .join-member-signup-form[data-step="7"] .join-member-signup-complete-title {
      color: #111827;
      font-size: 27px;
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: -.02em;
    }

    .join-member-signup-form[data-step="7"] .join-member-signup-complete-copy {
      max-width: none;
      color: #5f6b7a;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.5;
      word-break: keep-all;
    }

    .join-member-signup-form[data-step="7"] .join-member-signup-complete-action {
      grid-row: 4;
      min-height: 50px;
      margin: 0;
      border-color: #54abff;
      border-radius: 12px;
      background: #54abff;
      color: #fff;
      font-size: 16px;
      font-weight: 700;
    }

    @media (max-width: 640px) {
      .join-member-login-modal.is-signup-complete .join-member-login-header {
        padding-left: 28px !important;
        padding-right: 28px !important;
      }

      .join-member-login-modal.is-signup-complete .join-member-login-complete-close {
        right: 18px;
      }

      .join-member-signup-form[data-step="7"] .join-member-signup-complete-title {
        font-size: 26px;
      }
    }

    @media (max-width: 768px), (hover: none) and (pointer: coarse) {
      #participantModal.participant-floating,
      body > #participantModal.participant-floating,
      body > .participant-floating.sgj-portal-overlay {
        position: fixed !important;
        inset: 0;
        left: 0 !important;
        top: 0 !important;
        width: 100vw !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100vh;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        padding: 0;
        align-items: flex-end;
        justify-content: center;
        background: rgba(15, 23, 42, 0.42);
        z-index: 2147483700 !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
      }

      #participantModal.participant-floating.open,
      body > #participantModal.participant-floating.open,
      body > .participant-floating.sgj-portal-overlay.open {
        display: flex !important;
      }

      #participantModal.participant-floating.open::before,
      body > #participantModal.participant-floating.open::before,
      body > .participant-floating.sgj-portal-overlay.open::before {
        display: none !important;
      }

      #participantModal.participant-floating.open::after,
      body > #participantModal.participant-floating.open::after,
      body > .participant-floating.sgj-portal-overlay.open::after {
        content: "";
        position: fixed;
        left: 0;
        right: 0;
        bottom: -140px;
        z-index: 0;
        height: calc(140px + max(24px, env(safe-area-inset-bottom, 0px)));
        background: #fff;
        pointer-events: none;
      }

      body > #joinMyDrawerOverlay.sgj-portal-overlay.open::before {
        content: "" !important;
        position: fixed;
        top: auto !important;
        left: 0;
        right: 0;
        bottom: calc(-420px - env(safe-area-inset-bottom, 0px));
        width: auto !important;
        z-index: 0;
        height: calc(420px + env(safe-area-inset-bottom, 0px));
        min-height: 0 !important;
        background: rgba(15, 23, 42, .34);
        box-shadow: none !important;
        pointer-events: none;
      }

      #participantModal.participant-floating .participant-popover,
      body > #participantModal.participant-floating .participant-popover,
      body > .participant-floating.sgj-portal-overlay .participant-popover {
        --participant-sheet-max-height: min(calc(100dvh - 52px), 720px);
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        width: 100vw !important;
        max-width: 100vw !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: var(--participant-sheet-max-height) !important;
        padding: 0 0 env(safe-area-inset-bottom, 0px);
        border: 0;
        border-radius: 22px 22px 0 0;
        background: #fff;
        box-shadow: 0 -18px 45px rgba(15, 23, 42, 0.18);
        overflow: hidden;
        transform: translateY(100%);
        transition: transform .28s ease;
        z-index: 2147483701 !important;
      }

      #participantModal.participant-floating.sheet-open .participant-popover,
      body > #participantModal.participant-floating.sheet-open .participant-popover,
      body > .participant-floating.sgj-portal-overlay.sheet-open .participant-popover {
        transform: translateY(0);
      }

      #participantModal.participant-floating .participant-sheet-header,
      body > #participantModal.participant-floating .participant-sheet-header,
      body > .participant-floating.sgj-portal-overlay .participant-sheet-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        padding: var(--modal-sheet-header-padding-mobile);
        border-bottom: 1px solid var(--border);
        touch-action: none;
      }

      #participantModal.participant-floating .participant-sheet-title,
      body > #participantModal.participant-floating .participant-sheet-title,
      body > .participant-floating.sgj-portal-overlay .participant-sheet-title {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        text-align: left;
      }

      #participantModal.participant-floating .participant-sheet-close,
      body > #participantModal.participant-floating .participant-sheet-close,
      body > .participant-floating.sgj-portal-overlay .participant-sheet-close {
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        color: #111827;
      }

      #participantModal.participant-floating .participant-sheet-close::before,
      body > #participantModal.participant-floating .participant-sheet-close::before,
      body > .participant-floating.sgj-portal-overlay .participant-sheet-close::before {
        display: none !important;
      }

      #participantModal.participant-floating .participant-sheet-close > svg,
      body > #participantModal.participant-floating .participant-sheet-close > svg,
      body > .participant-floating.sgj-portal-overlay .participant-sheet-close > svg {
        display: block !important;
        width: 24px;
        height: 24px;
      }

      #participantModal.participant-floating .participant-profile,
      body > #participantModal.participant-floating .participant-profile,
      body > .participant-floating.sgj-portal-overlay .participant-profile {
        --participant-section-divider-gap: 12px;
        align-content: start;
        grid-auto-rows: max-content;
        flex: 0 1 auto;
        min-height: 0;
        max-height: calc(var(--participant-sheet-max-height) - 66px);
        gap: 0;
        padding: 18px 18px calc(18px + env(safe-area-inset-bottom));
        overflow-y: auto;
        overscroll-behavior: contain;
      }
    }

    body > #detailModal.sgj-portal-overlay.open.builder-select-mode.builder-product-detail-mode,
    #detailModal.open.builder-select-mode.builder-product-detail-mode {
      z-index: 2147483643 !important;
    }

    body > #detailModal.sgj-portal-overlay.open.builder-select-mode.builder-product-detail-mode .detail-modal,
    #detailModal.open.builder-select-mode.builder-product-detail-mode .detail-modal {
      z-index: 2147483644 !important;
    }
    #detailModal.open #detailModalTitle,
    body > #detailModal.sgj-portal-overlay.open #detailModalTitle,
    #detailModal.open .detail-mobile-sticky-title,
    body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-title {
      display: -webkit-box !important;
      -webkit-line-clamp: 1 !important;
      -webkit-box-orient: vertical !important;
      white-space: nowrap !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      max-height: 1.35em !important;
    }

    @media (min-width: 641px) {
      #detailModal.open .modal-header,
      body > #detailModal.sgj-portal-overlay.open .modal-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
      }

      #detailModal.open #detailModalTitle,
      body > #detailModal.sgj-portal-overlay.open #detailModalTitle {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        max-height: 1.35em !important;
        color: var(--text) !important;
        opacity: 1 !important;
        visibility: visible !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }

      #detailModal.open .detail-mobile-sticky-header,
      body > #detailModal.sgj-portal-overlay.open .detail-mobile-sticky-header {
        display: none !important;
      }
    }

    #detailModal .detail-main-title,
    body > #detailModal.sgj-portal-overlay .detail-main-title,
    #detailModal.open .detail-main-title,
    body > #detailModal.sgj-portal-overlay.open .detail-main-title {
      display: -webkit-box !important;
      -webkit-line-clamp: 2 !important;
      line-clamp: 2 !important;
      -webkit-box-orient: vertical !important;
      white-space: normal !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      max-height: 2.7em !important;
    }

    .detail-mobile-header-button[data-detail-wish-button].is-wished svg,
    body > #detailModal.sgj-portal-overlay .detail-mobile-header-button[data-detail-wish-button].is-wished svg {
      color: #ff5b41;
      fill: #ff5b41;
      stroke: #ff5b41;
    }

    .detail-mobile-header-button[data-detail-wish-button].is-wished svg path + path,
    body > #detailModal.sgj-portal-overlay .detail-mobile-header-button[data-detail-wish-button].is-wished svg path + path {
      display: none;
    }

    .detail-slider-actions .detail-mobile-header-button[data-detail-wish-button].is-wished svg,
    body > #detailModal.sgj-portal-overlay .detail-slider-actions .detail-mobile-header-button[data-detail-wish-button].is-wished svg {
      color: #ff5b41;
      fill: #ff5b41;
      stroke: #ff5b41;
    }

    #builderModal.builder-complete-mode .builder-progress,
    body > #builderModal.sgj-portal-overlay.builder-complete-mode .builder-progress,
    .apply-complete-illustration {
      display: none !important;
    }

    .builder-apply-form .apply-agree-box,
    #globalApplyPanel .apply-agree-box {
      display: none !important;
    }

    @media (max-width: 640px) {
      html.join-mobile-modal-chrome-collapsed body > #calendarSheet.sgj-portal-overlay,
      html.join-mobile-modal-chrome-collapsed body > #builderModal.sgj-portal-overlay,
      html.join-mobile-modal-chrome-collapsed body > #detailModal.sgj-portal-overlay,
      html.join-mobile-modal-chrome-collapsed body > #regionSearchModal.sgj-portal-overlay,
      html.join-mobile-modal-chrome-collapsed body > #globalApplyOverlay.sgj-portal-overlay,
      html.join-mobile-modal-chrome-collapsed body > #joinMyMenuModal.sgj-portal-overlay {
        position: fixed !important;
        inset: 0 !important;
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: 100lvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: 100lvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        max-height: none !important;
        overflow: hidden !important;
        background: #fff !important;
      }

      html.join-mobile-modal-chrome-collapsed body > #calendarSheet.sgj-portal-overlay.open::before,
      html.join-mobile-modal-chrome-collapsed body > #builderModal.sgj-portal-overlay.open::before,
      html.join-mobile-modal-chrome-collapsed body > #detailModal.sgj-portal-overlay.open::before,
      html.join-mobile-modal-chrome-collapsed body > #regionSearchModal.sgj-portal-overlay.open::before,
      html.join-mobile-modal-chrome-collapsed body > #globalApplyOverlay.sgj-portal-overlay.open::before,
      html.join-mobile-modal-chrome-collapsed body > #joinMyMenuModal.sgj-portal-overlay.open::before {
        top: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: 100lvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: 100lvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        max-height: none !important;
        box-shadow: 0 0 0 200vmax #fff !important;
      }

      html.join-mobile-modal-chrome-collapsed body > #calendarSheet.sgj-portal-overlay .calendar-sheet,
      html.join-mobile-modal-chrome-collapsed body > #builderModal.sgj-portal-overlay .builder-modal,
      html.join-mobile-modal-chrome-collapsed body > #detailModal.sgj-portal-overlay .detail-modal,
      html.join-mobile-modal-chrome-collapsed body > #regionSearchModal.sgj-portal-overlay .region-search-modal,
      html.join-mobile-modal-chrome-collapsed body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel,
      html.join-mobile-modal-chrome-collapsed body > #joinMyMenuModal.sgj-portal-overlay .join-my-modal {
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: 100lvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: 100lvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        max-height: 100vh !important;
        max-height: var(--join-mobile-modal-height, 100dvh) !important;
        max-height: 100dvh !important;
        max-height: 100lvh !important;
        max-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
      }

      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #calendarSheet.sgj-portal-overlay,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #builderModal.sgj-portal-overlay,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #detailModal.sgj-portal-overlay,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #regionSearchModal.sgj-portal-overlay,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #globalApplyOverlay.sgj-portal-overlay,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #joinMyMenuModal.sgj-portal-overlay,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #calendarSheet.sgj-portal-overlay.open::before,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #builderModal.sgj-portal-overlay.open::before,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #detailModal.sgj-portal-overlay.open::before,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #regionSearchModal.sgj-portal-overlay.open::before,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #globalApplyOverlay.sgj-portal-overlay.open::before,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #joinMyMenuModal.sgj-portal-overlay.open::before {
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: 100lvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: 100lvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        max-height: none !important;
      }

      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #calendarSheet.sgj-portal-overlay .calendar-sheet,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #builderModal.sgj-portal-overlay .builder-modal,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #detailModal.sgj-portal-overlay .detail-modal,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #regionSearchModal.sgj-portal-overlay .region-search-modal,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #globalApplyOverlay.sgj-portal-overlay .detail-apply-panel,
      html.join-google-app-browser.join-mobile-modal-chrome-collapsed body > #joinMyMenuModal.sgj-portal-overlay .join-my-modal {
        height: 100vh !important;
        height: var(--join-mobile-modal-height, 100dvh) !important;
        height: 100dvh !important;
        height: 100lvh !important;
        height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        min-height: 100vh !important;
        min-height: var(--join-mobile-modal-height, 100dvh) !important;
        min-height: 100dvh !important;
        min-height: 100lvh !important;
        min-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
        max-height: 100vh !important;
        max-height: var(--join-mobile-modal-height, 100dvh) !important;
        max-height: 100dvh !important;
        max-height: 100lvh !important;
        max-height: max(var(--join-mobile-modal-height, 100dvh), 100dvh, 100lvh) !important;
      }

    }

    @media (min-width: 641px) {
      .sgj-page .join-mdpick-region {
        color: #8a909a;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
      }

      .sgj-page .join-mdpick-theme-region {
        color: #8a909a;
        font-size: 15px;
        line-height: 1.25;
        font-weight: 700;
      }
    }

    #secret-golf-join.sgj-page .join-overseas-best-filters {
      flex: 0 0 auto;
      justify-content: flex-end;
      margin-left: auto;
    }

    #secret-golf-join.sgj-page #joinMyHomeSection:not(:empty) {
      display: block;
      margin-bottom: 56px;
    }

    #secret-golf-join.sgj-page .join-my-home-filters {
      flex: 0 0 auto;
      justify-content: flex-end;
      margin-left: auto;
    }

    #secret-golf-join.sgj-page .join-my-home-filters-mobile {
      display: none;
    }

    #secret-golf-join.sgj-page .join-my-home-panels,
    #secret-golf-join.sgj-page .join-my-home-panel {
      width: 100%;
      min-width: 0;
      max-width: 100%;
    }

    #secret-golf-join.sgj-page .join-my-home-panel[hidden],
    #secret-golf-join.sgj-page .join-product-section.layout-my .join-card[hidden],
    #secret-golf-join.sgj-page .join-my-home-more[hidden] {
      display: none !important;
    }

    #secret-golf-join.sgj-page .join-overseas-best-filters-mobile {
      display: none;
    }

    #secret-golf-join.sgj-page .join-overseas-best-empty {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 150px;
      padding: 28px 20px;
      border-radius: 18px;
      background: #f8f9fa;
      color: var(--text-soft);
      font-size: 15px;
      font-weight: 600;
      text-align: center;
    }

    @media (min-width: 641px) {
      #secret-golf-join.sgj-page .join-product-section.layout-overseas .join-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 1px;
        overflow: visible;
        scroll-snap-type: none;
      }

      #secret-golf-join.sgj-page .join-product-section.layout-overseas .join-card {
        flex: none;
        width: auto;
        min-width: 0;
        max-width: none;
        scroll-snap-align: none;
      }

      #secret-golf-join.sgj-page .join-product-section.layout-overseas .join-section-controls,
      #secret-golf-join.sgj-page .join-product-section.layout-overseas .join-slide-dots {
        display: none !important;
      }
    }

    @media (min-width: 1170px) {
      #secret-golf-join.sgj-page .join-product-section.layout-overseas .join-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }
    }

    @media (max-width: 640px) {
      #secret-golf-join.sgj-page #joinMyHomeSection:not(:empty) {
        margin-bottom: 44px;
      }

      #secret-golf-join.sgj-page .join-my-home-filters {
        gap: 4px;
      }

      #secret-golf-join.sgj-page .join-my-home-filters-desktop {
        display: none;
      }

      #secret-golf-join.sgj-page .join-my-home-filters-mobile {
        display: flex;
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
      }

      #secret-golf-join.sgj-page .join-product-section.layout-my,
      #secret-golf-join.sgj-page .join-product-section.layout-my .join-my-home-panels,
      #secret-golf-join.sgj-page .join-product-section.layout-my .join-my-home-panel {
        min-width: 0;
        max-width: 100%;
      }

      #secret-golf-join.sgj-page .join-my-home-more {
        display: none !important;
      }

      #secret-golf-join.sgj-page .join-overseas-best-filters {
        gap: 4px;
      }

      #secret-golf-join.sgj-page .join-overseas-best-filters-desktop {
        display: none;
      }

      #secret-golf-join.sgj-page .join-overseas-best-filters-mobile {
        display: flex;
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
      }

      #secret-golf-join.sgj-page .join-overseas-best-more {
        display: none !important;
      }
    }
