@charset "UTF-8";
/* base */
/* line 1, app/assets/stylesheets/base/_tokens.scss */
:root {
  --bg: #ffffff;
  --ink: #0b0b0b;
  --muted: #6b7280;
  --line: #e5e7eb;
  --soft: #f3f4f6;
  --shadow: 0 10px 25px rgba(0,0,0,.08);
  --radius: 16px;
  --radius-sm: 12px;
  --container: 1120px;
}

/* line 1, app/assets/stylesheets/base/_reset.scss */
* {
  box-sizing: border-box;
}

/* line 2, app/assets/stylesheets/base/_reset.scss */
html, body {
  height: 100%;
}

/* line 4, app/assets/stylesheets/base/_reset.scss */
body {
  margin: 0;
}

/* line 6, app/assets/stylesheets/base/_reset.scss */
a {
  color: black;
  text-decoration: none;
}

/* line 7, app/assets/stylesheets/base/_reset.scss */
button {
  font: black;
}

/* line 1, app/assets/stylesheets/base/_typography.scss */
body {
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--ink);
  background: #f9fafb;
}

/* line 1, app/assets/stylesheets/base/_globals.scss */
.page {
  background: #f9fafb;
  color: #111827;
}

/* line 6, app/assets/stylesheets/base/_globals.scss */
.muted {
  color: var(--muted);
  font-size: 12px;
}

/* line 11, app/assets/stylesheets/base/_globals.scss */
.center {
  text-align: center;
}

/* line 12, app/assets/stylesheets/base/_globals.scss */
.stack {
  display: grid;
  gap: 12px;
}

/* line 13, app/assets/stylesheets/base/_globals.scss */
.mt-12 {
  margin-top: 48px;
}

/* layout */
/* line 1, app/assets/stylesheets/layout/_container.scss */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 16px;
}

/* line 1, app/assets/stylesheets/layout/_page.scss */
.section {
  padding: 64px 0;
}

/* line 1, app/assets/stylesheets/layout/_grid.scss */
.grid {
  display: grid;
  gap: 18px;
}

