/* ============================================================
   Forge Industrial Launchpad — launchpad.css v2.1.0
   ============================================================ */

:root {
  --flp-accent:       #c8102e;
  --flp-accent-dark:  #a50d25;
  --flp-navy:         #0d1b2e;
  --flp-bg:           #f4f6f9;
  --flp-surface:      #ffffff;
  --flp-surface-2:    #f9fafb;
  --flp-border:       #e5e7eb;
  --flp-text:         #111827;
  --flp-text-muted:   #6b7280;
  --flp-shadow:       0 2px 12px rgba(0,0,0,.08);
  --flp-shadow-hover: 0 8px 28px rgba(0,0,0,.15);
  --flp-radius:       12px;
  --flp-tile-size:    140px;
  --flp-transition:   .2s ease;
}

[data-flp-dark="true"] {
  --flp-bg:           #0f172a;
  --flp-surface:      #1e293b;
  --flp-surface-2:    #273349;
  --flp-border:       #334155;
  --flp-text:         #f1f5f9;
  --flp-text-muted:   #94a3b8;
  --flp-shadow:       0 2px 12px rgba(0,0,0,.4);
  --flp-shadow-hover: 0 8px 28px rgba(0,0,0,.5);
}

/* box-sizing on *, but font-family ONLY on the container — NOT on *.
   Using *{font-family} has specificity 1-0-1 (ID+universal) which beats
   Font Awesome's .fa-solid{font-family} at 0-1-0, breaking all icons. */
#forge-launchpad * { box-sizing:border-box; }
#forge-launchpad { box-sizing:border-box; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background:var(--flp-bg); min-height:100vh; padding:0 0 80px; }

