/* ═══════════════════════════════════════════
   DrinkLab Cocktail Builder v1.4 CSS
   ═══════════════════════════════════════════ */

.dlb-wrap {
  --dlb-blue:     #1E73BE;
  --dlb-teal:     #1EBEB9;
  --dlb-bg:       #000000;
  --dlb-card:     #141414;
  --dlb-border:   rgba(255,255,255,0.08);
  --dlb-border-b: rgba(30,115,190,0.35);
  --dlb-grey:     #8a9ab0;
  --dlb-grey-d:   #3a4558;
  --dlb-white:    #ffffff;
  --dlb-radius:   14px;
  background:  var(--dlb-bg);
  color:       var(--dlb-white);
  font-family: 'DM Sans','Helvetica Neue',Arial,sans-serif;
  width:       100%;
  overflow-x:  hidden;
  position:    relative;
}

.dlb-wrap *,.dlb-wrap *::before,.dlb-wrap *::after { box-sizing:border-box; margin:0; padding:0; }
.dlb-wrap button { cursor:pointer; font-family:inherit; }
.dlb-wrap a      { text-decoration:none; color:inherit; }

/* ── HEADER ── fix 8: reduced top padding so less gap below nav */
.dlb-header {
  text-align:  center;
  padding:     10px 20px 24px;
  position:    relative;
  overflow:    hidden;
}

.dlb-header::before {
  content:'';position:absolute;top:-60px;left:50%;
  transform:translateX(-50%);width:600px;height:280px;
  background:radial-gradient(ellipse,rgba(30,115,190,0.15) 0%,transparent 70%);
  pointer-events:none;
}

.dlb-eyebrow {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(30,115,190,0.12);border:1px solid rgba(30,115,190,0.3);
  color:var(--dlb-teal);font-size:11px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:14px;
}

.dlb-title {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(28px,5vw,52px);font-weight:600;
  line-height:1.1;letter-spacing:-0.5px;margin-bottom:10px;position:relative;z-index:1;
}

.dlb-subtitle {
  font-size:14px;color:var(--dlb-grey);font-weight:300;
  line-height:1.65;max-width:440px;margin:0 auto;position:relative;z-index:1;
}

/* ── BODY ── */
.dlb-body {
  display:flex;flex-direction:column;gap:0;
  padding:0 16px 64px;max-width:1140px;margin:0 auto;
}

/* ── PANEL (mobile drawer) ── */
.dlb-panel {
  background:var(--dlb-card);border:1px solid var(--dlb-border);
  border-radius:var(--dlb-radius);overflow:hidden;
  display:flex;flex-direction:column;
  position:fixed;bottom:0;left:0;right:0;z-index:1000;
  max-height:75vh;transform:translateY(100%);
  transition:transform 0.35s cubic-bezier(0.32,0.72,0,1);
  border-radius:20px 20px 0 0;
}

.dlb-panel.open { transform:translateY(0); }

/* fix 3: drag handle — shows pointer, acts as close button */
.dlb-panel-head {
  padding:12px 20px 12px;border-bottom:1px solid var(--dlb-border);
  position:relative;flex-shrink:0;cursor:pointer;user-select:none;
}

.dlb-panel-head::before {
  content:'';display:block;width:40px;height:4px;
  background:rgba(255,255,255,0.25);border-radius:2px;
  margin:0 auto 10px;transition:background 0.2s;
}

.dlb-panel-head:hover::before { background:rgba(255,255,255,0.45); }

.dlb-panel-title {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:20px;font-weight:600;margin-bottom:2px;
}

.dlb-panel-sub { font-size:12px;color:var(--dlb-grey); }

/* Ingredient search */
.dlb-ing-search { margin:10px 20px 6px;position:relative;flex-shrink:0; }

.dlb-ing-search input {
  width:100%;padding:9px 14px 9px 32px;
  background:rgba(255,255,255,0.04);border:1px solid var(--dlb-border);
  border-radius:8px;color:var(--dlb-white);font-family:inherit;
  font-size:13px;outline:none;transition:border-color 0.2s;-webkit-appearance:none;
}

.dlb-ing-search input:focus       { border-color:var(--dlb-blue); }
.dlb-ing-search input::placeholder { color:var(--dlb-grey-d); }

/* Dropdown */
.dlb-dropdown {
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:#1a1a1a;border:1px solid var(--dlb-border-b);
  border-radius:10px;overflow:hidden;z-index:500;
  box-shadow:0 8px 24px rgba(0,0,0,0.5);
}