/* line 6, app/assets/stylesheets/layout/_grid.scss */
.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* line 11, app/assets/stylesheets/layout/_grid.scss */
.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* line 1, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-sidebar {
  width: 280px;
  min-width: 280px;
  background: #fff;
  border-right: 1px solid #e5e7eb;
  padding: 24px 18px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* line 12, app/assets/stylesheets/layout/_admin.scss */
.bd-sidebar-top {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 18, app/assets/stylesheets/layout/_admin.scss */
.bd-title {
  margin-bottom: 2px;
}

/* line 22, app/assets/stylesheets/layout/_admin.scss */
.bd-title-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #111827;
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 32, app/assets/stylesheets/layout/_admin.scss */
.bd-title-mark {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #111827;
  color: #fff;
  flex-shrink: 0;
}

/* line 41, app/assets/stylesheets/layout/_admin.scss */
.bd-title-mark-svg {
  display: block;
}

/* line 45, app/assets/stylesheets/layout/_admin.scss */
.bd-plan {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 14px 16px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
  background: linear-gradient(to bottom right, #fafafa, #ffffff);
}

/* line 53, app/assets/stylesheets/layout/_admin.scss */
.bd-plan-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* line 60, app/assets/stylesheets/layout/_admin.scss */
.bd-plan-name {
  font-weight: 600;
  color: #111827;
}

/* line 65, app/assets/stylesheets/layout/_admin.scss */
.bd-plan-meta {
  margin-top: 6px;
  font-size: 0.875rem;
  color: #6b7280;
  word-break: break-word;
}

/* line 72, app/assets/stylesheets/layout/_admin.scss */
.bd-nav {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 78, app/assets/stylesheets/layout/_admin.scss */
.bd-nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 14px;
  color: #374151;
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

/* line 89, app/assets/stylesheets/layout/_admin.scss */
.bd-nav-link:hover {
  background: #f3f4f6;
  color: #111827;
}

/* line 94, app/assets/stylesheets/layout/_admin.scss */
.bd-nav-link.is-active {
  background: #111827;
  color: #fff;
}

/* line 99, app/assets/stylesheets/layout/_admin.scss */
.bd-nav-ico {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 108, app/assets/stylesheets/layout/_admin.scss */
.bd-nav-svg {
  display: block;
}

/* line 112, app/assets/stylesheets/layout/_admin.scss */
.bd-nav-txt {
  font-size: 0.95rem;
  line-height: 1.2;
  font-weight: 500;
}

/* line 118, app/assets/stylesheets/layout/_admin.scss */
.bd-main-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

/* line 126, app/assets/stylesheets/layout/_admin.scss */
.bd-h1 {
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
}

/* line 134, app/assets/stylesheets/layout/_admin.scss */
.bd-p {
  margin: 0;
  color: #6b7280;
  font-size: 0.98rem;
}

/* line 140, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-metrics,
.bd-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

/* line 148, app/assets/stylesheets/layout/_admin.scss */
.bd-metric {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

/* line 156, app/assets/stylesheets/layout/_admin.scss */
.bd-metric-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}

/* line 164, app/assets/stylesheets/layout/_admin.scss */
.bd-metric-label {
  font-size: 0.9rem;
  color: #6b7280;
}

/* line 169, app/assets/stylesheets/layout/_admin.scss */
.bd-metric-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #f3f4f6;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 181, app/assets/stylesheets/layout/_admin.scss */
.bd-metric-num {
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  color: #111827;
}

/* line 188, app/assets/stylesheets/layout/_admin.scss */
.bd-charts,
.bd-admin-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* line 195, app/assets/stylesheets/layout/_admin.scss */
.bd-card,
.bd-admin-panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

/* line 204, app/assets/stylesheets/layout/_admin.scss */
.bd-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

/* line 212, app/assets/stylesheets/layout/_admin.scss */
.bd-panel-head-left {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* line 218, app/assets/stylesheets/layout/_admin.scss */
.bd-panel-head-ico {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #f3f4f6;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 229, app/assets/stylesheets/layout/_admin.scss */
.bd-panel-h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #111827;
}

/* line 236, app/assets/stylesheets/layout/_admin.scss */
.bd-plan-link {
  color: #111827;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 243, app/assets/stylesheets/layout/_admin.scss */
.bd-plan-link:hover {
  text-decoration: underline;
}

/* line 247, app/assets/stylesheets/layout/_admin.scss */
.bd-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 253, app/assets/stylesheets/layout/_admin.scss */
.bd-item {
  border: 1px solid #f3f4f6;
  background: #fafafa;
  border-radius: 14px;
  padding: 14px;
}

/* line 260, app/assets/stylesheets/layout/_admin.scss */
.bd-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

/* line 267, app/assets/stylesheets/layout/_admin.scss */
.bd-item-name {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin-bottom: 4px;
}

/* line 274, app/assets/stylesheets/layout/_admin.scss */
.bd-item-sub {
  font-size: 0.875rem;
  color: #6b7280;
}

/* line 279, app/assets/stylesheets/layout/_admin.scss */
.bd-item-profit-k {
  font-size: 0.8rem;
  color: #6b7280;
  white-space: nowrap;
}

/* line 285, app/assets/stylesheets/layout/_admin.scss */
.bd-empty-state {
  border: 1px dashed #d1d5db;
  border-radius: 14px;
  padding: 22px 14px;
  text-align: center;
  background: #fafafa;
}

/* line 293, app/assets/stylesheets/layout/_admin.scss */
.bd-empty-state-icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #f3f4f6;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
}

@media (max-width: 1200px) {
  /* line 306, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-metrics,
.bd-metrics,
.bd-charts,
.bd-admin-panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  /* line 315, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-sidebar {
    width: 100%;
    min-width: 0;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }
  /* line 322, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-metrics,
.bd-metrics,
.bd-charts,
.bd-admin-panels {
    grid-template-columns: 1fr;
  }
}

/* line 329, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-table-card,
.bd-admin-filter-card,
.bd-admin-detail-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

/* line 338, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-filter-card {
  margin-bottom: 16px;
}

/* line 342, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-search {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 349, app/assets/stylesheets/layout/_admin.scss */
.bd-input-wrap {
  position: relative;
  flex: 1;
  min-width: 260px;
}

/* line 355, app/assets/stylesheets/layout/_admin.scss */
.bd-input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 366, app/assets/stylesheets/layout/_admin.scss */
.bd-input {
  width: 100%;
  height: 44px;
  border: 1px solid #d1d5db;
  border-radius: 14px;
  background: #fff;
  color: #111827;
  padding: 0 14px 0 40px;
  font-size: 0.95rem;
  outline: none;
}

/* line 378, app/assets/stylesheets/layout/_admin.scss */
.bd-input:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

/* line 383, app/assets/stylesheets/layout/_admin.scss */
.bd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 16px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

/* line 397, app/assets/stylesheets/layout/_admin.scss */
.bd-btn--primary {
  background: #111827;
  color: #fff;
}

/* line 402, app/assets/stylesheets/layout/_admin.scss */
.bd-btn--primary:hover {
  background: #000;
}

/* line 406, app/assets/stylesheets/layout/_admin.scss */
.bd-btn--secondary {
  background: #fff;
  color: #111827;
  border-color: #d1d5db;
}

/* line 412, app/assets/stylesheets/layout/_admin.scss */
.bd-btn--secondary:hover {
  background: #f9fafb;
}

/* line 416, app/assets/stylesheets/layout/_admin.scss */
.bd-table-wrap {
  width: 100%;
  overflow-x: auto;
}

/* line 421, app/assets/stylesheets/layout/_admin.scss */
.bd-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

/* line 427, app/assets/stylesheets/layout/_admin.scss */
.bd-table thead th {
  text-align: left;
  padding: 14px 16px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  background: #fafafa;
}

/* line 437, app/assets/stylesheets/layout/_admin.scss */
.bd-table thead th.is-right,
.bd-table tbody td.is-right {
  text-align: right;
}

/* line 442, app/assets/stylesheets/layout/_admin.scss */
.bd-table tbody td {
  padding: 16px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}

/* line 448, app/assets/stylesheets/layout/_admin.scss */
.bd-table tbody tr:last-child td {
  border-bottom: 0;
}

/* line 452, app/assets/stylesheets/layout/_admin.scss */
.bd-table tbody tr:hover {
  background: #fafafa;
}

/* line 456, app/assets/stylesheets/layout/_admin.scss */
.bd-table-primary {
  color: #111827;
  font-weight: 600;
  font-size: 0.95rem;
}

/* line 462, app/assets/stylesheets/layout/_admin.scss */
.bd-table-secondary {
  color: #6b7280;
  font-size: 0.88rem;
}

/* line 467, app/assets/stylesheets/layout/_admin.scss */
.bd-inline-link {
  color: #111827;
  font-weight: 600;
  text-decoration: none;
}

/* line 473, app/assets/stylesheets/layout/_admin.scss */
.bd-inline-link:hover {
  text-decoration: underline;
}

/* line 477, app/assets/stylesheets/layout/_admin.scss */
.bd-table-empty {
  text-align: center;
  padding: 24px 12px;
}

/* line 482, app/assets/stylesheets/layout/_admin.scss */
.bd-detail-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 488, app/assets/stylesheets/layout/_admin.scss */
.bd-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #f3f4f6;
}

/* line 497, app/assets/stylesheets/layout/_admin.scss */
.bd-detail-row:last-child {
  border-bottom: 0;
}

/* line 501, app/assets/stylesheets/layout/_admin.scss */
.bd-detail-label {
  color: #6b7280;
  font-size: 0.92rem;
  min-width: 120px;
}

/* line 507, app/assets/stylesheets/layout/_admin.scss */
.bd-detail-value {
  color: #111827;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: right;
}

/* line 514, app/assets/stylesheets/layout/_admin.scss */
.bd-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: capitalize;
}

/* line 528, app/assets/stylesheets/layout/_admin.scss */
.bd-status-pill.is-success {
  background: #dcfce7;
  color: #166534;
}

/* line 533, app/assets/stylesheets/layout/_admin.scss */
.bd-status-pill.is-warning {
  background: #fef3c7;
  color: #92400e;
}

@media (max-width: 760px) {
  /* line 539, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-search {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 544, app/assets/stylesheets/layout/_admin.scss */
  .bd-input-wrap {
    min-width: 0;
  }
  /* line 548, app/assets/stylesheets/layout/_admin.scss */
  .bd-detail-row {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 553, app/assets/stylesheets/layout/_admin.scss */
  .bd-detail-value {
    text-align: left;
  }
}

/* line 558, app/assets/stylesheets/layout/_admin.scss */
.bd-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

/* line 567, app/assets/stylesheets/layout/_admin.scss */
.bd-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* line 574, app/assets/stylesheets/layout/_admin.scss */
.bd-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 600;
  border: 1px solid transparent;
}

/* line 589, app/assets/stylesheets/layout/_admin.scss */
.bd-pill--blue {
  background: #111827;
  color: #fff;
}

/* line 594, app/assets/stylesheets/layout/_admin.scss */
.bd-status-pill.is-danger {
  background: #fee2e2;
  color: #991b1b;
}

/* line 599, app/assets/stylesheets/layout/_admin.scss */
.bd-doc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* line 605, app/assets/stylesheets/layout/_admin.scss */
.bd-doc-card {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  background: #fafafa;
}

/* line 612, app/assets/stylesheets/layout/_admin.scss */
.bd-doc-image {
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
}

/* line 619, app/assets/stylesheets/layout/_admin.scss */
.bd-doc-file {
  padding: 14px;
}

/* line 623, app/assets/stylesheets/layout/_admin.scss */
.bd-doc-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
}

/* line 633, app/assets/stylesheets/layout/_admin.scss */
.bd-alert {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid #fca5a5;
}

/* line 643, app/assets/stylesheets/layout/_admin.scss */
.bd-alert--danger {
  background: #fef2f2;
  color: #991b1b;
}

/* line 648, app/assets/stylesheets/layout/_admin.scss */
.bd-alert-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 655, app/assets/stylesheets/layout/_admin.scss */
.bd-alert-txt {
  font-size: 0.92rem;
  font-weight: 500;
}

/* line 660, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 667, app/assets/stylesheets/layout/_admin.scss */
.bd-inline-form {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 280px;
  flex-wrap: wrap;
}

/* line 676, app/assets/stylesheets/layout/_admin.scss */
.bd-btn--ghost {
  background: #fff;
  color: #111827;
  border: 1px solid #d1d5db;
}

/* line 682, app/assets/stylesheets/layout/_admin.scss */
.bd-btn--ghost:hover {
  background: #f9fafb;
}

/* line 686, app/assets/stylesheets/layout/_admin.scss */
.bd-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 692, app/assets/stylesheets/layout/_admin.scss */
.bd-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 698, app/assets/stylesheets/layout/_admin.scss */
.bd-label {
  color: #374151;
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 704, app/assets/stylesheets/layout/_admin.scss */
.bd-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

/* line 710, app/assets/stylesheets/layout/_admin.scss */
.bd-check-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fafafa;
  color: #374151;
  font-size: 0.9rem;
}

@media (max-width: 760px) {
  /* line 724, app/assets/stylesheets/layout/_admin.scss */
  .bd-doc-grid {
    grid-template-columns: 1fr;
  }
  /* line 728, app/assets/stylesheets/layout/_admin.scss */
  .bd-check-grid {
    grid-template-columns: 1fr;
  }
  /* line 732, app/assets/stylesheets/layout/_admin.scss */
  .bd-inline-form {
    min-width: 0;
    width: 100%;
  }
}

/* line 738, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-form-card,
.bd-admin-list-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

/* line 746, app/assets/stylesheets/layout/_admin.scss */
.bd-textarea {
  min-height: 110px;
  padding-top: 12px;
  padding-bottom: 12px;
  resize: vertical;
}

/* line 753, app/assets/stylesheets/layout/_admin.scss */
.bd-date-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* line 759, app/assets/stylesheets/layout/_admin.scss */
.bd-btn-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* line 765, app/assets/stylesheets/layout/_admin.scss */
.bd-inline-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* line 773, app/assets/stylesheets/layout/_admin.scss */
.bd-inline-meta-text {
  color: #6b7280;
  font-size: 0.85rem;
}

/* line 778, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-item {
  border: 1px solid #f3f4f6;
  background: #fafafa;
  border-radius: 16px;
  padding: 16px;
}

/* line 785, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-item .bd-actions {
  margin-top: 14px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  /* line 792, app/assets/stylesheets/layout/_admin.scss */
  .bd-date-grid {
    grid-template-columns: 1fr;
  }
  /* line 796, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-item .bd-item-top {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 801, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-item .bd-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* line 807, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-banner {
  margin-bottom: 20px;
}

/* line 811, app/assets/stylesheets/layout/_admin.scss */
.bd-banner-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

/* line 818, app/assets/stylesheets/layout/_admin.scss */
.bd-banner-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* line 824, app/assets/stylesheets/layout/_admin.scss */
.bd-banner-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 836, app/assets/stylesheets/layout/_admin.scss */
.bd-banner-stat {
  text-align: right;
}

/* line 840, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-tabs-card {
  padding-top: 18px;
}

/* line 844, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
  margin-bottom: 18px;
}

/* line 852, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-tab {
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  border-radius: 12px;
  min-height: 42px;
  padding: 10px 14px;
  white-space: nowrap;
  font-weight: 600;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

/* line 864, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-tab:hover {
  border-color: #c7d2fe;
}

/* line 868, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-tab.is-active {
  background: #111827;
  color: #fff;
  border-color: #111827;
}

@media (max-width: 760px) {
  /* line 875, app/assets/stylesheets/layout/_admin.scss */
  .bd-banner-row {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 880, app/assets/stylesheets/layout/_admin.scss */
  .bd-banner-stat {
    text-align: left;
  }
}

/* line 884, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-tab-panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

/* line 892, app/assets/stylesheets/layout/_admin.scss */
.bd-setting-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 898, app/assets/stylesheets/layout/_admin.scss */
.bd-setting-row {
  min-height: 50px;
  border: 1px solid #e5e7eb;
  background: #fafafa;
  border-radius: 14px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* line 910, app/assets/stylesheets/layout/_admin.scss */
.bd-setting-label {
  color: #374151;
  font-size: 0.92rem;
  font-weight: 500;
}

/* line 916, app/assets/stylesheets/layout/_admin.scss */
.bd-help-text {
  margin-top: 16px;
  color: #6b7280;
  font-size: 0.8rem;
}

/* line 922, app/assets/stylesheets/layout/_admin.scss */
.bd-subsection {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #e5e7eb;
}

/* line 928, app/assets/stylesheets/layout/_admin.scss */
.bd-subsection-title {
  margin: 0 0 14px;
  color: #111827;
  font-size: 0.92rem;
  font-weight: 600;
}

/* line 935, app/assets/stylesheets/layout/_admin.scss */
.bd-stack-panels {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 941, app/assets/stylesheets/layout/_admin.scss */
.bd-subpanel {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fafafa;
  padding: 16px;
}

/* line 948, app/assets/stylesheets/layout/_admin.scss */
.bd-detail-value--wrap {
  white-space: normal;
  max-width: 420px;
}

@media (max-width: 760px) {
  /* line 954, app/assets/stylesheets/layout/_admin.scss */
  .bd-setting-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* line 958, app/assets/stylesheets/layout/_admin.scss */
.bd-section {
  margin-top: 18px;
}

/* line 961, app/assets/stylesheets/layout/_admin.scss */
.bd-main-head--inner {
  margin-bottom: 18px;
}

/* line 965, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

/* line 972, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-price-card {
  padding: 16px;
}

/* line 976, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-price-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

/* line 983, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-price-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #f3f4f6;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 994, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-price-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
}

/* line 1000, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-price-meta {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e5e7eb;
  font-size: 0.78rem;
  color: #6b7280;
}

/* line 1008, app/assets/stylesheets/layout/_admin.scss */
.bd-admin-empty-card {
  border: 1px dashed #d1d5db;
  background: #fafafa;
}

/* line 1013, app/assets/stylesheets/layout/_admin.scss */
.mt-4 {
  margin-top: 16px;
}

@media (max-width: 1100px) {
  /* line 1018, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  /* line 1024, app/assets/stylesheets/layout/_admin.scss */
  .bd-admin-pricing-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1028, app/assets/stylesheets/layout/_admin.scss */
.bd-main-head .bd-status-pill {
  flex-shrink: 0;
}

/* utilities */
/* ===== Helpers / Utilities ===== */
/* line 3, app/assets/stylesheets/utilities/_helpers.scss */
.section-tint {
  background: linear-gradient(135deg, #eef2ff 0%, #eff6ff 100%);
}

/* line 7, app/assets/stylesheets/utilities/_helpers.scss */
.section-center {
  text-align: center;
  max-width: 840px;
  margin: 0 auto;
}

/* line 13, app/assets/stylesheets/utilities/_helpers.scss */
.section-subtitle-wide {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1rem;
}

/* line 20, app/assets/stylesheets/utilities/_helpers.scss */
.mt-12 {
  margin-top: 48px;
}

/* line 22, app/assets/stylesheets/utilities/_helpers.scss */
.meta {
  white-space: nowrap;
}

/* components */
/* line 1, app/assets/stylesheets/components/_buttons.scss */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 12px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  text-decoration: none;
}

/* line 14, app/assets/stylesheets/components/_buttons.scss */
.btn-block {
  width: 100%;
}

/* line 16, app/assets/stylesheets/components/_buttons.scss */
.btn-dark {
  background: var(--ink);
  color: #fff;
}

/* line 20, app/assets/stylesheets/components/_buttons.scss */
.btn-dark:hover {
  background: #222;
}

/* line 23, app/assets/stylesheets/components/_buttons.scss */
.btn-light {
  background: #fff;
  color: var(--ink);
  border-color: #fff;
}

/* line 28, app/assets/stylesheets/components/_buttons.scss */
.btn-light:hover {
  background: #f3f4f6;
}

/* line 31, app/assets/stylesheets/components/_buttons.scss */
.btn-outline-light {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

/* line 36, app/assets/stylesheets/components/_buttons.scss */
.btn-outline-light:hover {
  background: #fff;
  color: var(--ink);
}

/* line 39, app/assets/stylesheets/components/_buttons.scss */
.btn-link {
  background: transparent;
  border-color: transparent;
  color: var(--muted);
}

/* line 44, app/assets/stylesheets/components/_buttons.scss */
.btn-link:hover {
  color: var(--ink);
}

/* line 47, app/assets/stylesheets/components/_buttons.scss */
.icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background: transparent;
  padding: 10px;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.15s ease;
}

/* line 59, app/assets/stylesheets/components/_buttons.scss */
.icon-btn:hover {
  background: var(--soft);
}

/* line 62, app/assets/stylesheets/components/_buttons.scss */
.chip {
  border: 1px solid var(--ink);
  background: var(--soft);
  border-radius: 999px;
  padding: 8px 10px;
  cursor: pointer;
}

/* line 70, app/assets/stylesheets/components/_buttons.scss */
.chip--active {
  background: var(--ink);
  color: #fff;
}

/* line 1, app/assets/stylesheets/components/_badges.scss */
.badge {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

/* line 16, app/assets/stylesheets/components/_badges.scss */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid transparent;
  white-space: nowrap;
}

/* line 27, app/assets/stylesheets/components/_badges.scss */
.pill-products {
  background: #dbeafe;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

/* line 33, app/assets/stylesheets/components/_badges.scss */
.pill-services {
  background: #dcfce7;
  color: #15803d;
  border-color: #bbf7d0;
}

/* line 39, app/assets/stylesheets/components/_badges.scss */
.pill-both {
  background: #ede9fe;
  color: #6d28d9;
  border-color: #ddd6fe;
}

/* line 1, app/assets/stylesheets/components/_forms.scss */
.field {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

/* line 7, app/assets/stylesheets/components/_forms.scss */
.field label {
  font-size: 13px;
  color: #222;
}

/* line 12, app/assets/stylesheets/components/_forms.scss */
.input,
.field input,
.field select,
.field textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  outline: none;
  font-size: 14px;
}

/* line 24, app/assets/stylesheets/components/_forms.scss */
.input:focus,
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: #000;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);
}

/* line 32, app/assets/stylesheets/components/_forms.scss */
.hint {
  font-size: 12px;
}

/* ===== Navbar ===== */
/* line 3, app/assets/stylesheets/components/_navbar.scss */
.nav {
  height: 6rem;
  background: var(--bg);
  border-bottom: none;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
  position: sticky;
  top: 0;
  z-index: 20;
}

/* line 14, app/assets/stylesheets/components/_navbar.scss */
.nav-row {
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* line 22, app/assets/stylesheets/components/_navbar.scss */
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 260px;
}

/* line 29, app/assets/stylesheets/components/_navbar.scss */
.brand-icon {
  font-size: 22px;
}

/* line 31, app/assets/stylesheets/components/_navbar.scss */
.brand-text {
  font-size: 22px;
  line-height: 1;
}

/* line 36, app/assets/stylesheets/components/_navbar.scss */
.qc-flag {
  width: 28px;
  height: 20px;
  margin-left: 6px;
  border-radius: 4px;
  overflow: hidden;
  display: inline-block;
}

/* line 45, app/assets/stylesheets/components/_navbar.scss */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 52, app/assets/stylesheets/components/_navbar.scss */
.nav-link {
  display: flex;
  align-items: center;
  gap: 6px;
  /* was 8px */
  padding: 8px 10px;
  /* was 10px 14px */
  border-radius: 10px;
  color: var(--ink);
  transition: background 0.15s ease, color 0.15s ease;
  white-space: nowrap;
  font-size: 14px;
  /* tighten */
}

/* line 64, app/assets/stylesheets/components/_navbar.scss */
.nav-link:hover {
  background: var(--soft);
}

/* line 68, app/assets/stylesheets/components/_navbar.scss */
.nav-link.is-active {
  background: #f3f4f6;
  /* light neutral gray */
  color: var(--ink);
}

/* line 73, app/assets/stylesheets/components/_navbar.scss */
.nav-auth {
  display: flex;
  align-items: center;
  gap: 6px;
  /* was 8px */
  flex: 0 0 auto;
}

/* line 80, app/assets/stylesheets/components/_navbar.scss */
.nav .btn {
  padding: 6px 10px;
  font-size: 14px;
  line-height: 1.2;
}

/* line 86, app/assets/stylesheets/components/_navbar.scss */
.nav .chip {
  padding: 5px 8px;
  font-size: 13px;
  border-radius: 999px;
}

/* line 92, app/assets/stylesheets/components/_navbar.scss */
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

/* line 99, app/assets/stylesheets/components/_navbar.scss */
.brand-logo {
  height: 55px;
  width: 55px;
  object-fit: contain;
}

/* line 105, app/assets/stylesheets/components/_navbar.scss */
.brand-text {
  font-weight: 600;
  font-size: 32px;
}

/* line 1, app/assets/stylesheets/components/_cards.scss */
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

/* line 9, app/assets/stylesheets/components/_cards.scss */
.card-media {
  height: 160px;
  background: #f3f4f6;
  overflow: hidden;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

/* line 17, app/assets/stylesheets/components/_cards.scss */
.card-body {
  padding: 16px;
}

/* line 19, app/assets/stylesheets/components/_cards.scss */
.card-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

/* line 25, app/assets/stylesheets/components/_cards.scss */
.card-text {
  margin: 10px 0 12px 0;
  color: var(--muted);
  line-height: 1.5;
}

/* line 31, app/assets/stylesheets/components/_cards.scss */
.shop-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* line 38, app/assets/stylesheets/components/_cards.scss */
.shop-meta {
  display: flex;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 14px;
}

/* Contact + Subscribe cards */
/* line 48, app/assets/stylesheets/components/_cards.scss */
.contact-subscribe {
  margin-top: 24px;
}

/* line 52, app/assets/stylesheets/components/_cards.scss */
.contact-subscribe-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 900px) {
  /* line 59, app/assets/stylesheets/components/_cards.scss */
  .contact-subscribe-grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}

/* line 1, app/assets/stylesheets/components/_banner.scss */
.banner {
  background: #fff;
  border: 1px solid var(--ink);
  border-radius: var(--radius);
  padding: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

/* line 12, app/assets/stylesheets/components/_banner.scss */
.banner-title {
  margin: 0 0 6px 0;
  font-size: 18px;
}

/* line 17, app/assets/stylesheets/components/_banner.scss */
.banner-text {
  margin: 0;
  color: var(--muted);
}

/* line 1, app/assets/stylesheets/components/_cta_card.scss */
.cta-card {
  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
  color: #fff;
  border-radius: 24px;
  padding: 44px 18px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 20px 40px rgba(79, 70, 229, 0.22);
}

/* line 11, app/assets/stylesheets/components/_cta_card.scss */
.cta-title {
  margin: 0 0 10px 0;
  font-size: 30px;
  font-weight: 500;
}

/* line 17, app/assets/stylesheets/components/_cta_card.scss */
.cta-text {
  margin: 0 auto 22px auto;
  color: rgba(255, 255, 255, 0.82);
  font-size: 18px;
  max-width: 720px;
}

/* line 1, app/assets/stylesheets/components/_section_head.scss */
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

/* line 9, app/assets/stylesheets/components/_section_head.scss */
.section-title {
  font-size: 30px;
  margin: 0 0 6px 0;
  font-weight: 500;
  color: #4B3FAA;
}

/* line 16, app/assets/stylesheets/components/_section_head.scss */
.section-subtitle {
  margin: 0;
  color: #7C6FC4;
  font-size: 16px;
}

/* line 22, app/assets/stylesheets/components/_section_head.scss */
.link-arrow {
  color: #6B4FE0;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #C4B5FD;
  background: #EDE9FF;
  transition: background 150ms ease;
}

/* line 31, app/assets/stylesheets/components/_section_head.scss */
.link-arrow:hover {
  background: #DDD6FE;
  border-color: #a78bfa;
  color: #4B3FAA;
}

/* ===== Modal ===== */
/* line 2, app/assets/stylesheets/components/_modals.scss */
.modal[aria-hidden="true"] {
  display: none;
}

/* line 4, app/assets/stylesheets/components/_modals.scss */
.modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  /* CENTER IT */
  display: flex;
  align-items: center;
  justify-content: center;
  /* breathing room on small screens */
  padding: 24px;
}

/* line 18, app/assets/stylesheets/components/_modals.scss */
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* line 24, app/assets/stylesheets/components/_modals.scss */
.modal-panel {
  position: relative;
  z-index: 61;
  /* BIGGER */
  width: clamp(320px, 92vw, 900px);
  /* keep it visible on short screens */
  max-height: 86vh;
  overflow: hidden;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

/* if you want the business wizard even wider */
/* line 42, app/assets/stylesheets/components/_modals.scss */
.modal-panel.modal-wide {
  width: clamp(320px, 94vw, 1050px);
}

/* line 46, app/assets/stylesheets/components/_modals.scss */
.modal-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid #e5e7eb;
}

/* line 55, app/assets/stylesheets/components/_modals.scss */
.modal-title {
  margin: 0;
  font-size: 18px;
  color: #000;
}

/* line 61, app/assets/stylesheets/components/_modals.scss */
.modal-body {
  padding: 16px;
  /* allow body to scroll inside the panel */
  max-height: calc(86vh - 62px);
  overflow: auto;
}

/* line 69, app/assets/stylesheets/components/_modals.scss */
.modal-foot {
  display: flex;
  gap: 12px;
  padding-top: 16px;
  margin-top: 14px;
  border-top: 1px solid #eee;
}

/* line 77, app/assets/stylesheets/components/_modals.scss */
.icon-x {
  border: none;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  color: #555;
}

/* ===== Wizard tile selection fallback (if Tailwind peer-checked isn't compiling) ===== */
/* Category tiles */
/* line 88, app/assets/stylesheets/components/_modals.scss */
label > input.peer[type="radio"]:checked + div {
  border-color: #4f46e5;
  /* indigo-600 */
  background: rgba(99, 102, 241, 0.1);
  /* indigo-50-ish */
  box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.25);
  /* ring */
  font-weight: 500;
}

/* Make hover feel clickable */
/* line 96, app/assets/stylesheets/components/_modals.scss */
label > input.peer[type="radio"] + div {
  transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

/* line 100, app/assets/stylesheets/components/_modals.scss */
.wizard-tile {
  transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

/* checked -> style the tile (checkbox + radio) */
/* line 105, app/assets/stylesheets/components/_modals.scss */
input.peer[type="checkbox"]:checked + label .wizard-tile,
input.peer[type="radio"]:checked + label .wizard-tile {
  border-color: #4f46e5;
  /* indigo-600 */
  background: rgba(99, 102, 241, 0.1);
  /* indigo-50-ish */
  box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.25);
  font-weight: 500;
}

/* hover */
/* line 114, app/assets/stylesheets/components/_modals.scss */
input.peer + label .wizard-tile:hover {
  border-color: rgba(79, 70, 229, 0.55);
}

/* line 119, app/assets/stylesheets/components/_modals.scss */
.shop-modal-backdrop[hidden] {
  display: none !important;
}

/* line 123, app/assets/stylesheets/components/_modals.scss */
.shop-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.45);
}

/* line 134, app/assets/stylesheets/components/_modals.scss */
.shop-modal {
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
  padding: 28px;
}

/* line 145, app/assets/stylesheets/components/_modals.scss */
.shop-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
}

/* line 155, app/assets/stylesheets/components/_modals.scss */
.shop-modal-title {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.2;
  font-weight: 700;
  color: #111827;
}

/* line 163, app/assets/stylesheets/components/_modals.scss */
.shop-modal-x {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 9999px;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* line 174, app/assets/stylesheets/components/_modals.scss */
.shop-modal-x:hover {
  background: #f3f4f6;
  color: #111827;
}

/* line 179, app/assets/stylesheets/components/_modals.scss */
.shop-modal-phone {
  margin: 0 0 18px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #4b5563;
}

/* line 186, app/assets/stylesheets/components/_modals.scss */
.shop-modal-phone a {
  color: #111827;
  font-weight: 600;
  text-decoration: underline;
}

/* line 192, app/assets/stylesheets/components/_modals.scss */
.shop-modal-label {
  display: block;
  margin: 14px 0 8px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #374151;
}

/* line 200, app/assets/stylesheets/components/_modals.scss */
.shop-modal-input,
.shop-modal-textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 14px;
  background: #ffffff;
  color: #111827;
  padding: 12px 14px;
  font-size: 1rem;
  line-height: 1.4;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 213, app/assets/stylesheets/components/_modals.scss */
.shop-modal-input::placeholder,
.shop-modal-textarea::placeholder {
  color: #9ca3af;
}

/* line 218, app/assets/stylesheets/components/_modals.scss */
.shop-modal-input:focus,
.shop-modal-textarea:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

/* line 225, app/assets/stylesheets/components/_modals.scss */
.shop-modal-textarea {
  resize: vertical;
  min-height: 130px;
}

/* line 230, app/assets/stylesheets/components/_modals.scss */
.shop-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 20px;
}

/* line 237, app/assets/stylesheets/components/_modals.scss */
.shop-modal-success {
  margin-top: 16px;
  color: #15803d;
  font-size: 0.95rem;
  line-height: 1.4;
}

@media (max-width: 640px) {
  /* line 245, app/assets/stylesheets/components/_modals.scss */
  .shop-modal-backdrop {
    padding: 16px;
  }
  /* line 249, app/assets/stylesheets/components/_modals.scss */
  .shop-modal {
    max-width: 100%;
    max-height: calc(100vh - 32px);
    padding: 20px;
    border-radius: 16px;
  }
  /* line 256, app/assets/stylesheets/components/_modals.scss */
  .shop-modal-title {
    font-size: 1.2rem;
  }
  /* line 260, app/assets/stylesheets/components/_modals.scss */
  .shop-modal-actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  /* line 265, app/assets/stylesheets/components/_modals.scss */
  .shop-modal-actions .btn {
    width: 100%;
  }
}

/* line 270, app/assets/stylesheets/components/_modals.scss */
.shop-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.45);
  animation: shopModalFadeIn 0.18s ease-out;
}

/* line 282, app/assets/stylesheets/components/_modals.scss */
.shop-modal {
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
  padding: 28px;
  animation: shopModalScaleIn 0.18s ease-out;
}

@keyframes shopModalFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes shopModalScaleIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* line 310, app/assets/stylesheets/components/_modals.scss */
.option-row.is-selected {
  border-color: var(--indigo-600, #4f46e5);
  background: var(--indigo-50, #eef2ff);
  box-shadow: 0 0 0 2px var(--indigo-600, #4f46e5);
}

/* ===== AUTH MODALS ===== */
/* line 2, app/assets/stylesheets/components/_auth_modals.scss */
.modal-open {
  overflow: hidden;
}

/* line 4, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-layer[hidden] {
  display: none;
}

/* line 6, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-layer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

/* line 18, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* Base modal: AUTO height (prevents big empty bottom space) */
/* line 25, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal {
  position: relative;
  z-index: 1;
  margin: 0;
  width: clamp(320px, 92vw, 560px);
  max-height: 86vh;
  overflow: hidden;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e7e7e7;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
}

/* Only the long wizard should be tall */
/* line 45, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-wide {
  width: 1050px;
  max-width: 94vw;
}

/* line 50, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-tall {
  min-height: clamp(520px, 80vh, 780px);
}

/* Header */
/* line 55, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}

/* line 65, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-title {
  font-size: 22px;
  margin: 0;
  color: #111;
}

/* line 67, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-x {
  border: none;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  color: #555;
}

/* Body: flex-1 removes bottom dead space by letting content define height */
/* line 76, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-body {
  padding: 22px 24px 22px;
  overflow: auto;
  flex: 1;
}

/* line 82, app/assets/stylesheets/components/_auth_modals.scss */
.center {
  text-align: center;
}

/* line 83, app/assets/stylesheets/components/_auth_modals.scss */
.muted {
  color: #666;
}

/* line 85, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-body > .muted.center {
  font-size: 17px;
  line-height: 1.7;
  margin-bottom: 18px;
  color: #333;
}

/* layout */
/* line 93, app/assets/stylesheets/components/_auth_modals.scss */
.stack {
  display: grid;
  gap: 18px;
}

/* option cards */
/* line 96, app/assets/stylesheets/components/_auth_modals.scss */
.option-card {
  width: 100%;
  text-align: left;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 20px;
  border-radius: 14px;
  border: 2px solid #e9e9e9;
  background: #fff;
  cursor: pointer;
  transition: 0.15s;
}

/* line 110, app/assets/stylesheets/components/_auth_modals.scss */
.option-card:hover {
  border-color: #111;
  background: #fafafa;
}

/* line 115, app/assets/stylesheets/components/_auth_modals.scss */
.option-ico {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f1f1f1;
  font-size: 22px;
}

/* line 125, app/assets/stylesheets/components/_auth_modals.scss */
.option-title {
  font-size: 19px;
  color: #111;
  margin-bottom: 6px;
}

/* line 126, app/assets/stylesheets/components/_auth_modals.scss */
.option-desc {
  font-size: 14px;
  line-height: 1.5;
}

/* note */
/* line 129, app/assets/stylesheets/components/_auth_modals.scss */
.note {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f7f7f7;
  font-size: 15px;
}

/* form fields */
/* line 138, app/assets/stylesheets/components/_auth_modals.scss */
.field {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

/* line 139, app/assets/stylesheets/components/_auth_modals.scss */
.field label {
  font-size: 13px;
  color: #222;
}

/* line 141, app/assets/stylesheets/components/_auth_modals.scss */
.field input,
.field select,
.field textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  outline: none;
  font-size: 14px;
}

/* line 152, app/assets/stylesheets/components/_auth_modals.scss */
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}

/* line 159, app/assets/stylesheets/components/_auth_modals.scss */
.hint {
  font-size: 12px;
}

/* stepper */
/* line 162, app/assets/stylesheets/components/_auth_modals.scss */
.stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 6px 0 16px;
}

/* line 170, app/assets/stylesheets/components/_auth_modals.scss */
.stepper .dot {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #eee;
  color: #666;
  font-size: 13px;
}

/* line 181, app/assets/stylesheets/components/_auth_modals.scss */
.stepper .dot.is-active {
  background: #4f46e5;
  color: #fff;
}

/* line 182, app/assets/stylesheets/components/_auth_modals.scss */
.stepper .dot.is-done {
  background: #22c55e;
  color: #fff;
}

/* line 184, app/assets/stylesheets/components/_auth_modals.scss */
.stepper .line {
  width: 28px;
  height: 2px;
  background: #e5e5e5;
}

/* footer */
/* line 191, app/assets/stylesheets/components/_auth_modals.scss */
.auth-modal-foot {
  display: flex;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid #eee;
  flex-shrink: 0;
  background: #fff;
}

/* callouts */
/* line 201, app/assets/stylesheets/components/_auth_modals.scss */
.callout {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid #dbeafe;
  background: #eff6ff;
  margin-bottom: 12px;
}

/* line 209, app/assets/stylesheets/components/_auth_modals.scss */
.callout.green {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

/* line 214, app/assets/stylesheets/components/_auth_modals.scss */
.pill-blue {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e0e7ff;
  color: #3730a3;
  font-size: 12px;
}

/* two-column layout inside modals */
/* line 224, app/assets/stylesheets/components/_auth_modals.scss */
.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 820px) {
  /* line 231, app/assets/stylesheets/components/_auth_modals.scss */
  .grid-2 {
    grid-template-columns: 1fr;
  }
}

/* category chips */
/* line 235, app/assets/stylesheets/components/_auth_modals.scss */
.chip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* line 241, app/assets/stylesheets/components/_auth_modals.scss */
.chip-choice {
  border: 2px solid #e9e9e9;
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  transition: 0.15s;
  text-align: center;
}

/* line 251, app/assets/stylesheets/components/_auth_modals.scss */
.chip-choice:hover {
  border-color: #cfcfcf;
}

/* line 253, app/assets/stylesheets/components/_auth_modals.scss */
.chip-choice.is-selected {
  border-color: #4f46e5;
  background: #eef2ff;
  color: #1e1b4b;
}

/* upload */
/* line 260, app/assets/stylesheets/components/_auth_modals.scss */
.upload-box {
  border: 2px dashed #ddd;
  border-radius: 14px;
  padding: 16px;
  text-align: center;
}

/* line 267, app/assets/stylesheets/components/_auth_modals.scss */
.upload-ico {
  font-size: 20px;
  margin-bottom: 8px;
}

/* segmented */
/* line 270, app/assets/stylesheets/components/_auth_modals.scss */
.segmented {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

/* line 276, app/assets/stylesheets/components/_auth_modals.scss */
.seg {
  border: 2px solid #e9e9e9;
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
}

/* line 284, app/assets/stylesheets/components/_auth_modals.scss */
.seg.is-active {
  border-color: #4f46e5;
  background: #eef2ff;
  color: #1e1b4b;
}

/* line 290, app/assets/stylesheets/components/_auth_modals.scss */
.index-btn-light {
  padding-top: 10px;
  background: #fff;
  border-color: #fff;
  border-radius: 12px;
  padding: 10px 18px;
  color: #000;
  border: 1px solid #fff;
}

/* line 297, app/assets/stylesheets/components/_auth_modals.scss */
.index-btn-light:hover {
  background: #f3f4f6;
}

/* stripe options */
/* line 303, app/assets/stylesheets/components/_auth_modals.scss */
.panel {
  border: 2px solid #eee;
  border-radius: 14px;
  padding: 14px;
}

/* line 309, app/assets/stylesheets/components/_auth_modals.scss */
.panel-title {
  font-size: 16px;
  color: #111;
  margin-bottom: 6px;
}

/* line 311, app/assets/stylesheets/components/_auth_modals.scss */
.option-row {
  width: 100%;
  text-align: left;
  padding: 12px;
  border-radius: 12px;
  border: 2px solid #eee;
  background: #fff;
  cursor: pointer;
}

/* line 321, app/assets/stylesheets/components/_auth_modals.scss */
.option-row.is-active {
  border-color: #4f46e5;
  background: #eef2ff;
}

/* checks */
/* line 327, app/assets/stylesheets/components/_auth_modals.scss */
.check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 10px;
}

/* line 328, app/assets/stylesheets/components/_auth_modals.scss */
.check input {
  margin-top: 3px;
}

/* line 329, app/assets/stylesheets/components/_auth_modals.scss */
.rules {
  margin: 10px 0 0 18px;
}

/* line 331, app/assets/stylesheets/components/_auth_modals.scss */
.link-btn {
  border: none;
  background: transparent;
  color: #4f46e5;
  cursor: pointer;
  padding: 0;
}

/* buttons */
/* line 340, app/assets/stylesheets/components/_auth_modals.scss */
.btn {
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid #ddd;
  cursor: pointer;
}

/* line 341, app/assets/stylesheets/components/_auth_modals.scss */
.btn-block {
  width: 100%;
}

/* line 342, app/assets/stylesheets/components/_auth_modals.scss */
.btn-dark {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* line 343, app/assets/stylesheets/components/_auth_modals.scss */
.btn-outline {
  background: #fff;
  color: #111;
  border: 1px solid #ddd;
}

/* line 344, app/assets/stylesheets/components/_auth_modals.scss */
.btn-primary {
  background: #4f46e5;
  color: #fff;
  border-color: #4f46e5;
}

/* ===== INPUTS WITH LEFT ICON (for auth modals) ===== */
/* line 347, app/assets/stylesheets/components/_auth_modals.scss */
.input-with-icon {
  position: relative;
}

/* line 349, app/assets/stylesheets/components/_auth_modals.scss */
.input-ico {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.65;
  pointer-events: none;
  font-size: 16px;
}

/* line 359, app/assets/stylesheets/components/_auth_modals.scss */
.input-with-icon input,
.input-with-icon select,
.input-with-icon textarea {
  padding-left: 40px;
}

/* line 365, app/assets/stylesheets/components/_auth_modals.scss */
.input-with-icon input:focus,
.input-with-icon select:focus,
.input-with-icon textarea:focus {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}

/* line 372, app/assets/stylesheets/components/_auth_modals.scss */
.is-invalid {
  border: 2px solid red;
}

/* line 376, app/assets/stylesheets/components/_auth_modals.scss */
.invalid-feedback {
  color: red;
  font-size: 0.9rem;
}

/* line 381, app/assets/stylesheets/components/_auth_modals.scss */
.auth-error {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(220, 38, 38, 0.35);
  background: rgba(220, 38, 38, 0.08);
  color: #b91c1c;
  font-size: 14px;
}

/* line 391, app/assets/stylesheets/components/_auth_modals.scss */
.is-invalid {
  border-color: rgba(220, 38, 38, 0.8) !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

/* line 1, app/assets/stylesheets/components/_login_modal.scss */
.authmodal.is-hidden {
  display: none;
}

/* line 3, app/assets/stylesheets/components/_login_modal.scss */
.authmodal {
  position: fixed;
  inset: 0;
  z-index: 80;
}

/* line 9, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* line 15, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__panel {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

/* line 27, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  border-bottom: 1px solid #e5e7eb;
}

/* line 36, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__title {
  margin: 0;
  font-size: 20px;
  color: #000;
}

/* line 38, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__close {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: #9ca3af;
  cursor: pointer;
  border-radius: 10px;
  font-size: 18px;
}

/* line 48, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__close:hover {
  background: #f3f4f6;
  color: #4b5563;
}

/* line 51, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__body {
  padding: 18px;
}

/* line 53, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__hint {
  margin: 0 0 14px;
  color: #6b7280;
}

/* line 55, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__choices {
  display: grid;
  gap: 12px;
}

/* line 57, app/assets/stylesheets/components/_login_modal.scss */
.authchoice {
  width: 100%;
  text-align: left;
  padding: 16px;
  border: 2px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

/* line 70, app/assets/stylesheets/components/_login_modal.scss */
.authchoice:hover {
  border-color: #000;
  background: #f9fafb;
  transform: translateY(-1px);
}

/* line 77, app/assets/stylesheets/components/_login_modal.scss */
.authchoice__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

/* line 88, app/assets/stylesheets/components/_login_modal.scss */
.authchoice:hover .authchoice__icon {
  background: #000;
  color: #fff;
}

/* line 90, app/assets/stylesheets/components/_login_modal.scss */
.authchoice__title {
  margin: 0 0 2px;
  font-size: 16px;
  color: #000;
}

/* line 91, app/assets/stylesheets/components/_login_modal.scss */
.authchoice__sub {
  margin: 0;
  font-size: 13px;
  color: #6b7280;
}

/* line 93, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__back {
  border: 0;
  background: transparent;
  color: #000;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
  margin: 0 0 12px;
}

/* line 102, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__back:hover {
  text-decoration: underline;
}

/* line 105, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__magic {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 12px;
}

/* line 113, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__magicText {
  margin: 0 0 10px;
  color: #374151;
  font-size: 13px;
}

/* line 115, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__or {
  text-align: center;
  color: #9ca3af;
  font-size: 13px;
  margin: 10px 0 12px;
}

/* line 122, app/assets/stylesheets/components/_login_modal.scss */
.authform {
  display: grid;
  gap: 12px;
}

/* line 124, app/assets/stylesheets/components/_login_modal.scss */
.authmodal__signup {
  margin: 2px 0 0;
  color: #6b7280;
  font-size: 13px;
  text-align: center;
}

/* line 131, app/assets/stylesheets/components/_login_modal.scss */
.btn--full {
  width: 100%;
  justify-content: center;
}

/* line 1, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink.is-hidden {
  display: none;
}

/* line 3, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink {
  position: fixed;
  inset: 0;
  z-index: 60;
}

/* line 9, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* line 15, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__panel {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.28);
}

/* line 27, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

/* line 35, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 37, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__logo {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

/* line 49, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__title {
  margin: 0;
  font-size: 20px;
  color: #000;
}

/* line 51, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__close {
  border: 0;
  background: transparent;
  color: #9ca3af;
  cursor: pointer;
  font-size: 18px;
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

/* line 61, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__close:hover {
  background: #f3f4f6;
  color: #4b5563;
}

/* line 64, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__promo {
  background: linear-gradient(135deg, #faf5ff, #fdf2f8);
  border: 1px solid #e9d5ff;
  border-radius: 14px;
  padding: 14px;
  margin: 8px 0 14px;
}

/* line 72, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__promoTitle {
  margin: 0 0 6px;
  color: #374151;
  font-size: 13px;
}

/* line 73, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__promoText {
  margin: 0;
  color: #6b7280;
  font-size: 12px;
}

/* line 75, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__current {
  margin: 8px 0 14px;
}

/* line 77, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__currentBox {
  background: #faf5ff;
  border: 1px solid #e9d5ff;
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 10px;
}

/* line 85, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__currentLabel {
  color: #6b7280;
  font-size: 12px;
  margin-bottom: 8px;
  display: flex;
  gap: 8px;
}

/* line 93, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__currentCode {
  display: block;
  text-align: center;
  font-size: 18px;
  background: #fff;
  padding: 10px 12px;
  border-radius: 12px;
  color: #7c3aed;
}

/* line 103, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__or {
  text-align: center;
  color: #9ca3af;
  font-size: 13px;
  margin: 12px 0;
}

/* line 110, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__form {
  display: grid;
  gap: 12px;
}

/* line 112, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__input {
  text-align: center;
  font-size: 18px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
}

/* line 119, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__input:focus {
  border-color: #a855f7;
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.18);
}

/* line 125, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__error {
  margin: -6px 0 0;
  color: #dc2626;
  font-size: 13px;
}

/* line 130, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__error.is-hidden {
  display: none;
}

/* line 133, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__tip {
  font-size: 12px;
  color: #6b7280;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
}

/* line 142, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__submit {
  border: 0;
  cursor: pointer;
  color: #fff;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(90deg, #9333ea, #ec4899);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

/* line 151, app/assets/stylesheets/components/_link_influencer_modal.scss */
.inflink__submit:hover {
  filter: brightness(0.96);
}

/* line 1, app/assets/stylesheets/components/_language_selector.scss */
.lang--inline {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 6px;
  background: #fff;
}

/* line 11, app/assets/stylesheets/components/_language_selector.scss */
.lang--fixed {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 50;
}

/* line 18, app/assets/stylesheets/components/_language_selector.scss */
.lang__panel {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 8px 10px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
}

/* line 29, app/assets/stylesheets/components/_language_selector.scss */
.lang__icon {
  font-size: 14px;
  opacity: 0.8;
}

/* line 31, app/assets/stylesheets/components/_language_selector.scss */
.lang__btn {
  border: 0;
  background: transparent;
  color: #6b7280;
  padding: 6px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 41, app/assets/stylesheets/components/_language_selector.scss */
.lang__btn:hover {
  background: #f3f4f6;
  color: #111827;
}

/* line 42, app/assets/stylesheets/components/_language_selector.scss */
.lang__btn.is-active {
  background: #000;
  color: #fff;
}

/* line 1, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
}

/* line 8, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer.is-open {
  display: block;
}

/* line 10, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* line 16, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer-panel {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: min(520px, 100%);
  background: #fff;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
}

/* line 28, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer-head {
  padding: 18px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

/* line 37, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer-title {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
}

/* line 43, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer-subtitle {
  margin: 6px 0 0 0;
  color: var(--muted);
  font-size: 13px;
}

/* line 49, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer-body {
  padding: 18px;
  overflow: auto;
  flex: 1;
  background: #fff;
}

/* line 56, app/assets/stylesheets/components/_drawer_cart.scss */
.drawer-foot {
  padding: 18px;
  border-top: 1px solid var(--line);
  background: #f9fafb;
}

/* line 62, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-group {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 16px;
}

/* line 69, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-group-head {
  background: #f9fafb;
  border-bottom: 1px solid var(--line);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

/* line 79, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-shop {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

/* line 85, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-ship {
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}

/* line 91, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-items {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 98, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-item {
  display: flex;
  gap: 12px;
}

/* line 103, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-thumb {
  width: 72px;
  height: 72px;
  background: #e5e7eb;
  border-radius: 12px;
  flex: 0 0 auto;
}

/* line 111, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-info {
  flex: 1;
  min-width: 0;
}

/* line 116, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-name {
  font-weight: 600;
  margin-bottom: 4px;
}

/* line 121, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-type {
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 10px;
}

/* line 127, app/assets/stylesheets/components/_drawer_cart.scss */
.qty {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 133, app/assets/stylesheets/components/_drawer_cart.scss */
.qty-btn {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
}

/* line 141, app/assets/stylesheets/components/_drawer_cart.scss */
.qty-btn:hover {
  background: var(--soft);
}

/* line 144, app/assets/stylesheets/components/_drawer_cart.scss */
.qty-val {
  width: 22px;
  text-align: center;
}

/* line 149, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-price {
  text-align: right;
  white-space: nowrap;
}

/* line 154, app/assets/stylesheets/components/_drawer_cart.scss */
.cart-group-foot {
  background: #f9fafb;
  border-top: 1px solid var(--line);
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}

/* line 164, app/assets/stylesheets/components/_drawer_cart.scss */
.totals {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}

/* line 171, app/assets/stylesheets/components/_drawer_cart.scss */
.tot-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
}

/* line 178, app/assets/stylesheets/components/_drawer_cart.scss */
.tot-total {
  border-top: 1px solid #d1d5db;
  padding-top: 12px;
  font-size: 16px;
}

/* line 184, app/assets/stylesheets/components/_drawer_cart.scss */
.tot-amount {
  font-size: 22px;
  font-weight: 700;
}

/* line 1, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card {
  height: 100%;
  width: 100%;
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
  text-align: left;
  cursor: pointer;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

/* line 13, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card:hover {
  border-color: #818cf8;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
  transform: translateY(-1px);
}

/* line 20, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #f3f4f6;
  overflow: hidden;
}

/* line 27, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* line 34, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card:hover .eshop-card__img {
  transform: scale(1.04);
}

/* line 36, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__verified {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #22c55e;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  line-height: 0;
  flex-shrink: 0;
}

/* line 53, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__verified > * {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex: none;
}

/* line 62, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__verified svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: none;
  transform: none;
  pointer-events: none;
  position: static;
}

/* line 73, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__discount {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(90deg, #f97316, #ef4444);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
  animation: eshopPulse 1.4s ease-in-out infinite;
}

/* line 89, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

@keyframes eshopPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
}

/* line 103, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px;
  min-height: 0;
}

/* line 111, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  min-height: 58px;
}

/* line 120, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__title {
  font-size: 18px;
  margin: 0 0 8px;
  color: #111827;
}

/* line 122, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__category {
  background: #e0e7ff;
  color: #4338ca;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 13px;
  white-space: nowrap;
}

/* line 131, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

/* line 133, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  min-height: 32px;
  align-content: flex-start;
}

/* line 142, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-badge--green {
  background: #f0fdf4;
  color: #15803d;
  border-color: #bbf7d0;
}

/* line 143, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-badge--orange {
  background: #fff7ed;
  color: #c2410c;
  border-color: #fed7aa;
}

/* line 144, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-badge--blue {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

/* line 145, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-badge--purple {
  background: #faf5ff;
  color: #6b28d9;
  border-color: #e9d5ff;
}

/* line 147, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__desc {
  margin: 0 0 12px;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(13px * 1.45 * 2);
}

/* line 159, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 12px;
  font-size: 13px;
  min-height: 32px;
}

/* line 170, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.star {
  color: #facc15;
}

/* line 171, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.rating {
  color: #111827;
}

/* line 172, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.count {
  color: #6b7280;
}

/* line 174, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: #6b7280;
}

/* line 184, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px;
  min-height: 0;
}

/* line 192, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__bottom {
  margin-top: auto;
}

/* line 196, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 12px;
  font-size: 13px;
}

/* line 206, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: #6b7280;
}

/* line 215, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.mini {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Title wrap */
/* line 219, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__title-wrap {
  min-width: 0;
}

/* line 223, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-card__title {
  font-size: 20px;
  margin: 0 0 8px;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Business type chip */
/* line 233, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 12px;
  white-space: nowrap;
  width: fit-content;
}

/* line 244, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.eshop-chip__ico {
  font-size: 12px;
}

/* Match Figma colors */
/* line 247, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.chip--blue {
  background: #dbeafe;
  color: #1d4ed8;
}

/* line 248, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.chip--green {
  background: #dcfce7;
  color: #15803d;
}

/* line 249, app/assets/stylesheets/components/_enhanced_shop_card.scss */
.chip--purple {
  background: #f3e8ff;
  color: #7e22ce;
}

/* line 1, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card {
  height: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

/* line 10, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card:hover {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* line 16, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

/* line 24, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-media {
  aspect-ratio: 16 / 9;
  background: #f3f4f6;
  overflow: hidden;
}

/* line 25, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 27, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px;
  min-height: 0;
}

/* line 35, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-top {
  display: block;
  margin-bottom: 8px;
}

/* line 40, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

/* line 47, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-title-left {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

/* line 54, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-title {
  font-size: 20px;
  margin: 0;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 63, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-verified {
  font-size: 14px;
  color: #2563eb;
  line-height: 1;
  flex: 0 0 auto;
}

/* line 70, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-pill {
  background: #e0e7ff;
  color: #3730a3;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 12px;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* line 80, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-type-row {
  margin-top: 10px;
  min-height: 28px;
}

/* line 85, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 12px;
  white-space: nowrap;
}

/* line 95, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-type-ico {
  font-size: 12px;
}

/* line 97, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-type.is-products {
  background: #dbeafe;
  color: #1d4ed8;
}

/* line 98, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-type.is-services {
  background: #dcfce7;
  color: #15803d;
}

/* line 99, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-type.is-both {
  background: #f3e8ff;
  color: #7e22ce;
}

/* line 101, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-desc {
  margin: 12px 0 14px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(14px * 1.45 * 2);
}

/* line 113, app/assets/stylesheets/components/_enhanced_shop_card_alt.scss */
.s-card-meta {
  margin-top: auto;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  color: #6b7280;
  font-size: 13px;
}

/* Adjust card width and add responsive grid for 4 per row */
/* line 2, app/assets/stylesheets/components/_product_card.scss */
.p-card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: box-shadow 150ms ease;
  display: flex;
  flex-direction: column;
  height: 36rem;
  /* Fix the card height */
  width: 27rem;
  margin-bottom: 1rem;
}

/* line 16, app/assets/stylesheets/components/_product_card.scss */
.p-card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

/* Adjust image size */
/* line 21, app/assets/stylesheets/components/_product_card.scss */
.p-card-media {
  position: relative;
  /* REQUIRED for badge positioning */
  background: #f1f5f9;
  overflow: hidden;
  height: 22rem;
}

/* line 28, app/assets/stylesheets/components/_product_card.scss */
.p-card-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #fee2e2;
  color: #b91c1c;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
  padding: 6px 12px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* line 46, app/assets/stylesheets/components/_product_card.scss */
.p-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Padding and content inside the card */
/* line 54, app/assets/stylesheets/components/_product_card.scss */
.p-card-body {
  padding: 1.25rem 2rem 0;
}

/* Title and description styles */
/* line 59, app/assets/stylesheets/components/_product_card.scss */
.p-card-title {
  font-size: 25px;
  line-height: 1.15;
  margin: 0 0 0.75rem 0;
  color: #0f172a;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 70, app/assets/stylesheets/components/_product_card.scss */
.p-card-desc {
  font-size: 14px;
  line-height: 1.45;
  color: #475569;
  margin: 0 0 1rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(14px * 1.45 * 2);
}

/* line 82, app/assets/stylesheets/components/_product_card.scss */
.p-card-price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

/* line 90, app/assets/stylesheets/components/_product_card.scss */
.p-card-btn button,
.p-card-btn a {
  height: 40px;
  font-size: 18px;
}

/* Flexbox for price and button section */
/* line 97, app/assets/stylesheets/components/_product_card.scss */
.p-card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
}

/* line 104, app/assets/stylesheets/components/_product_card.scss */
.p-card-price {
  font-size: 21px;
  line-height: 1.1;
  font-weight: 700;
  color: #0f172a;
  white-space: nowrap;
  margin-top: 0;
}

/* line 113, app/assets/stylesheets/components/_product_card.scss */
.p-card-currency {
  font-size: 14px;
  color: #64748b;
  font-weight: 600;
  margin-left: 4px;
}

/* line 120, app/assets/stylesheets/components/_product_card.scss */
.p-card-compare {
  font-size: 16px;
  /* was 21px */
  color: #94a3b8;
  text-decoration: line-through;
  white-space: nowrap;
}

/* line 127, app/assets/stylesheets/components/_product_card.scss */
.p-card-discount {
  font-size: 12px;
  font-weight: 700;
  color: #b91c1c;
  background: #fee2e2;
  border-radius: 999px;
  padding: 4px 10px;
  white-space: nowrap;
}

/* line 137, app/assets/stylesheets/components/_product_card.scss */
.p-card-btn button,
.p-card-btn a {
  height: 40px;
  font-size: 18px;
  cursor: pointer;
  transition: transform 150ms ease, background-color 150ms ease, filter 150ms ease, box-shadow 150ms ease;
  background-color: #000000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* line 147, app/assets/stylesheets/components/_product_card.scss */
.p-card-btn button:hover,
.p-card-btn a:hover {
  filter: brightness(1.2);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* line 153, app/assets/stylesheets/components/_product_card.scss */
.p-card-btn button:active,
.p-card-btn a:active {
  transform: translateY(1px);
  background-color: #333333;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

/* line 160, app/assets/stylesheets/components/_product_card.scss */
.p-card-btn {
  margin-top: auto;
  padding: 12px 22px 18px;
  display: block;
  width: 100%;
}

/* line 167, app/assets/stylesheets/components/_product_card.scss */
.p-card-btn__button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  text-decoration: none;
  border: none;
  color: #ffffff;
}

/* Adjust the grid layout for 4 items per row */
/* line 179, app/assets/stylesheets/components/_product_card.scss */
.product-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

@media screen and (min-width: 640px) {
  /* line 186, app/assets/stylesheets/components/_product_card.scss */
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 1024px) {
  /* line 192, app/assets/stylesheets/components/_product_card.scss */
  .product-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ===== SPOTLIGHT OF THE WEEK ===== */
/* line 3, app/assets/stylesheets/components/_spotlight.scss */
.spotlight {
  background: linear-gradient(to bottom, #faf5ff 0%, #fdf2f8 72%, #fdf2f8 100%);
  padding: 64px 0;
}

/* line 13, app/assets/stylesheets/components/_spotlight.scss */
.spotlight + .section {
  background: linear-gradient(to bottom, #fdf2f8 0%, #faf5ff 15%, #eee9fc 35%, #ddd8f5 70%, #d1ccf3 100%);
}

/* line 25, app/assets/stylesheets/components/_spotlight.scss */
.spotlight .container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Badge */
/* line 33, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 auto 18px;
  padding: 8px 18px;
  background: linear-gradient(135deg, #9333ea, #db2777);
  color: #fff;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  width: fit-content;
}

/* Image side */
/* line 52, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-image {
  position: relative;
  min-height: 100px;
  overflow: hidden;
}

/* line 58, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* THIS is key */
  object-position: center;
  display: block;
}

/* Card */
/* line 68, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-card {
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.15);
}

/* Grid */
/* line 77, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
}

@media (max-width: 900px) {
  /* line 83, app/assets/stylesheets/components/_spotlight.scss */
  .spotlight-grid {
    grid-template-columns: 1fr;
  }
}

/* Week label */
/* line 90, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-week {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13px;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(17, 24, 39, 0.06);
}

/* line 107, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-week-star {
  color: #f59e0b;
}

/* Content */
/* line 113, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-content {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 900px) {
  /* line 122, app/assets/stylesheets/components/_spotlight.scss */
  .spotlight-content {
    padding: 28px;
  }
}

/* Meta row */
/* line 129, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

/* line 137, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-chip {
  background: #ede9fe;
  color: #6d28d9;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
}

/* line 146, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-loc {
  font-size: 13px;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Title */
/* line 156, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-title {
  font-size: 32px;
  line-height: 1.2;
  margin: 0 0 6px 0;
  margin-top: 1rem;
  color: #111827;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Tagline */
/* line 168, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-tagline {
  font-size: 15px;
  color: #6b7280;
  margin: 0 0 14px 0;
}

/* Description */
/* line 176, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #374151;
  margin: 0 0 20px 0;
}

/* Highlights */
/* line 185, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

/* line 192, app/assets/stylesheets/components/_spotlight.scss */
.highlight-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: linear-gradient(135deg, #faf5ff, #fdf2f8);
  border: 1px solid #e9d5ff;
  border-radius: 12px;
  font-size: 13px;
  color: #581c87;
  white-space: nowrap;
}

/* line 205, app/assets/stylesheets/components/_spotlight.scss */
.highlight-icon {
  color: #7c3aed;
}

/* Instagram row */
/* line 211, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-igRow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 24px 0 18px 0;
  margin-top: 5rem;
  color: #6b7280;
  font-size: 13px;
  flex-wrap: wrap;
}

/* line 222, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-igLink {
  color: #7c3aed;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 230, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-igLink:hover {
  color: #5b21b6;
  text-decoration: underline;
}

/* line 235, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-igMuted {
  color: #9ca3af;
}

/* Actions */
/* line 241, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-actions {
  display: flex;
  gap: 12px;
  margin-top: 6px;
  margin-bottom: 14px;
  flex-direction: column;
}

@media (min-width: 520px) {
  /* line 251, app/assets/stylesheets/components/_spotlight.scss */
  .spotlight-actions {
    flex-direction: row;
  }
}

/* line 256, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.05s;
  flex: 1;
}

/* line 269, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-btn:hover {
  transform: translateY(-1px);
}

/* line 273, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-btn:active {
  transform: translateY(1px);
}

/* line 277, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-btn--primary {
  background: #111827;
  color: #fff;
  border: 2px solid #111827;
}

/* line 283, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-btn--primary:hover {
  background: #1f2937;
  border-color: #1f2937;
}

/* line 288, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-btn--outline {
  background: transparent;
  color: #111827;
  border: 2px solid #111827;
}

/* line 294, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-btn--outline:hover {
  background: #111827;
  color: #fff;
}

/* Footer note */
/* line 301, app/assets/stylesheets/components/_spotlight.scss */
.spotlight-note {
  font-size: 12px;
  color: #6b7280;
  text-align: center;
  margin: 0;
}

/* =========================
   SHOP SHOW (Figma-style)
   ========================= */
/* Root wrapper */
/* line 6, app/assets/stylesheets/components/_shop_show.scss */
.shop-show {
  min-height: 100vh;
  margin: 0;
  max-width: 100%;
}

/* line 12, app/assets/stylesheets/components/_shop_show.scss */
.pb-header {
  min-height: 0px;
}

@media screen and (max-width: 768px) {
  /* line 17, app/assets/stylesheets/components/_shop_show.scss */
  .pb-header {
    min-height: 320px;
  }
}

/* Remove padding for the banner only */
/* line 23, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero .container {
  padding: 0 !important;
  /* Remove padding from the banner section */
  max-width: 100%;
}

/* Restore padding for other sections */
/* line 29, app/assets/stylesheets/components/_shop_show.scss */
.shop-show .container {
  padding: 0 3rem;
  /* Padding for all other sections */
  max-width: 100%;
}

/* Add specific padding to sections below the header */
/* line 35, app/assets/stylesheets/components/_shop_show.scss */
.container.mt-16 {
  padding: 0rem;
  /* Padding for non-banner sections */
}

/* ===== HERO (Figma-style gradient header) ===== */
/* line 40, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero {
  border-radius: 0 !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 92%, #000 8%), color-mix(in srgb, var(--accent) 65%, #000 35%));
  color: #fff;
  padding: 20px 0;
  /* Padding for the hero section */
  width: 100%;
  margin: 0;
  overflow: visible !important;
  border: none !important;
}

/* line 55, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero img {
  width: 100%;
  height: auto;
  object-fit: cover;
  /* Ensures the image maintains aspect ratio and fills container */
  border-radius: 0 !important;
}

/* line 62, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="centered"] > div {
  position: relative;
}

/* line 66, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="minimal"] > div {
  min-height: 250px;
}

/* line 70, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="split"] > div > .flex.items-start.gap-8.w-full.relative {
  left: 3rem;
}

/* line 74, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="split"] > div {
  min-height: 350px;
}

/* line 78, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="minimal"] .w-20.h-20 {
  border-radius: 18px;
}

/* line 82, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="minimal"] h2 {
  line-height: 1.05;
}

/* line 86, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="split"] .shrink-0 {
  margin-right: 0;
  position: relative;
  top: 2.5rem;
  /* push logo down visually */
}

/* line 92, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="split"] .min-w-0 {
  transform: translateY(2.5rem);
  margin-top: 0;
}

/* line 97, app/assets/stylesheets/components/_shop_show.scss */
.pb-header [data-pb-header-variant="split"] .meta-row {
  display: flex;
  gap: 1.5rem;
  /* space between Location and Owner */
  flex-wrap: wrap;
  /* safe on smaller screens */
}

/* line 103, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-inner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0;
  gap: 18px;
}

/* line 111, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-left {
  display: flex;
  align-items: flex-start;
  /* Ensures items are aligned to the top */
  justify-content: flex-start;
  /* Ensures items are left-aligned */
  gap: 18px;
  margin: 0;
  /* No margin that could be interfering */
  padding: 0;
  /* No padding */
}

/* line 120, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-avatar {
  position: relative;
  top: 60px;
  /* Pushes the logo down */
  margin-left: -8rem;
  /* Moves the logo left */
  padding-left: 0.8rem;
  /* Fine-tunes the position */
}

/* line 127, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-avatar img {
  width: 100%;
  height: auto;
  /* Prevents the image from stretching */
  object-fit: cover;
  /* Keeps the image aspect ratio intact */
}

/* line 134, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

/* line 141, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-title {
  font-size: 40px;
  line-height: 1.05;
  margin: 0;
  font-weight: 650;
  letter-spacing: -0.02em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 152, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-verified {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex: 0 0 auto;
}

/* line 165, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-subtitle {
  margin: 8px 0 10px;
  color: rgba(255, 255, 255, 0.88);
  max-width: 720px;
}

/* line 171, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 12px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
}

/* line 181, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 187, app/assets/stylesheets/components/_shop_show.scss */
.shop-hero-actions .btn[disabled] {
  opacity: 0.75;
  cursor: not-allowed;
}

/* ===== Tabs ===== */
/* line 193, app/assets/stylesheets/components/_shop_show.scss */
.shop-tabs-wrap {
  background: transparent;
}

/* line 197, app/assets/stylesheets/components/_shop_show.scss */
.shop-tabs {
  display: flex;
  gap: 26px;
  align-items: center;
  padding: 18px 0 10px;
}

/* line 204, app/assets/stylesheets/components/_shop_show.scss */
.shop-tab {
  text-decoration: none;
  color: var(--pb-h1-color);
  font-size: 14px;
  padding: 10px 2px;
  border-bottom: 2px solid transparent;
  opacity: 0.85;
}

/* line 213, app/assets/stylesheets/components/_shop_show.scss */
.shop-tab:hover {
  opacity: 1;
}

/* line 217, app/assets/stylesheets/components/_shop_show.scss */
.shop-tab.is-active {
  border-bottom-color: var(--accent);
  opacity: 1;
  color: var(--pb-h1-color);
}

/* line 223, app/assets/stylesheets/components/_shop_show.scss */
.shop-tabs-divider {
  height: 1px;
  background: #e5e7eb;
}

/* Section title used in products/reviews/about */
/* ===== Empty panel ===== */
/* line 231, app/assets/stylesheets/components/_shop_show.scss */
.empty-panel {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  padding: 18px;
}

/* line 238, app/assets/stylesheets/components/_shop_show.scss */
.empty-title {
  margin: 0 0 6px;
  font-size: 16px;
  color: #111827;
}

/* line 244, app/assets/stylesheets/components/_shop_show.scss */
.empty-text {
  margin: 0;
  color: #6b7280;
}

/* ===== About ===== */
/* line 250, app/assets/stylesheets/components/_shop_show.scss */
.about-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  padding: 18px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* line 259, app/assets/stylesheets/components/_shop_show.scss */
.about-text {
  margin: 0 0 14px;
  color: #374151;
  line-height: 1.6;
}

/* line 265, app/assets/stylesheets/components/_shop_show.scss */
.about-meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  color: #6b7280;
  font-size: 13px;
}