/* ── Header ── */
.flp-header { background:var(--flp-navy); color:#fff; padding:16px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; position:sticky; top:0; z-index:100; box-shadow:0 2px 16px rgba(0,0,0,.3); }
.flp-header-left { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.flp-logo { height:40px; width:auto; object-fit:contain; }
.flp-brand-text { font-size:18px; font-weight:700; }
.flp-welcome { font-size:15px; color:rgba(255,255,255,.85); }
.flp-welcome strong { color:#fff; }
.flp-header-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

/* ── Buttons ── */
.flp-btn-action { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:7px; border:none; font-size:13px; font-weight:600; cursor:pointer; transition:all var(--flp-transition); text-decoration:none; white-space:nowrap; }
.flp-btn-action.primary   { background:var(--flp-accent); color:#fff; }
.flp-btn-action.primary:hover { background:var(--flp-accent-dark); transform:translateY(-1px); }
.flp-btn-action.secondary { background:rgba(255,255,255,.15); color:#fff; }
.flp-btn-action.secondary:hover { background:rgba(255,255,255,.25); }
.flp-btn-action.success   { background:#16a34a; color:#fff; }
.flp-btn-action.success:hover { background:#15803d; }
.flp-btn-action.theme-toggle { background:rgba(255,255,255,.12); color:#fff; padding:8px 10px; }
.flp-btn-action.theme-toggle:hover { background:rgba(255,255,255,.22); }

/* ── Save status ── */
.flp-save-status { font-size:12px; font-weight:600; padding:5px 10px; border-radius:20px; transition:opacity .3s; }
.flp-save-status.saving { background:rgba(255,255,255,.15); color:#fff; }
.flp-save-status.saved  { background:rgba(22,163,74,.25);  color:#86efac; }
.flp-save-status.error  { background:rgba(200,16,46,.25);  color:#fca5a5; }
.flp-save-status.fade-out { opacity:0; }

/* ── Edit banner ── */
.flp-edit-banner { background:linear-gradient(90deg,#1d4ed8,#2563eb); color:#fff; padding:12px 28px; font-size:13px; display:none; align-items:center; gap:10px; flex-wrap:wrap; }
.flp-edit-banner.active { display:flex; }

/* ══════════════════════════════════════════════════════════════
   SEARCH BAR
══════════════════════════════════════════════════════════════ */
.flp-search-wrap {
  padding: 24px 28px 0;
  position: relative;
}

/* Animated gradient border via pseudo-element to avoid theme interference */
.flp-search-container {
  position: relative;
  border-radius: 14px;
}
/* The glow ring */
.flp-search-container::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--flp-accent), #f59e0b, #3b82f6, var(--flp-accent));
  background-size: 300% 300%;
  animation: flpSearchRingPulse 3s ease 0.8s 3 forwards;
  z-index: 0;
  opacity: 0.7;
  transition: opacity .3s;
}
.flp-search-container.focused::before {
  animation: flpSearchRingActive 2s ease infinite;
  opacity: 1;
}
@keyframes flpSearchRingPulse {
  0%,100% { background-position:0% 50%; opacity:.5; }
  50%      { background-position:100% 50%; opacity:1; }
}
@keyframes flpSearchRingActive {
  0%,100% { background-position:0% 50%; }
  50%      { background-position:100% 50%; }
}

.flp-search-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--flp-surface);
  border-radius: 13px;
  padding: 8px 14px 8px 18px;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
.flp-search-container.focused .flp-search-inner {
  box-shadow: 0 4px 24px rgba(200,16,46,.15);
}

.flp-search-icon {
  color: var(--flp-accent);
  font-size: 17px;
  flex-shrink: 0;
  transition: transform .2s;
}
.flp-search-container.focused .flp-search-icon { transform: scale(1.1); }

.flp-search {
  flex: 1;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-size: 15px;
  font-weight: 500;
  padding: 12px 0;
  background: transparent !important;
  color: var(--flp-text);
  min-width: 0;
}
.flp-search::placeholder { color: var(--flp-text-muted); font-weight: 400; font-style: italic; }

/* Relevanssi badge — inline, subtle */
.flp-relevanssi-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, rgba(200,16,46,.12), rgba(245,158,11,.12));
  color: var(--flp-accent);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .8px;
  padding: 4px 10px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
  border: 1px solid rgba(200,16,46,.2);
}
.flp-relevanssi-badge i { font-size: 9px; }

.flp-search-clear {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
  color: var(--flp-text-muted);
  padding: 6px;
  border-radius: 6px;
  flex-shrink: 0;
  transition: all var(--flp-transition);
  line-height: 1;
}
.flp-search-clear:hover { color: var(--flp-accent); background: var(--flp-surface-2) !important; }

/* ── Search Results Dropdown ── */
/* Belt-and-suspenders hidden state — overrides any theme interference */
#flp-search-results {
  display: none !important;
  visibility: hidden !important;
}
#flp-search-results.flp-open {
  display: block !important;
  visibility: visible !important;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: var(--flp-surface);
  border: 1.5px solid var(--flp-border);
  border-radius: 14px;
  box-shadow: 0 12px 48px rgba(0,0,0,.18);
  z-index: 9000;
  overflow: hidden;
  max-height: 460px;
  overflow-y: auto;
}

.flp-sr-group-header {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--flp-text-muted);
  padding: 12px 16px 6px;
}
.flp-sr-engine-tag {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  color: var(--flp-accent);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(200,16,46,.08);
  padding: 2px 8px;
  border-radius: 10px;
}

.flp-sr-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background var(--flp-transition);
  text-decoration: none !important;
  color: var(--flp-text) !important;
}
.flp-sr-item:hover, .flp-sr-item.flp-selected {
  background: var(--flp-surface-2);
  text-decoration: none !important;
}

.flp-sr-icon {
  width: 34px; height: 34px; border-radius: 9px;
  background: rgba(200,16,46,.1); color: var(--flp-accent);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; flex-shrink: 0;
}
.flp-sr-icon.art { background: rgba(59,130,246,.1); color: #3b82f6; }

.flp-sr-item-body { min-width: 0; flex: 1; }
.flp-sr-item-title { font-size: 14px; font-weight: 600; color: var(--flp-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.flp-sr-item-meta  { font-size: 12px; color: var(--flp-text-muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.flp-sr-badge { font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 4px; background: var(--flp-surface-2); color: var(--flp-text-muted); border: 1px solid var(--flp-border); white-space: nowrap; align-self: center; flex-shrink: 0; }

.flp-sr-divider { height: 1px; background: var(--flp-border); margin: 4px 16px; }
.flp-sr-loading { padding: 12px 16px; font-size: 13px; color: var(--flp-text-muted); display: flex; align-items: center; gap: 8px; }
.flp-sr-empty { padding: 20px 16px; text-align: center; color: var(--flp-text-muted); font-size: 14px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.flp-sr-empty i { font-size: 26px; opacity: .4; }

/* ── Sections ── */
.flp-section { padding: 24px 28px 0; }
.flp-section-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:var(--flp-text-muted); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.flp-section-count { background:var(--flp-border); color:var(--flp-text-muted); font-size:10px; padding:2px 7px; border-radius:20px; font-weight:700; }

/* ── Main Grid ── */
.flp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(var(--flp-tile-size),1fr)); gap:12px; }

/* ── Tile ── */
.flp-tile { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:20px 12px; background:var(--flp-surface); border:1.5px solid var(--flp-border); border-radius:var(--flp-radius); text-decoration:none; color:var(--flp-text); font-size:12px; font-weight:600; text-align:center; transition:all var(--flp-transition); cursor:pointer; user-select:none; line-height:1.3; box-shadow:var(--flp-shadow); min-height:110px; }
.flp-tile:hover { transform:translateY(-3px); box-shadow:var(--flp-shadow-hover); border-color:var(--flp-accent); color:var(--flp-text); }
.flp-tile.custom-tile { border-color:#3b82f6; }
.flp-tile.custom-tile::after { content:'custom'; position:absolute; top:6px; right:6px; background:#3b82f6; color:#fff; font-size:8px; font-weight:700; padding:1px 5px; border-radius:4px; text-transform:uppercase; }
.flp-tile.hidden { display:none !important; }
.flp-tile .tile-icon { font-size:26px; color:var(--flp-accent); transition:transform var(--flp-transition); }
.flp-tile:hover .tile-icon { transform:scale(1.12); }

/* drag handle */
.flp-tile .drag-handle { position:absolute; top:8px; left:8px; font-size:11px; color:var(--flp-border); opacity:0; cursor:grab; transition:opacity var(--flp-transition); }
.flp-grid.edit-mode .drag-handle { opacity:1; }
.flp-grid.edit-mode .flp-tile { cursor:grab; animation:flpWiggle 0.5s ease infinite alternate; }
.flp-grid.edit-mode .flp-tile:active { cursor:grabbing; animation:none; }
@keyframes flpWiggle { from{transform:rotate(-.6deg)} to{transform:rotate(.6deg)} }

/* delete button */
.tile-delete { position:absolute; top:-7px; right:-7px; width:22px; height:22px; border-radius:50%; background:var(--flp-accent); color:#fff; border:2px solid var(--flp-surface); font-size:10px; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; transition:all var(--flp-transition); z-index:10; padding:0; line-height:1; }
.flp-grid.edit-mode .tile-delete { opacity:1; }
.tile-delete:hover { background:var(--flp-accent-dark); transform:scale(1.15); }

/* Folder hover states during drag */
.flp-tile.flp-folder-hover {
  border-color: #f59e0b !important;
  animation: flpFolderHoverPulse .5s ease infinite alternate !important;
  transform: scale(1.04) !important;
}
.flp-tile.flp-folder-activated {
  border-color: #f59e0b !important;
  background: rgba(245,158,11,.12) !important;
  animation: none !important;
  transform: scale(1.06) !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,.4), var(--flp-shadow-hover) !important;
}
.flp-tile.flp-folder-activated::before {
  content: '\f07b  Drop to create folder';
  font-family: "Font Awesome 6 Free", -apple-system, sans-serif;
  font-weight: 900;
  position: absolute;
  inset: 0;
  background: rgba(245,158,11,.9);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(var(--flp-radius) - 2px);
  z-index: 5;
  text-align: center;
  padding: 8px;
  pointer-events: none;
}
@keyframes flpFolderHoverPulse {
  from { box-shadow: 0 0 0 2px rgba(245,158,11,.3), var(--flp-shadow); }
  to   { box-shadow: 0 0 0 4px rgba(245,158,11,.5), var(--flp-shadow-hover); }
}

/* sortable */
.sortable-ghost  { opacity:.3; background:#e0f2fe !important; border:2px dashed #3b82f6 !important; animation:none !important; }
.sortable-chosen { box-shadow:0 10px 30px rgba(0,0,0,.2) !important; animation:none !important; }

/* ══════════════════════════════════════════════════════════════
   FOLDERS
══════════════════════════════════════════════════════════════ */
.flp-folder {
  grid-column: 1 / -1;
  background: var(--flp-surface);
  border: 1.5px solid var(--flp-border);
  border-radius: var(--flp-radius);
  box-shadow: var(--flp-shadow);
  overflow: hidden;
  transition: border-color var(--flp-transition);
}
.flp-folder:hover { border-color: #93c5fd; }

.flp-folder-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  cursor: pointer;
  background: var(--flp-surface-2);
  border-bottom: 1px solid var(--flp-border);
  user-select: none;
  transition: background var(--flp-transition);
}
.flp-folder-header:hover { background: var(--flp-border); }
.flp-folder.collapsed .flp-folder-header { border-bottom: none; }
.flp-folder.collapsed .flp-folder-content { display: none; }

.flp-folder-icon { font-size: 18px; color: #f59e0b; flex-shrink: 0; }
.flp-folder-name {
  font-size: 15px; font-weight: 700; color: var(--flp-text);
  flex: 1; min-width: 0;
}
.flp-folder-count {
  background: var(--flp-border); color: var(--flp-text-muted);
  font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 12px;
}
.flp-folder-chevron {
  color: var(--flp-text-muted); font-size: 13px;
  transition: transform .25s ease;
}
.flp-folder.collapsed .flp-folder-chevron { transform: rotate(-90deg); }

/* Folder edit controls (only visible in edit mode) */
.flp-folder-edit-controls {
  display: none;
  align-items: center;
  gap: 6px;
}
.flp-grid.edit-mode .flp-folder-edit-controls { display: flex; }
.flp-folder-edit-btn {
  padding: 4px 9px; border-radius: 5px; border: 1px solid var(--flp-border);
  background: var(--flp-surface); color: var(--flp-text-muted);
  font-size: 11px; font-weight: 600; cursor: pointer;
  transition: all var(--flp-transition); display: flex; align-items: center; gap: 4px;
}
.flp-folder-edit-btn:hover { background: var(--flp-accent); color: #fff; border-color: var(--flp-accent); }
.flp-folder-edit-btn.danger:hover { background: #dc2626; border-color: #dc2626; color: #fff; }

.flp-folder-content { padding: 16px 18px; }
.flp-folder-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--flp-tile-size), 1fr));
  gap: 10px;
  min-height: 40px;
}
/* Show empty state for empty folders */
.flp-folder-grid:empty::after {
  content: 'Drag tiles here in edit mode';
  color: var(--flp-text-muted); font-size: 13px;
  grid-column: 1/-1; padding: 20px; text-align: center;
}

/* Tile inside folder — remove-from-folder button replaces delete */
.flp-folder-grid .flp-tile .tile-delete {
  background: #f59e0b;
  border-color: var(--flp-surface);
}
.flp-folder-grid .flp-tile .tile-delete:hover { background: #d97706; }
.flp-folder-grid .flp-tile .tile-delete::after {
  content: none; /* override title tooltip */
}

/* ── Sortable ghost inside folder ── */
.flp-folder-grid .sortable-ghost { opacity:.3; background:#fffbeb !important; border:2px dashed #f59e0b !important; }

/* ── State section ── */
.flp-state-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:640px){ .flp-state-row{grid-template-columns:1fr;} }
.flp-state-col { background:var(--flp-surface); border:1.5px solid var(--flp-border); border-radius:var(--flp-radius); padding:20px; box-shadow:var(--flp-shadow); }
.flp-state-heading { font-size:13px; font-weight:700; color:var(--flp-text-muted); margin:0 0 14px; text-transform:uppercase; letter-spacing:.8px; display:flex; align-items:center; gap:7px; }
.flp-state-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; }

/* loading */
.flp-loading { grid-column:1/-1; padding:40px; text-align:center; color:var(--flp-text-muted); font-size:14px; }

/* ── Ticker ── */
.flp-ticker-wrap { position:fixed; bottom:0; left:0; right:0; height:42px; background:var(--flp-navy); color:rgba(255,255,255,.9); display:flex; align-items:center; z-index:1000; overflow:hidden; box-shadow:0 -2px 10px rgba(0,0,0,.3); }
.flp-ticker-label { background:var(--flp-accent); padding:0 16px; height:100%; display:flex; align-items:center; gap:7px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; white-space:nowrap; flex-shrink:0; }
.flp-ticker-body { flex:1; overflow:hidden; height:100%; display:flex; align-items:center; }
.flp-ticker-track { display:flex; align-items:center; height:100%; animation:flpTickerScroll 60s linear infinite; will-change:transform; }
.flp-ticker-track:hover { animation-play-state:paused; }
@keyframes flpTickerScroll { from{transform:translateX(100vw)} to{transform:translateX(-100%)} }
.flp-ticker-item { display:flex; align-items:center; gap:10px; padding:0 40px 0 10px; font-size:13px; white-space:nowrap; }
.ticker-dot { width:6px; height:6px; border-radius:50%; background:var(--flp-accent); flex-shrink:0; }
.ticker-tag { background:rgba(255,255,255,.12); padding:2px 8px; border-radius:4px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; }

/* ── Modal ── */
.flp-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(4px); z-index:9999; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .2s; }
.flp-modal-overlay.open { opacity:1; pointer-events:all; }
.flp-modal { background:var(--flp-surface); border-radius:16px; width:100%; max-width:460px; max-height:90vh; overflow-y:auto; box-shadow:0 24px 60px rgba(0,0,0,.3); transform:translateY(10px) scale(.98); transition:transform .2s; }
.flp-modal-overlay.open .flp-modal { transform:none; }
.flp-modal-header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--flp-border); }
.flp-modal-header h2 { margin:0; font-size:17px; font-weight:700; color:var(--flp-text); display:flex; align-items:center; gap:10px; }
.flp-modal-close { background:none; border:none; font-size:18px; cursor:pointer; color:var(--flp-text-muted); padding:4px 8px; border-radius:6px; transition:all var(--flp-transition); }
.flp-modal-close:hover { color:var(--flp-text); background:var(--flp-border); }
.flp-modal-body    { padding:20px 24px; }
.flp-modal-footer  { padding:16px 24px; border-top:1px solid var(--flp-border); display:flex; justify-content:flex-end; gap:10px; }

/* form */
.flp-form-group { margin-bottom:18px; }
.flp-form-group:last-child { margin-bottom:0; }
.flp-form-group label { display:block; font-size:13px; font-weight:600; color:var(--flp-text); margin-bottom:7px; }
.flp-form-group input[type=text],
.flp-form-group input[type=url],
.flp-form-group select { width:100%; padding:10px 12px; border:2px solid var(--flp-border); border-radius:8px; font-size:14px; background:var(--flp-surface-2); color:var(--flp-text); outline:none; transition:all var(--flp-transition); }
.flp-form-group input:focus,
.flp-form-group select:focus { border-color:var(--flp-accent); box-shadow:0 0 0 3px rgba(200,16,46,.1); }

/* folder checklist */
.flp-folder-checklist { max-height:220px; overflow-y:auto; border:2px solid var(--flp-border); border-radius:8px; background:var(--flp-surface-2); }
.flp-fcl-item { display:flex; align-items:center; gap:10px; padding:9px 14px; cursor:pointer; border-bottom:1px solid var(--flp-border); transition:background var(--flp-transition); }
.flp-fcl-item:last-child { border-bottom:none; }
.flp-fcl-item:hover { background:var(--flp-border); }
.flp-fcl-item.checked { background:rgba(200,16,46,.06); }
.flp-fcl-item input[type=checkbox] { width:16px; height:16px; accent-color:var(--flp-accent); flex-shrink:0; cursor:pointer; }
.flp-fcl-item i { font-size:14px; color:var(--flp-accent); width:18px; text-align:center; flex-shrink:0; }
.flp-fcl-item span { font-size:13px; font-weight:600; color:var(--flp-text); }

/* icon picker */
.flp-icon-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:6px; max-height:160px; overflow-y:auto; padding:4px; border:1px solid var(--flp-border); border-radius:8px; background:var(--flp-surface-2); }
.flp-icon-opt { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:7px; cursor:pointer; font-size:15px; color:var(--flp-text-muted); transition:all var(--flp-transition); border:2px solid transparent; }
.flp-icon-opt:hover { background:var(--flp-border); color:var(--flp-text); }
.flp-icon-opt.selected { background:var(--flp-accent); color:#fff; border-color:var(--flp-accent-dark); }

/* modal buttons */
.flp-btn-cancel { padding:9px 18px; border-radius:7px; border:2px solid var(--flp-border); background:none; font-size:14px; font-weight:600; cursor:pointer; color:var(--flp-text); transition:all var(--flp-transition); }
.flp-btn-cancel:hover { background:var(--flp-border); }
.flp-btn-submit { padding:9px 22px; border-radius:7px; border:none; background:var(--flp-accent); color:#fff; font-size:14px; font-weight:700; cursor:pointer; transition:all var(--flp-transition); display:inline-flex; align-items:center; gap:7px; }
.flp-btn-submit:hover { background:var(--flp-accent-dark); transform:translateY(-1px); }

/* ── Responsive ── */
@media(max-width:768px) {
  .flp-header { padding:12px 16px; }
  .flp-section { padding:18px 16px 0; }
  .flp-search-wrap { padding:18px 16px 0; }
  :root { --flp-tile-size:110px; }
  .flp-icon-grid { grid-template-columns:repeat(6,1fr); }
  .flp-search-shortcut { display:none; }
}
@media(max-width:480px) {
  .flp-header-left .flp-welcome { display:none; }
  :root { --flp-tile-size:100px; }
}

/* ── Elementor compatibility ── */
.elementor-section-wrap > .elementor-section:first-child { margin-top:0 !important; }
.e-page-content { padding:0 !important; }