.dlb-dd-item {
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:9px 14px;background:none;border:none;
  border-bottom:1px solid rgba(255,255,255,0.05);
  color:var(--dlb-grey);font-family:inherit;font-size:13px;
  cursor:pointer;transition:background 0.15s,color 0.15s;text-align:left;gap:8px;
}

.dlb-dd-item:last-child   { border-bottom:none; }
.dlb-dd-item:hover,
.dlb-dd-item.active       { background:rgba(30,115,190,0.15);color:white; }
.dlb-dd-name              { flex:1; }
.dlb-dd-name mark         { background:rgba(30,115,190,0.35);color:white;border-radius:2px;padding:0 1px; }
.dlb-dd-right             { display:flex;align-items:center;gap:6px;flex-shrink:0; }
.dlb-dd-count             { font-size:10px;color:var(--dlb-grey-d); }
.dlb-dd-tick              { color:var(--dlb-teal);font-size:12px;font-weight:700; }

.dlb-search-icon {
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  font-size:12px;opacity:0.35;pointer-events:none;
}

/* Ingredient list */
.dlb-ing-list {
  flex:1;overflow-y:auto;padding-bottom:8px;
  -webkit-overflow-scrolling:touch;
}

.dlb-ing-list::-webkit-scrollbar       { width:3px; }
.dlb-ing-list::-webkit-scrollbar-track { background:transparent; }
.dlb-ing-list::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.1);border-radius:2px; }

.dlb-ing-group-label {
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--dlb-grey);padding:12px 20px 5px;
  display:flex;align-items:center;gap:10px;
}

.dlb-ing-group-label::after { content:'';flex:1;height:1px;background:var(--dlb-border); }

.dlb-ing-chips { display:flex;flex-wrap:wrap;gap:6px;padding:2px 20px 6px; }

/* fix 7: smaller chips */
.dlb-chip {
  padding:3px 11px;
  border-radius:100px;
  border:1px solid rgba(255,255,255,0.1);
  font-size:12px;            /* was 13px */
  font-weight:400;
  color:var(--dlb-grey);
  background:transparent;
  transition:all 0.16s;
  user-select:none;white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  min-height:32px;           /* was 38px */
}

.dlb-chip:hover { border-color:var(--dlb-blue);color:var(--dlb-white);background:rgba(30,115,190,0.1); }
.dlb-chip.on    { background:var(--dlb-blue);border-color:var(--dlb-blue);color:var(--dlb-white);font-weight:500; }

/* Panel footer */
.dlb-panel-foot {
  padding:10px 20px;border-top:1px solid var(--dlb-border);
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;
}

.dlb-sel-count          { font-size:13px;color:var(--dlb-grey); }
.dlb-sel-count strong   { color:var(--dlb-teal);font-weight:600; }

.dlb-clear-btn {
  font-size:12px;font-weight:500;color:var(--dlb-grey);
  background:none;border:1px solid var(--dlb-border);
  padding:5px 13px;border-radius:6px;transition:all 0.18s;min-height:32px;
}

.dlb-clear-btn:hover { border-color:rgba(255,255,255,0.2);color:var(--dlb-white); }

/* ── MOBILE FAB ── */
.dlb-mobile-toggle {
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:999;
  background:var(--dlb-blue);color:var(--dlb-white);border:none;
  padding:13px 26px;border-radius:100px;font-size:14px;font-weight:600;
  font-family:inherit;box-shadow:0 8px 24px rgba(30,115,190,0.4);
  white-space:nowrap;transition:all 0.2s;display:flex;align-items:center;gap:8px;
}

.dlb-mobile-toggle:active { transform:translateX(-50%) scale(0.97); }

.dlb-mob-count {
  background:rgba(255,255,255,0.2);border-radius:100px;
  padding:2px 8px;font-size:12px;font-weight:700;
}

.dlb-mob-count:empty { display:none; }

/* ── BACKDROP ── */
.dlb-backdrop {
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.6);z-index:999;backdrop-filter:blur(4px);
}

.dlb-backdrop.show { display:block; }

/* ── RESULTS ── */
.dlb-results { flex:1;min-height:400px;padding-bottom:80px; }

.dlb-toolbar {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;flex-wrap:wrap;gap:10px;
}

.dlb-results-heading {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:24px;font-weight:600;line-height:1;
}

.dlb-results-heading span { color:var(--dlb-blue); }

.dlb-match-toggle {
  display:flex;background:var(--dlb-card);
  border:1px solid var(--dlb-border);border-radius:8px;overflow:hidden;
}