/* line 273, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-item {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

/* line 279, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-item--social {
  display: flex;
  justify-content: flex-start !important;
  align-items: center;
  gap: 10px;
}

/* line 286, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-label {
  flex: 0 0 auto;
}

/* line 290, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}

/* ===== Partners ===== */
/* line 299, app/assets/stylesheets/components/_shop_show.scss */
.partners-card {
  border-radius: 18px;
  border: 1px solid #bfdbfe;
  background: linear-gradient(180deg, #eff6ff, #ffffff);
  padding: 20px;
}

/* line 306, app/assets/stylesheets/components/_shop_show.scss */
.partners-head {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

/* line 313, app/assets/stylesheets/components/_shop_show.scss */
.partners-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #2563eb;
  color: #fff;
  display: grid;
  place-items: center;
}

/* line 323, app/assets/stylesheets/components/_shop_show.scss */
.partners-title {
  font-size: 18px;
  color: #111827;
}

/* line 328, app/assets/stylesheets/components/_shop_show.scss */
.partners-sub {
  font-size: 13px;
  color: #6b7280;
  margin-top: 2px;
}

/* line 334, app/assets/stylesheets/components/_shop_show.scss */
.partners-grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 16px;
}

/* line 340, app/assets/stylesheets/components/_shop_show.scss */
.partner-tile {
  background: #ffffff;
  border: 1px solid #c7d2fe;
  border-radius: 16px;
  overflow: hidden;
}

/* line 347, app/assets/stylesheets/components/_shop_show.scss */
.partner-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* line 353, app/assets/stylesheets/components/_shop_show.scss */
.partner-img {
  aspect-ratio: 16 / 9;
  background: #f3f4f6;
  overflow: hidden;
}

