/* ── 리워드웍스 브랜드 컬러 ── */
:root {
  /* popup brand gradient */
  --rw-pop-a:#2F5BFF;
  --rw-pop-b:#5B73FF;
  --rw-pop-c:#5960FF;

  /* Rewardworks web tone (approx.) */
  --primary:       #2F5BFF; /* main blue */
  --primary-light: #4D77FF;
  --primary-dark:  #2447CC;
  --secondary:     #FFA47A;
  --success:       #09c377;
  --info:          #3EBCB9;
  --warning:       #E56809;
  --danger:        #ef4444;
  --dark:          #0b1020;
  --border:        #e6e9f2;
  --text:          #1f2328;
  --text-muted:    #6b7280;

  /* Sidebar (left menu) */
  --sidebar-bg:    #0b1020;
  --sidebar-bg-2:  #0a1633;
  --sidebar-text:  rgba(255,255,255,0.78);
  --sidebar-text-dim: rgba(255,255,255,0.52);
  --sidebar-active-bg: rgba(47,91,255,0.18);
  --sidebar-active-line: #2F5BFF;

  /* Rewardworks Logo Gradient (dark tone, from provided logo #2) */
  --rw-grad-a: #3D5EC3; /* blue */
  --rw-grad-b: #473DFE; /* deep blue-purple */
  --rw-grad-c: #513AF0; /* purple-blue */
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: 'Pretendard Variable', 'Pretendard', 'Noto Sans KR', sans-serif;
  background: #f4f5f9;
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ════════════════ SIDEBAR ════════════════ */


/*
.sidebar {
  isolation: isolate;
  position: fixed; left: 0; top: 0; bottom: 0; width: 220px;
  background:
    radial-gradient(900px 520px at 18% -10%, rgba(61, 94, 195, .22), transparent 62%),
    radial-gradient(800px 520px at 92% 22%, rgba(71, 61, 254, .16), transparent 60%),
    linear-gradient(180deg, #0b1020 0%, #0b1430 46%, #0a1633 100%);
  z-index: 200;
  display: flex; flex-direction: column;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.16) transparent;

  /*position: fixed;*//*
  overflow-x: hidden;
}
.sidebar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.18);
  pointer-events: none;
}
.sidebar > * { position: relative; }
.sidebar::-webkit-scrollbar { width: 4px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 2px; }

.sidebar-header {
  padding: 20px 18px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.sidebar-logo { display: flex; align-items: center; gap: 10px; }
.logo-mark {
  width: 34px; height: 34px;
  background: linear-gradient(135deg, var(--primary), #7C3AED);
  border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 800; color: #fff;
  flex-shrink: 0;
}
.logo-text { color: #fff; font-size: 13px; font-weight: 700; line-height: 1.3; }
.logo-text span { display: block; color: rgba(255,255,255,.5); font-size: 11px; font-weight: 400; }

.sidebar-user {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.user-name { color: #fff; font-size: 14px; font-weight: 600; margin-bottom: 6px; }

.user-badge {
  display: inline-block;
  background: #cd7f32;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  margin-bottom: 10px;
}
.user-points-row {
  display: flex; align-items: center; justify-content: space-between;
}
.points-label { color: rgba(255,255,255,.5); font-size: 11px; display: block; margin-bottom: 2px; }
.points-value { color: var(--secondary); font-size: 15px; font-weight: 700; }
.btn-charge {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.btn-charge:hover { background: var(--primary-light); }

.sidebar-nav { padding: 12px 0; flex: 1; }
.nav-section-label {
  padding: 10px 18px 4px;
  color: var(--sidebar-text-dim);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nav-item {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 18px;
  color: var(--sidebar-text);
  text-decoration: none;
  font-size: 13px;
  cursor: pointer;
  transition: background .15s;
  border-left: 3px solid transparent;
  position: relative;
}
.nav-item:hover { background: rgba(255,255,255,.07); }
.nav-item.active {
  background: var(--sidebar-active-bg);
  color: #fff;
  border-left-color: var(--sidebar-active-line);
  font-weight: 600;
}
.nav-item .nav-icon { width: 18px; height: 18px; display: inline-flex; align-items:center; justify-content:center; color: currentColor; flex: 0 0 18px; }
.nav-item .nav-icon svg { width: 18px; height: 18px; display:block; }
.nav-item .nav-icon svg * { vector-effect: non-scaling-stroke; }
.nav-badge {
  margin-left: auto;
  background: var(--danger);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 10px;
}
.nav-badge.new {
  background: #22c55e;
}


*/


/* ════════════════ TOPBAR ════════════════ */
.topbar {
  position: fixed; top: 0; left: 220px; right: 0;
  height: 56px;
  background: #fff;
  border-bottom: 1px solid var(--border);
  z-index: 100;
  display: flex; align-items: center;
  padding: 0 24px;
  gap: 0;
}
.topbar-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  flex: 1;
}
.topbar-btns {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ════════════════ BUTTONS ════════════════ */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 5px;
  border: none; border-radius: 8px;
  font-family: inherit;
  font-size: 13px; font-weight: 600;
  cursor: pointer;
  padding: 8px 16px;
  transition: all .15s;
  white-space: nowrap;
}
.btn-primary {
  background: var(--primary);
  color: #fff;
}
.btn-primary:hover { background: var(--primary-light); }
.btn-outline {
  background: transparent;
  border: 1.5px solid var(--border);
  color: var(--text);
}
.btn-outline:hover { border-color: var(--primary); color: var(--primary); }
.btn-orange {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #fff;
  box-shadow: 0 10px 22px rgba(245, 158, 11, .22);
}
.btn-orange:hover { background: linear-gradient(135deg, #f59e0b, #d97706); }

/* ════════════════ MAIN LAYOUT ════════════════ */
.page-wrapper {

  margin-top: 56px;
  display: flex;
  min-height: calc(100vh - 56px);
}
.main-content {
  flex: 1 1 auto;
  padding: 0px 24px 24px 24px;
  min-width: 0;
  padding-bottom: 24px;
  width: 100%;
}
.right-panel {
  width: 300px;
  min-width: 280px;
  flex-shrink: 0;
  background: #fff;
  border-left: 1px solid var(--border);
  padding: 0;
  position: sticky;
  top: 87px;
  height: calc(100vh - 113px);
  overflow-y: auto;
  scrollbar-width: thin;
}


/* ════════════════ SECTION CARDS ════════════════ */
.section-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--border);
  padding: 24px;
  margin-bottom: 20px;
}
.section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  
  margin-bottom: 20px;
  padding-bottom: 16px;
  
  border-bottom: 1px solid #f0f0f0;
}
.section-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.section-icon {
  width: 36px; height: 36px;
  background: #f0eef8;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
}
.section-title { font-size: 16px; font-weight: 700; color: var(--text); }
.section-subtitle { font-size: 12px; color: var(--text-muted); margin-top: 2px; }

/* ════════════════ FORM ELEMENTS ════════════════ */
.form-field { margin-bottom: 20px; }
.form-label {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--text);
  margin-bottom: 8px;
}
.badge-required {
  background: var(--danger);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
}
.badge-optional {
  background: #e0e0e0;
  color: #666;
  font-size: 9px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}
.badge-select {
  background: #e8f5e9;
  color: #388e3c;
  font-size: 9px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}
.form-input {
  width: 100%;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  padding: 10px 14px;
  font-family: inherit;
  font-size: 13px;
  color: var(--text);
  background: #fff;
  transition: border-color .15s;
  outline: none;
}
.form-input:focus { border-color: var(--primary); }
.form-input::placeholder { color: #bbb; }
.form-hint {
  margin-top: 5px;
  font-size: 11px;
  color: var(--text-muted);
  display: flex; align-items: center; gap: 4px;
}

/* ════════════════ RADIO CHIPS ════════════════ */
.radio-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.radio-chip{height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-weight:800;font-size:14px;letter-spacing:-.2px;cursor:pointer;user-select:none;transition:.15s ease;}
.radio-chip:hover{border-color:rgba(47,91,255,.55);color:var(--primary);box-shadow:0 2px 10px rgba(15,23,42,.06);}
.radio-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 10px 22px rgba(47,91,255,.28);}