.dlb-match-btn {
  padding:7px 14px;font-size:12px;font-weight:500;font-family:inherit;
  color:var(--dlb-grey);background:none;border:none;
  transition:all 0.18s;white-space:nowrap;min-height:34px;
}

.dlb-match-btn.active { background:var(--dlb-blue);color:var(--dlb-white); }

/* ── PROMPT ── */
.dlb-prompt {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:320px;text-align:center;
  border:1px dashed rgba(255,255,255,0.07);border-radius:var(--dlb-radius);
  padding:40px 24px;margin-bottom:80px;
}

.dlb-prompt-icon  { font-size:52px;margin-bottom:16px;opacity:0.4; }

.dlb-prompt-title {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:26px;font-weight:600;color:rgba(255,255,255,0.5);margin-bottom:8px;
}

.dlb-prompt-sub { font-size:14px;color:var(--dlb-grey);font-weight:300;max-width:280px;line-height:1.6; }

/* ── GRID ── */
.dlb-grid { display:grid;grid-template-columns:1fr;gap:12px; }

/* ── PAGINATION / LOAD MORE ── */
.dlb-pagination {
  display:flex;justify-content:center;padding:20px 0 16px;
}

.dlb-load-more {
  background:transparent;border:1px solid var(--dlb-border-b);
  color:var(--dlb-blue);padding:10px 24px;border-radius:8px;
  font-size:13px;font-weight:600;font-family:inherit;
  transition:all 0.18s;
}

.dlb-load-more:hover { background:rgba(30,115,190,0.12);border-color:var(--dlb-blue); }

/* ── RECIPE CARD ── */
.dlb-rcard {
  background:var(--dlb-card);border:1px solid var(--dlb-border);
  border-radius:var(--dlb-radius);overflow:hidden;
  display:flex;flex-direction:row;
  text-decoration:none;color:var(--dlb-white);
  transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;
  -webkit-tap-highlight-color:transparent;
}

.dlb-rcard:active { transform:scale(0.98); }

/* Image area */
.dlb-rcard-img {
  width:90px;min-height:110px;
  display:flex;align-items:center;justify-content:center;
  font-size:36px;flex-shrink:0;position:relative;overflow:hidden;
}

.dlb-rcard-img img {
  width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
}

.dlb-rcard-img .dlb-emoji { position:relative;z-index:1; }

/* fix 5: badge is now INSIDE .dlb-rcard-body — never clips against image */
.dlb-match-badge {
  display:inline-block;
  align-self:flex-start;
  font-size:9px;font-weight:700;letter-spacing:0.5px;
  padding:2px 8px;border-radius:4px;
  text-transform:uppercase;white-space:nowrap;
  margin-bottom:3px;
}