/* line 359, app/assets/stylesheets/components/_shop_show.scss */
.partner-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 366, app/assets/stylesheets/components/_shop_show.scss */
.partner-body {
  padding: 14px;
}

/* line 370, app/assets/stylesheets/components/_shop_show.scss */
.partner-name {
  font-size: 16px;
  color: #111827;
  margin-bottom: 6px;
}

/* line 376, app/assets/stylesheets/components/_shop_show.scss */
.partner-meta {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 10px;
}

/* line 382, app/assets/stylesheets/components/_shop_show.scss */
.partner-quote {
  font-size: 12px;
  color: #4f46e5;
  background: #eef2ff;
  border-radius: 10px;
  padding: 10px;
}

/* line 390, app/assets/stylesheets/components/_shop_show.scss */
.partners-fill {
  border-radius: 16px;
  border: 1px dashed #c7d2fe;
  background: #ffffff;
  min-height: 220px;
}

@media (max-width: 900px) {
  /* line 398, app/assets/stylesheets/components/_shop_show.scss */
  .shop-hero-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 403, app/assets/stylesheets/components/_shop_show.scss */
  .partners-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Product Show ===== */
/* line 409, app/assets/stylesheets/components/_shop_show.scss */
.product-show {
  padding: 24px 0 60px;
}

/* line 413, app/assets/stylesheets/components/_shop_show.scss */
.product-show .product-show-card {
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #ffffff;
  padding: 28px;
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
  margin: 0 auto;
  max-width: 1200px;
}

/* line 423, app/assets/stylesheets/components/_shop_show.scss */
.product-show-grid {
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: 32px;
  align-items: stretch;
}

/* line 430, app/assets/stylesheets/components/_shop_show.scss */
.product-show-image {
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  background: #f3f4f6;
  overflow: hidden;
  aspect-ratio: 4 / 5;
}

/* line 438, app/assets/stylesheets/components/_shop_show.scss */
.product-show-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 445, app/assets/stylesheets/components/_shop_show.scss */
.product-show-badges {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* line 452, app/assets/stylesheets/components/_shop_show.scss */
.product-show-badge {
  border-radius: 999px;
  padding: 6px 12px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  background: #f9fafb;
  font-size: 12px;
  color: #4b5563;
}

/* line 461, app/assets/stylesheets/components/_shop_show.scss */
.product-show-badge--out {
  color: #b91c1c;
  background: #fee2e2;
  border-color: #fecaca;
}

/* line 467, app/assets/stylesheets/components/_shop_show.scss */
.product-show-title {
  padding-top: 0.5rem;
  margin: 0 0 10px;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 650;
  color: var(--pb-h1-color);
  letter-spacing: -0.01em;
}

/* line 477, app/assets/stylesheets/components/_shop_show.scss */
.product-show-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
}

/* line 484, app/assets/stylesheets/components/_shop_show.scss */
.product-show-price {
  font-size: 28px;
  font-weight: 700;
  color: #111827;
  padding-top: 0;
}

/* line 491, app/assets/stylesheets/components/_shop_show.scss */
.product-show-compare {
  font-size: 16px;
  color: #9ca3af;
  text-decoration: line-through;
}

/* line 497, app/assets/stylesheets/components/_shop_show.scss */
.product-show-discount {
  font-size: 12px;
  font-weight: 700;
  color: #b91c1c;
  background: #fee2e2;
  border-radius: 999px;
  padding: 4px 10px;
}

/* line 506, app/assets/stylesheets/components/_shop_show.scss */
.product-show-grid {
  align-items: stretch;
}

/* line 510, app/assets/stylesheets/components/_shop_show.scss */
.product-show-content {
  display: flex;
  flex-direction: column;
}

/* line 515, app/assets/stylesheets/components/_shop_show.scss */
.product-show-form {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* line 521, app/assets/stylesheets/components/_shop_show.scss */
.product-show-main {
  flex: 1;
}

/* line 525, app/assets/stylesheets/components/_shop_show.scss */
.product-show-footer {
  padding-top: 24px;
}

/* line 529, app/assets/stylesheets/components/_shop_show.scss */
.product-show-footer form {
  width: 100%;
}

/* line 533, app/assets/stylesheets/components/_shop_show.scss */
.product-show-actions {
  margin-top: 0;
  padding-top: 0;
}

/* line 538, app/assets/stylesheets/components/_shop_show.scss */
.product-show-options {
  margin-top: 0;
  margin-bottom: 20px;
}

/* line 543, app/assets/stylesheets/components/_shop_show.scss */
.product-show-description {
  margin-top: 0;
  margin-bottom: 0;
}

/* line 548, app/assets/stylesheets/components/_shop_show.scss */
.product-show-stock-left {
  margin-top: 6px;
  font-size: 13px;
  color: #6b7280;
}

/* ===== Product options block ===== */
/* line 555, app/assets/stylesheets/components/_shop_show.scss */
.product-show-options {
  margin-top: 0px;
  margin-bottom: 26px;
}

/* line 560, app/assets/stylesheets/components/_shop_show.scss */
.product-option-group + .product-option-group {
  margin-top: 18px;
}

/* line 564, app/assets/stylesheets/components/_shop_show.scss */
.product-option-label {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 600;
  color: #1f2937;
}

/* line 572, app/assets/stylesheets/components/_shop_show.scss */
.product-option-values {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* line 578, app/assets/stylesheets/components/_shop_show.scss */
.product-option-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 96px;
  padding: 0 20px;
  border-radius: 14px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  color: #1f2937;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(17, 24, 39, 0.06);
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease, color 120ms ease, transform 120ms ease;
}

/* line 595, app/assets/stylesheets/components/_shop_show.scss */
.product-option-pill:hover {
  border-color: #9ca3af;
  box-shadow: 0 6px 16px rgba(17, 24, 39, 0.08);
}

/* line 600, app/assets/stylesheets/components/_shop_show.scss */
.peer:checked + .product-option-pill {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, #ffffff);
  color: #111827;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}

/* line 607, app/assets/stylesheets/components/_shop_show.scss */
.product-show-description {
  margin-top: 0;
  margin-bottom: 24px;
}

/* line 612, app/assets/stylesheets/components/_shop_show.scss */
.product-show-description-title {
  margin-bottom: 8px;
}

/* line 616, app/assets/stylesheets/components/_shop_show.scss */
.product-show-description-body {
  color: #374151;
  line-height: 1.7;
}

/* line 621, app/assets/stylesheets/components/_shop_show.scss */
.product-show-btn {
  margin-top: 0;
}

/* line 625, app/assets/stylesheets/components/_shop_show.scss */
.product-show-description {
  margin-top: 20px;
}

/* line 629, app/assets/stylesheets/components/_shop_show.scss */
.product-show-description-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 8px;
  padding-top: 0rem;
}

/* line 639, app/assets/stylesheets/components/_shop_show.scss */
.product-show-description-body {
  color: #374151;
  line-height: 1.6;
}

/* line 644, app/assets/stylesheets/components/_shop_show.scss */
.product-show-actions {
  margin-top: 24px;
  padding-top: 0;
}

/* line 649, app/assets/stylesheets/components/_shop_show.scss */
.product-show-btn {
  width: 100%;
  padding: 14px 18px;
  border-radius: 14px;
  color: #ffffff;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
}

/* line 662, app/assets/stylesheets/components/_shop_show.scss */
.product-show-btn[disabled] {
  background: #d1d5db !important;
}

@media (max-width: 900px) {
  /* line 667, app/assets/stylesheets/components/_shop_show.scss */
  .product-show .product-show-card {
    padding: 22px;
  }
  /* line 671, app/assets/stylesheets/components/_shop_show.scss */
  .product-show-grid {
    grid-template-columns: 1fr;
  }
  /* line 675, app/assets/stylesheets/components/_shop_show.scss */
  .product-show-image {
    aspect-ratio: 3 / 4;
  }
}

/* ===== Add to Cart button (Figma-style interaction) ===== */
/* line 682, app/assets/stylesheets/components/_shop_show.scss */
.add-to-cart-btn {
  font-weight: 600;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}

/* hover = lift */
/* line 694, app/assets/stylesheets/components/_shop_show.scss */
.add-to-cart-btn:hover {
  filter: brightness(1.08);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14);
  transform: translateY(-1px);
}

/* active = pressed */
/* line 701, app/assets/stylesheets/components/_shop_show.scss */
.add-to-cart-btn:active {
  filter: brightness(0.96);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16);
  transform: translateY(1px) scale(0.99);
}

/* keyboard focus */
/* line 708, app/assets/stylesheets/components/_shop_show.scss */
.add-to-cart-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.7), 0 0 0 6px color-mix(in srgb, var(--accent) 65%, transparent);
}

/* disabled (future-proof) */
/* line 716, app/assets/stylesheets/components/_shop_show.scss */
.add-to-cart-btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
  filter: none;
}

/* line 725, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe-card {
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.1);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
}

/* line 733, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

/* line 740, app/assets/stylesheets/components/_shop_show.scss */
#contact.contact-section-spacing {
  padding-bottom: 12px !important;
}

/* line 744, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(99, 102, 241, 0.1);
}

/* line 753, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe-title {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
}

/* line 759, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe-sub {
  font-size: 13px;
  color: rgba(17, 24, 39, 0.65);
  margin-top: 2px;
}

/* line 765, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe-text {
  color: rgba(17, 24, 39, 0.75);
  margin: 10px 0 14px;
  font-size: 14px;
  line-height: 1.45;
}

/* =========================
   CONTACT SUBSCRIBE GRID
   ========================= */
/* line 776, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe {
  padding: 48px 0 0px;
}

/* line 780, app/assets/stylesheets/components/_shop_show.scss */
.contact-subscribe-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 900px) {
  /* line 787, app/assets/stylesheets/components/_shop_show.scss */
  .contact-subscribe-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================
   MODALS
   ========================= */
/* line 796, app/assets/stylesheets/components/_shop_show.scss */
.modal-backdrop[hidden] {
  display: none !important;
}

/* line 798, app/assets/stylesheets/components/_shop_show.scss */
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

/* line 809, app/assets/stylesheets/components/_shop_show.scss */
.modal {
  width: 100%;
  max-width: 560px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(17, 24, 39, 0.1);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

/* line 819, app/assets/stylesheets/components/_shop_show.scss */
.modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(17, 24, 39, 0.08);
}

/* line 827, app/assets/stylesheets/components/_shop_show.scss */
.modal-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

/* line 833, app/assets/stylesheets/components/_shop_show.scss */
.modal-x {
  border: 0;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  opacity: 0.7;
}

/* line 840, app/assets/stylesheets/components/_shop_show.scss */
.modal-x:hover {
  opacity: 1;
}

/* line 842, app/assets/stylesheets/components/_shop_show.scss */
.modal-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin: 12px 18px 6px;
  color: rgba(17, 24, 39, 0.75);
}

/* line 850, app/assets/stylesheets/components/_shop_show.scss */
.modal-input,
.modal-textarea {
  width: 100%;
  box-sizing: border-box;
  margin: 0 18px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(17, 24, 39, 0.15);
  outline: none;
  font-size: 14px;
}

/* line 863, app/assets/stylesheets/components/_shop_show.scss */
.modal-textarea {
  resize: vertical;
}

/* line 865, app/assets/stylesheets/components/_shop_show.scss */
.modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 16px 18px 18px;
}

/* line 872, app/assets/stylesheets/components/_shop_show.scss */
.modal-success {
  padding: 0 18px 18px;
  margin: 0;
  color: rgba(17, 24, 39, 0.8);
}

/* About Card Styling */
/* line 878, app/assets/stylesheets/components/_shop_show.scss */
.about-card {
  margin-top: 2rem;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  padding: 2rem;
  margin-bottom: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Section Title Styling */
/* About Text Styling */
/* line 891, app/assets/stylesheets/components/_shop_show.scss */
.about-text {
  margin: 0 0 20px;
  color: #374151;
  line-height: 1.6;
}

/* About Meta (Shop Details and Shipping) */
/* line 898, app/assets/stylesheets/components/_shop_show.scss */
.about-meta {
  display: flex;
  gap: 40px;
  /* Space between Shop Details and Shipping sections */
  color: #6b7280;
  font-size: 14px;
}

/* Left Section for Shop Details */
/* line 906, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-left,
.about-meta-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Title for Shop Details and Shipping */
/* line 915, app/assets/stylesheets/components/_shop_show.scss */
.shop-details-title {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 12px;
}

/* Meta Item Layout */
/* line 923, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-item {
  display: flex;
  justify-content: space-between;
  /* Allows for text and price separation */
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

/* Material Icon Styling */
/* line 932, app/assets/stylesheets/components/_shop_show.scss */
.material-icons {
  font-size: 18px;
  color: #6366f1;
}

/* Styling for Free Shipping */
/* line 938, app/assets/stylesheets/components/_shop_show.scss */
.free-shipping {
  font-weight: 700;
  color: #6366f1;
  margin-top: 12px;
}

/* Shipping Section Styling */
/* line 945, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-right {
  padding-left: 20px;
  /* Adjusted for better alignment */
}

/* Price Alignment */
/* line 950, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-item .price {
  margin-left: auto;
  /* Pushes the prices to the right */
}

/* Horizontal Line Between Rest of Canada and Free Shipping */
/* line 955, app/assets/stylesheets/components/_shop_show.scss */
.about-meta-right .about-meta-item.shipping-line {
  border-top: 1px solid #e5e7eb;
  /* Horizontal line */
  margin-top: 12px;
  padding-top: 12px;
  /* Adds space above the line */
}

/* Ensure layout works well on smaller screens */
@media (max-width: 768px) {
  /* line 963, app/assets/stylesheets/components/_shop_show.scss */
  .about-meta {
    flex-direction: column;
    gap: 20px;
  }
  /* line 968, app/assets/stylesheets/components/_shop_show.scss */
  .about-meta-right {
    padding-left: 0;
  }
}

/* =========================
   REVIEWS – spacing + accent
   ========================= */
/* 1) Too much space above tabs/sections (comes from .shop-show pt-10) */
/* line 978, app/assets/stylesheets/components/_shop_show.scss */
.shop-show.pt-10 {
  padding-top: 0 !important;
}

/* Product show needs top spacing under navbar */
/* line 983, app/assets/stylesheets/components/_shop_show.scss */
.shop-show.product-show {
  padding-top: 40px !important;
}

/* 2) Reduce the gap right under the tabs for ALL tab panels (optional but recommended) */
/* line 988, app/assets/stylesheets/components/_shop_show.scss */
.shop-tabs-wrap + .container {
  padding-top: 0 !important;
}

/* 3) Reviews section: remove big top padding if it exists */
/* line 993, app/assets/stylesheets/components/_shop_show.scss */
#reviews .py-12 {
  padding-top: 16px !important;
  /* was huge */
  padding-bottom: 24px !important;
}

/* 4) Header layout spacing (title, rating, subtitle) */
/* line 999, app/assets/stylesheets/components/_shop_show.scss */
#reviews .mb-10 {
  margin-bottom: 30rem !important;
  /* tighter than mb-10/mb-12 */
}

/* Title row: add more space between title and average */
/* line 1004, app/assets/stylesheets/components/_shop_show.scss */
#reviews .flex.flex-wrap.items-center {
  gap: 35rem !important;
  /* more horizontal gap */
  margin-bottom: 10px !important;
  /* more space before subtitle */
}

/* Subtitle spacing */
/* line 1010, app/assets/stylesheets/components/_shop_show.scss */
#reviews h3.text-2xl {
  margin-top: 2rem !important;
}

/* Make sure stars use accent */
/* line 1015, app/assets/stylesheets/components/_shop_show.scss */
#reviews [style*="color: var(--accent)"] {
  color: var(--accent) !important;
}

/* ===== Star rating picker (outline always, fill uses --fill) ===== */
/* line 1021, app/assets/stylesheets/components/_shop_show.scss */
.rating-picker .stars {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  line-height: 1;
}

/* line 1028, app/assets/stylesheets/components/_shop_show.scss */
.rating-picker .star {
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 1;
}

/* line 1039, app/assets/stylesheets/components/_shop_show.scss */
.rating-picker .star-outline,
.rating-picker .star-fill {
  font-size: 44px;
  line-height: 1;
  display: block;
  color: var(--accent);
  pointer-events: none;
  /* important so clicks hit the button */
}

/* Filled layer clipped by --fill (0..1) */
/* line 1049, app/assets/stylesheets/components/_shop_show.scss */
.rating-picker .star-fill {
  position: absolute;
  inset: 0;
  width: calc(var(--fill, 0) * 100%);
  overflow: hidden;
}

/* Optional: keyboard focus */
/* line 1057, app/assets/stylesheets/components/_shop_show.scss */
.rating-picker .star:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);
  border-radius: 10px;
}

/* line 1063, app/assets/stylesheets/components/_shop_show.scss */
.rating-picker .star-outline,
.rating-picker .star-fill {
  color: var(--accent) !important;
}

/* Compose box should look like your review cards */
/* line 1070, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-card {
  margin-top: 14px;
  background: #fff;
  padding: 18px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
}

/* line 1078, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 12px;
}

/* line 1085, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-field {
  margin-bottom: 12px;
}

/* line 1089, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}

/* line 1097, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-input,
.review-compose-textarea {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
  outline: none;
}

/* line 1106, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-input:focus,
.review-compose-textarea:focus {
  border-color: color-mix(in srgb, var(--accent) 55%, #e5e7eb);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}

/* line 1112, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 6px;
}

/* line 1119, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-cancel {
  background: transparent;
  border: 1px solid #e5e7eb;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
}

/* line 1127, app/assets/stylesheets/components/_shop_show.scss */
.review-compose-submit {
  background: var(--accent);
  color: #fff;
  border: 0;
  padding: 10px 14px;
  border-radius: 10px;
  cursor: pointer;
}

/* ===== Star rating DISPLAY (non-click) using --fill ===== */
/* line 1138, app/assets/stylesheets/components/_shop_show.scss */
.rating-display {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
}

/* line 1145, app/assets/stylesheets/components/_shop_show.scss */
.rating-display .star {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
}

/* line 1153, app/assets/stylesheets/components/_shop_show.scss */
.rating-display .star-outline,
.rating-display .star-fill {
  display: block;
  line-height: 1;
  color: var(--accent) !important;
}

/* line 1160, app/assets/stylesheets/components/_shop_show.scss */
.rating-display .star-fill {
  position: absolute;
  inset: 0;
  width: calc(var(--fill, 0) * 100%);
  overflow: hidden;
}

/* sizes */
/* line 1168, app/assets/stylesheets/components/_shop_show.scss */
.rating-display--lg {
  font-size: 22px;
}

/* line 1169, app/assets/stylesheets/components/_shop_show.scss */
.rating-display--md {
  font-size: 20px;
}

/* line 1171, app/assets/stylesheets/components/_shop_show.scss */
.menu-chip {
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  border-radius: 9999px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}

/* line 1181, app/assets/stylesheets/components/_shop_show.scss */
.menu-chip.is-active {
  background: #0b1220;
  color: #fff;
  border-color: #0b1220;
}

/* Page shell */
/* line 2, app/assets/stylesheets/components/_shop_index.scss */
.index {
  min-height: 100vh;
  background: #fff;
  color: #111;
}

/* line 8, app/assets/stylesheets/components/_shop_index.scss */
.index__container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 16px;
}

@media (min-width: 640px) {
  /* line 14, app/assets/stylesheets/components/_shop_index.scss */
  .index__container {
    padding: 0 24px;
  }
}

@media (min-width: 1024px) {
  /* line 15, app/assets/stylesheets/components/_shop_index.scss */
  .index__container {
    padding: 0 32px;
  }
}

/* Smart search bar area */
/* line 18, app/assets/stylesheets/components/_shop_index.scss */
.index__search {
  background: #fff;
  padding: 0 0 22px;
  border-bottom: 1px solid #eee;
}

/* line 24, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-search {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Search row */
/* line 31, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-row {
  display: flex;
  gap: 12px;
  align-items: center;
}

/* line 37, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-input-wrap {
  flex: 1;
  position: relative;
}

/* line 42, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.55;
  font-size: 16px;
}

/* line 51, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-input {
  width: 100%;
  padding: 14px 16px 14px 44px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 15px;
  outline: none;
  background: #fff;
}

/* line 61, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-input:focus {
  border-color: #111;
}

/* line 65, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-submit {
  padding: 14px 18px;
  border-radius: 10px;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  cursor: pointer;
}

/* Filter chips row */
/* line 75, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* line 82, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid #111;
  border-radius: 12px;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.12s ease;
}

/* line 95, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-pill:hover {
  background: #f3f4f6;
}

/* line 99, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-pill input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Make pills behave like buttons */
/* line 106, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-pill {
  position: relative;
  user-select: none;
}

/* line 111, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-pill.is-active {
  background: #111;
  color: #fff;
}

/* line 116, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-pill.is-active span {
  color: #fff;
}

/* Category boxes row (Figma style) */
/* line 121, app/assets/stylesheets/components/_shop_index.scss */
.index__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

/* line 128, app/assets/stylesheets/components/_shop_index.scss */
.index__cat {
  appearance: none;
  border: 1px solid #111;
  background: #fff;
  color: #111;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.12s ease;
}

/* line 140, app/assets/stylesheets/components/_shop_index.scss */
.index__cat:hover {
  background: #f3f4f6;
}

/* line 144, app/assets/stylesheets/components/_shop_index.scss */
.index__cat.is-active {
  background: #111;
  color: #fff;
}

/* line 149, app/assets/stylesheets/components/_shop_index.scss */
.index__clear {
  border: 1px solid #e5e7eb;
  background: #fff;
  padding: 10px 14px;
  border-radius: 12px;
  cursor: pointer;
}

/* range + select */
/* line 159, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-range {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  background: #fff;
}

/* line 169, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-mini {
  width: 84px;
  border: 0;
  outline: none;
  font-size: 14px;
}

/* line 176, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-range-sep {
  opacity: 0.45;
}

/* line 178, app/assets/stylesheets/components/_shop_index.scss */
.index__smart-select {
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  background: #fff;
  font-size: 14px;
}

/* Sticky nav tabs, clean style */
/* line 187, app/assets/stylesheets/components/_shop_index.scss */
.index__nav {
  position: static;
  top: 88px;
  z-index: 20;
  background: #fff;
  border-bottom: 1px solid #eee;
}

/* line 195, app/assets/stylesheets/components/_shop_index.scss */
.index__tabs {
  display: flex;
  gap: 6px;
}

/* line 200, app/assets/stylesheets/components/_shop_index.scss */
.index__tab {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 14px 12px;
  font-size: 14px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* line 214, app/assets/stylesheets/components/_shop_index.scss */
.index__tab:hover {
  color: #111;
}

/* line 216, app/assets/stylesheets/components/_shop_index.scss */
.index__tab--active {
  border-bottom-color: #111;
  color: #111;
  font-weight: 600;
}

/* line 222, app/assets/stylesheets/components/_shop_index.scss */
.index__tab-icon {
  font-size: 14px;
}

/* HERO becomes white (no purple) */
/* line 225, app/assets/stylesheets/components/_shop_index.scss */
.index__hero {
  background: #fff;
  color: #111;
  padding: 64px 0 32px;
}

/* line 231, app/assets/stylesheets/components/_shop_index.scss */
.index__hero-title {
  font-size: 48px;
  line-height: 1.1;
  margin: 0 0 12px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* line 239, app/assets/stylesheets/components/_shop_index.scss */
.index__hero-subtitle {
  font-size: 18px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0;
  max-width: 680px;
}

/* line 247, app/assets/stylesheets/components/_shop_index.scss */
.index__hero-stat-icon {
  font-size: 16px;
}

/* Sections */
/* line 250, app/assets/stylesheets/components/_shop_index.scss */
.index__section {
  padding: 26px 0;
}

/* line 254, app/assets/stylesheets/components/_shop_index.scss */
.index__section-head {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 14px;
}

/* line 261, app/assets/stylesheets/components/_shop_index.scss */
.index__section-head--split {
  justify-content: space-between;
}

/* line 265, app/assets/stylesheets/components/_shop_index.scss */
.index__section-title {
  font-size: 22px;
  margin: 0 0 6px;
  color: #111;
}

/* line 271, app/assets/stylesheets/components/_shop_index.scss */
.index__section-subtitle {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}

/* line 277, app/assets/stylesheets/components/_shop_index.scss */
.index__section-link {
  color: #111;
  text-decoration: none;
  font-size: 14px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.25);
}

/* line 284, app/assets/stylesheets/components/_shop_index.scss */
.index__section-link:hover {
  border-bottom-color: rgba(17, 17, 17, 0.6);
}

/* Grid */
/* line 289, app/assets/stylesheets/components/_shop_index.scss */
.index__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 768px) {
  /* line 296, app/assets/stylesheets/components/_shop_index.scss */
  .index__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
  }
}

/* line 299, app/assets/stylesheets/components/_shop_index.scss */
.index__empty {
  padding: 24px 0 10px;
  text-align: center;
  color: #6b7280;
}

/* Placeholder cards: white + border */
/* line 306, app/assets/stylesheets/components/_shop_index.scss */
.index__placeholder-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

