.hero-smart-search {
  position: relative;
  max-width: 680px;
  margin-top: 28px;
}
.smart-search-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}
.smart-search-control input,
.professional-filters input,
.professional-filters select {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  color: #f8fafc;
  background: rgba(15,23,42,.9);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  outline: none;
  font: inherit;
}
.smart-search-control input:focus,
.professional-filters input:focus,
.professional-filters select:focus {
  border-color: #8b5cf6;
  box-shadow: 0 0 0 4px rgba(124,58,237,.14);
}
.smart-search-control .btn { min-width: 104px; }
.smart-search-field { position: relative; }
.smart-search-field > label,
.professional-filters label {
  display: grid;
  gap: 8px;
  color: #cbd5e1;
  font-size: .84rem;
  font-weight: 800;
}
.search-suggestions {
  position: absolute;
  z-index: 80;
  top: calc(100% + 9px);
  right: 0;
  left: 0;
  overflow: hidden;
  max-height: 440px;
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 17px;
  background: #0d1526;
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
}
.suggestion-item {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.suggestion-item:last-child { border-bottom: 0; }
.suggestion-item:hover,
.suggestion-item:focus { background: rgba(124,58,237,.13); }
.suggestion-item img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  border-radius: 11px;
  background: #fff;
}
.suggestion-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suggestion-item small { color: #94a3b8; }
.suggestion-item b { color: #fbbf24; white-space: nowrap; }
.popular-searches,
.recent-searches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}
.popular-searches a,
.recent-searches a {
  padding: 6px 11px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  color: #cbd5e1;
  background: rgba(255,255,255,.04);
  font-size: .78rem;
  font-weight: 700;
}
.professional-page-hero { padding-bottom: 36px; }
.professional-results-section { padding-top: 34px; }
.professional-search-panel {
  position: relative;
  z-index: 4;
  margin-bottom: 28px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.professional-filters {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.filter-actions { display: flex; gap: 10px; margin-top: 16px; }
.results-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 20px;
  color: #cbd5e1;
}
.results-toolbar strong { color: #fff; font-size: 1.2rem; }
.favorites-filter {
  padding: 9px 13px;
  color: #e2e8f0;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.favorites-filter[aria-pressed="true"] { color: #fff; border-color: #ec4899; background: rgba(236,72,153,.14); }
.deal-card { position: relative; }
.favorite-button {
  position: absolute;
  z-index: 3;
  top: 12px;
  left: 12px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 13px;
  color: #fff;
  background: rgba(7,11,20,.68);
  backdrop-filter: blur(10px);
  cursor: pointer;
  font-size: 1.35rem;
  line-height: 1;
}
.favorite-button[aria-pressed="true"] { color: #f9a8d4; border-color: #ec4899; background: rgba(131,24,67,.78); }
.deal-actions-inline {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 12px;
}
.deal-actions-inline .favorite-button {
  position: static;
  width: 54px;
  height: 54px;
}
.share-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
button.social-card {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.native-share { --social: #a78bfa; }
.professional-empty {
  padding: 58px 22px;
  text-align: center;
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(255,255,255,.025);
}
.professional-empty > span { display: block; color: #a78bfa; font-size: 3rem; }
.professional-empty h2 { margin: 10px 0 8px; }
.professional-empty p { max-width: 580px; margin: 0 auto 20px; color: #94a3b8; }
.pagination { display: flex !important; justify-content: center; gap: 8px; margin: 34px 0 0 !important; }
.pagination a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  color: #cbd5e1;
  background: rgba(255,255,255,.03);
}
.pagination a.active { color: #fff; border-color: #7c3aed; background: #6d28d9; }
.professional-toast {
  position: fixed;
  z-index: 100;
  right: 50%;
  bottom: 22px;
  transform: translateX(50%) translateY(20px);
  padding: 11px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  color: #fff;
  background: #111827;
  box-shadow: 0 18px 50px rgba(0,0,0,.4);
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
}
.professional-toast.show { opacity: 1; transform: translateX(50%) translateY(0); }
[data-hidden-by-favorites] { display: none !important; }
.mobile-bottom-nav { display: none; }

@media (max-width: 900px) {
  .professional-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .share-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 580px) {
  body { padding-bottom: 72px; }
  .mobile-bottom-nav {
    position: fixed;
    z-index: 90;
    right: 12px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 12px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    padding: 7px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(9,14,27,.94);
    box-shadow: 0 16px 40px rgba(0,0,0,.42);
    backdrop-filter: blur(18px);
  }
  .mobile-bottom-nav a {
    display: grid;
    place-items: center;
    min-height: 48px;
    border-radius: 12px;
    color: #cbd5e1;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
  }
  .mobile-bottom-nav a[aria-current="page"] { color: #fff; background: rgba(124,58,237,.28); }
  .smart-search-control { grid-template-columns: 1fr; }
  .smart-search-control .btn { width: 100%; min-height: 50px; }
  .professional-search-panel { padding: 16px; border-radius: 18px; }
  .professional-filters { grid-template-columns: 1fr; gap: 10px; }
  .filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .filter-actions .btn { width: 100%; }
  .results-toolbar { align-items: flex-start; }
  .results-toolbar > div { max-width: 55%; }
  .suggestion-item { grid-template-columns: 46px minmax(0,1fr); }
  .suggestion-item img { width: 46px; height: 46px; }
  .suggestion-item b { display: none; }
  .favorite-button { width: 42px; height: 42px; }
  .share-grid { grid-template-columns: 1fr; }
}

.coupon-hero { padding: 78px 0 38px; background: radial-gradient(circle at 75% 10%,rgba(124,58,237,.25),transparent 36%),radial-gradient(circle at 15% 80%,rgba(6,182,212,.13),transparent 30%); text-align: center; }
.coupon-hero h1 { max-width: 780px; margin: 12px auto; font-size: clamp(2rem,5vw,4rem); line-height: 1.15; }
.coupon-hero p { max-width: 680px; margin: 0 auto; color: #cbd5e1; }
.coupon-search { max-width: 800px; margin: 26px auto 0; display: grid; grid-template-columns: minmax(0,1fr) 190px auto; gap: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(15,23,42,.8); }
.coupon-search input,.coupon-search select { min-height: 48px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; padding: 0 13px; color: #fff; background: #0a1020; }
.coupon-tabs { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.coupon-tabs a { padding: 7px 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: #cbd5e1; font-weight: 800; font-size: .84rem; }
.coupon-tabs a.active { color: #fff; background: #6d28d9; border-color: #7c3aed; }
.coupon-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.coupon-card,.coupon-detail-card,.coupon-terms { position: relative; padding: 22px; border: 1px solid rgba(255,255,255,.09); border-radius: 22px; background: linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); box-shadow: 0 20px 55px rgba(0,0,0,.2); }
.coupon-card.featured { border-color: rgba(167,139,250,.48); box-shadow: 0 22px 60px rgba(124,58,237,.16); }
.coupon-store { display: flex; align-items: center; gap: 11px; }
.coupon-store img,.coupon-store>span { width: 58px; height: 58px; border-radius: 15px; object-fit: contain; background: #fff; }
.coupon-store>span { display: grid; place-items: center; color: #6d28d9; font-size: 1.5rem; font-weight: 900; }
.coupon-store b,.coupon-store small { display: block; }.coupon-store small { color: #6ee7b7; font-size: .75rem; }
.coupon-store em { margin-inline-start: auto; padding: 5px 9px; border-radius: 999px; color: #fde68a; background: rgba(245,158,11,.14); font-size: .72rem; font-style: normal; font-weight: 900; }
.coupon-value { display: inline-flex; margin: 18px 0 4px; padding: 6px 10px; border-radius: 999px; color: #c4b5fd; background: rgba(124,58,237,.16); font-weight: 900; }
.coupon-card h2 { min-height: 56px; margin: 10px 0 6px; font-size: 1.05rem; line-height: 1.55; }
.coupon-card>p { min-height: 68px; color: #94a3b8; font-size: .88rem; }
.coupon-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #94a3b8; font-size: .76rem; }
.coupon-actions { display: grid; gap: 9px; margin-top: 18px; }
.coupon-code { display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%; min-height: 52px; padding: 6px 7px 6px 14px; border: 1px dashed rgba(167,139,250,.65); border-radius: 13px; color: #fff; background: rgba(124,58,237,.09); cursor: pointer; }
.coupon-code span { direction: ltr; font-size: 1.02rem; font-weight: 900; letter-spacing: 1.2px; }.coupon-code b { padding: 9px 12px; border-radius: 9px; background: #6d28d9; }
.coupon-code.auto { text-decoration: none; }.coupon-details { color: #a78bfa; text-align: center; font-size: .84rem; font-weight: 800; }
.coupon-empty { padding: 80px 20px; text-align: center; }.coupon-empty p { color: #94a3b8; }
.coupon-detail-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 24px; align-items: start; }
.coupon-detail-card { padding: clamp(24px,4vw,42px); }.coupon-store.large img,.coupon-store.large>span { width: 80px; height: 80px; }
.coupon-detail-card h1 { margin: 12px 0; font-size: clamp(1.8rem,4vw,3rem); line-height: 1.3; }.coupon-description { color: #cbd5e1; font-size: 1.05rem; }
.detail-code-box { display: grid; grid-template-columns: minmax(230px,.8fr) 1fr; gap: 12px; margin: 25px 0; }.coupon-code.large { min-height: 60px; }.coupon-shop { min-height: 60px; }
.coupon-stats { display: flex; gap: 18px; padding: 16px 0; border-block: 1px solid rgba(255,255,255,.08); color: #94a3b8; }.coupon-stats b { color: #fff; }
.coupon-vote { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }.coupon-vote button { padding: 8px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; color: #fff; background: rgba(255,255,255,.04); cursor: pointer; }
.coupon-terms { position: sticky; top: 100px; }.coupon-terms h2 { font-size: 1.05rem; margin-top: 22px; }.coupon-terms h2:first-child { margin-top: 0; }.coupon-terms li,.coupon-terms p,.coupon-terms>small { color: #cbd5e1; }.coupon-terms dl div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.07); }.coupon-terms dt { color: #94a3b8; }.coupon-terms dd { margin: 0; font-weight: 800; }
.coupon-expired { margin: 22px 0; padding: 14px; border-radius: 12px; color: #fcd34d; background: rgba(245,158,11,.12); }
.site-breadcrumb { display: flex; align-items: center; gap: 8px; padding-top: 22px; color: #94a3b8; font-size: .84rem; white-space: nowrap; overflow: hidden; }
.site-breadcrumb a { color: #c4b5fd; }.site-breadcrumb>span:last-child { overflow: hidden; text-overflow: ellipsis; }
@media(max-width:900px){.coupon-grid{grid-template-columns:repeat(2,1fr)}.coupon-detail-layout{grid-template-columns:1fr}.coupon-terms{position:static}}
@media(max-width:580px){.coupon-search{grid-template-columns:1fr}.coupon-grid{grid-template-columns:1fr}.coupon-card>p,.coupon-card h2{min-height:0}.detail-code-box{grid-template-columns:1fr}.coupon-tabs{overflow:auto;justify-content:flex-start}.mobile-bottom-nav a{font-size:.69rem}}
@media (prefers-reduced-motion: reduce) {
  .professional-toast { transition: none; }
}