.dlb-badge-perfect { background:var(--dlb-teal);color:#000; }
.dlb-badge-close   { background:var(--dlb-blue);color:#fff; }
.dlb-badge-partial { background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.7); }

/* Card body */
.dlb-rcard-body {
  padding:10px 12px 10px;flex:1;
  display:flex;flex-direction:column;gap:4px;min-width:0;
}

.dlb-rcard-name {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:17px;font-weight:600;line-height:1.2;color:var(--dlb-white);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.dlb-rcard-tags { display:flex;flex-wrap:wrap;gap:4px; }

.dlb-itag {
  display:inline-block;font-size:10px;font-weight:500;
  padding:2px 6px;border-radius:4px;font-family:inherit;
}

.dlb-itag.have { background:rgba(30,115,190,0.2);color:#7ab8e8;border:1px solid rgba(30,115,190,0.3); }
.dlb-itag.need { background:rgba(255,255,255,0.04);color:var(--dlb-grey);border:1px solid rgba(255,255,255,0.08); }

.dlb-rcard-foot {
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--dlb-border);padding-top:7px;margin-top:auto;
}

.dlb-type-pill {
  font-size:9px;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;padding:3px 7px;border-radius:4px;font-family:inherit;
}

.dlb-pill-cocktail { background:rgba(30,115,190,0.18);color:#7ab8e8; }
.dlb-pill-shot     { background:rgba(30,35,190,0.22); color:#9a9ff8; }
.dlb-pill-punch    { background:rgba(30,190,185,0.12);color:var(--dlb-teal); }

.dlb-view-link {
  font-size:11px;font-weight:500;color:var(--dlb-blue);
  display:flex;align-items:center;gap:3px;transition:color 0.18s;
}

/* ── NO RESULTS ── */
.dlb-no-results { grid-column:1/-1;text-align:center;padding:48px 24px;border:1px dashed rgba(255,255,255,0.07);border-radius:var(--dlb-radius); }
.dlb-no-results-icon  { font-size:36px;margin-bottom:10px;opacity:0.35; }
.dlb-no-results-text  { font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:600;color:rgba(255,255,255,0.45);margin-bottom:5px; }
.dlb-no-results-sub   { font-size:13px;color:var(--dlb-grey);font-weight:300; }

/* ── LOADING / SPINNER ── */
.dlb-loading {
  display:flex;align-items:center;justify-content:center;
  gap:10px;padding:32px;color:var(--dlb-grey);font-size:14px;
}

.dlb-spinner {
  width:20px;height:20px;
  border:2px solid rgba(255,255,255,0.1);
  border-top:2px solid var(--dlb-blue);
  border-radius:50%;animation:dlb-spin 0.8s linear infinite;
}

@keyframes dlb-spin { to { transform:rotate(360deg); } }

/* ════════ TABLET 640px+ ════════ */
@media (min-width: 640px) {
  .dlb-header { padding:10px 32px 24px; }
  .dlb-body   { padding:0 24px 64px; }
  .dlb-grid   { grid-template-columns:repeat(2,1fr); }
}

/* ════════ DESKTOP 900px+ ════════ */
@media (min-width: 900px) {
  .dlb-body {
    flex-direction:row;align-items:start;
    gap:24px;padding:0 32px 72px;
  }

  .dlb-panel {
    position:sticky !important;top:24px;
    transform:none !important;max-height:none;
    border-radius:var(--dlb-radius);
    width:300px;flex-shrink:0;z-index:1;
  }

  .dlb-panel-head { cursor:default; } /* not clickable on desktop */
  .dlb-panel-head::before { display:none; }

  .dlb-ing-list    { max-height:540px; }
  .dlb-results     { padding-bottom:0; }
  .dlb-mobile-toggle { display:none !important; }
  .dlb-backdrop      { display:none !important; }
  .dlb-prompt        { margin-bottom:0; }
}

/* ════════ WIDE 1100px+ ════════ */
@media (min-width: 1100px) {
  .dlb-panel { width:320px; }

  .dlb-grid { grid-template-columns:repeat(2,1fr); }

  .dlb-rcard:hover {
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(30,115,190,0.2);
    border-color:var(--dlb-border-b);
  }
}

.dlb-ing-empty {
  padding: 20px;
  color: var(--dlb-grey);
  font-size: 13px;
  line-height: 1.6;
}
.dlb-ing-empty strong { color: var(--dlb-white); }

/* ── Missing Just One section ── */
.dlb-section-divider {
  grid-column: 1 / -1;
  margin: 8px 0 4px;
  padding: 14px 16px 10px;
  background: rgba(255,180,0,0.06);
  border: 1px solid rgba(255,180,0,0.15);
  border-radius: var(--dlb-radius);
  display: flex;
  align-items: center;
  gap: 10px;
}
.dlb-section-divider-icon { font-size: 18px; }
.dlb-section-divider-text { flex: 1; }
.dlb-section-divider-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 16px;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  line-height: 1.2;
}
.dlb-section-divider-sub {
  font-size: 11px;
  color: var(--dlb-grey);
  margin-top: 2px;
}
.dlb-itag.missing {
  background: rgba(255,180,0,0.15);
  color: #fbbf24;
  border: 1px solid rgba(255,180,0,0.35);
  font-weight: 600;
}
.dlb-badge-missing {
  background: rgba(255,180,0,0.2);
  color: #fbbf24;
  border: 1px solid rgba(255,180,0,0.3);
}


/* ═══════════════════════════════════════════════════════════════════
   THEME RESET PROTECTION — v2
   Flatsome and similar themes reset ALL button/input/a properties.
   Every visual property is locked here under .dlb-wrap specificity.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Chips (pill buttons) ── */
.dlb-wrap .dlb-chip {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  padding: 3px 11px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #8a9ab0 !important;
  background: transparent !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  min-height: 32px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  white-space: nowrap !important;
}
.dlb-wrap .dlb-chip:hover {
  border-color: #1E73BE !important;
  color: #ffffff !important;
  background: rgba(30,115,190,0.1) !important;
}
.dlb-wrap .dlb-chip.on {
  background: #1E73BE !important;
  border-color: #1E73BE !important;
  color: #ffffff !important;
  font-weight: 500 !important;
}

/* ── Chip rows ── */
.dlb-wrap .dlb-ing-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 2px 20px 6px !important;
  list-style: none !important;
  margin: 0 !important;
}

/* ── Panel card ── */
.dlb-wrap .dlb-panel {
  display: flex !important;
  flex-direction: column !important;
  background: #141414 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  overflow: hidden !important;
  float: none !important;
}

/* ── Search input ── */
.dlb-wrap .dlb-ing-search input {
  display: block !important;
  width: 100% !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  padding: 9px 14px 9px 32px !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  font-family: inherit !important;
  line-height: normal !important;
}
.dlb-wrap .dlb-ing-search input::placeholder { color: #3a4558 !important; }
.dlb-wrap .dlb-ing-search input:focus {
  border-color: #1E73BE !important;
  background: rgba(255,255,255,0.04) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ── Panel footer ── */
.dlb-wrap .dlb-panel-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-shrink: 0 !important;
  padding: 10px 20px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  background: #141414 !important;
}

/* ── Clear all button ── */
.dlb-wrap .dlb-clear-btn {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  background: none !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 6px !important;
  color: #8a9ab0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 5px 13px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  min-height: 32px !important;
  line-height: normal !important;
}
.dlb-wrap .dlb-clear-btn:hover {
  border-color: rgba(255,255,255,0.2) !important;
  color: #ffffff !important;
  background: none !important;
}

/* ── Match mode toggle buttons ── */
.dlb-wrap .dlb-match-btn {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 6px !important;
  color: #8a9ab0 !important;
  font-size: 12px !important;
  padding: 5px 12px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  line-height: normal !important;
}
.dlb-wrap .dlb-match-btn.active {
  background: #1E73BE !important;
  border-color: #1E73BE !important;
  color: #ffffff !important;
}

/* ── Mobile FAB ── */
.dlb-wrap .dlb-mobile-toggle {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  position: fixed !important;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 999 !important;
  background: #1E73BE !important;
  color: #ffffff !important;
  border: none !important;
  padding: 13px 26px !important;
  border-radius: 100px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  box-shadow: 0 8px 24px rgba(30,115,190,0.4) !important;
  white-space: nowrap !important;
  gap: 8px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  cursor: pointer !important;
  line-height: normal !important;
}
.dlb-wrap .dlb-mob-count {
  display: inline-block !important;
  background: rgba(255,255,255,0.2) !important;
  border-radius: 100px !important;
  padding: 2px 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.dlb-wrap .dlb-mob-count:empty { display: none !important; }

/* ── Load more button ── */
.dlb-wrap .dlb-load-more {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  color: #8a9ab0 !important;
  font-size: 13px !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  line-height: normal !important;
}

/* ── Body layout ── */
.dlb-wrap .dlb-body {
  display: flex !important;
  flex-direction: column !important;
}
.dlb-wrap .dlb-results {
  display: flex !important;
  flex-direction: column !important;
}
.dlb-wrap .dlb-grid {
  display: grid !important;
}
.dlb-wrap .dlb-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.dlb-wrap .dlb-ing-list {
  flex: 1 !important;
  overflow-y: auto !important;
}

/* ── Recipe cards ── */
.dlb-wrap .dlb-rcard {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
}
.dlb-wrap .dlb-rcard-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.dlb-wrap .dlb-itag {
  display: inline-block !important;
  width: auto !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: normal !important;
}
.dlb-wrap .dlb-itag.have {
  background: rgba(30,115,190,0.2) !important;
  color: #7ab8e8 !important;
  border: 1px solid rgba(30,115,190,0.3) !important;
}
.dlb-wrap .dlb-itag.need {
  background: rgba(255,255,255,0.04) !important;
  color: #8a9ab0 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}
.dlb-wrap .dlb-itag.missing {
  background: rgba(255,180,0,0.15) !important;
  color: #fbbf24 !important;
  border: 1px solid rgba(255,180,0,0.35) !important;
  font-weight: 600 !important;
}

/* ── Desktop two-column layout ── */
@media (min-width: 900px) {
  .dlb-wrap .dlb-body {
    flex-direction: row !important;
    align-items: flex-start !important;
  }
  .dlb-wrap .dlb-panel {
    position: sticky !important;
    top: 20px !important;
    transform: none !important;
    max-height: calc(100vh - 40px) !important;
    border-radius: 14px !important;
    width: 300px !important;
    flex-shrink: 0 !important;
  }
  .dlb-wrap .dlb-mobile-toggle { display: none !important; }
  .dlb-wrap .dlb-backdrop { display: none !important; }
}