@media (min-width: 768px) {
  /* line 313, app/assets/stylesheets/components/_shop_index.scss */
  .index__placeholder-row {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* line 316, app/assets/stylesheets/components/_shop_index.scss */
.index__placeholder-card {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  color: #6b7280;
  background: #fff;
}

/* WHY becomes white section, not gray gradient */
/* WHY (colorful like old version) */
/* line 326, app/assets/stylesheets/components/_shop_index.scss */
.index__why {
  padding: 56px 0;
  background: linear-gradient(135deg, #f7f7f7, #efefef);
  border-top: 0;
}

/* line 332, app/assets/stylesheets/components/_shop_index.scss */
.index__why-head {
  text-align: center;
  margin-bottom: 28px;
}

/* line 337, app/assets/stylesheets/components/_shop_index.scss */
.index__why-title {
  font-size: 34px;
  margin: 0 0 10px;
  color: #e1e1e1;
}

/* line 343, app/assets/stylesheets/components/_shop_index.scss */
.index__why-subtitle {
  margin: 0;
  color: #a2a1a1;
  font-size: 18px;
}

/* line 349, app/assets/stylesheets/components/_shop_index.scss */
.index__why-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 768px) {
  /* line 356, app/assets/stylesheets/components/_shop_index.scss */
  .index__why-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* line 359, app/assets/stylesheets/components/_shop_index.scss */
.index__why-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 18px;
  padding: 22px;
  text-align: center;
}

/* line 367, app/assets/stylesheets/components/_shop_index.scss */
.index__why-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #f0f0ff;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  font-size: 22px;
}

/* CTA (colorful like old version) */
/* line 378, app/assets/stylesheets/components/_shop_index.scss */
.index__cta {
  padding: 56px 0;
  background: linear-gradient(90deg, #4f46e5, #7c3aed);
  color: #fff;
  border-top: 0;
}

/* line 385, app/assets/stylesheets/components/_shop_index.scss */
.index__cta-inner {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

/* line 391, app/assets/stylesheets/components/_shop_index.scss */
.index__cta-title {
  font-size: 34px;
  margin: 0 0 10px;
  color: #fff;
}

/* line 397, app/assets/stylesheets/components/_shop_index.scss */
.index__cta-subtitle {
  font-size: 18px;
  opacity: 0.92;
  margin: 0 0 22px;
}

/* line 403, app/assets/stylesheets/components/_shop_index.scss */
.index__cta-button {
  display: inline-block;
  padding: 14px 18px;
  border-radius: 14px;
  background: #fff;
  color: #4f46e5;
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.15s ease;
}

/* line 414, app/assets/stylesheets/components/_shop_index.scss */
.index__cta-button:hover {
  opacity: 0.95;
}

/* Force WHY section heading + subheading to white */
/* line 10, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 15, 30, 0.08);
  z-index: 9990;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* line 20, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-ring {
  position: fixed;
  pointer-events: none;
  z-index: 9998;
  opacity: 0;
  border: 2px solid #6366f1;
  border-radius: 10px;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15), 0 0 20px rgba(99, 102, 241, 0.25);
  transition: top 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1), height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
}

/* line 38, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-ring::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 12px;
  border: 2px solid rgba(99, 102, 241, 0.4);
  animation: bd-tour-pulse 2s ease-in-out infinite;
}

@keyframes bd-tour-pulse {
  0%, 100% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(1.04);
  }
}

/* line 54, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-card {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 460px;
  z-index: 9999;
  background: #fff;
  border: 1px solid rgba(99, 102, 241, 0.2);
  border-radius: 16px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 20px 40px -8px rgba(0, 0, 0, 0.14), 0 0 0 1px rgba(99, 102, 241, 0.06);
  padding: 24px 24px 18px;
  opacity: 0;
  transform: translateY(10px) scale(0.97);
  transition: opacity 0.28s ease, transform 0.28s cubic-bezier(0.34, 1.4, 0.64, 1);
}

/* line 78, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-card.bd-tour-card--in {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* line 84, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-card .bd-tour-close {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  font-size: 18px;
  color: #9ca3af;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 6px;
  line-height: 1;
  transition: color 0.15s, background 0.15s;
}

/* line 98, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-card .bd-tour-close:hover {
  color: #374151;
  background: #f3f4f6;
}

/* line 106, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-dots {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 14px;
}

/* line 113, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-dot {
  height: 6px;
  border-radius: 3px;
  background: #e5e7eb;
  transition: width 0.3s ease, background 0.3s ease;
  width: 6px;
}

/* line 120, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-dot.is-done {
  background: #c7d2fe;
  width: 6px;
}

/* line 125, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-dot.is-current {
  background: #6366f1;
  width: 22px;
}

/* line 132, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-body {
  margin-bottom: 16px;
  padding-right: 20px;
}

/* line 137, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-title {
  font-size: 17px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 8px;
  line-height: 1.35;
}

/* line 145, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-text {
  font-size: 14.5px;
  color: #4b5563;
  margin: 0;
  line-height: 1.6;
}

/* line 153, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 159, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-skip {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

/* line 171, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-skip:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}

/* line 177, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-next,
.bd-tour-finish {
  flex: 1.4;
  padding: 8px 16px;
  border: none;
  border-radius: 8px;
  background: #4f46e5;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}

/* line 190, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-next:hover,
.bd-tour-finish:hover {
  background: #4338ca;
  transform: translateY(-1px);
}

/* line 195, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-next:active,
.bd-tour-finish:active {
  transform: translateY(0);
}

/* line 199, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-next.hidden,
.bd-tour-finish.hidden {
  display: none;
}

/* line 202, app/assets/stylesheets/components/_onboarding_tour.scss */
.bd-tour-step-label {
  margin: 10px 0 0;
  font-size: 11.5px;
  color: #9ca3af;
  text-align: center;
}

/* line 210, app/assets/stylesheets/components/_onboarding_tour.scss */
.hidden {
  display: none !important;
}

/* sections */
/* line 1, app/assets/stylesheets/sections/_hero.scss */
.hero {
  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
  color: #fff;
  padding: 80px 0;
}

/* line 7, app/assets/stylesheets/sections/_hero.scss */
.hero-inner {
  text-align: center;
}

/* line 9, app/assets/stylesheets/sections/_hero.scss */
.hero-title {
  font-size: 48px;
  line-height: 1.05;
  margin: 0 0 18px 0;
  font-weight: 500;
}

/* line 15, app/assets/stylesheets/sections/_hero.scss */
.hero-subtitle {
  max-width: 760px;
  margin: 0 auto 26px auto;
  color: rgba(255, 255, 255, 0.82);
  font-size: 18px;
  line-height: 1.6;
}

/* line 23, app/assets/stylesheets/sections/_hero.scss */
.hero-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ===== Features showcase section ===== */
/* line 3, app/assets/stylesheets/sections/_features_showcase.scss */
.feature-card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* line 11, app/assets/stylesheets/sections/_features_showcase.scss */
.feature-ico {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(79, 70, 229, 0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 14px;
}

/* line 23, app/assets/stylesheets/sections/_features_showcase.scss */
.feature-title {
  font-size: 18px;
  margin: 0 0 8px 0;
  color: #0f172a;
}

/* line 29, app/assets/stylesheets/sections/_features_showcase.scss */
.feature-text {
  margin: 0;
  color: #475569;
  line-height: 1.5;
}

/* ===== Location showcase section ===== */
/* Buttons used in this section */
/* line 4, app/assets/stylesheets/sections/_location_showcase.scss */
.btn-primary {
  background: #4f46e5;
  color: #ffffff;
}

/* line 8, app/assets/stylesheets/sections/_location_showcase.scss */
.btn-primary:hover {
  background: #4338ca;
}

/* line 11, app/assets/stylesheets/sections/_location_showcase.scss */
.btn-outline-primary {
  background: transparent;
  border: 2px solid #4f46e5;
  color: #4f46e5;
}

/* line 16, app/assets/stylesheets/sections/_location_showcase.scss */
.btn-outline-primary:hover {
  background: rgba(79, 70, 229, 0.08);
}

/* pages */
/* line 1, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-page {
  background: #f9fafb;
  min-height: 100vh;
}

/* line 3, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero {
  position: relative;
  padding: 38px 0;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
}

/* line 9, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: flex-end;
  gap: 18px;
}

/* line 18, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__avatar {
  width: 128px;
  height: 128px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 29, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 32, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__main {
  flex: 1;
  color: inherit;
}

/* line 34, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

/* line 42, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__title {
  margin: 0;
  font-size: 34px;
}

/* line 44, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-verified-pill {
  background: #22c55e;
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* line 55, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__desc {
  margin: 0 0 12px;
  opacity: 0.92;
  font-size: 16px;
  max-width: 780px;
}

/* line 62, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-hero__meta {
  display: flex;
  align-items: center;
  gap: 12px 16px;
  flex-wrap: wrap;
}

/* line 69, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 22px 16px 40px;
}

/* line 75, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-badges-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
}

/* line 77, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.badge-pill {
  padding: 8px 12px;
  border-radius: 999px;
  border: 2px solid transparent;
  font-size: 13px;
  background: #fff;
}

/* line 85, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.badge-pill--green {
  background: #dcfce7;
  color: #15803d;
  border-color: #86efac;
}

/* line 86, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.badge-pill--orange {
  background: #ffedd5;
  color: #c2410c;
  border-color: #fdba74;
}

/* line 87, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.badge-pill--blue {
  background: #dbeafe;
  color: #1d4ed8;
  border-color: #93c5fd;
}

/* line 88, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.badge-pill--purple {
  background: #f3e8ff;
  color: #6b28d9;
  border-color: #d8b4fe;
}

/* line 90, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner {
  border-radius: 16px;
  padding: 18px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  margin-bottom: 16px;
}

/* line 102, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner--discount {
  background: linear-gradient(90deg, #f97316, #ef4444);
}

/* line 104, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner__left {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* line 106, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner__icon {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 18px;
}

/* line 118, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner__title {
  font-size: 18px;
  margin-bottom: 4px;
}

/* line 119, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner__sub {
  font-size: 13px;
  opacity: 0.92;
}

/* line 120, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner__right {
  text-align: right;
}

/* line 121, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner__big {
  font-size: 28px;
  font-weight: 800;
}

/* line 122, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-banner__small {
  font-size: 12px;
  opacity: 0.92;
}

/* line 124, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-tabs {
  display: flex;
  gap: 22px;
  border-bottom: 1px solid #e5e7eb;
  margin: 8px 0 18px;
}

/* line 131, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.tab {
  border: 0;
  background: transparent;
  padding: 14px 0;
  color: #6b7280;
  cursor: pointer;
  border-bottom: 2px solid transparent;
}

/* line 139, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.tab:hover {
  color: #111827;
}

/* line 141, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.tab.is-active {
  color: #4f46e5;
  border-bottom-color: #4f46e5;
}

/* line 147, app/assets/stylesheets/pages/_enhanced_shop_page.scss */
.eshop-panel .placeholder {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 22px;
  color: #6b7280;
}

/* line 1, app/assets/stylesheets/pages/_map_page.scss */
.map-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 16px;
}

/* line 7, app/assets/stylesheets/pages/_map_page.scss */
.map-page__head {
  margin-bottom: 18px;
}

/* line 9, app/assets/stylesheets/pages/_map_page.scss */
.map-page__title {
  margin: 0 0 8px;
  font-size: 34px;
  color: #111827;
}

/* line 15, app/assets/stylesheets/pages/_map_page.scss */
.map-page__sub {
  margin: 0;
  font-size: 18px;
  color: #6b7280;
}

/* line 21, app/assets/stylesheets/pages/_map_page.scss */
.map-grid {
  display: grid;
  gap: 18px;
}

@media (min-width: 1024px) {
  /* line 24, app/assets/stylesheets/pages/_map_page.scss */
  .map-grid {
    grid-template-columns: 2fr 1fr;
    gap: 24px;
  }
}

/* line 27, app/assets/stylesheets/pages/_map_page.scss */
.map-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.06);
}

/* line 35, app/assets/stylesheets/pages/_map_page.scss */
.qcmap {
  position: relative;
}

/* line 37, app/assets/stylesheets/pages/_map_page.scss */
.qcmap__svg {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #eff6ff, #ecfdf5);
}

/* line 46, app/assets/stylesheets/pages/_map_page.scss */
.qcmap__dot {
  fill: #6366f1;
  cursor: pointer;
  transition: transform 0.15s ease, fill 0.15s ease;
}

/* line 51, app/assets/stylesheets/pages/_map_page.scss */
.qcmap__dot:hover {
  fill: #4338ca;
  transform: scale(1.05);
}

/* line 52, app/assets/stylesheets/pages/_map_page.scss */
.qcmap__dot.is-selected {
  fill: #4f46e5;
}

/* line 55, app/assets/stylesheets/pages/_map_page.scss */
.qcmap__label {
  font-size: 3px;
  fill: #111827;
  pointer-events: none;
}

/* line 56, app/assets/stylesheets/pages/_map_page.scss */
.qcmap__label.is-hidden {
  display: none;
}

/* line 58, app/assets/stylesheets/pages/_map_page.scss */
.qcmap__legend {
  position: absolute;
  left: 14px;
  bottom: 14px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
  padding: 10px 12px;
  font-size: 13px;
  color: #374151;
}

/* line 71, app/assets/stylesheets/pages/_map_page.scss */
.map-card__foot {
  margin-top: 10px;
  text-align: center;
  color: #6b7280;
  font-size: 13px;
}

/* line 73, app/assets/stylesheets/pages/_map_page.scss */
.map-side__title {
  margin: 0 0 10px;
  font-size: 20px;
  color: #111827;
}

/* line 74, app/assets/stylesheets/pages/_map_page.scss */
.map-side__panel {
  display: block;
}

/* line 76, app/assets/stylesheets/pages/_map_page.scss */
.map-list {
  display: grid;
  gap: 10px;
}

/* line 78, app/assets/stylesheets/pages/_map_page.scss */
.map-item {
  width: 100%;
  text-align: left;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 14px;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.15s ease;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

/* line 93, app/assets/stylesheets/pages/_map_page.scss */
.map-item:hover {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.07);
}

/* line 96, app/assets/stylesheets/pages/_map_page.scss */
.map-item__name {
  margin: 0 0 4px;
  color: #111827;
  font-size: 14px;
}

/* line 98, app/assets/stylesheets/pages/_map_page.scss */
.map-item__loc {
  color: #6b7280;
  font-size: 12px;
  display: flex;
  gap: 6px;
  align-items: center;
}

/* line 106, app/assets/stylesheets/pages/_map_page.scss */
.map-item__tag {
  font-size: 11px;
  background: #f3f4f6;
  color: #4b5563;
  padding: 6px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

/* line 115, app/assets/stylesheets/pages/_map_page.scss */
.map-detail {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.06);
}

/* line 123, app/assets/stylesheets/pages/_map_page.scss */
.map-detail__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

/* line 131, app/assets/stylesheets/pages/_map_page.scss */
.map-detail__name {
  margin: 0;
  color: #111827;
  font-size: 16px;
}

/* line 133, app/assets/stylesheets/pages/_map_page.scss */
.map-detail__x {
  border: 0;
  background: transparent;
  color: #9ca3af;
  cursor: pointer;
  font-size: 18px;
}

/* line 140, app/assets/stylesheets/pages/_map_page.scss */
.map-detail__x:hover {
  color: #4b5563;
}

/* line 143, app/assets/stylesheets/pages/_map_page.scss */
.map-detail__pill {
  display: inline-block;
  background: #eef2ff;
  color: #4338ca;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  margin-bottom: 10px;
}

/* line 153, app/assets/stylesheets/pages/_map_page.scss */
.map-detail__desc {
  margin: 0 0 12px;
  color: #6b7280;
  font-size: 13px;
}

/* line 155, app/assets/stylesheets/pages/_map_page.scss */
.map-detail__meta {
  border-top: 1px solid #e5e7eb;
  padding-top: 10px;
  display: grid;
  gap: 8px;
  color: #6b7280;
  font-size: 13px;
  margin-bottom: 12px;
}

/* line 166, app/assets/stylesheets/pages/_map_page.scss */
.qcmap-marker {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid #fff;
  background: #6366f1;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
  cursor: pointer;
}

/* line 176, app/assets/stylesheets/pages/_map_page.scss */
.qcmap-popup__name {
  font-weight: 600;
  margin-bottom: 6px;
}

/* line 181, app/assets/stylesheets/pages/_map_page.scss */
.qcmap-popup__link {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 10px;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
}

/* line 191, app/assets/stylesheets/pages/_map_page.scss */
.map-list.is-hidden {
  display: none;
}

/* line 192, app/assets/stylesheets/pages/_map_page.scss */
.map-item.is-active {
  outline: 2px solid rgba(99, 102, 241, 0.35);
}

/* line 1, app/assets/stylesheets/pages/_discounts.scss */
.discounts {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* line 6, app/assets/stylesheets/pages/_discounts.scss */
.discounts__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

/* line 13, app/assets/stylesheets/pages/_discounts.scss */
.discounts__title {
  font-size: 24px;
  color: #000;
  margin: 0 0 6px;
}

/* line 14, app/assets/stylesheets/pages/_discounts.scss */
.discounts__subtitle {
  margin: 0;
  color: #6b7280;
}

/* line 16, app/assets/stylesheets/pages/_discounts.scss */
.discounts__grid {
  display: grid;
  gap: 16px;
}

/* line 19, app/assets/stylesheets/pages/_discounts.scss */
.discount-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
}

/* line 25, app/assets/stylesheets/pages/_discounts.scss */
.discount-card--inactive {
  background: #f9fafb;
  border-color: #d1d5db;
}

/* line 30, app/assets/stylesheets/pages/_discounts.scss */
.discount-card__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

/* line 31, app/assets/stylesheets/pages/_discounts.scss */
.discount-card__main {
  flex: 1;
  min-width: 0;
}

/* line 32, app/assets/stylesheets/pages/_discounts.scss */
.discount-card__top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

/* line 35, app/assets/stylesheets/pages/_discounts.scss */
.discount-code {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* line 36, app/assets/stylesheets/pages/_discounts.scss */
.discount-code__tag {
  font-size: 18px;
}

/* line 38, app/assets/stylesheets/pages/_discounts.scss */
.discount-code__code {
  font-size: 18px;
  background: #f3f4f6;
  padding: 6px 10px;
  border-radius: 8px;
  color: #000;
}

/* line 46, app/assets/stylesheets/pages/_discounts.scss */
.discount-pill {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
}

/* line 52, app/assets/stylesheets/pages/_discounts.scss */
.discount-pill--active {
  background: #dcfce7;
  color: #15803d;
}

/* line 53, app/assets/stylesheets/pages/_discounts.scss */
.discount-pill--inactive {
  background: #e5e7eb;
  color: #4b5563;
}

/* line 56, app/assets/stylesheets/pages/_discounts.scss */
.discount-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  font-size: 13px;
}

@media (min-width: 900px) {
  /* line 56, app/assets/stylesheets/pages/_discounts.scss */
  .discount-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* line 67, app/assets/stylesheets/pages/_discounts.scss */
.meta__label {
  color: #6b7280;
  display: block;
  margin-bottom: 4px;
}

/* line 68, app/assets/stylesheets/pages/_discounts.scss */
.meta__value {
  color: #000;
}

/* line 70, app/assets/stylesheets/pages/_discounts.scss */
.discount-card__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 6px;
}

/* line 72, app/assets/stylesheets/pages/_discounts.scss */
.discount-empty {
  text-align: center;
  padding: 44px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}

/* line 79, app/assets/stylesheets/pages/_discounts.scss */
.discount-empty__icon {
  font-size: 44px;
  opacity: 0.35;
  margin-bottom: 10px;
}

/* line 80, app/assets/stylesheets/pages/_discounts.scss */
.discount-empty__title {
  margin: 0 0 12px;
  color: #6b7280;
}

/* Discounts modal variant (scoped) */
/* line 84, app/assets/stylesheets/pages/_discounts.scss */
.discounts-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
}

/* line 85, app/assets/stylesheets/pages/_discounts.scss */
.discounts-modal.is-hidden {
  display: none;
}

