.kb-adv-container { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; width: 100%; }

/* Weather Horizontal Scroll Track (Sleek Slim Slide) */
.kb-weather-deck {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 2px 2px 6px 2px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.kb-weather-deck::-webkit-scrollbar { display: none; }

.kb-weather-card {
  flex: 0 0 210px !important;
  scroll-snap-align: start !important;
  border-radius: 14px;
  padding: 8px 12px;
  color: #ffffff !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  box-sizing: border-box;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
.kb-weather-card.rain {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #0284c7 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.4);
}
.kb-weather-card.cloudy { background: linear-gradient(135deg, #334155 0%, #475569 100%) !important; }
.kb-weather-card.sunny { background: linear-gradient(135deg, #0284c7 0%, #0284c7 50%, #eab308 100%) !important; }

.kb-w-left { display: flex; flex-direction: column; gap: 2px; }
.kb-w-title {
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: #facc15 !important;
  letter-spacing: 0.3px;
}
.kb-w-cond { font-size: 0.78rem !important; font-weight: 700 !important; color: #ffffff !important; white-space: nowrap; }
.kb-w-temp { font-size: 1.35rem !important; font-weight: 900 !important; color: #ffffff !important; line-height: 1; padding-left: 6px; }

/* Location Bar */
.kb-loc-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 4px 10px;
  font-size: 0.74rem;
  color: #475569;
}
.kb-city-input {
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  border-radius: 8px;
  padding: 3px 8px;
  font-size: 0.76rem;
  font-weight: 700;
  color: #0284c7;
  outline: none;
  width: 140px;
  text-align: center;
}

/* Horizontal Showcase Carousel */
.kb-carousel-wrapper {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 2px 2px 8px 2px;
}
.kb-carousel-wrapper::-webkit-scrollbar { height: 4px; }
.kb-carousel-wrapper::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }

/* Advisory Card */
.advisory-card-item {
  flex: 0 0 295px;
  scroll-snap-align: start;
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 16px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}
@media (min-width: 768px) { .advisory-card-item { flex: 1 1 0; } }

.kb-badge {
  font-size: 0.65rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 9999px;
  text-transform: uppercase;
}
.kb-badge.opportunity { background: #dcfce7; color: #15803d; border: 1px solid #86efac; }
.kb-badge.warning, .kb-badge.alert { background: #fee2e2; color: #b91c1c; border: 1px solid #fca5a5; }
.kb-badge.info { background: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; }

.kb-date-stack { display: flex; flex-direction: column; align-items: center; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 2px 6px; }
.kb-date-day { font-size: 0.88rem; font-weight: 800; color: #0f172a; line-height: 1; }
.kb-date-month { font-size: 0.6rem; font-weight: 700; color: #64748b; }

.kb-card-title { font-size: 0.95rem; font-weight: 800; color: #0f172a; margin: 6px 0 3px 0; line-height: 1.25; }
.kb-card-body { font-size: 0.8rem; color: #334155; line-height: 1.35; margin-bottom: 8px; }

.kb-offer-box {
  background: #fffbeb;
  border: 1px solid #fef3c7;
  border-radius: 8px;
  padding: 6px 8px;
  font-size: 0.76rem;
  color: #92400e;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.kb-glowing-bulb { font-size: 1rem; }


.adv-card-actions {
  display: flex !important;
  gap: 10px !important;
  padding-top: 8px !important;
  border-top: 1px solid #f1f5f9 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.adv-action-pill,
a.adv-action-pill,
button.adv-action-pill {
  flex: 1 1 50% !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 4px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.adv-action-pill::before,
.adv-action-pill::after {
  display: none !important;
  content: none !important;
}

.adv-action-pill.accept {
  background: #0284c7 !important;
  box-shadow: 0 3px 8px rgba(2, 132, 199, 0.3) !important;
}

.adv-action-pill.dismiss {
  background: #dc2626 !important;
  box-shadow: 0 3px 8px rgba(220, 38, 38, 0.3) !important;
}

.kb-weather-card{position:relative;overflow:hidden;min-height:78px;color:#fff !important}
.kb-weather-card::before{content:"";position:absolute;inset:0}
.kb-weather-card.sunny::before{background:radial-gradient(circle at 86% 18%, #fff4c4 0 16px, transparent 18px),linear-gradient(165deg,#3aa0ff 0%,#79c0ff 52%,#f2c14d 100%)}
.kb-weather-card.hot::before{background:radial-gradient(circle at 84% 16%, #fff 0 10px, #ffd27a 18px, transparent 20px),linear-gradient(165deg,#fb923c,#ea580c 70%)}
.kb-weather-card.cloudy::before{background:radial-gradient(circle at 20% 40%, rgba(255,255,255,.55) 0 18px, transparent 19px),radial-gradient(circle at 40% 30%, rgba(255,255,255,.4) 0 22px, transparent 23px),linear-gradient(180deg,#64748b,#94a3b8)}
.kb-weather-card.fog::before{background:linear-gradient(180deg,#cbd5e1,#94a3b8)}
.kb-weather-card.rain::before{background:linear-gradient(180deg,#16324f,#0b1e33)}
.kb-weather-card.rain::after{content:"";position:absolute;inset:-20% 0;background:repeating-linear-gradient(105deg,transparent 0 10px,rgba(255,255,255,.22) 11px 12px);animation:kbRain .7s linear infinite}
.kb-weather-card.storm::before{background:linear-gradient(180deg,#1e1b4b,#312e81 60%,#0f172a)}
.kb-weather-card.cold::before{background:linear-gradient(180deg,#e0f2fe,#7dd3fc)}
.kb-w-left,.kb-w-temp{position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.kb-w-left{background:rgba(15,23,42,.34);border-radius:10px;padding:4px 8px}
.kb-weather-card .kb-w-title{color:#fff !important}
@keyframes kbRain{to{transform:translateY(12px)}}

.kb-adv-container .kb-sky{position:relative;overflow:hidden;flex:0 0 78%;scroll-snap-align:start;min-height:118px;border-radius:18px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;padding:12px;box-sizing:border-box}
.kb-adv-container .kb-sky.sunny{background:linear-gradient(180deg,#7ec8ff 0%,#b7e3ff 55%,#ffe7a3 100%) !important}
.kb-adv-container .kb-sky.hot{background:linear-gradient(180deg,#ffb703 0%,#fb8500 70%) !important}
.kb-adv-container .kb-sky.cloudy{background:linear-gradient(180deg,#8fb4d4 0%,#d5e4ef 100%) !important}
.kb-adv-container .kb-sky.fog{background:linear-gradient(180deg,#c5d0da,#eef2f5) !important}
.kb-adv-container .kb-sky.rain{background:linear-gradient(180deg,#4b6178 0%,#243447 100%) !important}
.kb-adv-container .kb-sky.storm{background:linear-gradient(180deg,#1b2433 0%,#3a3f55 40%,#1b2433 100%) !important}
.kb-adv-container .kb-sky.night{background:radial-gradient(circle at 80% 30%,#1e3a5f, #070b16 70%) !important}
.kb-adv-container .kb-sky.cold{background:linear-gradient(180deg,#e0f2fe,#93c5fd) !important}
.kb-adv-container .sc{position:absolute;inset:0;pointer-events:none}
.kb-adv-container .sun{position:absolute;right:16px;top:14px;width:36px;height:36px;border-radius:50%;background:#ffe566;box-shadow:0 0 0 8px rgba(255,229,102,.35),0 0 24px #ffd34d;animation:kbSun 3.2s ease-in-out infinite}
.kb-adv-container .cl{position:absolute;top:16px;left:14px;width:54px;height:18px;background:#fff;border-radius:20px;opacity:.9;animation:kbDrift 7s ease-in-out infinite}
.kb-adv-container .cl:before,.kb-adv-container .cl:after{content:"";position:absolute;background:#fff;border-radius:50%}
.kb-adv-container .cl:before{width:22px;height:22px;top:-12px;left:8px}
.kb-adv-container .cl:after{width:28px;height:28px;top:-16px;left:24px}
.kb-adv-container .cl.b{left:auto;right:18px;top:28px;animation-delay:-2s;opacity:.75}
.kb-adv-container .rd{position:absolute;top:-10px;width:2px;height:12px;background:rgba(255,255,255,.75);border-radius:2px;animation:kbDrop 1s linear infinite}
.kb-adv-container .bolt{position:absolute;right:22px;top:10px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:22px solid #fff4b0;filter:drop-shadow(0 0 8px #fff);animation:kbBolt 2.4s steps(1) infinite}
.kb-adv-container .moon{position:absolute;right:18px;top:14px;width:28px;height:28px;border-radius:50%;box-shadow:8px -6px 0 0 #f8f3d4;transform:rotate(-20deg)}
.kb-adv-container .st{position:absolute;width:3px;height:3px;background:#fff;border-radius:50%;left:18px;top:18px;animation:kbTw 1.8s ease-in-out infinite}
.kb-adv-container .s2{left:40px;top:36px;animation-delay:.4s}
.kb-adv-container .s3{left:70px;top:16px;animation-delay:.8s}
.kb-adv-container .s4{left:54px;top:52px}
.kb-adv-container .s5{left:28px;top:58px;animation-delay:.2s}
.kb-adv-container .mist{position:absolute;left:-10%;right:-10%;bottom:18px;height:16px;background:rgba(255,255,255,.55);filter:blur(2px);animation:kbDrift 8s linear infinite}
.kb-adv-container .m2{bottom:36px;opacity:.4}
.kb-adv-container .kb-sky .kb-w-left,.kb-adv-container .kb-sky .kb-w-temp{position:relative;z-index:1}
.kb-adv-container .kb-sky .kb-w-left{background:rgba(7,11,22,.38);border-radius:12px;padding:6px 8px;max-width:70%}
.kb-adv-container .kb-sky.lite .kb-w-left{background:rgba(255,255,255,.72)}
.kb-adv-container .kb-sky .kb-w-title,.kb-adv-container .kb-sky .kb-w-cond,.kb-adv-container .kb-sky .kb-w-temp{color:#fff !important;text-shadow:none}
.kb-adv-container .kb-sky.lite .kb-w-title,.kb-adv-container .kb-sky.lite .kb-w-cond,.kb-adv-container .kb-sky.lite .kb-w-temp{color:#0f172a !important}
@keyframes kbDrop{to{transform:translateY(140px)}}
@keyframes kbBolt{0%,72%,100%{opacity:0}74%,78%{opacity:1}76%{opacity:.2}}
@keyframes kbDrift{50%{transform:translateX(10px)}}
@keyframes kbSun{50%{transform:scale(1.06)}}
@keyframes kbTw{50%{opacity:.25}}

.kb-adv-container .kb-sky{min-height:64px !important;height:64px !important;flex:0 0 210px !important;align-items:center !important;padding:8px 10px !important;border-radius:14px !important}
.kb-adv-container .cl,.kb-adv-container .sun,.kb-adv-container .moon,.kb-adv-container .st,.kb-adv-container .bolt,.kb-adv-container .mist{display:none !important}
.kb-adv-container .rd{height:8px !important;opacity:.35 !important}
.kb-adv-container .kb-sky.storm{background:linear-gradient(180deg,#5c6b7a,#2c3a48) !important}
.kb-adv-container .kb-sky .kb-w-cond{white-space:nowrap}