/* ════════════════ MEDIA GRID (Modern / Wider) ════════════════ */
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:8px;}
.media-card{border:1.5px solid var(--border);border-radius:14px;padding:18px 16px;cursor:pointer;transition:all .15s;position:relative;background:#fff;min-height:132px;display:flex;flex-direction:column;}
.media-card:hover{border-color:rgba(47,91,255,.45);box-shadow:0 10px 22px rgba(15,23,42,.06);}
.media-card.active{border-color:var(--primary);background:rgba(47,91,255,.05);box-shadow:0 10px 24px rgba(47,91,255,.10);}
.media-card.active::before{content:"✓";position:absolute;top:10px;right:12px;color:var(--primary);font-size:14px;font-weight:900;}
.mc-title-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.mc-radio{width:16px;height:16px;border-radius:50%;border:2px solid #cbd5e1;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.media-card.active .mc-radio{border-color:var(--primary);background:var(--primary);}
.media-card.active .mc-radio::after{content:"";width:6px;height:6px;border-radius:50%;background:#fff;display:block;}
.mc-title{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.2px;}
.mc-badge-new,.mc-badge-beauty,.mc-badge-best{margin-left:auto;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;}
.mc-badge-new{background:#22c55e;color:#fff;}
.mc-badge-beauty{background:#ec4899;color:#fff;}
.mc-desc{font-size:12px;color:var(--text-muted);line-height:1.55;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.55em * 3);}
.mc-icons{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;}
.mc-icon-dot{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;}

/* ════════════════ DATE FIELDS ════════════════ */
.date-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.date-row .form-input { flex: 1; }
.date-separator { color: var(--text-muted); font-size: 16px; flex-shrink: 0; }
.date-hints { display: flex; gap: 10px; margin-top: 6px; }
.date-hint-item { flex: 1; font-size: 11px; color: var(--text-muted); }

/* ════════════════ SPINNER ════════════════ */
.spinner-row {
  display: flex; align-items: center; gap: 0;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  width: fit-content;
  background: #fff;
}
.spinner-btn {
  width: 36px; height: 36px;
  border: none;
  background: #f8f9fa;
  color: var(--text);
  font-size: 18px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .1s;
  flex-shrink: 0;
}
.spinner-btn:hover { background: #e9ecef; }
.spinner-input {
  width: 75px !important;
  border: none;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  text-align: center;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  padding: 8px 4px;
  outline: none;
}
.spinner-unit {
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-muted);
  background: #f8f9fa;
  align-self: stretch;
  display: flex; align-items: center;
}

/* 모집인원 힌트(연두색) */
#memberCntHint{color:#22c55e !important;font-weight:700;}
/* 동적 힌트 컬러 */
#memberCntHint{color:#22c55e !important;font-weight:700;}
#subDayRunHint{color:var(--text-muted);font-weight:600;}


/* ════════════════ 경쟁 난이도 ════════════════ */
.difficulty-guide {
  margin-left: 20px;
  flex: 1;
}
.difficulty-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px;
  margin-bottom: 4px;
}
.diff-badge {
  font-weight: 700;
  font-size: 12px;
  min-width: 44px;
}
.diff-badge.low { color: #22c55e; }
.diff-badge.mid { color: #f59e0b; }
.diff-badge.high { color: var(--danger); }
.diff-desc { color: var(--text-muted); }

/* ════════════════ KEYWORD ════════════════ */
.kw-input-row {
  display: flex; gap: 8px;
  align-items: stretch;
}
.kw-input-row .form-input { flex: 1; }
.btn-analyze { display: none !important; }
.kw-notice {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 11px;
  color: #166534;
  display: flex; align-items: flex-start; gap: 6px;
  margin-top: 8px;
}
.kw-notice input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; }
.kw-split-row {
  display: flex; align-items: center; gap: 8px;
  margin-top: 8px;
  padding: 8px 12px;
  background: #f8f6ff;
  border-radius: 6px;
  font-size: 12px;
  color: var(--text-muted);
}
.kw-split-row input[type="checkbox"] { accent-color: var(--primary); }
.kw-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 13px;
}
.kw-table th {
  background: #f8f9fa;
  border: 1px solid var(--border);
  padding: 8px 12px;
  text-align: left;
  font-weight: 600;
  color: var(--text-muted);
  font-size: 12px;
}
.kw-table td {
  border: 1px solid var(--border);
  padding: 6px 8px;
}
.kw-table td:last-child { width: 30px; text-align: center; }
.kw-input {
  width: 100%;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 13px;
  background: transparent;
  padding: 2px 4px;
}
.kw-del { cursor: pointer; color: #ccc; font-size: 14px; }
.kw-del:hover { color: var(--danger); }
.btn-add-kw {
  border: 1.5px dashed var(--primary-light);
  background: transparent;
  color: var(--primary);
  border-radius: 8px;
  padding: 8px 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 8px;
  transition: background .15s;
}
.btn-add-kw:hover { background: #f0eef8; }
.kw-summary {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 10px 14px;
  margin-top: 10px;
  font-size: 12px;
  color: var(--text-muted);
}
.kw-summary strong { color: var(--text); }

/* ════════════════ INSPECT ════════════════ */
.btn-inspect {
  background: linear-gradient(90deg, var(--rw-pop-a), var(--rw-pop-b), var(--rw-pop-c));
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 12px 24px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  display: flex; align-items: center; gap: 8px;
  transition: transform .15s ease, filter .15s ease, opacity .15s;
}
.btn-inspect:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.inspect-result{
  border: 1.5px solid rgba(47,91,255,.26);
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 12px;
  background: #f5f7ff;
  display: none;
}
.inspect-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid rgba(62,188,185,.15);
  font-size: 13px;
}
.inspect-row:last-child { border-bottom: none; }
.inspect-label { color: var(--text-muted); }
.inspect-value {
/*
  display: flex; 
  align-items: center; 
*/
  gap: 4px;
  font-weight: 600;
  color: var(--text);
  min-width:60px;
  word-break: keep-all;      /* 단어 중간 줄바꿈 금지 */
  white-space: normal;
}

.inspect-fail{
  background: var(--danger);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  min-width:40px;
}

.inspect-ok {
  background: var(--success);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  min-width:60px;
}
.inspect-biz {
  color: var(--primary);
  font-weight: 700;
}
.inspect-cat {
  color: var(--text-muted);
  font-size: 12px;
}

/* ════════════════ SELECTED SERVICES ════════════════ */
.service-box {
  border: 1.5px solid var(--primary-light);
  border-radius: 12px;
  padding: 18px;
  margin-top: 16px;
  background: #fcfbff;
}
.service-box-title {
  font-size: 14px; font-weight: 700; color: var(--text);
  margin-bottom: 14px;
}
.service-item {
  display: flex; align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0eef8;
  gap: 8px;
}
.service-item:last-of-type { border-bottom: none; }
.service-name { font-size: 13px; color: var(--text-muted); min-width: 100px; }
.service-detail {
  font-size: 12px;
  color: var(--primary);
  font-weight: 600;
  flex: 1;
}
.service-price {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
}
.service-del {
  color: #ccc;
  font-size: 14px;
  cursor: pointer;
  padding: 2px 4px;
}
.service-del:hover { color: var(--danger); }
.service-total-row {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 12px;
  margin-top: 8px;
  border-top: 1.5px solid #e0dbf5;
}
.service-total-label { font-size: 15px; font-weight: 700; color: var(--text); }
.service-total-price { font-size: 18px; font-weight: 800; color: var(--primary); }

/* ════════════════ BOTTOM BAR ════════════════ */
.bottom-bar {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0;
  margin-bottom: 32px;
}
.bottom-bar-left {
  font-size: 12px;
  color: var(--text-muted);
  display: flex; align-items: center; gap: 6px;
}
.bottom-bar-btns { display: flex; gap: 8px; }

/* ════════════════ RIGHT PANEL ════════════════ */
.right-panel-header {
  background: var(--primary);
  padding: 18px 20px;
  display: flex; align-items: center; gap: 10px;
  position: sticky;
  top: 0;
  z-index: 10;
}
.right-panel-header-icon {
  width: 32px; height: 32px;
  background: rgba(255,255,255,.2);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px;
}
.right-panel-header-text .title { color: #fff; font-size: 15px; font-weight: 700; }
.right-panel-header-text .sub { color: rgba(255,255,255,.7); font-size: 11px; margin-top: 1px; }
.right-panel-body { padding: 18px 20px; }
.rp-section { margin-bottom: 20px; }
.rp-section-title {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 700; color: var(--text);
  margin-bottom: 10px;
}
.rp-icon { font-size: 15px; }
.rp-list { list-style: none; padding: 0; }
.rp-list li {
  font-size: 12px;
  color: #444;
  padding: 3px 0 3px 14px;
  position: relative;
  line-height: 1.5;
}
.rp-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--primary);
  font-weight: 700;
}
.rp-divider {
  height: 1px;
  background: var(--border);
  margin: 16px 0;
}
.rp-highlight {
  background: #f0fdf4;
  border-left: 3px solid var(--success);
  padding: 8px 12px;
  border-radius: 0 6px 6px 0;
  font-size: 12px;
  color: #166534;
  margin: 8px 0;
  line-height: 1.5;
}
.rp-highlight strong { font-weight: 700; }
.rp-example-box {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 12px 14px;
  margin: 10px 0;
}
.rp-example-title {
  font-size: 12px; font-weight: 700; color: #92400e;
  margin-bottom: 8px;
}
.rp-example-item { margin-bottom: 12px; }
.rp-example-item-title {
  display: flex; align-items: center; gap: 6px;
  margin-bottom: 5px;
}
.rp-loc-badge {
  background: var(--primary);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}
.rp-example-kws { display: flex; flex-wrap: wrap; gap: 4px; }
.rp-kw-chip {
  border: 1px solid #c4b5fd;
  color: var(--primary);
  background: #faf5ff;
  border-radius: 4px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 500;
}
.rp-tip-box {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 12px;
  color: #9a3412;
  margin: 8px 0;
}
.rp-tip-box strong { font-weight: 700; color: #c2410c; }
.rp-ai-box {
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 12px;
  color: #0c4a6e;
  margin: 8px 0;
  line-height: 1.5;
}

.rp-ai-list{margin:0; padding-left:0px;}
.rp-ai-list li{margin:6px 0; color:var(--text);}
.rp-ai-list li::marker{color: #3b82f6;}
.rp-cost-box {
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 12px;
  color: #78350f;
  margin: 8px 0;
  line-height: 1.5;
}

/* ════════════════ SIDEBAR OVERLAY (mobile) ════════════════ */
.sidebar-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 190;
}
.sidebar-overlay.show { display: block; }

/* ════════════════ RESPONSIVE ════════════════ */
@media (max-width: 1200px) {
  .right-panel { width: 260px; min-width: 240px; }
}
@media (max-width: 1100px) {
  .media-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 1024px) {
  .sidebar { transform: translateX(-100%); transition: transform .25s; }
  .sidebar.open { transform: translateX(0); }
  .sidebar-overlay { display: none; }
  .sidebar-overlay.show { display: block; }
  .topbar { left: 0; padding-left: 16px; }
  .page-wrapper { margin-left: 0; }
  .topbar-title { font-size: 14px; }
  .menu-toggle {
    display: flex;
    width: 32px; height: 32px;
    align-items: center; justify-content: center;
    background: none; border: none;
    font-size: 20px;
    cursor: pointer;
    margin-right: 10px;
    color: var(--text);
  }
}
@media (min-width: 1025px) {
  .menu-toggle { display: none; }
}
@media (max-width: 900px) {
  .right-panel { display: none; }
}
@media (max-width: 768px) {
  .main-content { padding: 0px 16px 16px 16px; }
  .topbar { height: 52px; }
  .page-wrapper { margin-top: 52px; }
  .topbar-btns .btn-outline { display: none; }
  .media-grid { grid-template-columns: repeat(2, 1fr); }
  .date-row { flex-direction: column; }
  .date-separator { display: none; }
}
@media (max-width: 480px) {
  .main-content { padding: 0px 12px 12px 12px; }
  .media-grid { grid-template-columns: 1fr; }
  .bottom-bar { padding: 10px 16px; flex-wrap: wrap; gap: 10px; }
  .topbar-btns .btn-primary:not(:last-child) { display: none; }
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}


/* ── 검색어 가이드 ? 버튼 ── */
.kw-help-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: #534686;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  border: none;
  cursor: pointer;
  margin-left: 6px;
  vertical-align: middle;
  line-height: 1;
  flex-shrink: 0;
  position: relative;
  top: -1px;
}
.kw-help-btn:hover { background: #3d3266; }

/* ── 툴팁 팝업 ── */
/* ════ ? 가이드 팝업 CSS ════ */
/* ═══════════════════════════════════════
   검색어 가이드 팝업 - 이미지 슬라이드 방식
═══════════════════════════════════════ */
/* ─── 팝업 공통 오버레이 방식 ─── */
.help-popup-wrap{
  position: fixed; inset: 0;
  display: none;
  align-items: center; justify-content: center;
  background: rgba(10,14,24,.55);
  backdrop-filter: blur(8px);
  z-index: 9999;
  padding: 18px;
}
.help-popup-wrap.visible{ display:flex; }

.help-popup-wrap.visible {
  display: flex;
  animation: gpFadeIn .22s ease;
}
@keyframes gpFadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
/* 검색어 도움말 팝업 (슬라이더) */
#kwGuidePopup.help-popup-wrap { display:none; }
#kwGuidePopup.help-popup-wrap.visible { display:flex; }
.help-popup-box{
  width: 860px;
  max-width: min(980px, calc(100vw - 24px));
  max-height: min(92vh, 820px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 90px rgba(0,0,0,.38);
  overflow: hidden;
  border: 1px solid rgba(47,91,255,.18);
}

/* 헤더 */
.kwgp-header{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 16px;
  color:#fff;
  background: linear-gradient(90deg, var(--rw-pop-a), var(--rw-pop-b), var(--rw-pop-c));
}

.kwgp-header-left{
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.2px;
  display:flex; align-items:center; gap:8px;
}

.kwgp-close-btn{
  width: 34px; height: 34px;
  border: 0;
  border-radius: 10px;
  background: rgba(255,255,255,.18);
  color:#fff;
  font-size: 18px;
  cursor: pointer;
  transition: .15s ease;
}
.kwgp-close-btn:hover{ background: rgba(255,255,255,.28); transform: translateY(-1px); }

.kwgp-close-btn:hover { background: rgba(255,255,255,.45); }

/* 슬라이드 */
.kwgp-slides{
  padding: 14px;
  background: linear-gradient(180deg, rgba(47,91,255,.06), transparent 55%);
}

.kwgp-slide{
  display:none;
  grid-template-columns: 1fr;
  gap: 12px;
}
.kwgp-slide.active{ display:grid; }

.kwgp-slide.active { display: flex; }
@keyframes slideIn {
  from { opacity:0; transform:translateX(18px); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes slideInPrev {
  from { opacity:0; transform:translateX(-18px); }
  to   { opacity:1; transform:translateX(0); }
}
.kwgp-slide.prev-dir { animation: slideInPrev .28s ease; }

/* 이미지 - 균일 고정 높이 */
.kwgp-img-wrap{
  width: 100%;
  height: 520px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  display:flex; align-items:center; justify-content:center;
  position: relative;
}
.kwgp-img-wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .22s ease;
  transform-origin: 50% 50%;
  will-change: transform;
  cursor: default;
}


/* kwGuidePopup: 크게 보기(확대기능 제거) */
#kwGuidePopup .help-popup-box{width:min(1600px,98vw);max-height:96vh;}
#kwGuidePopup .kwgp-slides{padding:16px; overflow:auto; max-height: calc(96vh - 170px);}
#kwGuidePopup .kwgp-slide.active{display:grid; grid-template-columns: 1.65fr .85fr; gap:18px; align-items:stretch;}
#kwGuidePopup .kwgp-img-wrap{height: clamp(720px, 80vh, 1100px); background:#fff; border-color:#e6e9f2;}
#kwGuidePopup .kwgp-img-wrap img{object-fit:contain; cursor:default; transition:none; transform:none !important; transform-origin:50% 50% !important;}


/* 캡션 */
.kwgp-caption{
  padding: 12px 14px;
  border: 1px solid #eef2ff;
  border-radius: 14px;
  background: #ffffff;
}
.kwgp-caption-badge{
  display:inline-flex; align-items:center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,91,255,.12);
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 8px;
}

.kwgp-caption-title{
  font-size: 15px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -.2px;
  line-height: 1.45;
  margin-bottom: 6px;
}

.kwgp-caption-desc{
  font-size: 13px;
  color: #4b5563;
  line-height: 1.7;
}


/* 하단 네비게이션 */
.kwgp-nav{
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  border-top: 1px solid #eef2ff;
  background: #fff;
}
#kwgpBtnPrev{ justify-self: start; }
#kwgpDots{ justify-self: center; }
#kwgpBtnNext{ justify-self: end; }

.kwgp-nav-btn{
  height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
  font-weight: 800;
  cursor: pointer;
  transition: .15s ease;

  min-width: 148px;
  justify-content: center;
}
.kwgp-nav-btn:hover{ background:#fff; transform: translateY(-1px); }
.kwgp-nav-btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; }

.kwgp-nav-btn:hover{ border-color: rgba(47,91,255,.35); color: #1f3cff; background: #eef2ff; }
.kwgp-nav-btn.primary{
  border: 0;
  background: linear-gradient(90deg, var(--rw-pop-a), var(--rw-pop-b), var(--rw-pop-c));
  color: #fff;
  box-shadow: 0 10px 26px rgba(47,91,255,.28);
}
.kwgp-nav-btn.primary:hover{ filter: brightness(1.03); }

.kwgp-nav-btn.primary:hover{ filter: brightness(1.03); }
.kwgp-nav-btn:disabled { opacity:.4; cursor:default; pointer-events:none; }

/* 인디케이터 */
.kwgp-dots {
  display: flex; gap: 5px;
  align-items: center; justify-content: center;
  flex: 0 0 auto;
}
.kwgp-dot{
  width: 8px; height: 8px;
  border-radius: 999px;
  background: rgba(47,91,255,.22);
  transition: all .25s; cursor: pointer;
}

.kwgp-dot.active{
  width: 26px;
  background: var(--primary);
  border-radius: 999px;
}


/* 일반 도움말 팝업 */
.simple-help-popup{
  background:#fff;
  border-radius: 16px;
  box-shadow: 0 18px 60px rgba(0,0,0,.26);
  border: 1px solid rgba(47,91,255,.22);
  width: 440px;
  max-width: calc(100vw - 32px);
  overflow: hidden;
  flex-shrink: 0;
}
.shp-header{
  background: linear-gradient(90deg, var(--rw-pop-a), var(--rw-pop-b), var(--rw-pop-c));
  color:#fff;
  font-size: 14px;
  font-weight: 800;
  padding: 12px 16px;
  display:flex; align-items:center; justify-content:space-between;
}
.shp-body { padding: 16px 18px 20px; }
.shp-row { margin-bottom: 10px; font-size: 13px; color: #333; line-height: 1.7; }
.shp-row:last-child { margin-bottom: 0; }
.shp-row strong{ color: #1f3cff; font-weight: 800; }
.shp-example{
  background: #f3f6ff;
  border: 1px solid rgba(47,91,255,.18);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 12px;
  color: #334155;
  line-height: 1.8;
  margin-top: 6px;
}
.shp-note { color: #ef4444; font-size: 11px; margin-top: 6px; }







@media (max-width: 768px){
  .help-popup-box{ width: 100%; }
  .kwgp-img-wrap{ height: 46vh; }
}


/* right-panel auto-hide */
.right-panel:empty{display:none !important;}



/* === Patch: remove selected checkmark (top-right) === */
.media-card.active::before{content:'' !important; display:none !important;}

/* === Patch: media company icons + tooltip === */
.mc-media-item{width:28px;height:28px;border-radius:999px;overflow:visible;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.55);background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;}
.mc-media-item img{width:100%;height:100%;object-fit:contain;padding:4px;border-radius:999px;background:#fff;}
.mc-media-item:hover{transform:translateY(-1px);border-color:rgba(47,91,255,.45);box-shadow:0 10px 18px rgba(15,23,42,.12);z-index:5;}
.mc-media-item::after{content:attr(data-name);position:absolute;left:50%;bottom:36px;transform:translateX(-50%);background:#111827;color:#fff;font-size:11px;font-weight:800;padding:6px 8px;border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease;box-shadow:0 14px 28px rgba(0,0,0,.18);}
.mc-media-item::before{content:'';position:absolute;left:50%;bottom:30px;transform:translateX(-50%);border:6px solid transparent;border-top-color:#111827;opacity:0;pointer-events:none;transition:opacity .12s ease;}
.mc-media-item:hover::after,.mc-media-item:hover::before{opacity:1;}


/* === Patch v2: remove inner white space in icons === */
.mc-media-item{background:transparent !important;}
.mc-media-item img{padding:0 !important;background:transparent !important; transform:scale(1.08);}
.mc-media-item img{border-radius:999px;}


/* === Patch: match icon size with neighbor dots (keep tooltip & spacing) === */
.mc-media-item{width:24px !important;height:24px !important;box-sizing:border-box !important;border-radius:999px !important;}
.mc-media-item img{padding:0 !important;transform:scale(1.10) !important;background:transparent !important;}
.mc-media-item{border:1px solid rgba(148,163,184,.55) !important; box-shadow:none !important;}
.mc-icons{gap:6px !important;}
.mc-media-item:hover{transform:translateY(-1px) !important;}
.media-card.active::before{content:'' !important; display:none !important;}

.mc-badge-best{background:#f97316;color:#fff;}


.page-wrapper .page-body-wrapper {
    position: relative;
    top: -25px;
    width: 100%;
}

.media-card.disabled{
    pointer-events:none;        /* 클릭 완전 차단 */
    opacity:0.45;               /* 흐리게 */
    filter:grayscale(70%);      /* 색 죽이기 */
    cursor:not-allowed;         /* 금지 커서 */
    background:#f3f4f6;         /* 비활성 배경 */
    border-color:#e5e7eb;
}

.media-card.disabled .mc-icon-dot{
    opacity:0.6;
}

.date-input-wrap {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
}

.date-input-wrap input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-right: 40px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url("https://cdn-icons-png.flaticon.com/512/747/747310.png") no-repeat right 12px center;
    background-size: 16px;
}

.calendar-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    z-index: 2;
    pointer-events: none; /* 아이콘은 보이기만 하고 input 클릭 유지 */
}



#quest_edate {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
}

/* 아이콘도 비활성 느낌 */
#quest_edate + .calendar-icon {
    opacity: 0.5;
    cursor: not-allowed;
}

.date-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.date-row > .date-input-wrap {
    display: block;
    flex: 0 0 calc(50% - 6px) !important;
    width: calc(50% - 6px) !important;
    min-width: 0 !important;
    max-width: calc(50% - 6px) !important;
}

.date-input-wrap {
    position: relative;
}

.date-input-wrap input {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .date-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 8px;
    }

    .date-row > .date-input-wrap {
        flex: 0 0 calc(50% - 4px) !important;
        width: calc(50% - 4px) !important;
        max-width: calc(50% - 4px) !important;
        min-width: 0 !important;
    }

    .date-input-wrap input {
        width: 100%;
        min-width: 0;
        padding-right: 34px;
        background-position: right 8px center;
        background-size: 14px;
        font-size: 13px;
    }

    .calendar-icon {
        right: 8px;
        font-size: 14px;
    }
}



:root {
    --rw-primary: #6759FF;
    --rw-primary-dark: #4f46e5;
    --rw-primary-soft: #eef2ff;
    --rw-border: #e5e7eb;
    --rw-border-strong: #d6d9e0;
    --rw-text: #111827;
    --rw-text-muted: #6b7280;
    --rw-bg: #ffffff;
    --rw-bg-soft: #f8fafc;
    --rw-shadow: 0 10px 30px rgba(79, 70, 229, 0.12);
    --rw-radius: 14px;
}

/* 날짜 입력 줄 */
.date-row {
    display: flex;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    width: 100%;
}

.date-row > .date-input-wrap {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    position: relative;
}

/* 입력창 */
.rw-date-input {
    width: 100%;
    height: 44px;
    border: 1px solid var(--rw-border);
    border-radius: 12px;
    background: #fff;
    padding: 0 40px 0 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--rw-text);
    outline: none;
    box-sizing: border-box;
    transition: all .18s ease;
}

.rw-date-input:focus {
    border-color: var(--rw-primary);
    box-shadow: 0 0 0 4px rgba(103, 89, 255, 0.12);
}

.rw-date-input::placeholder {
    color: #9ca3af;
    font-weight: 500;
}

/* 종료일 비활성 느낌 */
.rw-disabled-date {
    background: #f9fafb;
    color: #6b7280;
    cursor: not-allowed;
}

/* 아이콘 */
.calendar-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
    line-height: 1;
    opacity: 0.82;
    pointer-events: none;
}

/* ===== flatpickr 커스텀 ===== */
.flatpickr-calendar {
    width: 280px !important;
    padding: 10px 10px 12px;
    border: 1px solid #ebeef5;
    border-radius: 18px;
    box-shadow: var(--rw-shadow);
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(8px);
    font-family: Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    display: none;
}

.flatpickr-months {
    margin-bottom: 6px;
}

.flatpickr-month {
    height: 42px;
}

.flatpickr-current-month {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding-top: 4px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rw-text);
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: none;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 800;
    color: var(--rw-text);
    padding: 0;
}

.flatpickr-current-month input.cur-year {
    font-size: 15px;
    font-weight: 800;
    color: var(--rw-text);
}

.flatpickr-prev-month,
.flatpickr-next-month {
    top: 10px !important;
    width: 30px;
    height: 30px;
    padding: 0 !important;
    border-radius: 10px;
    transition: all .16s ease;
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    background: var(--rw-primary-soft);
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
    width: 14px;
    height: 14px;
    fill: #4b5563;
}

.flatpickr-weekdays {
    background: transparent;
    margin-bottom: 3px;
}

span.flatpickr-weekday {
    color: var(--rw-text-muted);
    font-size: 11px;
    font-weight: 700;
    height: 26px;
    line-height: 26px;
}

.flatpickr-days {
    width: 100% !important;
}

.dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.flatpickr-day {
    max-width: none;
    width: 14.2857%;
    height: 34px;
    line-height: 34px;
    margin-top: 2px;
    border-radius: 10px;
    border: none;
    color: #1f2937;
    font-size: 13px;
    font-weight: 600;
    transition: all .14s ease;
}

.flatpickr-day:hover {
    background: #f3f4f6;
    color: var(--rw-text);
}

.flatpickr-day.today {
    border: 1px solid rgba(103, 89, 255, 0.28);
    background: #f8f7ff;
    color: var(--rw-primary-dark);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: linear-gradient(135deg, var(--rw-primary), var(--rw-primary-dark));
    color: #fff;
    border: none;
    box-shadow: 0 6px 14px rgba(103, 89, 255, 0.28);
}

.flatpickr-day.inRange {
    background: #eef2ff;
    border: none;
    box-shadow: none;
    color: var(--rw-primary-dark);
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #d1d5db;
    background: transparent;
    cursor: not-allowed;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #d1d5db;
}

/* 시간 숨김 안 쓸 거면 그대로 */
.flatpickr-time {
    display: none;
}

/* 모바일 */
@media (max-width: 768px) {
    .date-row {
        gap: 8px;
    }

    .rw-date-input {
        height: 42px;
        font-size: 13px;
        padding: 0 34px 0 12px;
    }

    .calendar-icon {
        right: 10px;
        font-size: 14px;
    }

    .flatpickr-calendar {
        width: 258px !important;
        padding: 8px 8px 10px;
        border-radius: 16px;
    }

    .flatpickr-current-month,
    .flatpickr-current-month .flatpickr-monthDropdown-months,
    .flatpickr-current-month input.cur-year {
        font-size: 14px;
    }

    .flatpickr-day {
        height: 32px;
        line-height: 32px;
        font-size: 12px;
        border-radius: 9px;
    }

    span.flatpickr-weekday {
        font-size: 10px;
    }
}



.rw-btn-row {
    display: flex;
    gap: 12px;
    width: 100%;
}

/* 공통 버튼 */
.rw-btn {
    flex: 1;
    height: 56px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: all 0.18s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: -0.2px;
}

/* 메인 버튼 (AI 추천) */
.rw-btn-primary {
    background: linear-gradient(135deg, #6759FF, #4f46e5);
    color: #fff;
    box-shadow: 0 6px 18px rgba(103, 89, 255, 0.25);
}

.rw-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(103, 89, 255, 0.35);
}

/* 서브 버튼 */
.rw-btn-outline {
    background: #fff;
    color: #4f46e5;
    border: 1.5px solid #e0e7ff;
}

.rw-btn-outline:hover {
    background: #eef2ff;
    border-color: #c7d2fe;
    transform: translateY(-1px);
}

/* 클릭 효과 */
.rw-btn:active {
    transform: scale(0.97);
}

/* 반응형 (항상 가로 유지) */
@media (max-width: 768px) {
    .rw-btn {
        height: 50px;
        font-size: 13px;
    }
}

/* 버튼 감싸는 영역 */
.ai-btn-wrap {
    position: relative;
    display: inline-block;
}

/* 버튼 본체 */
.ai-glow-btn {
    position: relative;
    z-index: 999;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;   /* ↓ 줄임 */
    height: 40px;       /* ↓ 줄임 */
    padding: 0 14px;    /* ↓ 줄임 */
    border: none;
    border-radius: 11px;
    overflow: hidden;
    cursor: pointer;
    font-size: 13px;    /* ↓ 줄임 */
    font-weight: 800;
    color: #fff;

    /* ✅ 여기 직접 넣는게 핵심 */
    background: linear-gradient(
        135deg,
        #4D5BFF 0%,
        #6370ff 45%,
        #3f4df5 100%
    );

    box-shadow:
        0 6px 16px rgba(77, 91, 255, 0.25),
        0 0 0 1px rgba(255,255,255,0.08) inset;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* 빛나는 테두리 */
.ai-glow-btn::before {
    content: "";
    position: absolute;
    inset: -1px;        /* ↓ 더 얇게 */
    border-radius: 12px;

    filter: blur(2.5px); /* ↓ 크기에 맞게 */

    background: linear-gradient(
        120deg,
        rgba(77, 91, 255, 0.6),   /* 기본 블루 */
        rgba(120, 134, 255, 0.9),

        /* 👇 무지개 살짝만 섞기 */
        rgba(255, 0, 150, 0.35),
        rgba(0, 200, 255, 0.35),
        rgba(0, 255, 150, 0.35),

        rgba(151, 162, 255, 0.9),
        rgba(77, 91, 255, 0.6)
    );

    background-size: 260% 260%;
    animation: aiBorderGlow 3.5s linear infinite;

    opacity: 0.85;      /* ❗ 과한 색감 방지 */

    z-index: -2;
}



/* hover */
.ai-glow-btn:hover {
    transform: translateY(-2px);
    box-shadow:
        0 16px 30px rgba(77, 91, 255, 0.34),
        0 0 28px rgba(77, 91, 255, 0.20);
}



/* 버튼 텍스트 */
.ai-glow-btn .btn-label {
    position: relative;
    left:-4px;
    z-index: 3;
}
/* 🔥 glow 테두리는 더 아래 */
.ai-glow-btn::before {
    z-index: -2;
}

/* 🔥 배경 */
.ai-glow-btn {
    z-index: 1;
}
/*말풍선*/
.ai-tooltip {
    position: absolute;
    top: calc(100% + 10px); /* 👈 아래로 */
    left: 50%;
    transform: translateX(-50%);
    background: #111827;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 9px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: all 0.25s ease;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.18);
}

/* 👇 꼬리 방향도 반대로 */
.ai-tooltip::after {
    content: "";
    position: absolute;
    bottom: 100%; /* 👈 위로 붙이기 */
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #111827 transparent;
}

/* hover 애니메이션 */
.ai-btn-wrap:hover .ai-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(4px);
}

/* 테두리 glow 애니메이션 */
@keyframes aiBorderGlow {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 200% 50%;
    }
}

/* shimmer 애니메이션 */
@keyframes aiShimmer {
    0% {
        left: -120%;
    }
    55% {
        left: 135%;
    }
    100% {
        left: 135%;
    }
}

/* 모바일 */
@media (max-width: 768px) {
    .ai-glow-btn {
        height: 44px;
        font-size: 13px;
        padding: 0 14px;
        border-radius: 11px;
    }

    .ai-glow-btn::before {
        border-radius: 14px;
    }

    .ai-glow-btn::after {
        border-radius: 11px;
    }

    .ai-tooltip {
        font-size: 11px;
        padding: 7px 10px;
    }
}

label {
    margin-bottom: 0;
}

.date-add{
    color:#c1c1c1;
}


.inspect-toast{
    position:fixed;
    left:50%;
    bottom:28px;
    transform:translateX(-50%) translateY(20px);

    /* 사이즈 조정 */
    min-width:170px;
    max-width:70vw;
    padding:9px 14px;
    border-radius:10px;

    /* 컬러 변경 */
    background:#2F5BFF;
    color:#fff;

    font-size:13px;
    font-weight:600;
    text-align:center;

    box-shadow:0 6px 18px rgba(0,0,0,.18);

    opacity:0;
    visibility:hidden;
    transition:all .25s ease;

    z-index:99999;
}

.inspect-toast.success{
    background:#2F5BFF;
    color:#fff;
}

.inspect-toast.show{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}

.inspect-toast.fail{
    background:rgba(220,38,38,0.96);
}

.inspect-toast.ok{
    background:rgba(22,163,74,0.96);
}

.btn-loading {
    position: relative;
    overflow: hidden;
}

.btn-loading::after {
    content: "";
    position: absolute;
    top: 0;
    left: -40%;
    width: 40%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.45),
        transparent
    );
    animation: btnShimmer 1.6s linear infinite;
}

@keyframes btnShimmer {
    0% { left: -40%; }
    100% { left: 120%; }
}

/* 점 애니메이션 */
.loading-dots::after {
    content: "";
    display: inline-block;
    width: 1em;
    text-align: left;
    animation: dots 1.2s steps(3,end) infinite;
}

@keyframes dots {
    0%   { content: ""; }
    33%  { content: "."; }
    66%  { content: ".."; }
    100% { content: "..."; }
}

#reviewScreen.active {
  display: block;
}