/* line 91, app/assets/stylesheets/pages/_discounts.scss */
.discounts-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* line 93, app/assets/stylesheets/pages/_discounts.scss */
.discounts-modal__panel {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

/* line 105, app/assets/stylesheets/pages/_discounts.scss */
.discounts-modal__title {
  font-size: 18px;
  margin: 0 0 16px;
  color: #000;
}

/* line 107, app/assets/stylesheets/pages/_discounts.scss */
.discounts-modal__actions {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}

/* line 108, app/assets/stylesheets/pages/_discounts.scss */
.discounts-modal__actions .btn {
  flex: 1;
  justify-content: center;
}

/* line 111, app/assets/stylesheets/pages/_discounts.scss */
.form {
  display: grid;
  gap: 12px;
}

/* line 112, app/assets/stylesheets/pages/_discounts.scss */
.form__row {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr;
}

/* ===============================
   GLOBAL (dashboard only)
   =============================== */
/* line 5, app/assets/stylesheets/pages/_business_dashboard.scss */
html, body {
  height: 100%;
}

/* line 7, app/assets/stylesheets/pages/_business_dashboard.scss */
body.is-dashboard {
  height: 100vh;
  overflow: hidden;
}

/* ===============================
   SHELL
   =============================== */
/* line 16, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shell {
  display: flex;
  height: calc(100vh - 64px);
  background: #f7f7fb;
  overflow: hidden;
  min-height: 0;
}

/* ===============================
   SIDEBAR
   =============================== */
/* line 28, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-business-plan-link {
  display: block;
  text-decoration: none;
  color: #fff;
}

/* line 34, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-business-plan-link:hover,
.bd-business-plan-link:focus,
.bd-business-plan-link:active,
.bd-business-plan-link:visited {
  color: #fff;
  text-decoration: none;
}

/* line 42, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-business-plan-link .bd-plan-name,
.bd-business-plan-link .bd-plan-meta,
.bd-business-plan-link .bd-plan-caret {
  color: #fff;
}

/* line 47, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-sidebar {
  width: 280px;
  background: #fff;
  border-right: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  min-height: 0;
}

/* Fixed top section */
/* line 59, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-sidebar-top {
  padding: 20px;
  border-bottom: 1px solid #eef2f7;
  flex: 0 0 auto;
}

/* line 65, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-title {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
}

/* line 71, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-subtitle {
  margin-top: 4px;
  color: #6b7280;
  font-size: 14px;
}

/* ===============================
   SIDEBAR NAV (SCROLL AREA)
   =============================== */
/* line 81, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-switcher {
  position: relative;
  margin-top: 10px;
}

/* line 86, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shopname-link--switcher {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  text-decoration: none;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
}

/* line 98, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shopname-caret {
  opacity: 0.7;
  font-size: 12px;
}

/* line 103, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer {
  margin-top: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.12);
}

/* line 112, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-h {
  padding: 10px 12px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
  border-bottom: 1px solid #eef2f7;
}

/* line 121, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  font-size: 14px;
  color: #374151;
  text-decoration: none;
}

/* line 132, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-item:hover {
  background: #f3f4f6;
}

/* line 136, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-item.is-current {
  background: #f5ede4;
  color: #9a3412;
  font-weight: 600;
}

/* line 142, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-badge {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.15);
  opacity: 0.8;
  white-space: nowrap;
}

/* line 151, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-footer {
  padding: 10px 12px;
  border-top: 1px solid #eef2f7;
}

/* line 156, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-secondary {
  font-size: 13px;
  color: #6b7280;
  text-decoration: none;
}

/* line 162, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-shop-drawer-secondary:hover {
  text-decoration: underline;
}

/* line 166, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-nav {
  padding: 18px 10px;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  flex: 1 1 auto;
}

/* Optional: nicer scrollbar */
/* line 175, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-nav::-webkit-scrollbar {
  width: 6px;
}

/* line 176, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-nav::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 10px;
}

/* line 181, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-nav-section {
  margin-bottom: 18px;
}

/* line 183, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-nav-h {
  padding: 0 12px;
  margin-bottom: 8px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
}

/* ===============================
   NAV LINKS (ICON LEFT, TEXT RIGHT) - HARD LOCK
   =============================== */
/* ✅ Super-specific selector to beat anything (Tailwind, resets, old rules) */
/* line 197, app/assets/stylesheets/pages/_business_dashboard.scss */
aside.bd-sidebar nav.bd-nav a.bd-nav-link {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  color: #374151 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* line 215, app/assets/stylesheets/pages/_business_dashboard.scss */
aside.bd-sidebar nav.bd-nav a.bd-nav-link:hover {
  background: #f3f4f6 !important;
}

/* Icon slot (fixed column) */
/* line 220, app/assets/stylesheets/pages/_business_dashboard.scss */
aside.bd-sidebar nav.bd-nav a.bd-nav-link .bd-nav-ico {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  color: #6b7280 !important;
}

/* Force SVG to not act like a block taking the full row */
/* line 234, app/assets/stylesheets/pages/_business_dashboard.scss */
aside.bd-sidebar nav.bd-nav a.bd-nav-link .bd-nav-ico svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  flex: 0 0 auto !important;
  stroke: currentColor !important;
}

/* Text slot */
/* line 243, app/assets/stylesheets/pages/_business_dashboard.scss */
aside.bd-sidebar nav.bd-nav a.bd-nav-link .bd-nav-txt {
  display: inline-block !important;
  white-space: normal !important;
  line-height: 1.25 !important;
}

/* ===============================
   ACTIVE SIDEBAR ITEM — ORANGE PILL (EXACT)
   =============================== */
/* line 253, app/assets/stylesheets/pages/_business_dashboard.scss */
aside.bd-sidebar nav.bd-nav a.bd-nav-link.is-active {
  background: #f5ede4 !important;
  color: #9a3412 !important;
  font-weight: 600 !important;
  border-radius: 12px !important;
}

/* icon follows text color */
/* line 261, app/assets/stylesheets/pages/_business_dashboard.scss */
aside.bd-sidebar nav.bd-nav a.bd-nav-link.is-active .bd-nav-ico {
  color: #9a3412 !important;
}

/* ===============================
   CARDS / PLAN
   =============================== */
/* line 269, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}

/* line 275, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-plan {
  margin-top: 14px;
  padding: 14px;
  background: #111827;
  color: #fff;
  border-color: #111827;
}

/* line 283, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-plan-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 289, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-plan-name {
  font-weight: 600;
}

/* line 291, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-plan-meta {
  margin-top: 6px;
  font-size: 12px;
  opacity: 0.9;
}

/* ===============================
   DASHBOARD TYPE SWITCHER
   =============================== */
/* line 301, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-type {
  margin-top: 14px;
  padding: 12px;
}

/* line 306, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-type-label {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 10px;
}

/* line 312, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-type-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

/* line 318, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-type-btn {
  display: block;
  text-align: center;
  padding: 10px 8px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  color: #111827;
  font-size: 13px;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* line 331, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-type-btn:hover {
  background: #fff;
}

/* line 333, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-type-btn.is-active {
  border-color: #c7d2fe;
  background: #eef2ff;
  color: #4338ca;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* ===============================
   MAIN CONTENT
   =============================== */
/* line 345, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-main {
  flex: 1;
  padding: 28px;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  padding-top: 1rem;
}

/* Page Customization CTA override (link styles elsewhere force black) */
/* line 355, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-page-customization .bd-launch-builder {
  color: #fff !important;
}

/* line 358, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-page-customization .bd-launch-builder:hover {
  color: #fff !important;
}

/* Dashboard CTA text color overrides (global link styles force black) */
/* line 363, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-cta-link {
  color: #fff !important;
}

/* line 366, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-cta-link:hover {
  color: #fff !important;
}

/* Filter pills: keep white text when active */
/* line 371, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-filter-pill.is-active {
  color: #fff !important;
}

/* Auto reports Save Settings button */
/* line 376, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-save {
  background: #4f46e5 !important;
  border-color: #4f46e5 !important;
  color: #fff !important;
}

/* line 381, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-save:disabled {
  background: #4f46e5 !important;
  color: #fff !important;
  opacity: 0.6;
}

/* line 387, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-main-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 18px;
}

/* line 394, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-h1 {
  font-size: 34px;
  line-height: 1.1;
  margin: 0;
  color: #111827;
}

/* line 401, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-h2 {
  font-size: 20px;
  margin: 0 0 8px 0;
  color: #111827;
}

/* line 407, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-p {
  margin: 0;
  color: #6b7280;
}

/* ===============================
   ACCOUNT PAGE
   =============================== */
/* line 416, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account {
  padding: 28px;
}

/* line 418, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account-head {
  margin-bottom: 24px;
}

/* line 419, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account-h1 {
  font-size: 30px;
  line-height: 1.15;
  margin: 0 0 6px 0;
  color: #111827;
}

/* line 425, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account-sub {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}

/* line 431, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account-grid {
  display: grid;
  gap: 18px;
}

@media (min-width: 768px) {
  /* line 436, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-account-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Panels */
/* line 442, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* line 450, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

/* line 457, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-panel-h2 {
  font-size: 18px;
  margin: 0;
  color: #111827;
}

/* Alert */
/* line 464, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  margin-bottom: 16px;
}

/* line 473, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-alert-ico {
  line-height: 1;
}

/* line 474, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-alert--success {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #065f46;
}

/* line 479, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-alert--success .bd-alert-txt {
  color: #065f46;
}

/* Forms */
/* line 482, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-form {
  display: grid;
  gap: 12px;
}

/* line 484, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-field {
  display: grid;
  gap: 6px;
}

/* line 486, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #6b7280;
}

/* line 493, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-label-ico {
  font-size: 14px;
}

/* line 495, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 14px;
  color: #111827;
  background: #fff;
  outline: none;
}

/* line 506, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-input:focus {
  border-color: #c7d2fe;
  box-shadow: 0 0 0 3px rgba(199, 210, 254, 0.45);
}

/* line 511, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-input--disabled {
  background: #f9fafb;
  color: #111827;
  opacity: 1;
  cursor: default;
}

/* line 519, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-help {
  margin: 0;
  font-size: 12px;
  color: #9ca3af;
}

/* Buttons */
/* line 526, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-actions {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

/* line 532, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #111827;
  width: 100%;
}

/* line 547, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-btn--primary {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

/* line 552, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-btn--primary:hover {
  background: #0b1220;
}

/* line 554, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-btn--ghost:hover {
  background: #f9fafb;
}

/* Status blocks */
/* line 557, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-status-list {
  display: grid;
  gap: 10px;
}

/* line 559, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
}

/* line 568, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-status-title {
  font-size: 13px;
  color: #111827;
}

/* line 572, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-status-sub {
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
}

/* line 578, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-status--green {
  background: #ecfdf5;
  border-color: #bbf7d0;
}

/* line 582, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-status--blue {
  background: #eff6ff;
  border-color: #bfdbfe;
}

/* line 587, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

/* line 592, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-dot--green {
  background: #22c55e;
}

/* line 594, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-badge-check {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2563eb;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
}

/* Actions list */
/* line 608, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-actions-list {
  display: grid;
  gap: 10px;
}

/* line 610, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-btn {
  width: 100%;
  text-align: left;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  cursor: pointer;
}

/* line 620, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-btn:hover {
  background: #f9fafb;
}

/* line 622, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-title {
  font-size: 13px;
  color: #111827;
}

/* line 626, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-sub {
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
}

/* line 632, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-btn--danger {
  border-color: #fca5a5;
  color: #b91c1c;
}

/* line 636, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-btn--danger .bd-action-title {
  color: #b91c1c;
}

/* line 637, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-btn--danger .bd-action-sub {
  color: #ef4444;
}

/* line 638, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-action-btn--danger:hover {
  background: #fef2f2;
}

/* ===============================
   ACCOUNT PAGE — INPUT OVERRIDES
   =============================== */
/* line 644, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account .bd-input {
  background: #ffffff;
  color: #111827;
  border: 1px solid #d1d5db;
}

/* line 650, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account .bd-input:disabled {
  background: #f9fafb;
  color: #111827;
  opacity: 1;
}

/* ===============================
   ANALYTICS PAGE
   =============================== */
/* line 662, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-analytics {
  padding: 28px;
}

/* line 664, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-analytics-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

/* line 672, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-analytics-h1 {
  font-size: 30px;
  line-height: 1.15;
  margin: 0 0 6px 0;
  color: #111827;
}

/* line 679, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-analytics-sub {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}

/* line 685, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-analytics-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* reuse your bd-btn base if you already have it from Account */
/* line 692, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-btn--icon {
  gap: 8px;
}

/* line 693, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-btn-ico {
  line-height: 1;
}

/* ===== Metrics ===== */
/* line 696, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metrics {
  display: grid;
  gap: 14px;
  margin: 18px 0 18px;
}

@media (min-width: 768px) {
  /* line 702, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* line 705, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* line 713, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

/* line 720, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-ico {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

/* line 730, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-ico--blue {
  background: #dbeafe;
  color: #2563eb;
}

/* line 731, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-ico--purple {
  background: #ede9fe;
  color: #7c3aed;
}

/* line 732, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-ico--green {
  background: #dcfce7;
  color: #16a34a;
}

/* line 733, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-ico--orange {
  background: #ffedd5;
  color: #ea580c;
}

/* line 735, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-trend {
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 736, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-trend--up {
  color: #16a34a;
}

/* line 737, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-trend--down {
  color: #dc2626;
}

/* line 739, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-num {
  font-size: 28px;
  color: #111827;
  margin-bottom: 4px;
}

/* line 745, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-metric-label {
  font-size: 13px;
  color: #6b7280;
}

/* ===== Sections / Panels ===== */
/* line 748, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-section {
  margin-top: 10px;
}

/* line 750, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-section-h2 {
  font-size: 22px;
  margin: 18px 0 12px;
  color: #111827;
}

/* line 756, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* line 764, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-panel-head {
  margin-bottom: 12px;
}

/* line 766, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-panel-h3 {
  font-size: 18px;
  margin: 0;
  color: #111827;
}

/* ===== Financial summary cards ===== */
/* line 773, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-cards {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}

@media (min-width: 768px) {
  /* line 779, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-fin-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* line 782, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-card {
  border-radius: 14px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* line 790, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-card--grad-green {
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  box-shadow: 0 10px 24px rgba(16, 185, 129, 0.25);
}

/* line 796, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-card--grad-emerald {
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 10px 24px rgba(16, 185, 129, 0.25);
}

/* line 803, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

/* line 810, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-ico {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* line 821, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-ico--red {
  background: #fee2e2;
  color: #dc2626;
}

/* line 822, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-ico--orange {
  background: #ffedd5;
  color: #ea580c;
}

/* line 824, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-pill {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* line 832, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-note {
  font-size: 12px;
  color: #6b7280;
}

/* line 834, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-num {
  font-size: 26px;
  margin-bottom: 4px;
}

/* line 835, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-num--dark {
  color: #111827;
}

/* line 836, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-label {
  font-size: 13px;
  opacity: .92;
}

/* line 837, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-label--muted {
  color: #6b7280;
  opacity: 1;
}

/* ===== Financial grid ===== */
/* line 840, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-fin-grid {
  display: grid;
  gap: 14px;
}

@media (min-width: 1024px) {
  /* line 845, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-fin-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* breakdown rows */
/* line 849, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-breakdown {
  display: grid;
  gap: 10px;
}

/* line 851, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid #f3f4f6;
}

/* line 859, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row:last-child {
  border-bottom: 0;
}

/* line 861, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 867, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-ico {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

/* line 876, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-ico--green {
  background: #dcfce7;
  color: #16a34a;
}

/* line 877, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-ico--red {
  background: #fee2e2;
  color: #dc2626;
}

/* line 878, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-ico--orange {
  background: #ffedd5;
  color: #ea580c;
}

/* line 879, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-ico--profit {
  background: #16a34a;
  color: #fff;
}

/* line 881, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-title {
  color: #111827;
  font-size: 13px;
}

/* line 882, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-sub {
  color: #6b7280;
  font-size: 12px;
  margin-top: 2px;
}

/* line 884, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-right {
  text-align: right;
}

/* line 886, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-val {
  color: #111827;
  font-size: 13px;
}

/* line 887, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-val--red {
  color: #dc2626;
}

/* line 888, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-val--orange {
  color: #ea580c;
}

/* line 890, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-pct {
  color: #6b7280;
  font-size: 12px;
  margin-top: 2px;
}

/* line 891, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-pct--green {
  color: #16a34a;
}

/* line 893, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row--profit {
  background: #ecfdf5;
  border-radius: 12px;
  border: 1px solid #bbf7d0;
  padding: 12px;
}

/* line 899, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row--profit .bd-row-val--profit {
  color: #16a34a;
  font-size: 20px;
}

/* line 903, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-row-pct--profit {
  color: #15803d;
}

/* charts placeholder */
/* line 906, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-chart {
  height: 280px;
  border-radius: 12px;
  border: 1px dashed #e5e7eb;
  background: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 915, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-chart-placeholder {
  color: #9ca3af;
}

/* mini stats under profit chart */
/* line 918, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

/* line 924, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-stat {
  background: #f9fafb;
  border-radius: 12px;
  padding: 10px;
  text-align: center;
}

/* line 930, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-stat-k {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 4px;
}

/* line 931, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-stat-v {
  font-size: 16px;
  color: #111827;
}

/* line 932, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-mini-stat-v--green {
  color: #16a34a;
}

/* charts row */
/* line 935, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-charts {
  display: grid;
  gap: 14px;
  margin: 14px 0;
}

@media (min-width: 1024px) {
  /* line 941, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-charts {
    grid-template-columns: 1fr 1fr;
  }
}

/* bottom grid */
/* line 945, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-bottom-grid {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

@media (min-width: 1024px) {
  /* line 951, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-bottom-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* list items */
/* line 955, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-list {
  display: grid;
  gap: 12px;
}

/* line 957, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item {
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
}

/* line 961, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

/* line 963, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}

/* line 971, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item-name {
  color: #111827;
  font-size: 13px;
}

/* line 972, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item-sub {
  color: #6b7280;
  font-size: 12px;
  margin-bottom: 8px;
}

/* line 974, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item-profit {
  text-align: right;
}

/* line 975, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item-profit-v {
  color: #16a34a;
  font-size: 14px;
}

/* line 976, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-item-profit-k {
  color: #6b7280;
  font-size: 12px;
}

/* line 978, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-pills {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 983, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-pill {
  font-size: 12px;
  padding: 6px 8px;
  border-radius: 10px;
  text-align: center;
  border: 1px solid transparent;
}

/* line 990, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-pill--green {
  background: #ecfdf5;
  color: #15803d;
  border-color: #bbf7d0;
}

/* line 991, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-pill--red {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}

/* line 992, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-pill--blue {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

/* sources */
/* line 995, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-sources {
  display: grid;
  gap: 14px;
}

/* line 997, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-source-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

/* line 1004, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-source-name {
  color: #111827;
  font-size: 13px;
}

/* line 1005, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-source-visits {
  color: #6b7280;
  font-size: 13px;
}

/* line 1007, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-bar {
  height: 8px;
  border-radius: 999px;
  background: #e5e7eb;
  overflow: hidden;
}

/* line 1013, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: #4f46e5;
}

/* line 1019, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-source-pct {
  text-align: right;
  color: #9ca3af;
  font-size: 12px;
  margin-top: 6px;
}

/* ===============================
   AUTO REPORTS
   =============================== */
/* line 1030, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto {
  padding: 28px;
  display: grid;
  gap: 14px;
}

/* line 1032, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

/* line 1033, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-h2 {
  font-size: 22px;
  margin: 0;
  color: #111827;
}

/* line 1034, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-sub {
  margin: 6px 0 0 0;
  font-size: 13px;
  color: #6b7280;
}

/* line 1035, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-muted {
  margin: 6px 0 0 0;
  font-size: 13px;
  color: #6b7280;
}

/* banner */
/* line 1038, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-banner {
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: linear-gradient(90deg, #eff6ff, #eef2ff);
  padding: 12px;
}

/* line 1044, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-banner-inner {
  display: grid;
  gap: 4px;
}

/* line 1045, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-banner-title {
  font-weight: 700;
  color: #1e40af;
  font-size: 13px;
}

/* line 1046, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-banner-text {
  color: #1e40af;
  font-size: 13px;
  opacity: .95;
}

/* panel head variant used in preview/history */
/* line 1049, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-preview-head,
.bd-auto-history-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
  margin-bottom: 12px;
}

/* settings */
/* line 1061, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-stack {
  display: grid;
  gap: 12px;
}

/* line 1063, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  background: #f9fafb;
  border-radius: 12px;
}

/* line 1073, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-row-title {
  font-size: 13px;
  color: #111827;
  margin-bottom: 2px;
}

/* line 1074, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-row-sub {
  font-size: 12px;
  color: #6b7280;
}

/* line 1076, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-auto-field {
  display: grid;
  gap: 6px;
}

/* line 1077, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-label {
  font-size: 13px;
  color: #374151;
}

/* inputs */
/* line 1080, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  background: #f3f4f6;
  color: #374151;
  font-size: 14px;
}

/* choices */
/* line 1091, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* line 1093, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-choice {
  text-align: left;
  padding: 12px;
  border-radius: 12px;
  border: 2px solid #e5e7eb;
  background: #fff;
  cursor: default;
  opacity: .6;
}

/* line 1103, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-choice.is-active {
  border-color: #4f46e5;
  background: #eef2ff;
  opacity: 1;
}

/* line 1109, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-choice-title {
  font-size: 13px;
  color: #111827;
}

/* line 1110, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-choice-sub {
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
}

/* chips */
/* line 1113, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid transparent;
}

/* line 1123, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-chip--on {
  background: #dcfce7;
  color: #15803d;
  border-color: #bbf7d0;
}

/* line 1129, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-chip--off {
  background: #fee2e2;
  color: #b91c1c;
  border-color: #fecaca;
}

/* line 1135, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-chip--sent {
  background: #dcfce7;
  color: #15803d;
  border-color: #bbf7d0;
}

/* line 1141, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-chip--warn {
  background: #fff7ed;
  color: #c2410c;
  border-color: #fed7aa;
}

/* line 1147, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-btn--sm {
  padding: 6px 10px;
  font-size: 12px;
}

/* email preview stage */
/* line 1153, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-stage {
  background: #f9fafb;
  border-radius: 14px;
  padding: 16px;
}

/* line 1159, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email {
  max-width: 720px;
  margin: 0 auto;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* line 1169, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-top {
  padding: 18px;
  color: #fff;
  background: linear-gradient(90deg, #4f46e5, #7c3aed);
}

/* line 1175, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-title {
  margin: 0 0 6px 0;
  font-size: 20px;
}

/* line 1176, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-date {
  margin: 0;
  font-size: 12px;
  opacity: .9;
}

/* line 1178, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-body {
  padding: 18px;
  display: grid;
  gap: 16px;
}

/* line 1180, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-block {
  display: grid;
  gap: 8px;
}

/* line 1181, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-h4 {
  margin: 0;
  font-size: 15px;
  color: #111827;
}

/* line 1182, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-p {
  margin: 0;
  font-size: 13px;
  color: #4b5563;
  line-height: 1.45;
}

/* line 1184, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* line 1190, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-metric {
  border-radius: 12px;
  padding: 12px;
  border: 1px solid transparent;
}

/* line 1196, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-metric--green {
  background: #ecfdf5;
  border-color: #bbf7d0;
}

/* line 1197, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-metric--blue {
  background: #eff6ff;
  border-color: #bfdbfe;
}

/* line 1198, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-metric--purple {
  background: #f5f3ff;
  border-color: #ddd6fe;
}

/* line 1199, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-metric--orange {
  background: #fff7ed;
  border-color: #fed7aa;
}

/* line 1201, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-k {
  font-size: 12px;
  opacity: .9;
  color: #374151;
}

/* line 1202, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-v {
  font-size: 18px;
  color: #111827;
  margin-top: 4px;
}

/* line 1203, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-d {
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
}

/* line 1205, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-list {
  display: grid;
  gap: 8px;
}

/* line 1206, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-li {
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 10px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  color: #111827;
}

/* line 1219, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-bullets {
  display: grid;
  gap: 8px;
}

/* line 1220, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-bullet {
  font-size: 13px;
  color: #4b5563;
  display: flex;
  gap: 8px;
}

/* line 1227, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-cta {
  border-radius: 12px;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
  padding: 14px;
  text-align: center;
  display: grid;
  gap: 10px;
}

/* line 1236, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-cta-text {
  margin: 0;
  font-size: 13px;
  color: #312e81;
}

/* line 1238, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-cta-btn {
  display: inline-block;
  margin: 0 auto;
  padding: 10px 14px;
  border-radius: 12px;
  border: 0;
  background: #4f46e5;
  color: #fff;
  font-weight: 600;
  cursor: default;
}

/* line 1250, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-foot {
  padding: 12px;
  background: #f9fafb;
  border-top: 1px solid #f3f4f6;
  text-align: center;
}

/* line 1256, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-email-foot-txt {
  margin: 0;
  font-size: 12px;
  color: #6b7280;
}

/* history */
/* line 1259, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history {
  display: grid;
}

/* line 1260, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 6px;
  border-top: 1px solid #f3f4f6;
}

/* line 1268, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history-row:first-child {
  border-top: 0;
}

/* line 1270, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 1271, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #eef2ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 1279, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history-title {
  font-size: 13px;
  color: #111827;
}

/* line 1280, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history-sub {
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
}

/* line 1282, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-history-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 1284, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-icon-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #6b7280;
  cursor: default;
}

/* line 1293, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-icon-btn:hover {
  background: #f9fafb;
}

/* next scheduled */
/* line 1296, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-next {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
}

/* line 1306, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-next-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #dbeafe;
  color: #1d4ed8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 1316, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-next-title {
  font-size: 13px;
  color: #1e3a8a;
  margin-bottom: 2px;
}

/* line 1317, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-next-sub {
  font-size: 12px;
  color: #1d4ed8;
  opacity: .9;
}

/* mobile tightening */
@media (max-width: 640px) {
  /* line 1321, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-email-stage {
    padding: 12px;
  }
  /* line 1322, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-email-metrics {
    grid-template-columns: 1fr;
  }
  /* line 1323, app/assets/stylesheets/pages/_business_dashboard.scss */
  .bd-choice-grid {
    grid-template-columns: 1fr;
  }
}

/* ===============================
   ACCOUNT LABEL ICONS (HARD LOCK)
   =============================== */
/* line 1330, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account .bd-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 1336, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-account .bd-label-svg {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  color: #9ca3af;
  flex: 0 0 16px;
}

/* line 1345, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-status--yellow {
  border-color: #fde68a;
  background: #fffbeb;
}

/* line 1350, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-dot--yellow {
  background-color: #facc15;
}

/* line 1354, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-plan-link {
  display: block;
  text-decoration: none;
  color: #fff;
}

/* line 1360, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-card.bd-plan {
  transition: background-color 0.15s ease, filter 0.15s ease;
}

/* subtle gray overlay */
/* line 1365, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-plan-link:hover .bd-card.bd-plan {
  background-color: rgba(125, 124, 124, 0.487);
}

/* More reliable for FullCalendar dayGrid */
/* line 1370, app/assets/stylesheets/pages/_business_dashboard.scss */
.fc .blocked-date-cell,
.fc .blocked-date-cell .fc-daygrid-day-frame {
  background: rgba(239, 68, 68, 0.12);
  border-radius: 10px;
}

/* Make the number red */
/* line 1377, app/assets/stylesheets/pages/_business_dashboard.scss */
.fc .blocked-date-cell .fc-daygrid-day-number {
  color: #dc2626;
  font-weight: 600;
}

/* Availability hours toggle (no Tailwind peer needed) */
/* line 1383, app/assets/stylesheets/pages/_business_dashboard.scss */
input.oh-toggle:checked + .oh-track {
  background-color: #46e551;
  /* indigo-600 */
}

/* line 1387, app/assets/stylesheets/pages/_business_dashboard.scss */
input.oh-toggle:checked + .oh-track .oh-thumb {
  transform: translateX(1.25rem);
}

/* Focus ring */
/* line 1392, app/assets/stylesheets/pages/_business_dashboard.scss */
input.oh-toggle:focus-visible + .oh-track {
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.35);
}

/* Optional: smooth thumb */
/* line 1397, app/assets/stylesheets/pages/_business_dashboard.scss */
.oh-track .oh-thumb {
  transition: transform 180ms ease;
}

/* Optional: smooth track */
/* line 1402, app/assets/stylesheets/pages/_business_dashboard.scss */
.oh-track {
  transition: background-color 180ms ease, box-shadow 180ms ease;
}

/* optional */
/* line 1407, app/assets/stylesheets/pages/_business_dashboard.scss */
::-webkit-scrollbar {
  width: 6px;
}

/* line 1410, app/assets/stylesheets/pages/_business_dashboard.scss */
::-webkit-scrollbar-thumb {
  background: #e5e7eb;
  border-radius: 999px;
}

/* =========================================
   Customer message page
   ========================================= */
/* =========================================
   Customer message page
   ========================================= */
/* Outer page spacing */
/* line 1425, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-page {
  padding: 1.25rem 2rem 2rem;
  /* top smaller */
  padding-top: 0rem;
}

/* Back link row */
/* line 1430, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-back {
  margin-bottom: 1rem;
}

/* line 1434, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #4b5563;
  text-decoration: none;
}

/* line 1443, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-back-link:hover {
  color: #4338ca;
}

/* Main conversation card */
/* line 1448, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 1.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  height: calc(100vh - 150px);
  min-height: 620px;
  max-height: calc(100vh - 150px);
  display: flex;
  flex-direction: column;
}

/* line 1461, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-thread {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1.5rem 1.75rem 1.75rem;
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
}

/* line 1471, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-thread-list {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-height: 100%;
}

/* Header */
/* line 1479, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-card-head {
  padding: 1rem 2.2rem;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
}

/* line 1489, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.2;
  color: #4338ca;
}

/* line 1496, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-card-head > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 1502, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-meta {
  margin-top: 0.2rem;
  /* was ~0.45rem */
  font-size: 0.85rem;
  color: #6b7280;
}

/* line 1508, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-meta strong {
  color: #111827;
  font-weight: 600;
}

/* Status pill */
/* line 1514, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.45rem 0.95rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
}

/* line 1524, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-status--new {
  background: #dbeafe;
  color: #1d4ed8;
}

/* line 1529, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-status--replied {
  background: #dcfce7;
  color: #15803d;
}

/* line 1534, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-status--read {
  background: #f3f4f6;
  color: #4b5563;
}

/* Thread section */
/* line 1541, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-divider {
  align-self: center;
  margin: 0.25rem 0 0.75rem;
  font-size: 0.73rem;
  line-height: 1.2;
  color: #4f46e5;
  text-align: center;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
}

/* line 1554, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-thread-list {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

/* Row alignment */
/* line 1561, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-row {
  display: flex;
}

/* line 1565, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-row--mine {
  justify-content: flex-end;
}

/* line 1569, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-row--theirs {
  justify-content: flex-start;
}

/* Wrapper so bubble and timestamp stay together */
/* line 1574, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-entry {
  max-width: 480px;
  display: flex;
  flex-direction: column;
}

/* line 1580, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-entry--mine {
  align-items: flex-end;
}

/* line 1584, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-entry--theirs {
  align-items: flex-start;
}

/* Bubble itself: text only */
/* line 1589, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-bubble {
  border-radius: 1.2rem;
  padding: 0.68rem 0.9rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* line 1595, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-bubble--mine {
  background: #3730a3;
  color: #ffffff;
}

/* line 1600, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-bubble--theirs {
  background: #f3f4f6;
  color: #111827;
  border: 1px solid #e5e7eb;
}

/* line 1606, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-bubble-text {
  font-size: 0.96rem;
  line-height: 1.38;
  white-space: pre-wrap;
}

/* line 1612, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-entry {
  max-width: 460px;
  display: flex;
  flex-direction: column;
}

/* Timestamp under bubble, discreet */
/* line 1619, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-time {
  margin-top: 0.35rem;
  font-size: 0.7rem;
  line-height: 1.2;
  color: #9ca3af;
}

/* Empty state */
/* line 1627, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-thread-empty {
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #9ca3af;
}

/* Composer area */
/* line 1637, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-compose {
  padding: 1rem 1.5rem 1.25rem;
  background: #f8faff;
}

/* line 1642, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-compose-label {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.9rem;
  color: #374151;
}

/* line 1649, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-composer-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
}

/* Composer wrapper: textarea + button inside same box */
/* line 1656, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-composer {
  flex: 1;
  border: 1px solid #d1d5db;
  border-radius: 1.25rem;
  background: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  min-height: 0;
}

/* line 1665, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-composer:focus-within {
  border-color: #a5b4fc;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14);
}

/* Starts at a comfortable height, grows with JS,
   then scrolls internally after the max height */
/* line 1672, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-textarea {
  width: 100%;
  min-height: 24px;
  max-height: 160px;
  resize: none;
  overflow-y: hidden;
  border: 0;
  background: transparent;
  padding: 0.95rem 1rem;
  font-size: 0.95rem;
  line-height: 24px;
  color: #111827;
  border-radius: 1.25rem;
  display: block;
}

/* line 1688, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-textarea:focus {
  outline: none;
  box-shadow: none;
}

/* Button stays inside the composer */
/* line 1694, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-submit {
  flex-shrink: 0;
  align-self: center;
  border: 0;
  border-radius: 0.85rem;
  background: #4f46e5;
  color: #ffffff;
  font-size: 0.84rem;
  padding: 0.62rem 0.95rem;
  height: 42px;
  cursor: pointer;
  transition: background 0.2s ease;
}

/* line 1708, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-submit:hover {
  background: #4338ca;
}

/* Flash messages */
/* line 1713, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-flash {
  margin-bottom: 1rem;
  border-radius: 0.9rem;
  padding: 0.9rem 1rem;
  font-size: 0.875rem;
  border: 1px solid transparent;
}

/* line 1721, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-flash--notice {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

/* line 1727, app/assets/stylesheets/pages/_business_dashboard.scss */
.bd-message-flash--alert {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

/* line 1, app/assets/stylesheets/pages/_shops_index.scss */
:root {
  --shops-page-bg: #ffffff;
}

/* line 5, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index {
  background: var(--shops-page-bg);
}

/* CONTAINER */
/* line 10, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* HERO */
/* line 17, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__hero {
  padding: 48px 0 32px;
  text-align: center;
  background: linear-gradient(180deg, #6B4FE0 0%, #9B59B6 100%);
}

/* line 23, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__hero-title {
  font-size: 44px;
  line-height: 1.1;
  font-weight: 800;
  margin: 0;
  color: #fff;
}

/* line 31, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__hero-subtitle {
  margin-top: 10px;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
}

/* HERO STATS */
/* line 39, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__hero-stats {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

/* line 47, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__hero-stat {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  font-size: 14px;
  color: #fff;
}

/* line 59, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__hero-statIcon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
  font-size: 12px;
}

/* BLOCK SECTIONS */
/* line 72, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__block {
  padding: 28px 0;
}

/* line 76, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__block--alt {
  background: #f9fafb;
  border-top: 1px solid #eef2f7;
  border-bottom: 1px solid #eef2f7;
}

/* line 82, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__block-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

/* line 90, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__block-title {
  font-size: 22px;
  font-weight: 800;
  margin: 0;
  color: #4B3FAA;
}

/* line 97, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__block-subtitle {
  margin-top: 6px;
  font-size: 14px;
  color: #7C6FC4;
}

/* line 103, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__block-link {
  font-size: 14px;
  color: #6B4FE0;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #C4B5FD;
  background: #EDE9FF;
  font-weight: 600;
  transition: background 150ms ease;
}

/* line 114, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__block-link:hover {
  background: #DDD6FE;
  border-color: #a78bfa;
}

/* TRENDING GRID */
/* line 121, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 950px) {
  /* line 128, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__promo-grid {
    grid-template-columns: 1fr;
  }
}

/* line 133, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-card {
  display: block;
  border: 1px solid #E8E3FF;
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

/* line 143, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-card:hover {
  border-color: #a78bfa;
  box-shadow: 0 14px 40px rgba(107, 79, 224, 0.15);
  transform: translateY(-2px);
}

/* line 150, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-top {
  position: relative;
  height: 120px;
  /* adjust if you want taller */
  overflow: hidden;
  background: #ffffff;
  /* important */
}

/* line 157, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why .shops-index__container {
  background: transparent;
}

/* line 161, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why {
  margin-top: 2rem;
}

/* line 165, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 172, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-top::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
  pointer-events: none;
}

/* line 180, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-body {
  padding: 16px 16px 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

/* line 188, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-name {
  font-weight: 800;
  color: #111827;
  margin: 0;
  font-size: 16px;
}

/* line 195, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #6b7280;
  line-height: 1.2;
  margin-top: 0;
}

/* line 204, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-metaIcon {
  flex: 0 0 auto;
  display: block;
}

/* line 209, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__promo-pill {
  display: inline-flex;
  align-self: flex-start;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  border: 1px solid #c7d2fe;
  margin-top: 0;
}

/* FEATURED GRID */
/* line 222, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 950px) {
  /* line 229, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__featured-grid {
    grid-template-columns: 1fr;
  }
}

/* line 234, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-card {
  display: block;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

/* line 245, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 14px 40px rgba(17, 24, 39, 0.12);
  transform: translateY(-2px);
}

/* line 251, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-top {
  position: relative;
  height: 110px;
  background: linear-gradient(135deg, #f3f4f6, #ede9fe);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 260, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-emoji {
  font-size: 34px;
}

/* line 264, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #16a34a;
  color: #fff;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  box-shadow: 0 10px 18px rgba(17, 24, 39, 0.12);
}

/* line 276, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-body {
  padding: 14px 14px 16px;
}

/* line 280, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-name {
  font-weight: 800;
  font-size: 16px;
  color: #111827;
  margin: 0;
}

/* line 287, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-category {
  margin-top: 6px;
  font-size: 13px;
  color: #6b7280;
}

/* line 293, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-meta {
  margin-top: 10px;
  font-size: 13px;
  color: #6b7280;
}

/* line 299, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__featured-cta {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 700;
  color: #4f46e5;
}

/* SEARCH BAR BLOCK */
/* line 307, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__search {
  position: static;
  top: auto;
  z-index: 30;
  background: linear-gradient(180deg, #9B59B6 0%, #a78bfa 100%);
  border-top: none;
  border-bottom: none;
  padding: 18px 0 24px;
}

/* line 317, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-row {
  display: flex;
  gap: 12px;
  align-items: center;
}

/* line 323, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-input-wrap {
  position: relative;
  flex: 1;
}

/* line 328, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-input {
  width: 100%;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 12px;
  padding: 0 14px;
  font-size: 15px;
  outline: none;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* line 339, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

/* line 343, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-input:focus {
  border-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.15);
}

/* line 349, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-input:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}

/* CATEGORY BUTTONS */
/* line 355, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__categories {
  margin-top: 14px;
  /* was 18px */
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* line 362, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__categories--primary {
  margin-top: 14px;
}

/* line 366, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__cat {
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 14px;
  transition: background 150ms ease;
}

/* line 377, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__cat.is-active {
  background: #fff;
  color: #6B4FE0;
  border-color: #fff;
  font-weight: 700;
}

/* REFINEMENTS ROW: pills left + price right */
/* line 385, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__refine-row {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

/* PILLS */
/* line 395, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-filters {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* line 403, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-filters--compact {
  margin-top: 0;
  gap: 8px;
}

/* line 408, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-pill {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  user-select: none;
  font-size: 14px;
}

/* Gradient background section (starts under search bar, ends before CTA) */
/* line 423, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__main-bg {
  background: #F7F5FF;
  padding: 18px 0 0;
}

/* Make the "WHY" section transparent so the gradient shows */
/* line 429, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why {
  background: linear-gradient(180deg, #6B4FE0 0%, #9B59B6 100%);
  padding: 56px 0 64px;
  margin: 0;
}

/* Active pill when checkbox is checked (no JS needed) */
/* line 437, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-pill:has(input:checked) {
  background: #fff;
  border-color: #fff;
  color: #6B4FE0;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

/* make sure the text turns white too */
/* line 446, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-pill:has(input:checked) span {
  color: #6B4FE0;
}

/* line 451, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-pill input {
  display: none;
}

/* line 455, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-pill.is-on {
  background: #1f2937;
  /* dark gray */
  border-color: #1f2937;
  color: #ffffff;
  box-shadow: 0 10px 18px rgba(17, 24, 39, 0.14);
}

/* Optional: tiny "pressed" feel on click */
/* line 463, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-pill.is-on:active {
  transform: translateY(1px);
}

/* line 467, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__smart-pill--clear {
  background: #fee2e2;
  border-color: #fecaca;
  color: #991b1b;
}

/* PRICE CHIP (compact, aligned right) */
/* line 474, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 15px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  white-space: nowrap;
}

/* line 485, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-label {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}

/* line 492, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-fields {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* line 498, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-input {
  width: 72px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  padding: 0 10px;
  font-size: 13px;
  outline: none;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* line 509, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* line 513, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-input:focus {
  border-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.15);
}

/* line 520, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-input:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18);
}

/* line 525, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-sep {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 700;
}

/* line 530, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-suffix {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}

/* Remove number spinners */
/* line 536, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-input::-webkit-outer-spin-button,
.shops-index__price-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* line 541, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__price-input[type="number"] {
  -moz-appearance: textfield;
}

/* Mobile polish */
@media (max-width: 700px) {
  /* line 547, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__refine-row {
    align-items: stretch;
  }
  /* line 551, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__price-chip {
    width: 100%;
    justify-content: space-between;
  }
  /* line 556, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__price-input {
    width: 44%;
  }
}

/* FILTERS BUTTON (left in file for compatibility, not used if you removed it) */
/* line 562, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__filters-btn {
  height: 46px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  padding: 0 14px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  cursor: pointer;
  white-space: nowrap;
}

/* line 575, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__filters-btn.is-active {
  background: #4f46e5;
  color: #fff;
  border-color: #4f46e5;
}

/* line 581, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__filters-count {
  margin-left: 6px;
  background: #fff;
  color: #4f46e5;
  border-radius: 999px;
  font-size: 12px;
  padding: 2px 8px;
}

/* EXPANDED PANEL (legacy, safe to keep even if not used) */
/* line 591, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded {
  margin-top: 14px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 18px;
}

/* line 599, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

@media (max-width: 900px) {
  /* line 606, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__expanded-grid {
    grid-template-columns: 1fr;
  }
}

/* line 611, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-label {
  display: block;
  font-size: 13px;
  color: #374151;
  margin-bottom: 8px;
}

/* line 618, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-select,
.shops-index__expanded-input {
  width: 100%;
  height: 40px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
}

/* line 628, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-range {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 634, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-range-sep {
  color: #6b7280;
}

/* line 638, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-hint {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
  background: #fff;
  border: 1px dashed #e5e7eb;
  border-radius: 12px;
  padding: 12px;
}

/* line 648, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-actions {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

/* line 655, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-clear {
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  background: #fff;
  cursor: pointer;
}

/* line 664, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__expanded-apply {
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #4f46e5;
  background: #4f46e5;
  color: #fff;
  cursor: pointer;
}

/* RESULTS SECTION */
/* line 675, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__section {
  padding: 26px 0 10px;
}

/* line 679, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}

/* line 686, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__grid > * {
  height: 100%;
}

@media (max-width: 950px) {
  /* line 691, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__grid {
    grid-template-columns: 1fr;
  }
}

/* line 696, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__empty {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f9fafb;
  color: #6b7280;
}

/* line 705, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-head {
  text-align: center;
  margin-bottom: 18px;
}

/* line 710, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-title {
  font-size: 26px;
  font-weight: 800;
  margin: 0;
  color: #fff;
}

/* line 717, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-subtitle {
  margin-top: 8px;
  color: #fff;
}

/* line 722, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

@media (max-width: 950px) {
  /* line 730, app/assets/stylesheets/pages/_shops_index.scss */
  .shops-index__why-grid {
    grid-template-columns: 1fr;
  }
}

/* line 735, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-card {
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  padding: 18px;
}

/* line 742, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  color: #fff;
}

/* line 754, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-card-title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 800;
  color: #fff;
}

/* line 761, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-card-text {
  margin: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 14px;
  line-height: 1.4;
}

/* CTA */
/* line 769, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__cta {
  background: linear-gradient(180deg, #9B59B6 0%, #6B4FE0 100%);
  padding: 46px 0;
  color: #fff;
  margin: 0;
}

/* line 777, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__cta-inner {
  text-align: center;
  border-radius: 22px;
  padding: 22px 14px;
}

/* line 783, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__cta-title {
  margin: 0;
  font-size: 30px;
  font-weight: 800;
  color: #fff;
}

/* line 790, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__cta-subtitle {
  margin-top: 10px;
  padding-bottom: 10px;
  color: rgba(255, 255, 255, 0.85);
}

/* Force WHY section heading + subheading to white (must be last) */
/* line 797, app/assets/stylesheets/pages/_shops_index.scss */
.shops-index__why-head .shops-index__why-title,
.shops-index__why-head .shops-index__why-subtitle {
  color: #fff;
}

/* line 802, app/assets/stylesheets/pages/_shops_index.scss */
.index-btn-light {
  background: #fff;
  color: #6B4FE0;
  font-weight: 700;
  border: none;
  padding: 14px 32px;
  border-radius: 12px;
  font-size: 15px;
  cursor: pointer;
  transition: background 150ms ease, transform 150ms ease;
}

/* line 813, app/assets/stylesheets/pages/_shops_index.scss */
.index-btn-light:hover {
  background: #EDE9FF;
  transform: translateY(-1px);
}

/* line 1, app/assets/stylesheets/pages/_page_customization.scss */
[data-page-builder-target="previewRoot"] {
  background: var(--pb-bg, #fff);
}

/* line 5, app/assets/stylesheets/pages/_page_customization.scss */
[data-page-builder-target="previewRoot"] [data-pb-accent],
[data-page-builder-target="previewRoot"] [data-pb-accent-bg] {
  background: var(--pb-accent, #6366F1);
}

/* line 10, app/assets/stylesheets/pages/_page_customization.scss */
[data-page-builder-target="previewRoot"] [data-pb-accent] {
  color: var(--pb-accent, #6366F1);
  background: transparent;
}

/* line 15, app/assets/stylesheets/pages/_page_customization.scss */
[data-page-builder-target="previewRoot"] [data-pb-header-text] {
  color: var(--pb-header-text, #000);
}

/* icons */
/* line 1, app/assets/stylesheets/icons/_accordion.scss */
.accordion {
  border: 1px solid #e7e7e7;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

/* line 8, app/assets/stylesheets/icons/_accordion.scss */
.accordion__item {
  border-bottom: 1px solid #e7e7e7;
}

/* line 11, app/assets/stylesheets/icons/_accordion.scss */
.accordion__item:last-child {
  border-bottom: 0;
}

/* line 16, app/assets/stylesheets/icons/_accordion.scss */
.accordion__trigger {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}

/* line 32, app/assets/stylesheets/icons/_accordion.scss */
.accordion__trigger:hover {
  text-decoration: underline;
}

/* line 36, app/assets/stylesheets/icons/_accordion.scss */
.accordion__trigger:focus-visible {
  outline: 3px solid rgba(0, 0, 0, 0.15);
  outline-offset: 2px;
  border-radius: 10px;
}

/* line 43, app/assets/stylesheets/icons/_accordion.scss */
.accordion__title {
  line-height: 1.3;
}

/* line 47, app/assets/stylesheets/icons/_accordion.scss */
.accordion__icon {
  flex: 0 0 auto;
  transition: transform 200ms ease;
  transform: translateY(1px) rotate(0deg);
  opacity: 0.7;
}

/* line 54, app/assets/stylesheets/icons/_accordion.scss */
.accordion__trigger[aria-expanded="true"] .accordion__icon {
  transform: translateY(1px) rotate(180deg);
}

/* line 58, app/assets/stylesheets/icons/_accordion.scss */
.accordion__content {
  overflow: hidden;
  transition: height 200ms ease;
  font-size: 14px;
}

/* line 64, app/assets/stylesheets/icons/_accordion.scss */
.accordion__content-inner {
  padding: 0 16px 16px 16px;
  opacity: 0.95;
}

/* line 1, app/assets/stylesheets/icons/_badge.scss */
.ui-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  border: 1px solid transparent;
  white-space: nowrap;
}

/* line 17, app/assets/stylesheets/icons/_badge.scss */
.ui-badge--default {
  background: #111;
  color: #fff;
}

/* line 22, app/assets/stylesheets/icons/_badge.scss */
.ui-badge--secondary {
  background: #f3f4f6;
  color: #111;
  border-color: #e5e7eb;
}

/* line 28, app/assets/stylesheets/icons/_badge.scss */
.ui-badge--destructive {
  background: #dc2626;
  color: #fff;
}

/* line 33, app/assets/stylesheets/icons/_badge.scss */
.ui-badge--outline {
  background: transparent;
  color: #111;
  border-color: #e5e7eb;
}

/* line 1, app/assets/stylesheets/icons/_alert.scss */
.ui-alert {
  display: grid;
  grid-template-columns: 0 1fr;
  gap: 8px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  color: #111;
  font-size: 14px;
}

/* line 14, app/assets/stylesheets/icons/_alert.scss */
.ui-alert.ui-alert--has-icon {
  grid-template-columns: 20px 1fr;
}

/* line 19, app/assets/stylesheets/icons/_alert.scss */
.ui-alert__icon {
  grid-column: 1;
  align-self: start;
  opacity: 0.9;
}

/* line 25, app/assets/stylesheets/icons/_alert.scss */
.ui-alert__body {
  grid-column: 2;
}

/* line 29, app/assets/stylesheets/icons/_alert.scss */
.ui-alert__title {
  font-weight: 700;
  margin-bottom: 2px;
}

/* line 34, app/assets/stylesheets/icons/_alert.scss */
.ui-alert__message {
  opacity: 0.9;
  line-height: 1.35;
}

/* line 39, app/assets/stylesheets/icons/_alert.scss */
.ui-alert--destructive {
  border-color: rgba(220, 38, 38, 0.35);
}

/* line 43, app/assets/stylesheets/icons/_alert.scss */
.ui-alert--destructive .ui-alert__message {
  color: #b91c1c;
}

/* line 1, app/assets/stylesheets/icons/_avatar.scss */
.ui-avatar {
  width: var(--ui-avatar-size, 40px);
  height: var(--ui-avatar-size, 40px);
  border-radius: 999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
}

/* line 12, app/assets/stylesheets/icons/_avatar.scss */
.ui-avatar__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 19, app/assets/stylesheets/icons/_avatar.scss */
.ui-avatar__fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  color: #111;
  opacity: 0.85;
}

/* line 1, app/assets/stylesheets/icons/_aspect_ratio.scss */
.ui-aspect-ratio {
  position: relative;
  width: 100%;
  aspect-ratio: var(--ui-aspect-ratio, 16/9);
  overflow: hidden;
  border-radius: 12px;
}

/* line 9, app/assets/stylesheets/icons/_aspect_ratio.scss */
.ui-aspect-ratio__inner {
  position: absolute;
  inset: 0;
}

/* line 14, app/assets/stylesheets/icons/_aspect_ratio.scss */
.ui-aspect-ratio__inner > img,
.ui-aspect-ratio__inner > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 1, app/assets/stylesheets/icons/_alert_dialog.scss */
.modal-open {
  overflow: hidden;
}

/* line 4, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
}

/* line 15, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* line 21, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__panel {
  position: relative;
  z-index: 1;
  width: 92vw;
  max-width: 520px;
  border-radius: 16px;
  border: 1px solid #e7e7e7;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  padding: 18px;
}

/* line 35, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 6px;
}

/* line 41, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__message {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.7);
  line-height: 1.35;
}

/* line 47, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__footer {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

/* line 54, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__btn {
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 14px;
  border: 1px solid transparent;
  cursor: pointer;
}

/* line 63, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__btn--primary {
  background: #111;
  color: #fff;
}

/* line 68, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__btn--outline {
  background: #fff;
  color: #111;
  border-color: #e5e7eb;
}

/* line 74, app/assets/stylesheets/icons/_alert_dialog.scss */
.ui-alert-dialog__form {
  display: inline;
}

/* line 1, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

/* line 9, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 15, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox__box {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid #d1d5db;
  background: #fff;
  display: inline-block;
  position: relative;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

/* line 26, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox__input:focus-visible + .ui-checkbox__box {
  outline: 3px solid rgba(0, 0, 0, 0.12);
  outline-offset: 2px;
}

/* line 31, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox__input:checked + .ui-checkbox__box {
  background: #111;
  border-color: #111;
}

/* line 36, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox__input:checked + .ui-checkbox__box::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* line 48, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox__input:disabled + .ui-checkbox__box {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 53, app/assets/stylesheets/icons/_checkbox.scss */
.ui-checkbox__label {
  font-size: 14px;
  color: #111;
}

/* line 1, app/assets/stylesheets/icons/_collapsible.scss */
.ui-collapsible__trigger {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  font-weight: 600;
  text-align: left;
}

/* line 16, app/assets/stylesheets/icons/_collapsible.scss */
.ui-collapsible__chevron {
  transition: transform 200ms ease;
  opacity: 0.7;
}

/* line 21, app/assets/stylesheets/icons/_collapsible.scss */
.ui-collapsible__trigger[aria-expanded="true"] .ui-collapsible__chevron {
  transform: rotate(180deg);
}

/* line 25, app/assets/stylesheets/icons/_collapsible.scss */
.ui-collapsible__content {
  overflow: hidden;
  transition: height 200ms ease;
}

/* line 30, app/assets/stylesheets/icons/_collapsible.scss */
.ui-collapsible__inner {
  padding: 10px 14px 0 14px;
  color: #111;
  font-size: 14px;
}

/* app/assets/stylesheets/icons/_dialog.scss */
/* SassC-safe: no min() */
/* line 4, app/assets/stylesheets/icons/_dialog.scss */
.modal-open {
  overflow: hidden;
}

/* line 6, app/assets/stylesheets/icons/_dialog.scss */
.ui-dialog {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
}

/* line 15, app/assets/stylesheets/icons/_dialog.scss */
.ui-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* line 21, app/assets/stylesheets/icons/_dialog.scss */
.ui-dialog__panel {
  position: relative;
  z-index: 1;
  width: 92vw;
  max-width: 560px;
  max-height: 86vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e7e7e7;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  padding: 18px;
}

/* line 38, app/assets/stylesheets/icons/_dialog.scss */
.ui-dialog__close {
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 18px;
  opacity: 0.7;
}

/* line 48, app/assets/stylesheets/icons/_dialog.scss */
.ui-dialog__close:hover {
  opacity: 1;
}

/* line 51, app/assets/stylesheets/icons/_dialog.scss */
.ui-dialog__title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 10px;
}

/* line 57, app/assets/stylesheets/icons/_dialog.scss */
.ui-dialog__content {
  font-size: 14px;
}

/* line 1, app/assets/stylesheets/icons/_drawer.scss */
.modal-open {
  overflow: hidden;
}

/* line 3, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

/* line 9, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* line 15, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 86vw;
  max-width: 420px;
  background: #fff;
  border: 1px solid #e7e7e7;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  padding: 18px;
  overflow: auto;
  transition: transform 220ms ease;
}

/* line 29, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer[data-side="right"] .ui-drawer__panel {
  right: 0;
  transform: translateX(100%);
}

/* line 34, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer[data-side="left"] .ui-drawer__panel {
  left: 0;
  transform: translateX(-100%);
}

/* line 39, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer[data-open="true"][data-side="right"] .ui-drawer__panel {
  transform: translateX(0);
}

/* line 43, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer[data-open="true"][data-side="left"] .ui-drawer__panel {
  transform: translateX(0);
}

/* line 47, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer__close {
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 18px;
  opacity: 0.7;
}

/* line 57, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer__close:hover {
  opacity: 1;
}

/* line 60, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer__title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 10px;
}

/* line 66, app/assets/stylesheets/icons/_drawer.scss */
.ui-drawer__content {
  font-size: 14px;
}

/* app/assets/stylesheets/icons/_dropdown_menu.scss */
/* SassC-safe: no calc(100% + px) */
/* line 4, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd {
  position: relative;
  display: inline-block;
}

/* line 6, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}

/* line 20, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd__caret {
  opacity: 0.7;
}

/* line 22, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd__content {
  position: absolute;
  top: 100%;
  margin-top: 6px;
  min-width: 160px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.12);
  padding: 6px;
  z-index: 9999;
}

/* line 36, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd[data-ui-align="right"] .ui-dd__content {
  right: 0;
}

/* line 37, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd[data-ui-align="left"] .ui-dd__content {
  left: 0;
}

/* line 39, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd__item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  color: #111;
  font-size: 14px;
  text-align: left;
}

/* line 55, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd__item:hover,
.ui-dd__item:focus {
  background: #f3f4f6;
  outline: none;
}

/* line 61, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd__item--destructive {
  color: #b91c1c;
}

/* line 63, app/assets/stylesheets/icons/_dropdown_menu.scss */
.ui-dd__sep {
  border: 0;
  height: 1px;
  background: #e5e7eb;
  margin: 6px 4px;
}

/* app/assets/stylesheets/icons/_hover_card.scss */
/* SassC-safe: no calc(100% + px) */
/* line 4, app/assets/stylesheets/icons/_hover_card.scss */
.ui-hover {
  position: relative;
  display: inline-block;
}

/* line 6, app/assets/stylesheets/icons/_hover_card.scss */
.ui-hover__card {
  position: absolute;
  top: 100%;
  margin-top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: var(--ui-hover-width, 260px);
  max-width: 92vw;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.12);
  z-index: 9999;
  font-size: 14px;
}

/* line 1, app/assets/stylesheets/icons/_input.scss */
.ui-input {
  height: 36px;
  width: 100%;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  padding: 0 12px;
  background: #fff;
  font-size: 14px;
  outline: none;
}

/* line 12, app/assets/stylesheets/icons/_input.scss */
.ui-input:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

/* line 1, app/assets/stylesheets/icons/_label.scss */
.ui-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

/* line 1, app/assets/stylesheets/icons/_form.scss */
.ui-form-field {
  display: grid;
  gap: 8px;
}

/* line 3, app/assets/stylesheets/icons/_form.scss */
.ui-form-field__desc {
  margin: 0;
  font-size: 13px;
  color: #6b7280;
}

/* line 9, app/assets/stylesheets/icons/_form.scss */
.ui-form-field__error {
  margin: 0;
  font-size: 13px;
  color: #b91c1c;
}

/* line 15, app/assets/stylesheets/icons/_form.scss */
.ui-form-field[data-has-error="true"] .ui-input {
  border-color: #b91c1c;
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.1);
}