.review-type-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 4px;
}
@media (max-width: 900px) {
  .review-type-grid { grid-template-columns: 1fr; }
}
.review-type-card {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px 18px 14px;
  cursor: pointer;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
  position: relative;
}
.review-type-card:hover {
  border-color: var(--primary);
  box-shadow: 0 4px 18px rgba(47,91,255,.12);
}
.review-type-card.active {
    border-color: var(--primary);
    background: rgba(47, 91, 255, .05);
    box-shadow: 0 10px 24px rgba(47, 91, 255, .10);
}
.rtc-badge-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.rtc-badge-hot {
  background: #ef4444;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
}
.rtc-badge-new {
  background: #8b5cf6;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
}
.rtc-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 8px;
}
.rtc-desc {
  font-size: 12px;
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 12px;
}
.rtc-sns-row {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
.rtc-sns-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}
.rtc-sns-naver  { background: #03c75a; color: #fff; font-size: 10px; }
.rtc-sns-insta  { background: linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff; font-size: 10px; }
.rtc-sns-fb     { background: #1877f2; color: #fff; font-size: 10px; }
.rtc-sns-yt     { background: #ff0000; color: #fff; font-size: 10px; }
.rtc-sns-tiktok { background: #010101; color: #fff; font-size: 10px; }
.rtc-sns-thread { background: #000; color: #fff; font-size: 10px; }
.rtc-sns-more   { background: #e2e8f0; color: #64748b; font-size: 11px; border-radius: 50%; }
.rtc-radio {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  background: #fff;
  transition: border-color .15s;
}
.review-type-card.active .rtc-radio {
  border-color: var(--primary);
  background: var(--primary);
  box-shadow: inset 0 0 0 3px #fff;
}

#secR1{

    padding-top:15px;
    border-top:0px;
}

/* ── 리뷰 전용 우측 패널 ── */
.rp-warn-box {
  background: #fff9f0;
  border: 1px solid #fed7aa;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 12px;
}
.rp-warn-title {
  font-size: 12px;
  font-weight: 700;
  color: #c2410c;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.rp-warn-text {
  font-size: 11.5px;
  color: #78350f;
  line-height: 1.7;
}

.rp-text{
    font-size:13px;
}

#text-sub{
   font-size:auto;
   padding:0px;
   margin:0px;
   color:orange;
}
.service-detail{
    white-space: nowrap;      /* 줄바꿈 금지 */
    overflow: hidden;         /* 넘치는 부분 숨김 */
    text-overflow: ellipsis;  /* ... 표시 */
}









/* 블로그 전용 CSS 시작 */



.btn--primary{
  border-color: transparent;
  background:#2f5cff;
  color:#fff;
}
.btn--ghost{
  background:#f6f7fb;
}

.modal{
  position: fixed;
  inset: 0;
  z-index: var(--modal-z);
  display: none;
}
.modal.is-open{ display:block; }

.modal__backdrop{
  position:absolute;
  inset:0;
  background: var(--bg-dim);
}

.modal__dialog{
  position: relative;
  width: min(920px, calc(100vw - 32px));
  margin: 64px auto;
  background: var(--card);
  color: var(--text);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid var(--border);

  /* 내용 스크롤을 body에 주기 위해 */
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 128px);
  overflow: hidden;
}

.modal__header{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px 0px;
}
.modal__title{
  margin:0;
  font-size: clamp(16px, 1.2vw, 20px);
  font-weight: 700;
}
.modal__close{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
  color: #2b2b2b;
}

.modal__body{
  padding: 18px 22px;
  overflow: auto; /* 핵심: 모달 본문만 스크롤 */
  -webkit-overflow-scrolling: touch;
}

.modal__footer{
  padding: 16px 22px;
  border-top: 1px solid var(--border);
  display:flex;
  justify-content: flex-end;
  gap: 10px;
}

/* 약관 텍스트 스타일 */
.terms{
  font-size: clamp(14px, 1vw, 15px);
  line-height: 1.6;
  color: #222;
}
.terms h3{
  margin: 0 0 10px;
  font-size: clamp(14px, 1.05vw, 16px);
}
.terms p{ margin: 0 0 10px; color: var(--muted); }
.terms ul, .terms ol{
  margin: 0 0 16px;
  padding-left: 18px;
}
.terms li{ margin: 6px 0; }
.terms hr{
  margin: 18px 0;
  border: none;
  border-top: 1px solid var(--border);
}

/* 모바일 최적화 */
@media (max-width: 600px){
  .modal__dialog{
    width: calc(100vw - 20px);
    margin: 12px auto;
    max-height: calc(100vh - 24px);
    border-radius: 12px;
  }
  .modal__header, .modal__body, .modal__footer{
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* 모달 열리면 바디 스크롤 락 */
body.is-modal-open{
  overflow: hidden;
  touch-action: none;
}


body {
    margin: 0;
}

.blog-regist-wrap * {
    font-family: "Pretendard Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
    box-sizing: border-box;
    letter-spacing: -0.02em;
}
.blog-regist-wrap a {
    color: inherit;
    text-decoration: none;
}
.blog-regist-wrap em {
    font-style: normal;
}
.blog-regist-wrap :where(button, input, textarea) {
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin: 0;
}
.blog-regist-wrap button {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.blog-regist-wrap :where(input, textarea) {
    padding: 0;
    border: 0;
    background: transparent;
    outline: none;
}
.blog-regist-wrap input[type="text"]:focus {
    border: 1px solid #6759FF !important;
}
.blog-regist-wrap input[type="radio"],
.blog-regist-wrap input[type="checkbox"] {
    position: absolute;
    width: 1px !important;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
.blog-regist-wrap input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
.blog-regist-wrap label {
    cursor: pointer;
}
.blog-regist-wrap textarea {
    resize: none;
}
.blog-regist-wrap textarea:focus {
    border: 1px solid #6759FF !important;
}
.blog-regist-wrap ::placeholder {
    opacity: 1;
}
.blog-regist-wrap ul,
.blog-regist-wrap li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.label-style.text input[type="radio"] + .label-text {
    display: flex;
    padding: 10px 20px;
    border-radius: 999px;
    background: #FFF;
    font-size: 15px;
    font-weight: 500;
    color: #9CA6B1;
    box-shadow: 0px 4px 20px 0px #0000000D;
}
.label-style.text input[type="radio"]:checked + .label-text {
    background: #6759FF;
    color: #FFF;
}

.label-style.type input[type="radio"] + .type-select-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 1px solid #EDF2F7;
    border-radius: 12px;
    transition: border 0.1s, box-shadow 0.1s;
}
.label-style.type input[type="radio"] + .type-select-box:hover{
    border: 1px solid #6759FF;
    box-shadow: 0 4px 4px 0 rgba(103, 89, 255, 0.25);
}
.label-style.type input[type="radio"]:checked + .type-select-box {
    border: 1px solid #6759FF;
    box-shadow: 0 4px 4px 0 rgba(103, 89, 255, 0.25);
}
.label-style.type input[type="radio"] + .type-select-box .badge-box {
    display: flex;
    gap: 8px;
}
.label-style.type input[type="radio"] + .type-select-box .badge-box .badge {
    display: flex;
    padding: 6px 10px;
    border: 1px solid #EDF2F7;
    border-radius: 999px;
    font-size: 13px !important;
    font-weight: 500;
    color: #757575;
}
.label-style.type input[type="radio"] + .type-select-box .badge-box .badge.day {
    border: none;
    background: linear-gradient(90deg, #FF5959 0%, #FF6D6D 100%);
    font-weight: 600;
    color: #FFF;
    box-shadow: 0px 4px 8px 0px #FF6D6D66;
}
.label-style.type input[type="radio"] + .type-select-box .badge-box .badge.next-day {
    border: none;
    background: linear-gradient(90deg, #4F46E5 0%, #6759FF 100%);
    font-weight: 600;
    color: #FFF;
    box-shadow: 0px 4px 8px 0px #818CF866;
}
.label-style.type input[type="radio"] + .type-select-box .box-title {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: clamp(15px, 1.1vw, 18px);
    font-weight: 600;
    color: #252538;
    line-height: 21px;
}
.label-style.type input[type="radio"] + .type-select-box .box-title .new {
    font-size: 13px;
    font-weight: bold;
    color: #FF5959;
    border-radius: 1rem;
    background: rgba(255, 109, 109, 0.1);
    padding: 3px 7px;
}
.label-style.type input[type="radio"] + .type-select-box .detail-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.label-style.type input[type="radio"] + .type-select-box .detail-box .box-text {
    display: flex;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #757575;
    line-height: 17px;
}
.label-style.type input[type="radio"] + .type-select-box .detail-box .box-text .number {
    font-size: 14px;
    font-weight: 400;
    color: #111;
}
.label-style.type input[type="radio"] + .type-select-box .detail-box .dot {
    display: flex;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #EDF2F7;
}
.label-style.type input[type="radio"] + .type-select-box .price-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 2px 0 0;
}
.label-style.type input[type="radio"] + .type-select-box .price-box .box-text {
    font-size: 14px;
    font-weight: 600;
    color: #757575;
}
.label-style.type input[type="radio"] + .type-select-box .price-box .price {
    font-size: clamp(16px, 1.25vw, 20px);
    font-weight: 600;
    color: #6759FF;
}

.label-style.file .label-icon-box {
display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    max-width: 110px;
    /* border: 1px solid #D7D5EC; */
    border-radius: 10px;
    /* background: #818CF812; */
    aspect-ratio: 1 / 1;
}
.label-style.file .label-icon-box .label-text {
    font-size: 14px;
    font-weight: 500;
    color: #6759FF;
    line-height: 20px;
    text-align: center;
    word-break: keep-all;
}

.label-style.file-button .label-text {
    display: flex;
    padding: 10.5px 12px;
    border-radius: 4px;
    background: #6759FF;
    font-size: clamp(14px, 1.1vw, 16px);
    font-weight: 500;
    color: #FFF;
    letter-spacing: -0.02em;
}

.label-style.radio {
    display: flex;
    align-items: center;
    gap: 8px;
}
.label-style.radio input[type="radio"] + .label-icon {
    display: flex;
    position: relative;
    width: 16px;
    height: 16px;
    border: 1px solid #4F46E5;
    border-radius: 50%;
}
.label-style.radio input[type="radio"]:checked + .label-icon:after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #6759FF;
    transform: translate(-50%, -50%);
    content: "";
}
.label-style.radio .label-text {
    font-size: 14px;
    color: #2B2B2B;
    letter-spacing: -0.03em;
}

.label-style.checkbox {
    display: flex;

    gap: 8px;
    position: relative;
}

/* 기존 유지 + 정리 */
.label-style.checkbox input[type="checkbox"] + .label-icon {
    display: flex;
    position: absolute;
    top: 2px;           /* ✅ px 추가 */
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #E6E7E8;
    border-radius: 4px;
    background: #fff;
    transition: all .2s ease;
    box-sizing: border-box;
}

/* ✅ 체크 시: 퍼플 배경 + 퍼플 그라데이션 테두리 */
.label-style.checkbox input[type="checkbox"]:checked + .label-icon {
    border: 1px solid transparent;

    background:
        linear-gradient(#6759FF, #6759FF) padding-box,
        linear-gradient(135deg, #8B7CFF, #4F46E5) border-box;

    background-clip: padding-box, border-box;
    background-origin: border-box;

    border-radius: 6px;

    box-shadow:
        0 0 0 2px rgba(103,89,255,.35),   /* 퍼플 링 */
        0 6px 14px rgba(103,89,255,.30);  /* 은은한 퍼플 글로우 */

    transition: all .25s ease;
}

/* ✅ 체크(V) 표시를 SVG 대신 CSS로 */
.label-style.checkbox input[type="checkbox"]:checked + .label-icon::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border-right: 2px solid rgba(255,255,255,.98);
    border-bottom: 2px solid rgba(255,255,255,.98);
    transform: rotate(45deg);
}

/* 텍스트는 그대로 */
.label-style.checkbox .label-text {
    padding: 0 0 0 24px;
    font-size: 14px;
    color: #2B2B2B;
    letter-spacing: -0.03em;
    word-break: keep-all;
}

.label-style.checkbox .label-text-sm{
    position: relative;
    display: inline-block;
    font-size: 13px;
    color: #2B2B2B;
    letter-spacing: -0.03em;
    word-break: keep-all;
    z-index: 1;
    left:8px;
}

/* 가짜 패딩 + 배경 */
.label-style.checkbox .label-text-sm::before{
    content: "";
    position: absolute;
    inset: -4px -8px;  /* padding: 4px 8px 효과 */
    background: #f9f9f9;
    border-radius: 99px;
    z-index: -1;
}
.blog-regist-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap
    overflow: hidden;
    max-width: 1650px;
    padding: 4px 4px 4px;
    box-sizing: border-box;
    line-height: 1;
}
.blog-regist-wrap .title-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.blog-regist-wrap .title-wrap .title-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.blog-regist-wrap .title-wrap .title-container .image {
    display: flex;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    box-shadow: 0px 4px 10px 0px #0000001A;
}
.blog-regist-wrap .title-wrap .title-container .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog-regist-wrap .title-wrap .title-container .title-box {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.blog-regist-wrap .title-wrap .title-container .title-box .box-text {
    font-size: 13px;
    font-weight: 500;
    color: #757575;
}
.blog-regist-wrap .title-wrap .title-container .title-box .box-title {
    font-size: clamp(15px, 1.1vw, 18px);
    font-weight: 600;
    color: #252538;
}
.blog-regist-wrap .title-wrap .title-container .order-button {
    display: flex;
    padding: 6px 10px;
    border-radius: 4px;
    background: #6759FF;
    font-size: 13px;
    font-weight: 500;
    color: #FFF;
}
.blog-regist-wrap .title-wrap .tab-button-box {
    overflow: visible;
    width: 100%;
}
.blog-regist-wrap .title-wrap .tab-button-box .tab-button-list {
    display: flex;
    gap: 10px;
    width: 100%;
}
.blog-regist-wrap .title-wrap .tab-button-box .tab-button-list .tab-button-item {
    width: auto;
}
.blog-regist-wrap .blog-regist-container {

    flex-wrap: wrap;
    gap: 24px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box {
    display: flex;
    flex-direction: column;
    gap: 24px;
    /*width: calc(50% - 12px);*/
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    /*padding: 24px;*/
    border-radius: 12px;
    background: #FFF;
    /*box-shadow: 0px 10px 20px 0px #0000001A;*/
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .box-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(15px, 1.1vw, 18px);
    font-weight: 600;
    color: #252538;
    line-height: 21px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .box-title:before {
    display: flex;
    width: 4px;
    height: 18px;
    border-radius: 0 2px 2px 0;
    background: #6759FF;
    content: "";
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .title-info-box {
    display: flex;
    align-items: center;
    gap: 4px;
    position: relative;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .title-info-box svg {
    position: absolute;
    top: -1px;
    left: 0;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .title-info-box .box-text {
    padding: 0 0 0 20px;
    font-size: 14px;
    font-weight: 500;
    color: #757575;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .regist-button {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 16px 12px;
    border-radius: 4px;
    background: #6759FF;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .regist-button .button-text {
    font-size: clamp(14px, 1.1vw, 16px);
    font-weight: 500;
    color: #FFF;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .type-select-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .type-select-container .label-style.type {
    width: calc(100% / 3 - (20px / 3));
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .type-select-container .label-style.type.vigitor {
    width: calc(100% / 2 - (20px / 2));
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .info-wrap {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    row-gap: 10px;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .info-wrap .info-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    padding: 10px;
    border: 1px solid #FF6D6D;
    border-radius: 10px;
    background: #FF6D6D14;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .info-wrap .info-container .info-box {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 28px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .info-wrap .info-container .info-box .box-text {
    font-size: 14px;
    font-weight: 500;
    color: #ff2828;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .info-wrap .info-container .text-box {
    display: flex;
    flex-direction: column;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .info-wrap .info-container .text-box .box-text {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 0 0 20px;
    font-size: 14px;
    color: #2B2B2B;
    line-height: 18px;
    word-break: keep-all;    
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .info-wrap .info-container .text-box .box-text:before {
    display: flex;
    position: absolute;
    top: 7px;
    left: 8px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #2B2B2B;
    content: "";
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap {
    gap: 20px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container {
    display: flex;
    flex-wrap: wrap;
    column-gap: 80px;
    row-gap: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    max-width: 469px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .sub-title-box {
    display: flex;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .sub-title-box .box-title {
    display: flex;
    gap: 2px;
    font-size: 14px;
    font-weight: 500;
    color: #252538;
    line-height: 20px;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .sub-title-box .box-title .essential {
    font-size: 14px;
    font-weight: 500;
    color: #FF5959;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box {
    position: relative;
    width: 120px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box input {
    width: 100%;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #DDD;
    border-radius: 7px;
    font-size: 13px;
    color: #2B2B2B;
    line-height: 40px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box input.active {
    border: 1px solid #3B5CCD;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box input::placeholder {
    color: #A0A0A0;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box .date-button {
    position: absolute;
    top: 50%;
    left: 175px;
    transform: translateY(-50%);
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .swung-dash {
    display: flex;
    min-width: 9px;
    font-size: 14px;
    font-weight: 500;
    color: #252538;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .personnel-box {
    display: flex;
    align-items: center;
    gap: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .personnel-box .box-text {
    font-size: 14px;
    font-weight: 500;
    color: #252538;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .personnel-box input {
    width: 100%;
    max-width: 120px;
    height: 48px;
    border: 1px solid #EDF2F7;
    border-radius: 4px;
    padding: 0 16px;
    font-size: 14px;
    color: #252538;
    box-shadow: 0px 2px 4px 0px #2525381F;
    line-height: 48px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .personnel-box input::placeholder {
    color: #9E9E9E;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .info-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    padding: 8px;
    border: 1px solid #FF6D6D;
    border-radius: 10px;
    background: #FF6D6D14;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .info-wrap .info-box {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 28px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .info-wrap .info-box .box-text {
    font-size: 14px;
    font-weight: 500;
    color: #ff2828;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .info-wrap .text-box {
    display: flex;
    flex-direction: column;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .info-wrap .text-box .box-text {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 0 0 20px;
    font-size: 14px;
    color: #2B2B2B;
    line-height: 18px;
    word-break: keep-all;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .info-wrap .text-box .box-text:before {
    display: flex;
    position: absolute;
    top: 7px;
    left: 8px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #2B2B2B;
    content: "";
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap .wrap-title {
    display: flex;
    gap: 2px;
    font-size: 14px;
    font-weight: 500;
    color: #252538;
    letter-spacing: -0.04em;
    line-height: 20px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap .wrap-title .essential {
    font-size: 14px;
    font-weight: 500;
    color: #FF5959;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap .thumbnail-container {
    display: flex;
    gap: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap .thumbnail-container .thumbnail-box {
    position: relative;
    width: 100%;
    max-width: 110px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap .thumbnail-container .thumbnail-box .image-box {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #D7D5EC;
    border-radius: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap .thumbnail-container .thumbnail-box .image-box .delete-button {
    position: absolute;
    top: 4px;
    right: 4px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap .thumbnail-container .thumbnail-box .image-box img {
    width: 100%;
    height: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .thumbnail-wrap  .wrap-text {
    font-size: 13px;
    font-weight: 500;
    color: #757575;
    letter-spacing: -0.04em;
    line-height: 18px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .wrap-title {
    display: flex;
    gap: 2px;
    font-size: 14px;
    font-weight: 500;
    color: #252538;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .wrap-title .essential {
    font-size: 14px;
    font-weight: 500;
    color: #FF5959;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .link-box {
    display: flex;
    align-items: center;
    gap: 4px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .link-box .box-text {
    display: flex;
    flex: 0 0 110px;
    font-size: 14px;
    font-weight: 500;
    color: #757575;
    letter-spacing: -0.04em;
    line-height: 20px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .link-box input {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #EDF2F7;
    border-radius: 4px;
    font-size: 14px;
    color: #2B2B2B;
    box-shadow: 0px 2px 4px 0px #2525381F;
    letter-spacing: -0.02em;
    line-height: 48px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .link-box input::placeholder {
    color: #9E9E9E;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .image-upload-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .image-upload-wrap .box-text {
    font-size: 14px;
    font-weight: 500;
    color: #757575;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .image-upload-wrap .image-upload-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 100%;
    padding: 14px 0;
    border: 1px solid #D7D5EC;
    border-radius: 10px;
    background: #818CF812;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .image-upload-wrap .image-upload-container .container-text {
    font-size: 14px;
    font-weight: 500;
    color: #6759FF;
    letter-spacing: -0.04em;
    line-height: 20px;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .info-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    padding: 8px;
    border: 1px solid #FF6D6D;
    border-radius: 10px;
    background: #FF6D6D14;
    margin-bottom: 20px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .info-wrap .info-box {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 28px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .info-wrap .info-box .box-text {
    font-size: 14px;
    font-weight: 500;
    color: #ff2828;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .info-wrap .text-box {
    display: flex;
    flex-direction: column;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .info-wrap .text-box .box-text {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 0 0 20px;
    font-size: 14px;
    color: #2B2B2B;
    line-height: 18px;
    word-break: keep-all;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .info-wrap .text-box .box-text:before {
    display: flex;
    position: absolute;
    top: 7px;
    left: 8px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #2B2B2B;
    content: "";
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap {
    /*gap: 20px;*/
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .sub-title-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    line-height: 20px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .sub-title-box .box-title {
    display: flex;
    gap: 2px;
    font-size: 14px;
    font-weight: 500;
    color: #252538;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .sub-title-box .box-title .essential {
    font-size: 14px;
    font-weight: 500;
    color: #FF5959;
    letter-spacing: -0.04em;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .sub-title-box .info-box {
    display: flex;
    align-items: center;
    gap: 4px;
    position: relative;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .sub-title-box .info-box svg {
    position: absolute;
    top: 2px;
    left: 0;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .sub-title-box .info-box .box-text {
    padding: 0 0 0 20px;
    font-size: 14px;
    font-weight: 500;
    color: #757575;
    word-break: keep-all;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box {
    display: flex;
    flex-wrap: wrap;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box input {
    flex: 1 1 50%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #EDF2F7;
    border-radius: 4px;
    font-size: 14px;
    color: #111;
    box-shadow: 0px 2px 4px 0px #2525381F;
    line-height: 48px;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box input::placeholder {
    color: #9E9E9E;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box textarea {
    width: 100%;
    height: 110px;
    padding: 16px;
    border: 1px solid #EDF2F7;
    border-radius: 4px;
    font-size: 14px;
    color: #111;
    box-shadow: 0px 2px 4px 0px #2525381F;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box textarea::placeholder {
    color: #9E9E9E;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.link {
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.link .input-box {
    gap: 8px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.link .input-box .view-button {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 99px;
    border-radius: 4px;
    background: #6759FF;
    padding-left: 12px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.link .input-box .view-button .button-text {
    font-size: clamp(14px, 1.1vw, 16px);
    font-weight: 500;
    color: #FFF;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.posting {
    gap: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.posting .input-box {
    gap: 20px;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title {
    width: calc(100% - 220px);
    gap: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title .input-box {
    gap: 20px;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.campaign {
    width: calc(50% - 20px);
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-name {
    width: calc(50% - 20px);
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-address {
    width: calc(50% - 20px);
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.contact {
    width: calc(50% - 20px);
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.main-keyword {
    width: 100%;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.hashtag-keyword {
    width: 100%;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.hashtag {
    width: 100%;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-information {
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic {
    gap: 10px;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .sub-title-box {
    height: 28px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .input-box {
    gap: 10px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .input-box .label-style.text input[type="radio"] +  .label-text {
    background: #EDF2F7;
    color: #9CA6B1;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .input-box .label-style.text input[type="radio"]:checked + .label-text {
    background: #6759FF;
    color: #FFF;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-link {
    width: 100%;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box {
    position: relative;
    width: 100%;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box .box-title {
    position: absolute;
    top: 50%;
    left: 20px;
    font-size: 14px;
    font-weight: 500;
    color: #757575;
    transform: translateY(-50%);
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box input {
    width: 100%;
    height: 46px;
    padding: 0 37px 0 0;
    border: 1px solid #EDF2F7;
    border-radius: 12px;
    background: #FAFAFA;
    line-height: 44px;
    text-align: right;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box .box-text {
    position: absolute;
    top: 50%;
    right: 20px;
    font-size: 14px;
    font-weight: 500;
    color: #757575;
    transform: translateY(-50%);
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box .charge-link {
    display: flex;
    position: absolute;
    top: 50%;
    right: 20px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #6759FF;
    font-size: 12px;
    font-weight: 500;
    color: #FFF;
    transform: translateY(-50%);
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box.payment-amount input {
    font-size: clamp(14px, 1.1vw, 16px);
    font-weight: 600;
    color: #4F46E5;
    letter-spacing: -0.04em;
    padding-right: 35px;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box.hold-amount input {
    padding: 0 98px 0 0;
    font-size: clamp(14px, 1.1vw, 16px);
    font-weight: 600;
    color: #757575;
    letter-spacing: -0.02em;
    position:relative;
    top:-1px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box.hold-amount .box-text {
    right: 81px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .agree-box {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}
.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .agree-box .label-style.checkbox {
    position: relative;
    width: 340px;
}

@media screen and (max-width: 1919px) {

}
@media screen and (max-width: 1440px) {
    .blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .type-select-container .label-style.type {
        width: calc(50% - 5px);
    }

    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container {
        width: 100%;
        gap: 10px;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box input {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.posting {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title .input-box {
        flex-wrap: wrap;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.campaign {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-name {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-address {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.contact {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .sub-title-box {
        height: auto;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .input-box {
        flex-wrap: wrap;
    }    
}
@media screen and (max-width: 1280px) {
    .blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .type-select-container .label-style.type {
        width: calc(50% - 5px);
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container {
        width: 100%;
        gap: 10px;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box input {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.posting {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title .input-box {
        flex-wrap: wrap;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.campaign {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-name {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-address {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.contact {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .sub-title-box {
        height: auto;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .input-box {
        flex-wrap: wrap;
    }    
}

@media screen and (max-width: 1024px) {
    .blog-regist-wrap .blog-regist-container .blog-regist-box {
        width: 100%;
    }        
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.posting {
        width: calc(50% - 5px);
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title {
        width: calc(50% - 5px);
    }    
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.campaign {
        width: calc(50% - 5px);
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-name {
        width: calc(50% - 5px);
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-address {
        width: calc(50% - 5px);
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.contact {
        width: calc(50% - 5px);
    }      
}

@media screen and (max-width: 768px) {
    .label-style.type input[type="radio"] + .type-select-box {
       /* height: 100%;*/
    }
    .label-style.type input[type="radio"] + .type-select-box .detail-box {
        flex-wrap: wrap;
    }
    .label-style.type input[type="radio"] + .type-select-box .price-box {
        flex-wrap: wrap;
    }
    
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container {
        width: 100%;
        gap: 10px;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box input {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.posting {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title .input-box {
        flex-wrap: wrap;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.campaign {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-name {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-address {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.contact {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .sub-title-box {
        height: auto;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .input-box {
        flex-wrap: wrap;
    }    
}

@media screen and (max-width: 480px) {
    .blog-regist-wrap {
        gap: 20px;
        
    }
    .label-style.text {
        width: 100%;
    }
    .label-style.text input[type="radio"] + .label-text {
        justify-content: center;
    }    
    
    .blog-regist-wrap .blog-regist-container .blog-regist-box .type-select-wrap .type-select-container .label-style.type {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box {
        max-width: calc(50% - 14.5px);
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .personnel-box {
        flex-wrap: wrap;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .personnel-box input {
        max-width: calc(50% - 34px);
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .link-box {
        flex-wrap: wrap;
        gap: 4px;
        padding: 10px 0;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .info-wrap .text-box .box-text {
        font-size: 13px;
        line-height: 16px;
    }

    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .image-upload-wrap .image-upload-container .container-text {
        text-align: center;
        word-break: keep-all;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container {
        width: 100%;
        gap: 20px;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.link .input-box {
        flex-wrap: wrap;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box .input-box input {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.link .input-box .view-button {
    /*    flex: 1 1 100%;
        justify-content: center;
    */
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.posting {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.title .input-box {
        flex-wrap: wrap;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.campaign {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-name {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.company-address {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.contact {
        width: 100%;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .sub-title-box {
        height: auto;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .place-wrap .place-container .place-box.blog-topic .input-box {
        flex-wrap: wrap;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box .box-title {
        position: static;
        transform: none;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box .box-text {
        top: unset;
        bottom: 16px;
        transform: none;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .input-box .charge-link {
        top: unset;
        bottom: 13px;
        transform: none;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-open-wrap .campaign-open-container .agree-box .label-style.checkbox {
        width: 100%;
    }
}

@media screen and (max-width: 360px) {
    .label-style.file .label-icon-box .label-text {
        font-size: 3.8889vw;
    }
    .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box {
        width: 100%;
        max-width: 100%;
    }   
    .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .personnel-box input {
        max-width: unset;
    }
}

.page-wrapper.compact-wrapper .page-body-wrapper .page-body{
    margin-top: 45px;
}

.badge {
    padding-top: 6px !important;
}

#dayCount {
    display: inline-block;
    padding-right: 20px;
    position: relative;
    top: 5px;
    left: -4px;

}

.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box input {
    width: 100%;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #DDD;
    border-radius: 7px;
    font-size: 13px;
    color: #2B2B2B;
    line-height: 40px;
    width: 200px;
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box {
    display: block;
    height: 95px;
}

#infoFormBox_2 .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box {

    height: 95px;
}

.hashtag, .keyword {
    display: inline-block;
    background-color: #f0efff;
    border: 2px solid #6759ff;
    border-radius: 10px;
    padding: 6px 6px 6px 4px;
    margin: 6px 6px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #4f46e5;
    transition: all 0.2s ease;
    height: 28px;
}
.hashtag .remove-hashtag, .keyword .remove-keyword {
    margin-left: 10px;
    cursor: pointer;
    color: #888;
}
.ms-1 {
    margin-left: .25rem !important;
}

.me-2 {
    margin-right: .5rem !important;
}

#hashtag-container{
    width:100%;
}

.hashtag-input, .keyword-input {
    border: none;
    outline: none;
    width: auto;
    flex: 1;
    min-width: 150px;
}

.terms {
    background: #ffffff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    font-size: 15px;
    line-height: 1.8;
    color: #333;
}

.terms h3 {
    font-size: 22px;
    margin-bottom: 10px;
    font-weight: 700;
    color: #4f46e5;
}

.terms h4 {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 600;
    color: #222;
}

.terms ul {
    padding-left: 20px;
}

.terms li {
    margin-bottom: 8px;
}

.terms small {
    color: #777;
}

.terms hr {
    margin: 30px 0;
    border: none;
    border-top: 1px solid #eee;
}

.label {
    font-size: 14px;
    font-weight:500;
    color:#252538;
    margin-top:10px;
    padding: 5px 0px 10px 0px  !important;

}


.sub{font-size:13px;color:#ffb9b9;margin:4px 0 16px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.slot{
    position: relative;
    left: -4px;

    width: 100%;
    aspect-ratio: 1 / 1;   /* 🔥 정사각형 */

    border: 1px solid #c0c6cd;
    border-radius: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    background: #fff;
    z-index: 9999;

    height: 95px;
    min-height: 100%;
    max-height: 120px;

    background: #818CF812;
}
.slot.required{border-style:solid; border: 1px solid #9a98f1;}
.slot input{display:none}


.slot img {
    position: absolute;
    inset: 2px;
    width: calc(100% - 0px);
    height: calc(100% - 0px);
    object-fit: cover;
    border-radius: 10px;
    /* width: 100%; */
    /* height: 100%; */
    left: 0px;
    top: 0px;
}

.slot .txt{color:#6b7280;font-size:14px}
.del, .del_2{
    position:absolute; top:6px; right:6px; background:#fff !important; color:#575757; border:none;
    font-size:12px; padding:1px 4px !important; border-radius:10px; display:none; cursor:pointer; z-index:9999999999; 
}

.blog-regist-wrap .blog-regist-container .blog-regist-box .campaign-wrap .distribute-wrap .wrap-title2 {
    display: flex;
    gap: 2px;
    font-size: 14px;
    font-weight: 500;
    color: #a2a2a2;
    letter-spacing: -0.04em;
}
.label-text {
    font-size: 14px;
    font-weight: 500;
    color: #6759FF;
    line-height: 20px;
    text-align: center;
    word-break: keep-all;
}
.slot{
    z-index:999;
}

.slot_2.required{border-style:solid; border: 1px solid #9a98f1;}
.slot_2 input{display:none}


.slot_2 img {
    position: absolute;
    inset: 2px;
    width: calc(100% - 0px);
    height: calc(100% - 0px);
    object-fit: cover;
    border-radius: 10px;
    /* width: 100%; */
    /* height: 100%; */
    left: 0px;
    top: 0px;
}

.slot_2 .txt{color:#6b7280;font-size:14px}
.slot_2{
    z-index:99999;
}


/* 블로그 전용 CSS 끝 */



.badge-required2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 14px;
  height: 14px;
  padding: 0 4px;

  background: var(--danger);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  border-radius: 4px;

  box-sizing: border-box;
  vertical-align: middle;
  position: relative;
  top: 3;
  white-space: nowrap;
}

.activeTop{
  position: relative;
  top: 1;
}

.activeTop2{
  position: relative;
  top: -2;
}

.payment-amount{
    position: relative;
    display: inline-block;
}

.payment-amount input{
    padding-right: 32px; /* 우측 여백 확보 */
    text-align: right;   /* 숫자 우측 정렬 */
}

.price-unit{
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #666;
    pointer-events: none; /* 클릭 방해 안함 */
}


.rw-order-loading-overlay{
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background:
        radial-gradient(circle at top left, rgba(79,70,229,0.22), transparent 32%),
        radial-gradient(circle at bottom right, rgba(37,99,235,0.18), transparent 28%),
        rgba(8, 12, 24, 0.68);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.rw-order-loading-card{
    width: min(92vw, 520px);
    border-radius: 28px;
    padding: 38px 30px 30px;
    text-align: center;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
    box-shadow:
        0 30px 80px rgba(15, 23, 42, 0.28),
        0 8px 24px rgba(79, 70, 229, 0.12);
    border: 1px solid rgba(99, 102, 241, 0.12);
    position: relative;
    overflow: hidden;
}

.rw-order-loading-card::before{
    content:'';
    position:absolute;
    left:-10%;
    top:-30%;
    width:120%;
    height:180px;
    background: radial-gradient(circle, rgba(99,102,241,0.12) 0%, rgba(99,102,241,0) 70%);
    pointer-events:none;
}

.rw-order-loading-icon-wrap{
    position: relative;
    width: 110px;
    height: 110px;
    margin: 0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.rw-order-loading-ring{
    position:absolute;
    inset:0;
    border-radius:50%;
    border: 4px solid rgba(79, 70, 229, 0.10);
    border-top-color: #4F46E5;
    border-right-color: #2A3FD8;
    animation: rwLoadingSpin 1.15s linear infinite;
    box-shadow: 0 0 0 8px rgba(79,70,229,0.05) inset;
}

.rw-order-loading-icon{
    font-size: 42px;
    color: #2A3FD8;
    animation: rwHourglassFloat 1.8s ease-in-out infinite;
    filter: drop-shadow(0 8px 18px rgba(42,63,216,0.22));
}

.rw-order-loading-brand{
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6B7280;
    margin-bottom: 10px;
}

.rw-order-loading-title{
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0F172A;
    margin-bottom: 10px;
}

.rw-order-loading-desc{
    font-size: 14px;
    line-height: 1.6;
    color: #64748B;
    margin-bottom: 22px;
}

.rw-order-loading-progress-text{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap: 2px;
    margin-bottom: 16px;
    color: #2A3FD8;
    font-weight: 900;
}

.rw-order-loading-progress-text span:first-child{
    font-size: clamp(34px, 4vw, 46px);
    line-height: 1;
    letter-spacing: -0.04em;
}

.rw-order-loading-progress-text span:last-child{
    font-size: 18px;
    line-height: 1.2;
    padding-bottom: 5px;
}

.rw-order-loading-bar{
    width: 100%;
    height: 14px;
    border-radius: 999px;
    background: #E5EAF8;
    overflow: hidden;
    box-shadow: inset 0 2px 5px rgba(15, 23, 42, 0.06);
}

.rw-order-loading-bar-fill{
    width: 0%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #4F46E5 0%, #2A3FD8 50%, #2563EB 100%);
    box-shadow: 0 6px 16px rgba(42, 63, 216, 0.28);
    transition: width 0.35s ease;
}

.rw-order-loading-step{
    margin-top: 14px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    min-height: 20px;
}

body.rw-loading-open{
    overflow: hidden;
}

@keyframes rwLoadingSpin{
    0%{ transform: rotate(0deg); }
    100%{ transform: rotate(360deg); }
}

@keyframes rwHourglassFloat{
    0%, 100%{ transform: translateY(0px) scale(1); }
    50%{ transform: translateY(-4px) scale(1.03); }
}


/* 카드 2개 가로 유지 */
#vigitor .type-select-container{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

/* 카드 크기 증가 (겹침 방지) */
#vigitor .label-style.type.vigitor{
    flex:1 1 calc(50% - 8px);
    max-width:calc(50% - 8px);
}

/* 카드 내부 여백 증가 → 더 커보이게 */
#vigitor .type-select-box{
    width:100%;
    /*max-width:400px;*/
    padding:20px 22px;
}

.title-inline{
    display:flex;
    align-items:center;
    gap:6px;
}

.sub-title{
    font-size:12px;
    color:#666;
}
.box-title{
    white-space:nowrap;
}
.price-box{
    display:flex;
    align-items:center;
}

.price-box .reviewer:first-of-type{
    margin-right:auto;
    font-size:14px;
}

.price-box .reviewer:last-of-type{
    margin-left:auto;
    font-weight:600;
}
.price-box .reviewer_1:first-of-type{
    margin-right:auto;
    font-size:14px;
}

.price-box .reviewer_1:last-of-type{
    margin-left:auto;
    font-weight:600;
}
@media (max-width:500px){
    .box-title{
        white-space:normal;
    }
}
.reviewer1{
    font-size: clamp(16px, 1.2vw, 18px) !important;
    font-weight: 600 !important;
    line-height:1.3 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    white-space:nowrap !important;
    color:#6759FF !important;
}

/* 보조 텍스트 */
.reviewer{
    font-size: clamp(11px, 1vw, 13px) !important;
    color:#6759FF !important;
    line-height:1.3 !important;
}

@media (max-width:768px){

    .reviewer1{
        font-size:14px !important;
    }

    .reviewer{
        font-size:12px !important;
    }

}

@media (max-width:480px){

    .reviewer1{
        font-size:13px !important;
    }

    .reviewer{
        font-size:11px !important;
    }
}

#vigi_dayCount {
    width: 100%;
    font-size: 14px;
    text-align: right;
    display: inline-block;
    padding-right: 20px;
    position: relative;
    top: 5px;
    left: -34px;
    color: #b30000;
}
/* 업종 박스가 오른쪽 작은 칸처럼 붙지 않도록 */
.place-box.industry{
    width: 100%;
    min-width: 0;
}

/* industry가 들어있는 컬럼 자체를 다른 필드와 동일하게 */
.place-container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 38px;
    align-items: start;
}

/* 업종 칸은 사업자등록번호 칸과 같은 폭 */
.place-box.industry,
.place-box.company-number,
.place-box.business-number,
.place-box.registration-number{
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* input-box도 100% */
.place-box.industry .input-box{
    width: 100%;
    min-width: 0;
    position: relative;
}

/* select를 다른 input과 동일한 느낌으로 */
.place-box.industry select{
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0 42px 0 14px;

    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;

    background: #FFFFFF !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;

    font-size: 14px;
    font-weight: 500;
    color: #111827;

    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: none !important;
}

/* hover / focus도 다른 필드 느낌으로 */
.place-box.industry select:hover{
    border-color: #D1D5DB !important;
}

.place-box.industry select:focus{
    border-color: #6366F1 !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12) !important;
}

/* 기본 화살표 대신 깔끔한 화살표 */
.place-box.industry .input-box::after{
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.5L10 12l4.5-4.5' stroke='%239CA3AF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 혹시 기존에 업종만 별도 정렬 먹는 스타일이 있으면 차단 */
.place-box.industry{
    justify-self: stretch !important;
    align-self: start;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 모바일 반응형 */
@media (max-width: 900px){
    .place-container{
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .place-box.industry select{
        height: 46px;
        font-size: 14px;
    }
}

@media (max-width: 600px){
    .place-box.industry select{
        height: 44px;
        padding: 0 40px 0 12px;
        font-size: 13px;
        border-radius: 9px !important;
    }

    .place-box.industry .input-box::after{
        right: 12px;
        width: 12px;
        height: 12px;
        background-size: 12px 12px;
    }
}

.industry-field{
    display:flex;
    flex-direction:column;
    gap:10px;
    width:100%;
}

.industry-field .select-wrap{
    position:relative;
    width:100%;
}

.industry-field .select-wrap::after{
    content:"";
    position:absolute;
    top:50%;
    right:16px;
    width:8px;
    height:8px;
    border-right:1.5px solid #9ca3af;
    border-bottom:1.5px solid #9ca3af;
    transform:translateY(-60%) rotate(45deg);
    pointer-events:none;
}

.industry-field select{
    width:100%;
    height:46px;
    padding:0 42px 0 14px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    background:#fff;
    font-size:14px;
    color:#111827;
    box-sizing:border-box;
    outline:none;

    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;

    line-height:46px;
    background-image:none !important;
}

.industry-field select::-ms-expand{
    display:none;
}

.industry-field input{
    width:100%;
    height:46px;
    padding:0 14px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    background:#fff;
    font-size:14px;
    color:#111827;
    box-sizing:border-box;
    outline:none;
}

.industry-field select:focus,
.industry-field input:focus{
    border-color:#cbd5e1;
}


/* 전체 영역 */
#infoFormBox_2{
    width:100%;
    box-sizing:border-box;
}

/* 바깥 래퍼 */
#infoFormBox_2 .blog-regist-wrap,
#infoFormBox_2 .blog-regist-container,
#infoFormBox_2 .blog-regist-box{
    width:100%;
    box-sizing:border-box;
}

/* 상단: 리뷰유형 / 모집기간+발주수량 */
#infoFormBox_2 .blog-regist-box{
    display:flex;
    flex-direction:column;
    gap:20px;
}

/* 모집기간 영역 2단 */
#infoFormBox_2 .schedule-container{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:16px;
    align-items:start;
}

/* 플레이스 정보 입력영역 2단 */
#infoFormBox_2 .place-container{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:16px;
    align-items:start;
}

/* 이미지 영역 2단 */
#infoFormBox_2 .campaign-wrap{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:16px;
    align-items:start;
}

/* 각 박스 공통 */
#infoFormBox_2 .schedule-box,
#infoFormBox_2 .place-box,
#infoFormBox_2 .campaign-wrap > .title-box,
#infoFormBox_2 .type-select-wrap,
#infoFormBox_2 .schedule-wrap,
#infoFormBox_2 .place-wrap{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

/* 조회 링크 박스는 2칸 전체 사용 */
#infoFormBox_2 .place-box.link{
    grid-column:1 / -1;
}

/* 소개 / 장점도 2칸 전체 사용하고 싶으면 유지 */
#infoFormBox_2 .place-box.company-information{
    grid-column:1 / -1;
}

/* input, select, textarea 폭 정리 */
#infoFormBox_2 input,
#infoFormBox_2 select,
#infoFormBox_2 textarea{
    width:100%;
    box-sizing:border-box;
}

/* keyword 컨테이너 폭 */
#infoFormBox_2 #vigi_keyword-container{
    width:100%;
    box-sizing:border-box;
}

/* 날짜 선택영역이 찌그러지지 않게 */
#infoFormBox_2 .date-box{
    width:100%;
    box-sizing:border-box;
}

#infoFormBox_2 .date-box input{
    width:100%;
}

/* 포토/영수증 이미지 내부 grid는 그대로 */
#infoFormBox_2 .image-upload-wrap .grid{
    width:100%;
}

/* 결제금액 영역 */
#infoFormBox_2 .payment-amount,
#infoFormBox_2 .input-box.payment-amount{
    width:50%;
    margin-top:10px;
    margin-bottom:10px;
    box-sizing:border-box;
}

/* 태블릿 이하 1단 */
@media (max-width: 900px){
    #infoFormBox_2 .schedule-container,
    #infoFormBox_2 .place-container,
    #infoFormBox_2 .campaign-wrap{
        grid-template-columns: 1fr;
    }

    #infoFormBox_2 .place-box.link,
    #infoFormBox_2 .place-box.company-information{
        grid-column:auto;
    }
}



#industry{
    background-image:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}

#infoFormBox_2 .blog-regist-wrap .blog-regist-container .blog-regist-box > div .title-box .box-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(15px, 1.1vw, 14px);
    font-weight: 600;
    color: #252538;
    line-height: 21px;
}

#infoFormBox_2 .blog-regist-wrap .blog-regist-container .blog-regist-box > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0px;
    /* padding: 24px; */
    border-radius: 12px;
    background: #FFF;
}


#infoFormBox_1 .review-form-header .type-select-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-radius: 12px;
    background: #fff;
}

#infoFormBox_1 .review-form-header .type-select-wrap > .title-box .box-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(14px, 1.1vw, 15px);
    font-weight: 600;
    color: #252538;
    line-height: 21px;
}

#infoFormBox_1 .review-form-header .type-select-wrap .review-form-desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #7b8190;
}

#infoFormBox_1 .review-form-header .type-select-wrap > .title-box .box-title:before {
    display: flex;
    width: 4px;
    height: 18px;
    border-radius: 0 2px 2px 0;
    background: #6759FF;
    content: "";
}


#infoFormBox_2 .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box .date-button {
    position: absolute;
    top: 50%;
    left: 205px;
    transform: translateY(-50%);
}


@media (max-width: 480px){
    #infoFormBox_2 .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box .date-button {
        position: absolute;
        top: 50%;
        left: 125px;
        transform: translateY(-50%);
    }
}

@media (max-width: 380px){
    #infoFormBox_2 .blog-regist-wrap .blog-regist-container .blog-regist-box .schedule-wrap .schedule-container .schedule-box .date-box .date-button {
        position: absolute;
        top: 50%;
        left: 95px;
        transform: translateY(-50%);
    }
}

/* 영수증 리뷰 유형 위치 고정 */
.type-select-container{
    width:100%;
    display:flex;
    justify-content:flex-start;   /* 항상 좌측 정렬 */
    align-items:flex-start;       /* 위로 뜨는 현상 방지 */
}

/* 내부 박스 위치 안정화 */
.type-select-container .place-box.ca_type{
    width:100%;
    max-width:420px; /* 필요시 조절 */
}

/* 제목 위로 들리는 현상 보정 */
.type-select-container .sub-title-box{
    padding:18px 0 10px 0 !important;
}

/* select 높이 안정화 */
.type-select-container select{
    height:46px;
    width:100%;
    box-sizing:border-box;
}

/* 1024px 근처에서 깨지는 경우 대비 */
@media (max-width:1024px){
    .type-select-container{
        justify-content:flex-start !important;
        align-items:flex-start !important;
    }
}

.type-select-container{
    justify-self:start;
}



      /* ========== AI 전용 디자인 토큰 ========== */
      :root{
        --ai-grad-start:#7C3AED;
        --ai-grad-mid:#8B5CF6;
        --ai-grad-end:#EC4899;
        --ai-glow:rgba(139,92,246,.45);
        --ai-surface:rgba(124,58,237,.08);
        --ai-border:rgba(139,92,246,.35);
        --ai-text-bright:#F5F3FF;
        --ai-text-muted:#C4B5FD;
        --ai-card-bg-light:linear-gradient(180deg,#FBFAFF 0%,#F4F1FE 100%);
        --ai-card-bg-dark:linear-gradient(180deg,#111a36 0%,#0f172a 100%);
      }
      html.rw-dark-mode{
        --ai-surface:rgba(139,92,246,.14);
        --ai-border:rgba(167,139,250,.45);
      }

      /* ════════════════════════════════════════════════ */
      /* ===== Layer 1 : Hero Decision Card ============= */
      /* ════════════════════════════════════════════════ */
      .order-entry-hero{
        margin:20px 0 28px;
        padding:28px 28px 32px;
        border-radius:20px;
        background:
          radial-gradient(1200px 220px at 85% -20%, rgba(139,92,246,.10), transparent 60%),
          var(--ai-card-bg-light);
        border:1px solid rgba(139,92,246,.22);
        position:relative; overflow:hidden;
        box-shadow:0 8px 24px -12px rgba(124,58,237,.18);
      }
      html.rw-dark-mode .order-entry-hero{
        background:
          radial-gradient(1200px 220px at 85% -20%, rgba(139,92,246,.18), transparent 60%),
          radial-gradient(800px 200px at 10% 0%, rgba(236,72,153,.12), transparent 60%),
          var(--ai-card-bg-dark);
        border-color:rgba(139,92,246,.28);
        box-shadow:0 18px 50px -20px rgba(0,0,0,.5);
      }

      .entry-hero-header{ margin-bottom:22px; }
      .entry-hero-title{
        font-size:22px; font-weight:800; letter-spacing:-.02em;
        margin:0 0 6px; color:#111827;
        font-family:inherit; line-height:1.25;
      }
      html.rw-dark-mode .entry-hero-title{ color:#fff; }
      .entry-hero-sub{
        font-size:14px; color:#6B7280; margin:0; font-weight:500;
        line-height:1.5;
      }
      html.rw-dark-mode .entry-hero-sub{ color:#93a4bf; }

      /* ----- 카드 그리드: AI 카드가 더 크도록 1.25 : 0.85 비율 ----- */
      .entry-choice-grid{
        display:grid; grid-template-columns:1.25fr .85fr; gap:16px;
      }
      @media (max-width:860px){
        .entry-choice-grid{ grid-template-columns:1fr; }
      }

      /* ----- 공통 카드 베이스 ----- */
      .entry-card{
        position:relative; text-align:left; cursor:pointer;
        border-radius:18px; padding:24px 22px 22px;
        border:1.5px solid transparent;
        display:flex; flex-direction:column; gap:12px;
        font-family:inherit;
        transition:transform .25s cubic-bezier(.2,.8,.2,1),
                   box-shadow .25s ease, border-color .25s ease;
        overflow:hidden;
        -webkit-appearance:none; appearance:none;
      }
      .entry-card:hover{ transform:translateY(-3px); }
      .entry-card:focus-visible{
        outline:3px solid #8B5CF6; outline-offset:3px;
      }

      /* ----- 🅰 AI 카드 (Primary) ----- */
      .entry-card--ai{
        background:linear-gradient(135deg, rgba(124,58,237,.95) 0%, rgba(236,72,153,.88) 100%);
        color:#fff;
        border-color:rgba(255,255,255,.18);
        box-shadow:
          0 18px 40px -12px rgba(124,58,237,.55),
          0 0 0 1px rgba(255,255,255,.06) inset;
      }
      .entry-card--ai:hover{
        box-shadow:
          0 26px 60px -14px rgba(124,58,237,.7),
          0 0 0 1px rgba(255,255,255,.14) inset;
      }

      .entry-card__ribbon{
        position:absolute; top:14px; right:14px;
        background:rgba(255,255,255,.16);
        -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
        border:1px solid rgba(255,255,255,.25);
        color:#fff; font-size:11px; font-weight:700;
        letter-spacing:.04em;
        padding:6px 10px; border-radius:999px;
        display:inline-flex; align-items:center; gap:6px;
        animation:aiRibbonPulse 2.4s ease-in-out infinite;
        z-index:2;
      }
      @keyframes aiRibbonPulse{
        0%,100%{ box-shadow:0 0 0 0 rgba(255,255,255,.5); }
        50%   { box-shadow:0 0 0 8px rgba(255,255,255,0); }
      }

      .entry-card__icon-wrap{
        position:relative; width:56px; height:56px;
        border-radius:16px;
        background:rgba(255,255,255,.18);
        display:grid; place-items:center;
        border:1px solid rgba(255,255,255,.28);
        flex-shrink:0;
      }
      .entry-card__icon{ font-size:28px; line-height:1; }
      .entry-card__pulse{
        position:absolute; inset:-6px; border-radius:20px;
        border:2px solid rgba(255,255,255,.5);
        animation:aiIconPulse 1.8s ease-out infinite;
        pointer-events:none;
      }
      @keyframes aiIconPulse{
        0%  { transform:scale(.95); opacity:.7; }
        100%{ transform:scale(1.25); opacity:0; }
      }

      .entry-card__eyebrow{
        display:inline-block;
        font-size:11px; font-weight:700;
        letter-spacing:.12em; text-transform:uppercase;
        color:rgba(255,255,255,.85);
        padding:4px 10px; border-radius:999px;
        background:rgba(255,255,255,.12);
        border:1px solid rgba(255,255,255,.22);
        margin-bottom:8px;
      }
      .entry-card__headline{
        font-size:24px; font-weight:800; line-height:1.25;
        letter-spacing:-.02em; margin:4px 0 10px; color:#fff;
      }
      .entry-card__desc{
        font-size:14px; line-height:1.6; margin:0 0 14px;
        color:rgba(255,255,255,.92); font-weight:500;
      }
      .entry-card__desc b{ font-weight:700; color:#fff; }

      .entry-card__benefits{
        list-style:none; padding:0; margin:0 0 18px;
        display:flex; flex-direction:column; gap:6px;
      }
      .entry-card__benefits li{
        font-size:13px; font-weight:500;
        color:rgba(255,255,255,.95);
      }
      .entry-card__benefits b{ font-weight:800; }

      .entry-card__cta{
        margin-top:auto;
        display:inline-flex; align-items:center; justify-content:center;
        gap:10px; padding:14px 20px; border-radius:12px;
        background:#fff; color:#7C3AED;
        font-size:16px; font-weight:800; letter-spacing:.01em;
        transition:gap .2s ease, transform .2s ease;
      }
      .entry-card--ai:hover .entry-card__cta{ gap:14px; }
      .entry-card--ai:hover .entry-card__cta svg{ transform:translateX(2px); }
      .entry-card__cta svg{ transition:transform .2s ease; }

      /* Shine 효과 (카드 위 대각선 빛줄기) */
      .entry-card__shine{
        position:absolute; top:0; left:-60%;
        width:40%; height:100%;
        background:linear-gradient(120deg,
          transparent 0%, rgba(255,255,255,.28) 50%, transparent 100%);
        transform:skewX(-20deg);
        animation:aiShine 3.2s ease-in-out infinite;
        pointer-events:none;
      }
      @keyframes aiShine{
        0%  { left:-60%; }
        60% { left:140%; }
        100%{ left:140%; }
      }

      /* ----- 🅱 일반(Manual) 카드 (Secondary) ----- */
      .entry-card--manual{
        background:#fff;
        border-color:#E5E7EB; color:#374151;
      }
      html.rw-dark-mode .entry-card--manual{
        background:rgba(255,255,255,.02);
        border-color:rgba(255,255,255,.10);
        color:#d6deea;
      }
      .entry-card--manual:hover{
        border-color:rgba(139,92,246,.35);
      }
      .entry-card__icon-wrap--muted{
        background:rgba(139,92,246,.10);
        border-color:rgba(139,92,246,.25);
      }
      .entry-card__eyebrow--muted{
        color:#8B5CF6; background:rgba(139,92,246,.10);
        border-color:rgba(139,92,246,.22);
      }
      .entry-card--manual .entry-card__headline{
        color:#111827; font-size:20px;
      }
      html.rw-dark-mode .entry-card--manual .entry-card__headline{ color:#fff; }
      .entry-card--manual .entry-card__desc{
        color:#6B7280; font-size:13.5px;
      }
      html.rw-dark-mode .entry-card--manual .entry-card__desc{ color:#93a4bf; }
      .entry-card__benefits--muted li{
        color:#6B7280; font-size:12.5px;
      }
      html.rw-dark-mode .entry-card__benefits--muted li{ color:#93a4bf; }
      .entry-card__cta--ghost{
        background:transparent;
        border:1.5px solid rgba(139,92,246,.4);
        color:#8B5CF6; font-weight:700; font-size:15px;
      }
      .entry-card__cta--ghost:hover{
        background:rgba(139,92,246,.08);
      }

      /* ════════════════════════════════════════════════ */
      /* ===== Layer 2 : Sticky AI FAB ================== */
      /* ════════════════════════════════════════════════ */
      .ai-fab{
        position:fixed; right:24px; bottom:24px; z-index:9998;
        display:flex; align-items:center; gap:12px;
        padding:12px 18px 12px 14px;
        border-radius:999px;
        background:linear-gradient(135deg,#7C3AED 0%, #EC4899 100%);
        color:#fff; border:none; cursor:pointer;
        font-family:inherit;
        box-shadow:
          0 16px 40px -10px rgba(124,58,237,.55),
          0 0 0 1px rgba(255,255,255,.08) inset;
        transition:transform .25s ease, box-shadow .25s ease, opacity .3s ease;
        opacity:0; transform:translateY(20px); pointer-events:none;
      }
      .ai-fab.is-visible{
        opacity:1; transform:translateY(0); pointer-events:auto;
      }
      .ai-fab:hover{
        transform:translateY(-2px) scale(1.02);
        box-shadow:0 22px 50px -8px rgba(124,58,237,.7);
      }
      .ai-fab:focus-visible{ outline:3px solid #fff; outline-offset:3px; }

      .ai-fab__icon{
        position:relative; z-index:1;
        width:38px; height:38px; border-radius:50%;
        background:rgba(255,255,255,.18);
        display:grid; place-items:center; font-size:20px;
        border:1px solid rgba(255,255,255,.3);
      }
      .ai-fab__label{
        display:flex; flex-direction:column; line-height:1.1; text-align:left;
        position:relative; z-index:1;
      }
      .ai-fab__label small{
        font-size:11px; font-weight:500; opacity:.85;
        letter-spacing:.01em;
      }
      .ai-fab__label strong{
        font-size:14px; font-weight:800; letter-spacing:-.01em;
      }
      .ai-fab__badge{
        position:absolute; top:-6px; right:-6px;
        background:#FBBF24; color:#78350F;
        font-size:10px; font-weight:800;
        padding:3px 7px; border-radius:999px;
        box-shadow:0 4px 10px rgba(251,191,36,.4);
        z-index:2;
      }
      .ai-fab__orbit{
        position:absolute; inset:-4px; border-radius:999px;
        border:1.5px dashed rgba(255,255,255,.45);
        animation:aiFabSpin 12s linear infinite;
        pointer-events:none;
      }
      @keyframes aiFabSpin{ to{ transform:rotate(360deg); } }

      @media (max-width:640px){
        .ai-fab{ padding:12px; right:16px; bottom:16px; }
        .ai-fab__label{ display:none; }
      }

      /* ════════════════════════════════════════════════ */
      /* ===== Layer 3 : Inline Reminder Banner ========= */
      /* ════════════════════════════════════════════════ */
      .ai-inline-reminder{
        display:flex; align-items:center; justify-content:space-between;
        gap:16px; padding:14px 16px; margin:12px 0 16px;
        border-radius:14px; cursor:pointer;
        background:linear-gradient(90deg,
          rgba(124,58,237,.08) 0%, rgba(236,72,153,.06) 100%);
        border:1px dashed rgba(139,92,246,.4);
        transition:background .2s ease, border-color .2s ease, transform .2s ease;
        text-align:left; font-family:inherit;
        width:100%; appearance:none; -webkit-appearance:none;
      }
      .ai-inline-reminder:hover{
        background:linear-gradient(90deg,
          rgba(124,58,237,.14) 0%, rgba(236,72,153,.10) 100%);
        border-style:solid; transform:translateY(-1px);
      }
      .ai-inline-reminder__left{ display:flex; align-items:center; gap:12px; min-width:0; }
      .ai-inline-reminder__icon{
        font-size:22px; width:40px; height:40px; border-radius:12px;
        background:rgba(139,92,246,.15); display:grid; place-items:center;
        flex-shrink:0;
      }
      .ai-inline-reminder__text{ min-width:0; }
      .ai-inline-reminder__text b{
        display:block; font-size:14px; font-weight:700;
        color:#111827; margin-bottom:2px; letter-spacing:-.01em;
        line-height:1.4;
      }
      html.rw-dark-mode .ai-inline-reminder__text b{ color:#fff; }
      .ai-inline-reminder__text span{
        font-size:12.5px; color:#6B7280; font-weight:500;
        line-height:1.45;
      }
      html.rw-dark-mode .ai-inline-reminder__text span{ color:#93a4bf; }
      .ai-inline-reminder__cta{
        flex-shrink:0; font-size:13px; font-weight:700;
        color:#7C3AED; padding:8px 14px; border-radius:999px;
        background:rgba(255,255,255,.6); border:1px solid rgba(139,92,246,.3);
        white-space:nowrap;
      }
      html.rw-dark-mode .ai-inline-reminder__cta{
        background:rgba(255,255,255,.06); color:#C4B5FD;
      }
      @media (max-width:520px){
        .ai-inline-reminder{ flex-direction:column; align-items:stretch; }
        .ai-inline-reminder__cta{ text-align:center; }
      }

      /* ════════════════════════════════════════════════ */
      /* ===== 기존 ai-glow-btn 리디자인 (위계 조정) ==== */
      /* ════════════════════════════════════════════════ */
      /* Hero Card가 메인 CTA가 되었으므로, 기존 버튼은 */
      /* '보조 진입점(Mini CTA)'으로 포지셔닝 변경       */
      .ai-btn-wrap .ai-glow-btn{
        background:linear-gradient(135deg,#7C3AED 0%,#EC4899 100%) !important;
        border:1px solid rgba(255,255,255,.2) !important;
        color:#fff !important;
        font-weight:700 !important;
        letter-spacing:-.01em !important;
        padding:10px 16px !important;
        border-radius:10px !important;
        box-shadow:0 8px 20px -6px rgba(124,58,237,.5) !important;
      }
      .ai-btn-wrap .ai-glow-btn:hover{
        transform:translateY(-1px);
        box-shadow:0 12px 28px -6px rgba(124,58,237,.65) !important;
      }
      .ai-btn-wrap .ai-tooltip{
        color:#8B5CF6 !important;
        font-weight:600 !important;
      }
      html.rw-dark-mode .ai-btn-wrap .ai-tooltip{ color:#C4B5FD !important; }

      /* 접근성: 모션 감소 선호 사용자 대응 */
      @media (prefers-reduced-motion:reduce){
        .entry-card__ribbon,
        .entry-card__pulse,
        .entry-card__shine,
        .ai-fab__orbit{ animation:none !important; }
        .entry-card,.ai-fab,.ai-inline-reminder{ transition:none !important; }
      }
    
      /* ════════════════════════════════════════════════ */
      /* ===== v2 : Bulk Order Card + Panel ============= */
      /* ════════════════════════════════════════════════ */

      /* ----- 3컬럼 그리드로 확장 (AI 조금 넓게, 나머지 균등) ----- */
      .entry-choice-grid{
        grid-template-columns: 1.15fr .85fr .9fr;
      }
      @media (max-width:1100px){
        .entry-choice-grid{ grid-template-columns: 1fr 1fr; }
        .entry-card--ai{ grid-column: 1 / -1; }   /* AI 카드는 상단 전체 폭 */
      }
      @media (max-width:720px){
        .entry-choice-grid{ grid-template-columns: 1fr; }
        .entry-card--ai{ grid-column: auto; }
      }

      /* ----- 🅲 Bulk(대량) 카드 — Tertiary ----- */
      .entry-card--bulk{
        background:#fff;
        border:1.5px solid #E5E7EB;
        color:#374151;
        position:relative;
      }
      html.rw-dark-mode .entry-card--bulk{
        background:rgba(255,255,255,.02);
        border-color:rgba(255,255,255,.10);
        color:#d6deea;
      }
      .entry-card--bulk:hover{
        border-color:#0EA5E9;   /* Sky 500 강조 */
        box-shadow:0 14px 32px -14px rgba(14,165,233,.35);
      }

      .entry-card__icon-wrap--bulk{
        background:rgba(14,165,233,.10);
        border-color:rgba(14,165,233,.28);
      }
      .entry-card__eyebrow--bulk{
        color:#0284C7;                              /* Sky 600 */
        background:rgba(14,165,233,.10);
        border-color:rgba(14,165,233,.25);
      }
      html.rw-dark-mode .entry-card__eyebrow--bulk{
        color:#7DD3FC;
      }
      .entry-card--bulk .entry-card__headline{
        color:#111827; font-size:20px;
      }
      html.rw-dark-mode .entry-card--bulk .entry-card__headline{ color:#fff; }
      .entry-card--bulk .entry-card__desc{ color:#6B7280; font-size:13.5px; }
      html.rw-dark-mode .entry-card--bulk .entry-card__desc{ color:#93a4bf; }
      .entry-card--bulk .entry-card__benefits li{ color:#6B7280; font-size:12.5px; }
      html.rw-dark-mode .entry-card--bulk .entry-card__benefits li{ color:#93a4bf; }

      /* Bulk CTA 버튼 — 시안(Sky) 아웃라인 스타일 */
      .entry-card__cta--bulk{
        background:transparent;
        border:1.5px solid rgba(14,165,233,.45);
        color:#0284C7;
        font-weight:700;
        font-size:15px;
      }
      .entry-card__cta--bulk:hover{
        background:rgba(14,165,233,.08);
      }
      html.rw-dark-mode .entry-card__cta--bulk{ color:#7DD3FC; }

      /* "HOT" 배지 */
      .entry-card__flag{
        position:absolute; top:14px; right:14px;
        display:inline-flex; align-items:center; gap:4px;
        font-size:10px; font-weight:800; letter-spacing:.08em;
        padding:4px 9px; border-radius:999px;
        background:linear-gradient(135deg,#F97316 0%,#EA580C 100%);
        color:#fff; text-transform:uppercase;
        box-shadow:0 4px 10px rgba(249,115,22,.35);
      }

      /* ════════════════════════════════════════════════ */
      /* ===== Bulk Order Panel (드롭다운 아코디언) ===== */
      /* ════════════════════════════════════════════════ */
      .bulk-order-panel{
        margin:20px 0 28px;
        border-radius:20px;
        overflow:hidden;
        background:#fff;
        border:1px solid #E5E7EB;
        box-shadow:0 8px 28px -16px rgba(0,0,0,.12);
        /* 초기 숨김 + 드롭다운 애니메이션 */
        max-height:0; opacity:0; transform:translateY(-6px);
        transition:max-height .45s cubic-bezier(.2,.8,.2,1),
                   opacity .35s ease,
                   transform .35s ease,
                   margin .25s ease;
        pointer-events:none;
      }
      html.rw-dark-mode .bulk-order-panel{
        background:#0f172a;
        border-color:rgba(255,255,255,.08);
      }
      .bulk-order-panel.is-open{
        max-height:3000px; opacity:1; transform:translateY(0);
        pointer-events:auto;
      }

      /* ── Panel Header (강조 그라데이션) ── */
      .bulk-panel-header{
        display:flex; align-items:center; justify-content:space-between;
        gap:16px; padding:20px 24px;
        background:linear-gradient(135deg,#0EA5E9 0%, #0284C7 100%);
        color:#fff;
        flex-wrap:wrap;
      }
      .bulk-panel-header__left{
        display:flex; align-items:center; gap:14px; min-width:0;
      }
      .bulk-panel-header__icon{
        width:44px; height:44px; border-radius:12px;
        background:rgba(255,255,255,.18);
        border:1px solid rgba(255,255,255,.28);
        display:grid; place-items:center; font-size:22px;
        flex-shrink:0;
      }
      .bulk-panel-header__titles{ min-width:0; }
      .bulk-panel-header__eyebrow{
        display:block; font-size:11px; font-weight:700;
        letter-spacing:.12em; text-transform:uppercase;
        color:rgba(255,255,255,.85);
        margin-bottom:3px;
      }
      .bulk-panel-header__title{
        font-size:18px; font-weight:800; letter-spacing:-.01em;
        margin:0; line-height:1.3;
      }
      .bulk-panel-header__exit{
        display:inline-flex; align-items:center; gap:6px;
        padding:10px 16px; border-radius:10px;
        background:rgba(255,255,255,.16); color:#fff;
        border:1px solid rgba(255,255,255,.28);
        font-size:13px; font-weight:700; cursor:pointer;
        transition:background .2s ease;
        font-family:inherit;
        -webkit-appearance:none; appearance:none;
      }
      .bulk-panel-header__exit:hover{
        background:rgba(255,255,255,.28);
      }

      /* ── Panel Toolbar ── */
      .bulk-panel-toolbar{
        display:flex; align-items:center; gap:10px;
        padding:16px 24px;
        background:#F9FAFB;
        border-bottom:1px solid #E5E7EB;
        flex-wrap:wrap;
      }
      html.rw-dark-mode .bulk-panel-toolbar{
        background:#111c34;
        border-bottom-color:rgba(255,255,255,.06);
      }
      .bulk-toolbar__group{
        display:inline-flex; gap:8px; flex-wrap:wrap;
      }
      .bulk-toolbar__group + .bulk-toolbar__group{
        padding-left:10px;
        border-left:1px solid #E5E7EB;
      }
      html.rw-dark-mode .bulk-toolbar__group + .bulk-toolbar__group{
        border-left-color:rgba(255,255,255,.08);
      }
      .bulk-toolbar__spacer{ flex:1; }

      .bulk-btn{
        display:inline-flex; align-items:center; gap:6px;
        padding:8px 14px; border-radius:8px;
        font-size:13px; font-weight:700; letter-spacing:-.01em;
        cursor:pointer; border:1px solid transparent;
        transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
        font-family:inherit;
        -webkit-appearance:none; appearance:none;
        white-space:nowrap;
      }
      .bulk-btn:hover{ transform:translateY(-1px); }

      .bulk-btn--primary{
        background:linear-gradient(135deg,#0EA5E9 0%,#0284C7 100%);
        color:#fff;
        box-shadow:0 4px 12px -2px rgba(14,165,233,.4);
      }
      .bulk-btn--primary:hover{
        box-shadow:0 6px 16px -2px rgba(14,165,233,.55);
      }
      .bulk-btn--accent{
        background:linear-gradient(135deg,#F59E0B 0%,#D97706 100%);
        color:#fff;
        box-shadow:0 4px 12px -2px rgba(245,158,11,.4);
      }
      .bulk-btn--ghost{
        background:#fff;
        color:#374151;
        border-color:#E5E7EB;
      }
      .bulk-btn--ghost:hover{
        border-color:#0EA5E9; color:#0284C7;
      }
      html.rw-dark-mode .bulk-btn--ghost{
        background:rgba(255,255,255,.04);
        color:#d6deea;
        border-color:rgba(255,255,255,.10);
      }
      html.rw-dark-mode .bulk-btn--ghost:hover{
        border-color:#7DD3FC; color:#7DD3FC;
      }
      .bulk-btn--info{
        background:#EFF6FF; color:#1D4ED8;
        border-color:#DBEAFE;
      }
      html.rw-dark-mode .bulk-btn--info{
        background:rgba(59,130,246,.14);
        color:#93C5FD;
        border-color:rgba(59,130,246,.28);
      }
      .bulk-btn--danger{
        background:#FEF2F2; color:#DC2626;
        border-color:#FEE2E2;
      }
      html.rw-dark-mode .bulk-btn--danger{
        background:rgba(239,68,68,.14);
        color:#FCA5A5;
        border-color:rgba(239,68,68,.28);
      }
      .bulk-btn__ico{ font-size:14px; line-height:1; }

      /* ── Filter Tabs (매체사) ── */
      .bulk-panel-filters{
        padding:14px 24px;
        background:#fff;
        border-bottom:1px solid #E5E7EB;
        display:flex; gap:8px; flex-wrap:wrap;
      }
      html.rw-dark-mode .bulk-panel-filters{
        background:#0f172a;
        border-bottom-color:rgba(255,255,255,.06);
      }
      .bulk-chip{
        display:inline-flex; align-items:center; gap:6px;
        padding:7px 14px; border-radius:999px;
        font-size:12.5px; font-weight:600; letter-spacing:-.01em;
        color:#374151; background:#F3F4F6;
        border:1px solid transparent; cursor:pointer;
        transition:background .2s ease, color .2s ease, border-color .2s ease;
        font-family:inherit;
        -webkit-appearance:none; appearance:none;
      }
      html.rw-dark-mode .bulk-chip{
        background:rgba(255,255,255,.05);
        color:#d6deea;
      }
      .bulk-chip:hover{ background:rgba(14,165,233,.08); color:#0284C7; }
      .bulk-chip.is-active{
        background:linear-gradient(135deg,#0EA5E9 0%,#0284C7 100%);
        color:#fff; font-weight:700;
        box-shadow:0 4px 10px -2px rgba(14,165,233,.45);
      }
      .bulk-chip__icon{
        width:18px; height:18px; border-radius:50%;
        display:inline-grid; place-items:center;
        background:rgba(255,255,255,.6); font-size:10px;
        overflow:hidden;
      }
      .bulk-chip__icon img{ width:100%; height:100%; object-fit:cover; }

      /* ── iframe Wrapper (드롭다운 영역 본체) ── */
      .bulk-panel-frame-wrap{
        position:relative;
        padding:0;
        background:#FAFAFA;
      }
      html.rw-dark-mode .bulk-panel-frame-wrap{ background:#0b1224; }
      .bulk-panel-frame{
        display:block;
        width:100%;
        min-height:760px;
        border:0;
        background:transparent;
      }
      .bulk-panel-loading{
        position:absolute; inset:0;
        display:flex; align-items:center; justify-content:center;
        gap:10px; color:#6B7280;
        background:rgba(255,255,255,.85);
        -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
        font-size:14px; font-weight:600;
        z-index:5;
        transition:opacity .3s ease;
      }
      html.rw-dark-mode .bulk-panel-loading{
        background:rgba(15,23,42,.85);
        color:#93a4bf;
      }
      .bulk-panel-loading.is-hidden{ opacity:0; pointer-events:none; }
      .bulk-panel-loading__spinner{
        width:20px; height:20px; border-radius:50%;
        border:2.5px solid rgba(14,165,233,.2);
        border-top-color:#0EA5E9;
        animation:bulkSpin 1s linear infinite;
      }
      @keyframes bulkSpin{ to{ transform:rotate(360deg); } }

      /* ── 반응형 ── */
      @media (max-width:860px){
        .bulk-panel-header{ padding:16px 18px; }
        .bulk-panel-toolbar{ padding:12px 18px; gap:8px; }
        .bulk-panel-filters{ padding:12px 18px; }
        .bulk-toolbar__group + .bulk-toolbar__group{
          padding-left:0; border-left:none;
        }
        .bulk-panel-frame{ min-height:600px; }
      }
      @media (max-width:560px){
        .bulk-panel-header__title{ font-size:16px; }
        .bulk-panel-header__exit span{ display:none; }   /* 텍스트 숨기고 X만 */
        .bulk-btn{ padding:8px 10px; font-size:12px; }
        .bulk-btn span{ display:none; }
        .bulk-btn__ico{ font-size:15px; }
      }

      /* ── 모드 전환 시 기존 폼 감추기 ── */
      body.bulk-mode #sec1,
      body.bulk-mode .section-card{ display:none !important; }
      body.bulk-mode .order-entry-hero{
        /* Hero Card는 카드 하나만 접어 노출: 제목만 보이는 축소 모드 */
        padding:16px 22px;
        transition:padding .3s ease;
      }
      body.bulk-mode .entry-choice-grid{
        display:none;
      }
      body.bulk-mode .entry-hero-header{ margin-bottom:0; }
      body.bulk-mode .entry-hero-title{ font-size:15px; font-weight:700; }
      body.bulk-mode .entry-hero-sub{ display:none; }

      /* FAB은 bulk 모드에서도 노출 유지 */

      /* ════════════════════════════════════════════════ */
      /* ===== v3 : Demo Mode + Modal2 기본 스타일 ====== */
      /* ════════════════════════════════════════════════ */

      /* ---- modal2 컨테이너가 원본 외부 CSS에 정의돼 있어서 ---- */
      /* ---- 로컬 전용 fallback 스타일을 여기에 직접 구현 ------ */
      /* ── v3 hotfix: AI 팝업 오버레이 (완전 새 컨테이너로 포팅) ── */
      #aiPopupOverlay{
        display:none;
        position:fixed;
        top:0; left:0;
        width:100vw; height:100vh;
        background:rgba(15,23,42,.7);
        -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
        z-index:10500;
        overflow-y:auto;
        padding:40px 24px;
        animation:aiPopFade .25s ease;
      }
      #aiPopupOverlay.is-open{ display:block; }
      @keyframes aiPopFade{ from{opacity:0;} to{opacity:1;} }

      #aiPopupOverlay > .aiPopupBox{
        max-width:920px; width:100%;
        margin:0 auto;
        background:#fff;
        border-radius:20px;
        box-shadow:0 30px 80px -15px rgba(0,0,0,.45);
        overflow:hidden;
        animation:aiPopUp .35s cubic-bezier(.2,.8,.2,1);
      }
      html.rw-dark-mode #aiPopupOverlay > .aiPopupBox{
        background:#0f172a; color:#e2e8f0;
      }
      @keyframes aiPopUp{
        from{ opacity:0; transform:translateY(20px); }
        to  { opacity:1; transform:translateY(0); }
      }

      /* ── v3-hotfix: iframe 실패 대응 UI ── */
      .bulk-frame-fallback{
        display:none;
        padding:40px 24px;
        background:#fff;
      }
      html.rw-dark-mode .bulk-frame-fallback{ background:#0f172a; }
      .bulk-frame-fallback.is-active{ display:block; }

      .bulk-frame-fallback__notice{
        max-width:760px; margin:0 auto 24px;
        padding:16px 20px;
        border-radius:12px;
        background:linear-gradient(90deg, rgba(251,191,36,.12) 0%, rgba(251,146,60,.08) 100%);
        border:1px dashed #F59E0B;
        display:flex; gap:12px; align-items:flex-start;
      }
      .bulk-frame-fallback__notice-ico{
        font-size:20px; flex-shrink:0;
      }
      .bulk-frame-fallback__notice b{
        display:block; font-size:14px; font-weight:700;
        color:#92400E; margin-bottom:4px;
      }
      html.rw-dark-mode .bulk-frame-fallback__notice b{ color:#FCD34D; }
      .bulk-frame-fallback__notice span{
        font-size:12.5px; color:#78350F; line-height:1.5;
      }
      html.rw-dark-mode .bulk-frame-fallback__notice span{ color:#FDE68A; }
      .bulk-frame-fallback__notice code{
        padding:2px 6px; border-radius:4px;
        background:rgba(0,0,0,.08); font-family:monospace; font-size:11.5px;
      }
      html.rw-dark-mode .bulk-frame-fallback__notice code{ background:rgba(255,255,255,.1); }

      /* Mock 그리드 (엑셀 느낌의 간단 테이블) */
      .mock-grid{
        max-width:1400px; margin:0 auto;
        border-radius:12px; overflow:hidden;
        border:1px solid #E5E7EB;
        background:#fff;
      }
      html.rw-dark-mode .mock-grid{
        background:#1e293b; border-color:rgba(255,255,255,.1);
      }
      .mock-grid__header-row{
        display:grid;
        grid-template-columns: 42px 80px 100px 100px 100px 110px 110px 80px 90px 90px 1fr;
        background:#F9FAFB;
        border-bottom:1.5px solid #E5E7EB;
        font-size:12px; font-weight:700; color:#374151;
      }
      html.rw-dark-mode .mock-grid__header-row{
        background:#111c34; color:#d6deea;
        border-bottom-color:rgba(255,255,255,.1);
      }
      .mock-grid__cell{
        padding:10px 12px;
        border-right:1px solid #F3F4F6;
        font-size:12.5px; color:#374151;
        display:flex; align-items:center; gap:4px;
        white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
      }
      html.rw-dark-mode .mock-grid__cell{
        color:#d6deea;
        border-right-color:rgba(255,255,255,.06);
      }
      .mock-grid__row{
        display:grid;
        grid-template-columns: 42px 80px 100px 100px 100px 110px 110px 80px 90px 90px 1fr;
        border-bottom:1px solid #F3F4F6;
        transition:background .15s;
      }
      html.rw-dark-mode .mock-grid__row{
        border-bottom-color:rgba(255,255,255,.05);
      }
      .mock-grid__row:hover{ background:#F9FAFB; }
      html.rw-dark-mode .mock-grid__row:hover{ background:rgba(255,255,255,.03); }
      .mock-grid__row:nth-child(even){ background:rgba(124,58,237,.02); }
      html.rw-dark-mode .mock-grid__row:nth-child(even){ background:rgba(255,255,255,.01); }

      .mock-check{
        width:16px; height:16px; accent-color:#7C3AED;
      }
      .mock-badge{
        display:inline-block;
        padding:3px 8px; border-radius:999px;
        font-size:11px; font-weight:700;
      }
      .mock-badge--done{ background:#D1FAE5; color:#065F46; }
      .mock-badge--pend{ background:#FEF3C7; color:#92400E; }
      .mock-badge--fail{ background:#FEE2E2; color:#991B1B; }
      html.rw-dark-mode .mock-badge--done{ background:rgba(16,185,129,.2); color:#6EE7B7; }
      html.rw-dark-mode .mock-badge--pend{ background:rgba(245,158,11,.2); color:#FDE68A; }
      html.rw-dark-mode .mock-badge--fail{ background:rgba(239,68,68,.2); color:#FCA5A5; }

      .mock-grid__counter{
        padding:12px 16px;
        background:#fff;
        border-bottom:1px solid #E5E7EB;
        font-size:13px; color:#6B7280;
      }
      html.rw-dark-mode .mock-grid__counter{
        background:#1e293b; color:#93a4bf;
        border-bottom-color:rgba(255,255,255,.08);
      }
      .mock-grid__counter b{
        color:#7C3AED; font-weight:800;
      }
      html.rw-dark-mode .mock-grid__counter b{ color:#C4B5FD; }

      .mock-grid__pagination{
        display:flex; justify-content:center; align-items:center; gap:8px;
        padding:16px;
        border-top:1px solid #E5E7EB;
        font-size:12px; color:#6B7280;
      }
      html.rw-dark-mode .mock-grid__pagination{
        border-top-color:rgba(255,255,255,.08);
        color:#93a4bf;
      }
      .mock-grid__page-btn{
        width:28px; height:28px; border-radius:6px;
        border:1px solid #E5E7EB; background:#fff;
        color:#6B7280; font-size:12px; cursor:pointer;
        display:inline-grid; place-items:center;
      }
      .mock-grid__page-btn.is-active{
        background:#7C3AED; color:#fff; border-color:#7C3AED;
      }
      html.rw-dark-mode .mock-grid__page-btn{
        background:rgba(255,255,255,.04); color:#d6deea;
        border-color:rgba(255,255,255,.1);
      }



.photo-drop-zone {
    margin-top: 14px;
    padding: 14px 10px;
    border: 2px dashed #cfc9ff;
    border-radius: 18px;
    background: linear-gradient(180deg, #faf9ff 0%, #ffffff 100%);
    text-align: center;
    cursor: pointer;
    transition: .2s;
}

.photo-drop-zone.drag-over {
    border-color: #6759FF;
    background: rgba(103, 89, 255, .08);
}

.drop-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: #6759FF;
    color: #fff;
    font-size: 34px;
    line-height: 44px;
    font-weight: 300;
}

.drop-title {
    font-size: 16px;
    font-weight: 700;
    color: #222;
}

.drop-sub {
    margin-top: 6px;
    font-size: 13px;
    color: #777;
}

.drop-count {
    margin-top: 10px;
    font-size: 13px;
    color: #6759FF;
    font-weight: 700;
}

.photo-preview-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 12px;
}

.photo-item {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    background: #f5f5f5;
    border: 1px solid #eee;
    aspect-ratio: 1 / 1;
}

.photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.photo-del {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 50%;
    background: rgba(0,0,0,.65);
    color: #575757;
    font-size: 14px;
    cursor: pointer;
}

.photo-name {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 5px 6px;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}