/* line 1, app/assets/stylesheets/icons/_input_otp.scss */
.ui-otp {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* line 7, app/assets/stylesheets/icons/_input_otp.scss */
.ui-otp__slot {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  text-align: center;
  font-size: 16px;
  outline: none;
}

/* line 17, app/assets/stylesheets/icons/_input_otp.scss */
.ui-otp__slot:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

/* line 1, app/assets/stylesheets/icons/_navigation_menu.scss */
.ui-navmenu {
  position: relative;
}

/* line 3, app/assets/stylesheets/icons/_navigation_menu.scss */
.ui-navmenu__list {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 12, app/assets/stylesheets/icons/_navigation_menu.scss */
.ui-navmenu__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
}

/* line 26, app/assets/stylesheets/icons/_navigation_menu.scss */
.ui-navmenu__trigger:hover {
  background: #f3f4f6;
}

/* line 30, app/assets/stylesheets/icons/_navigation_menu.scss */
.ui-navmenu__caret {
  opacity: 0.7;
}

/* line 32, app/assets/stylesheets/icons/_navigation_menu.scss */
.ui-navmenu__panel {
  min-width: 220px;
}

/* line 1, app/assets/stylesheets/icons/_menubar.scss */
.ui-menubar {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 4px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
}

/* line 12, app/assets/stylesheets/icons/_menubar.scss */
.ui-menubar__trigger {
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  border: 0;
  background: transparent;
}

/* line 20, app/assets/stylesheets/icons/_menubar.scss */
.ui-menubar__trigger:hover {
  background: #f3f4f6;
}

/* line 1, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* line 7, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 6px;
  align-items: center;
}

/* line 16, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  min-width: 36px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  text-decoration: none;
  color: #111;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
}

/* line 33, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__link:hover {
  background: #f3f4f6;
}

/* line 37, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__link--active {
  border-color: #e5e7eb;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

/* line 43, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__link--wide {
  gap: 8px;
  padding: 0 12px;
}

/* line 48, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__wide-text {
  display: none;
}

@media (min-width: 640px) {
  /* line 53, app/assets/stylesheets/icons/_pagination.scss */
  .ui-pagination__wide-text {
    display: inline;
  }
}

/* line 56, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__icon {
  font-size: 18px;
  opacity: 0.8;
}

/* line 61, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__link--disabled {
  opacity: 0.45;
  cursor: not-allowed;
  background: transparent;
}

/* line 67, app/assets/stylesheets/icons/_pagination.scss */
.ui-pagination__ellipsis {
  display: inline-flex;
  height: 36px;
  width: 36px;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
}

/* app/assets/stylesheets/icons/_popover.scss */
/* SassC-safe: no calc(vw - px), no mixed-unit math */
/* line 4, app/assets/stylesheets/icons/_popover.scss */
.ui-popover {
  position: relative;
  display: inline-block;
}

/* line 6, app/assets/stylesheets/icons/_popover.scss */
.ui-popover__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}

/* line 20, app/assets/stylesheets/icons/_popover.scss */
.ui-popover__content {
  position: absolute;
  top: 100%;
  margin-top: 8px;
  width: var(--ui-popover-width, 288px);
  /* replace calc(100vw - 32px) with a pure vw cap */
  max-width: 92vw;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  padding: 12px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.12);
  z-index: 9999;
}

/* line 38, app/assets/stylesheets/icons/_popover.scss */
.ui-popover[data-ui-align="center"] .ui-popover__content {
  left: 50%;
  transform: translateX(-50%);
}

/* line 39, app/assets/stylesheets/icons/_popover.scss */
.ui-popover[data-ui-align="left"] .ui-popover__content {
  left: 0;
}

/* line 40, app/assets/stylesheets/icons/_popover.scss */
.ui-popover[data-ui-align="right"] .ui-popover__content {
  right: 0;
}

/* line 1, app/assets/stylesheets/icons/_progress.scss */
.ui-progress__track {
  height: 8px;
  width: 100%;
  background: rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  overflow: hidden;
}

/* line 9, app/assets/stylesheets/icons/_progress.scss */
.ui-progress__bar {
  height: 100%;
  width: 100%;
  background: #111;
  transition: transform 200ms ease;
}

/* line 15, app/assets/stylesheets/icons/_progress.scss */
.ui-progress__label {
  margin-top: 8px;
  font-size: 13px;
  color: #6b7280;
}

/* line 1, app/assets/stylesheets/icons/_radio_group.scss */
.ui-radio-group {
  display: grid;
  gap: 12px;
}

/* line 3, app/assets/stylesheets/icons/_radio_group.scss */
.ui-radio {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

/* line 11, app/assets/stylesheets/icons/_radio_group.scss */
.ui-radio__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 13, app/assets/stylesheets/icons/_radio_group.scss */
.ui-radio__control {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  position: relative;
}

/* line 23, app/assets/stylesheets/icons/_radio_group.scss */
.ui-radio__input:focus + .ui-radio__control {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
  border-color: #111;
}

/* line 28, app/assets/stylesheets/icons/_radio_group.scss */
.ui-radio__input:checked + .ui-radio__control::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #111;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* line 40, app/assets/stylesheets/icons/_radio_group.scss */
.ui-radio__label {
  font-size: 14px;
  font-weight: 700;
}

/* line 1, app/assets/stylesheets/icons/_resizable.scss */
.ui-resizable {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 240px;
}

/* line 8, app/assets/stylesheets/icons/_resizable.scss */
.ui-resizable[data-ui-direction="vertical"] {
  flex-direction: column;
}

/* line 10, app/assets/stylesheets/icons/_resizable.scss */
.ui-resizable__panel {
  overflow: auto;
}

/* line 12, app/assets/stylesheets/icons/_resizable.scss */
.ui-resizable__handle {
  background: #e5e7eb;
  position: relative;
  flex: 0 0 1px;
}

/* line 18, app/assets/stylesheets/icons/_resizable.scss */
.ui-resizable[data-ui-direction="horizontal"] .ui-resizable__handle {
  width: 1px;
  cursor: col-resize;
}

/* line 23, app/assets/stylesheets/icons/_resizable.scss */
.ui-resizable[data-ui-direction="vertical"] .ui-resizable__handle {
  height: 1px;
  cursor: row-resize;
}

/* line 28, app/assets/stylesheets/icons/_resizable.scss */
.ui-resizable__handle::after {
  content: "";
  position: absolute;
  inset: -8px;
}

/* line 1, app/assets/stylesheets/icons/_scroll_area.scss */
.ui-scroll {
  overflow: auto;
  border-radius: 12px;
}

/* line 6, app/assets/stylesheets/icons/_scroll_area.scss */
.ui-scroll__viewport {
  min-height: 1px;
}

/* line 8, app/assets/stylesheets/icons/_scroll_area.scss */
.ui-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

/* line 9, app/assets/stylesheets/icons/_scroll_area.scss */
.ui-scroll::-webkit-scrollbar-thumb {
  background: #e5e7eb;
  border-radius: 999px;
}

/* line 13, app/assets/stylesheets/icons/_scroll_area.scss */
.ui-scroll::-webkit-scrollbar-track {
  background: transparent;
}

/* line 1, app/assets/stylesheets/icons/_select.scss */
.ui-select {
  position: relative;
  width: 100%;
}

/* line 3, app/assets/stylesheets/icons/_select.scss */
.ui-select__control {
  appearance: none;
  width: 100%;
  height: 36px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  padding: 0 34px 0 12px;
  font-size: 14px;
  font-weight: 600;
  outline: none;
}

/* line 16, app/assets/stylesheets/icons/_select.scss */
.ui-select__control:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

/* line 21, app/assets/stylesheets/icons/_select.scss */
.ui-select__chev {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.6;
  pointer-events: none;
}

/* line 1, app/assets/stylesheets/icons/_separator.scss */
.ui-separator {
  background: #e5e7eb;
  flex-shrink: 0;
}

/* line 6, app/assets/stylesheets/icons/_separator.scss */
.ui-separator[data-orientation="horizontal"] {
  height: 1px;
  width: 100%;
}

/* line 7, app/assets/stylesheets/icons/_separator.scss */
.ui-separator[data-orientation="vertical"] {
  width: 1px;
  height: 100%;
}

/* app/assets/stylesheets/icons/_sheet.scss */
/* SassC-safe: no min() */
/* line 4, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__trigger {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  font-weight: 700;
}

/* line 16, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__layer {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

/* line 22, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* line 28, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__panel {
  position: absolute;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 37, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet[data-ui-side="right"] .ui-sheet__panel {
  top: 0;
  right: 0;
  height: 100%;
  width: 85vw;
  max-width: 420px;
  border-left: 1px solid #e5e7eb;
}

/* line 44, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet[data-ui-side="left"] .ui-sheet__panel {
  top: 0;
  left: 0;
  height: 100%;
  width: 85vw;
  max-width: 420px;
  border-right: 1px solid #e5e7eb;
}

/* line 51, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet[data-ui-side="top"] .ui-sheet__panel {
  top: 0;
  left: 0;
  width: 100%;
  max-height: 80vh;
  border-bottom: 1px solid #e5e7eb;
}

/* line 57, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet[data-ui-side="bottom"] .ui-sheet__panel {
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 80vh;
  border-top: 1px solid #e5e7eb;
}

/* line 63, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

/* line 77, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__header {
  padding: 16px 16px 0;
}

/* line 78, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
}

/* line 79, app/assets/stylesheets/icons/_sheet.scss */
.ui-sheet__content {
  padding: 16px;
  overflow: auto;
}

/* line 1, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar-wrapper {
  --sidebar-width: 16rem;
  --sidebar-width-icon: 3rem;
  --sidebar-width-mobile: 18rem;
  display: flex;
  min-height: 100svh;
  width: 100%;
}

/* line 11, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar {
  position: relative;
  color: #111;
}

/* line 16, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar__gap {
  width: var(--sidebar-width);
  transition: width 200ms ease;
}

/* line 21, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-state="collapsed"][data-collapsible="offcanvas"] .ui-sidebar__gap {
  width: 0;
}

/* line 25, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-state="collapsed"][data-collapsible="icon"] .ui-sidebar__gap {
  width: var(--sidebar-width-icon);
}

/* line 29, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar__container {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 10;
  width: var(--sidebar-width);
  transition: left 200ms ease, right 200ms ease, width 200ms ease;
  display: none;
}

@media (min-width: 768px) {
  /* line 40, app/assets/stylesheets/icons/_sidebar.scss */
  .ui-sidebar__container {
    display: flex;
  }
}

/* line 43, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-side="left"] .ui-sidebar__container {
  left: 0;
  border-right: 1px solid #e5e7eb;
}

/* line 44, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-side="right"] .ui-sidebar__container {
  right: 0;
  border-left: 1px solid #e5e7eb;
}

/* line 46, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-state="collapsed"][data-collapsible="offcanvas"][data-side="left"] .ui-sidebar__container {
  left: calc(var(--sidebar-width) * -1);
}

/* line 49, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-state="collapsed"][data-collapsible="offcanvas"][data-side="right"] .ui-sidebar__container {
  right: calc(var(--sidebar-width) * -1);
}

/* line 53, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-state="collapsed"][data-collapsible="icon"] .ui-sidebar__container {
  width: var(--sidebar-width-icon);
}

/* line 57, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar__inner {
  background: #fff;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 65, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-variant="floating"] .ui-sidebar__container,
.ui-sidebar[data-variant="inset"] .ui-sidebar__container {
  padding: 8px;
  border: none;
}

/* line 71, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-variant="floating"] .ui-sidebar__inner {
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

/* line 77, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
}

/* line 89, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar-trigger:hover {
  background: #f3f4f6;
}

/* line 91, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar-inset {
  flex: 1;
  min-width: 0;
  background: #fff;
}

@media (min-width: 768px) {
  /* line 98, app/assets/stylesheets/icons/_sidebar.scss */
  .ui-sidebar[data-variant="inset"] + .ui-sidebar-inset {
    margin: 8px;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
  }
}

/* Mobile sheet */
/* line 106, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar__mobile-layer {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

/* line 112, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* line 118, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar__mobile-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--sidebar-width-mobile);
  max-width: 85vw;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
}

/* line 130, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-side="left"] .ui-sidebar__mobile-panel {
  left: 0;
}

/* line 131, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar[data-side="right"] .ui-sidebar__mobile-panel {
  right: 0;
}

/* line 133, app/assets/stylesheets/icons/_sidebar.scss */
.ui-sidebar__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

@keyframes ui-pulse {
  0% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.55;
  }
}

/* line 7, app/assets/stylesheets/icons/_skeleton.scss */
.ui-skeleton {
  background: #e5e7eb;
  border-radius: 10px;
  animation: ui-pulse 1.2s ease-in-out infinite;
}

/* line 1, app/assets/stylesheets/icons/_slider.scss */
.ui-slider {
  width: 100%;
}

/* line 3, app/assets/stylesheets/icons/_slider.scss */
.ui-slider__input {
  width: 100%;
  height: 36px;
  background: transparent;
  appearance: none;
}

/* line 10, app/assets/stylesheets/icons/_slider.scss */
.ui-slider__input::-webkit-slider-runnable-track {
  height: 10px;
  background: #e5e7eb;
  border-radius: 999px;
}

/* line 16, app/assets/stylesheets/icons/_slider.scss */
.ui-slider__input::-webkit-slider-thumb {
  appearance: none;
  width: 16px;
  height: 16px;
  margin-top: -3px;
  border-radius: 999px;
  background: #fff;
  border: 2px solid #111;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

/* line 27, app/assets/stylesheets/icons/_slider.scss */
.ui-slider__input:focus {
  outline: none;
}

/* line 28, app/assets/stylesheets/icons/_slider.scss */
.ui-slider__input:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.1);
}

/* line 1, app/assets/stylesheets/icons/_toaster.scss */
.ui-toaster {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
}

/* line 8, app/assets/stylesheets/icons/_toaster.scss */
.ui-toaster__stack {
  display: grid;
  gap: 10px;
  min-width: 260px;
  max-width: 360px;
}

/* line 15, app/assets/stylesheets/icons/_toaster.scss */
.ui-toast {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px 12px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.12);
  display: grid;
  gap: 4px;
}

/* line 25, app/assets/stylesheets/icons/_toaster.scss */
.ui-toast__title {
  font-weight: 800;
  font-size: 14px;
  margin: 0;
}

/* line 26, app/assets/stylesheets/icons/_toaster.scss */
.ui-toast__desc {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}

/* line 1, app/assets/stylesheets/icons/_switch.scss */
.ui-switch {
  display: inline-flex;
  align-items: center;
}

/* line 3, app/assets/stylesheets/icons/_switch.scss */
.ui-switch__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 5, app/assets/stylesheets/icons/_switch.scss */
.ui-switch__track {
  width: 32px;
  height: 18px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid transparent;
  position: relative;
  transition: background 160ms ease;
}

/* line 15, app/assets/stylesheets/icons/_switch.scss */
.ui-switch__thumb {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 1px;
  transform: translateY(-50%);
  transition: transform 160ms ease;
}

/* line 27, app/assets/stylesheets/icons/_switch.scss */
.ui-switch__input:checked + .ui-switch__track {
  background: #111;
}

/* line 31, app/assets/stylesheets/icons/_switch.scss */
.ui-switch__input:checked + .ui-switch__track .ui-switch__thumb {
  transform: translateY(-50%) translateX(14px);
}

/* line 35, app/assets/stylesheets/icons/_switch.scss */
.ui-switch__input:focus + .ui-switch__track {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
  border-color: #111;
}

/* line 1, app/assets/stylesheets/icons/_table.scss */
.ui-table__container {
  width: 100%;
  overflow-x: auto;
  position: relative;
}

/* line 3, app/assets/stylesheets/icons/_table.scss */
.ui-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

/* line 9, app/assets/stylesheets/icons/_table.scss */
.ui-table th,
.ui-table td {
  padding: 10px 8px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  white-space: nowrap;
}

/* line 17, app/assets/stylesheets/icons/_table.scss */
.ui-table tbody tr:hover {
  background: rgba(0, 0, 0, 0.03);
}

/* line 1, app/assets/stylesheets/icons/_tabs.scss */
.ui-tabs {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 3, app/assets/stylesheets/icons/_tabs.scss */
.ui-tabs__list {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f3f4f6;
  padding: 4px;
  border-radius: 14px;
  width: fit-content;
}

/* line 13, app/assets/stylesheets/icons/_tabs.scss */
.ui-tabs__trigger {
  border: 1px solid transparent;
  background: transparent;
  border-radius: 12px;
  height: 32px;
  padding: 0 10px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}

/* line 24, app/assets/stylesheets/icons/_tabs.scss */
.ui-tabs__trigger[data-active="true"] {
  background: #fff;
  border-color: #e5e7eb;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

/* line 1, app/assets/stylesheets/icons/_textarea.scss */
.ui-textarea {
  width: 100%;
  min-height: 64px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  padding: 10px 12px;
  font-size: 14px;
  outline: none;
  resize: none;
}

/* line 13, app/assets/stylesheets/icons/_textarea.scss */
.ui-textarea:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

/* line 1, app/assets/stylesheets/icons/_toggle.scss */
.ui-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  min-width: 36px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
}

/* line 17, app/assets/stylesheets/icons/_toggle.scss */
.ui-toggle:hover {
  background: #f3f4f6;
}

/* line 19, app/assets/stylesheets/icons/_toggle.scss */
.ui-toggle[data-state="on"] {
  background: #e5e7eb;
  color: #111;
}

/* app/assets/stylesheets/icons/_tooltip.scss */
/* SassC-safe: no calc(100% + px) */
/* line 4, app/assets/stylesheets/icons/_tooltip.scss */
.ui-tooltip {
  position: relative;
  display: inline-flex;
}

/* line 9, app/assets/stylesheets/icons/_tooltip.scss */
.ui-tooltip__content {
  position: absolute;
  left: 100%;
  margin-left: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: #111;
  color: #fff;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 10px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease, transform 120ms ease;
}

/* line 28, app/assets/stylesheets/icons/_tooltip.scss */
.ui-tooltip:hover .ui-tooltip__content,
.ui-tooltip:focus-within .ui-tooltip__content {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* line 1, app/assets/stylesheets/icons/_breadcrumb.scss */
.ui-breadcrumb {
  font-size: 14px;
  color: #6b7280;
}

/* line 6, app/assets/stylesheets/icons/_breadcrumb.scss */
.ui-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

/* line 13, app/assets/stylesheets/icons/_breadcrumb.scss */
.ui-breadcrumb__item {
  display: inline-flex;
}

/* line 17, app/assets/stylesheets/icons/_breadcrumb.scss */
.ui-breadcrumb__link {
  color: inherit;
  text-decoration: none;
}

/* line 21, app/assets/stylesheets/icons/_breadcrumb.scss */
.ui-breadcrumb__link:hover {
  color: #111;
  text-decoration: underline;
}

/* line 27, app/assets/stylesheets/icons/_breadcrumb.scss */
.ui-breadcrumb__page {
  color: #111;
  font-weight: 500;
}

/* line 32, app/assets/stylesheets/icons/_breadcrumb.scss */
.ui-breadcrumb__separator {
  opacity: 0.5;
}

/* line 1, app/assets/stylesheets/icons/_button.scss */
.ui-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
}

/* line 11, app/assets/stylesheets/icons/_button.scss */
.ui-button--md {
  height: 36px;
  padding: 0 14px;
  font-size: 14px;
}

/* line 17, app/assets/stylesheets/icons/_button.scss */
.ui-button--primary {
  background: #111;
  color: #fff;
}

/* line 21, app/assets/stylesheets/icons/_button.scss */
.ui-button--primary:hover {
  opacity: 0.9;
}

/* line 26, app/assets/stylesheets/icons/_button.scss */
.ui-button--outline {
  background: #fff;
  color: #111;
  border-color: #e5e7eb;
}

/* line 32, app/assets/stylesheets/icons/_button.scss */
.ui-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 1, app/assets/stylesheets/icons/_calendar.scss */
.ui-calendar {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
}

/* line 7, app/assets/stylesheets/icons/_calendar.scss */
.ui-calendar__header {
  font-weight: 600;
  margin-bottom: 8px;
}

/* line 12, app/assets/stylesheets/icons/_calendar.scss */
.ui-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}

/* line 18, app/assets/stylesheets/icons/_calendar.scss */
.ui-calendar__day {
  text-align: center;
  padding: 6px 0;
  border-radius: 6px;
  cursor: pointer;
}

/* line 24, app/assets/stylesheets/icons/_calendar.scss */
.ui-calendar__day:hover {
  background: #f3f4f6;
}

/* line 1, app/assets/stylesheets/icons/_card.scss */
.ui-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
}

/* line 7, app/assets/stylesheets/icons/_card.scss */
.ui-card__header {
  padding: 16px;
}

/* line 11, app/assets/stylesheets/icons/_card.scss */
.ui-card__title {
  font-size: 16px;
  font-weight: 700;
}

/* line 16, app/assets/stylesheets/icons/_card.scss */
.ui-card__description {
  font-size: 14px;
  color: #6b7280;
}

/* line 21, app/assets/stylesheets/icons/_card.scss */
.ui-card__content {
  padding: 16px;
}

/* line 1, app/assets/stylesheets/icons/_carousel.scss */
.ui-carousel {
  overflow-x: auto;
}

/* line 5, app/assets/stylesheets/icons/_carousel.scss */
.ui-carousel__track {
  display: flex;
  gap: 12px;
}

/* line 1, app/assets/stylesheets/icons/_chart.scss */
.ui-chart {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fafafa;
}

/* responsive last */
/* ===== Responsive ===== */
@media (max-width: 1024px) {
  /* line 4, app/assets/stylesheets/responsive/_responsive.scss */
  .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 5, app/assets/stylesheets/responsive/_responsive.scss */
  .brand {
    min-width: unset;
  }
}

@media (max-width: 820px) {
  /* line 9, app/assets/stylesheets/responsive/_responsive.scss */
  .grid-2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  /* line 13, app/assets/stylesheets/responsive/_responsive.scss */
  .nav-actions {
    gap: 8px;
  }
  /* line 14, app/assets/stylesheets/responsive/_responsive.scss */
  .nav-link {
    padding: 10px 10px;
  }
  /* line 15, app/assets/stylesheets/responsive/_responsive.scss */
  .grid-3 {
    grid-template-columns: 1fr;
  }
  /* line 16, app/assets/stylesheets/responsive/_responsive.scss */
  .hero-title {
    font-size: 38px;
  }
  /* line 17, app/assets/stylesheets/responsive/_responsive.scss */
  .section-head {
    flex-direction: column;
    align-items: flex-start;
  }
}
