
/* Reisekasse Deals – Theme-native Styling (Olympus/Crucina compatible)
   Uses existing theme CSS variables so Light/Dark is handled by the theme.
*/

.rkd-hub, .rkd-single{
  width: 100%;
  font-family: var(--body-font-family, system-ui,-apple-system,Segoe UI,Roboto,Arial);
  font-size: var(--body-font-size, 14px);
  line-height: var(--body-line-height, 1.4);
  color: var(--body-font-color, #111827);
}

.rkd-hero{
  border-radius: 12px;
  overflow: hidden;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(255,90,42,.18), transparent 62%),
    radial-gradient(900px 420px at 88% 0%, rgba(59,130,246,.10), transparent 62%),
    var(--ol-card-bg-color, #fff);
  box-shadow: var(--ol-box-shadow, 0 14px 40px rgba(17,24,39,.12));
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
}

.rkd-hero-inner{ padding: 22px; }
.rkd-hero-title{
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--heading-font-color, #111827);
}
.rkd-hero-sub{
  color: var(--body-font-color, #374151);
  opacity: .9;
  margin-top: 6px;
  margin-bottom: 14px;
  font-size: .95rem;
}

.rkd-searchbar{ display:flex; gap:10px; align-items:center; }
.rkd-searchbar input{
  flex:1;
  width:100%;
  border-radius: 0.25rem;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: var(--ol-input-bg-color, rgba(255,255,255,.92));
  color: var(--ol-input-text-color, var(--body-font-color, #111827));
  padding: 0.75rem 0.9rem;
  font-size: 0.95rem;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, background-color .15s ease-in-out;
}
.rkd-searchbar input:focus{
  outline: 1px solid var(--form-control-color, rgba(255,90,42,.55));
  outline-offset: -1px;
  border-color: var(--primary-accent-color, #ff5a2a);
  background-color: var(--body-bg-color, #fff);
}

.rkd-btn{
  border-radius: var(--buttons-border-radius, 8px);
  padding: 0.65rem 1.05rem;
  font-size: 0.9rem;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: transparent;
  color: var(--heading-font-color, #111827);
  cursor: pointer;
  display: inline-flex;
  align-items:center;
  justify-content:center;
  gap: 6px;
  text-decoration:none;
  font-weight: 600;
  white-space: nowrap;
  transition: transform .08s ease, border-color .15s ease, color .15s ease, background-color .15s ease;
}
.rkd-btn:hover{
  transform: translateY(-1px);
  border-color: var(--primary-accent-color, #ff5a2a);
  color: var(--primary-accent-color, #ff5a2a);
}
.rkd-btn-primary{
  background: var(--primary-accent-color, #ff5a2a);
  color: var(--white-color, #fff);
  border-color: var(--primary-accent-color, #ff5a2a);
}
.rkd-btn-primary:hover{
  background: var(--primary-accent-color-darken, #e24a20);
  border-color: var(--primary-accent-color-darken, #e24a20);
  color: var(--white-color, #fff);
}
.rkd-btn-ghost{
  background: transparent;
}

.rkd-chipbar{ margin-top: 12px; display:flex; gap:10px; flex-wrap:wrap; }
.rkd-chipbtn{
  border-radius: 999px;
  padding: 0.45rem 0.85rem;
  font-size: .85rem;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: transparent;
  color: var(--heading-font-color, #111827);
  cursor:pointer;
  font-weight: 600;
  transition: transform .08s ease, border-color .15s ease, color .15s ease, background-color .15s ease;
}
.rkd-chipbtn:hover{
  transform: translateY(-1px);
  border-color: var(--primary-accent-color, #ff5a2a);
  color: var(--primary-accent-color, #ff5a2a);
}
.rkd-chipbtn.is-active{
  background: rgba(255,90,42,.10);
  border-color: rgba(255,90,42,.40);
  color: var(--heading-font-color, #111827);
}
.rkd-chipbtn-clear{ opacity:.85; }

.rkd-sticky{ position: sticky; top: 10px; z-index: 50; margin-top: 14px; }
.rkd-sticky-inner{
  border-radius: 12px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: var(--ol-card-bg-color, #fff);
  box-shadow: var(--ol-box-shadow, 0 14px 40px rgba(17,24,39,.12));
  padding: 14px;
}

.rkd-filters{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.rkd-filters select,
.rkd-filters input[type="text"],
.rkd-filters input[type="number"]{
  border-radius: 0.25rem;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: var(--ol-input-bg-color, rgba(255,255,255,.92));
  color: var(--ol-input-text-color, var(--body-font-color, #111827));
  padding: 0.7rem 0.9rem;
  font-size: 0.875rem;
}

.rkd-chip{
  display:inline-flex; gap:8px; align-items:center;
  padding: 0.5rem 0.8rem;
  border-radius: 999px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: transparent;
  color: var(--heading-font-color, #111827);
  font-weight: 600;
}

.rkd-range{ display:flex; gap:10px; flex-wrap:wrap; }
.rkd-disclaimer{ margin-top: 10px; font-size: .78rem; color: var(--body-font-color, #374151); opacity: .8; }

.rkd-topwrap{ margin-top: 18px; }
.rkd-tophead{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin: 0 0 10px; }
.rkd-top-title{ font-size: 1rem; font-weight: 800; color: var(--heading-font-color, #111827); }
.rkd-top-sub{ color: var(--body-font-color, #374151); opacity:.8; font-size: .78rem; }

.rkd-toprow{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:14px;
}

.rkd-grid-wrap{ margin-top: 18px; }
.rkd-section-title{
  margin: 16px 0 10px;
  font-size: 1rem;
  font-weight: 800;
  color: var(--heading-font-color, #111827);
}

.rkd-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
}

@media (max-width: 1100px){ .rkd-toprow{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 980px){ .rkd-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){
  .rkd-grid{ grid-template-columns: 1fr; }
  .rkd-hero-inner{ padding: 16px; }
  .rkd-sticky{ top: 6px; }
  .rkd-searchbar{ flex-direction:column; align-items:stretch; }
}

.rkd-card{
  border-radius: 12px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: var(--ol-card-bg-color, #fff);
  box-shadow: var(--ol-box-shadow, 0 14px 40px rgba(17,24,39,.12));
  overflow:hidden;
}
.rkd-card-media{ position:relative; height: 168px; background: rgba(0,0,0,.03); }
.rkd-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.rkd-card-fallback{
  height:100%;
  display:flex; align-items:center; justify-content:center;
  color: var(--body-font-color, #374151);
  opacity:.7;
  font-weight: 800;
  letter-spacing: .08em;
}
.rkd-card-fallback-lg{ height: 360px; border-radius: 12px; }

.rkd-badges{ position:absolute; left:10px; top:10px; display:flex; gap:8px; flex-wrap:wrap; }
.rkd-badge{
  font-size: .78rem;
  font-weight: 700;
  padding: 0.32rem 0.6rem;
  border-radius: 999px;
  background: var(--ol-card-bg-color, rgba(255,255,255,.92));
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
}
.rkd-badge-hot{ border-color: rgba(225,29,72,.35); color: #e11d48; }
.rkd-badge-coupon{ border-color: rgba(22,163,74,.35); color: #16a34a; }
.rkd-badge-discount{ border-color: rgba(59,130,246,.35); color: #3b82f6; }
.rkd-badge-soft{ opacity:.9; }

.rkd-card-body{ padding: 14px 14px 16px; }
.rkd-card-topline{ display:flex; gap:8px; align-items:center; color: var(--body-font-color, #374151); opacity:.8; font-size: .78rem; }
.rkd-pill{
  padding: 0.22rem 0.6rem;
  border-radius: 999px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: transparent;
  color: var(--heading-font-color, #111827);
  font-weight: 700;
}
.rkd-dot{ opacity:.6; }
.rkd-muted{ color: var(--body-font-color, #374151); opacity:.8; }

.rkd-card-title{
  margin: 10px 0 6px;
  font-size: 1.05rem;
  line-height: 1.25;
  font-weight: 800;
  color: var(--heading-font-color, #111827);
  letter-spacing: -0.01em;
}
.rkd-card-vendor{ color: var(--body-font-color, #374151); opacity:.85; font-size: .85rem; font-weight: 600; }
.rkd-card-excerpt{ margin-top: 8px; color: var(--body-font-color, #374151); opacity:.85; font-size: .85rem; line-height: 1.35; min-height: 2.2em; }

.rkd-price{ margin-top: 12px; display:flex; gap:10px; align-items:baseline; }
.rkd-price-new{ font-size: 1.15rem; font-weight: 900; color: var(--heading-font-color, #111827); }
.rkd-price-old{ font-size: .85rem; color: var(--body-font-color, #374151); opacity:.75; text-decoration: line-through; }

.rkd-actions{ margin-top: 12px; display:flex; gap:10px; }
.rkd-actions .rkd-btn{ flex:1; }

.rkd-pager{ margin-top: 14px; display:flex; gap:10px; align-items:center; justify-content:center; }
.rkd-pageinfo{ color: var(--body-font-color, #374151); opacity:.8; font-weight: 700; }
.rkd-loading, .rkd-empty{ padding: 24px; text-align:center; color: var(--body-font-color, #374151); opacity:.8; }

/* Single */
.rkd-single{
  border-radius: 12px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: var(--ol-card-bg-color, #fff);
  box-shadow: var(--ol-box-shadow, 0 14px 40px rgba(17,24,39,.12));
  overflow:hidden;
}
.rkd-single-head{ display:grid; grid-template-columns: 1fr 1.1fr; gap:0; }
@media (max-width: 900px){ .rkd-single-head{ grid-template-columns: 1fr; } }
.rkd-single-media img{ width:100%; height:100%; max-height:420px; object-fit:cover; display:block; }
.rkd-single-main{ padding: 18px; }
.rkd-single-title{
  margin: 10px 0 8px;
  font-size: 1.85rem;
  font-weight: 900;
  color: var(--heading-font-color, #111827);
  letter-spacing: -0.02em;
}
.rkd-single-vendor, .rkd-single-deadline{ color: var(--body-font-color, #374151); opacity:.85; margin-top:4px; font-weight:600; }
.rkd-single-price{ margin-top: 12px; display:flex; gap:12px; align-items:baseline; }
.rkd-single-actions{ margin-top: 14px; display:flex; gap:10px; flex-wrap:wrap; }
.rkd-single-content{ padding: 18px; border-top: 1px solid var(--ol-border-color, rgba(17,24,39,.10)); }
.rkd-single-excerpt{
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--ol-card-bg-color, #fff);
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
}
.rkd-single-desc{ margin-top: 14px; color: var(--body-font-color, #111827); line-height: 1.55; }
.rkd-coupon-box{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px dashed var(--ol-border-color, rgba(17,24,39,.18));
  background: rgba(22,163,74,.06);
}
.rkd-coupon-label{ color: var(--body-font-color, #374151); opacity:.85; font-size: .78rem; font-weight:800; }
.rkd-coupon-code{ font-size: 1.4rem; font-weight: 900; margin-top: 4px; letter-spacing: .08em; color: var(--heading-font-color, #111827); }
.rkd-coupon-terms{ margin-top: 8px; color: var(--body-font-color, #111827); }
.rkd-affiliate-note{ margin-top: 14px; font-size: .78rem; color: var(--body-font-color, #374151); opacity:.75; }

.rkd-hub a, .rkd-single a{ text-decoration:none; }
.rkd-hub *{ box-sizing:border-box; }


/* Gallery (multiple deal images) */
.rkd-gallery{
  display:flex;
  gap:10px;
  padding: 12px 18px;
  flex-wrap:wrap;
  border-top: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: var(--ol-card-bg-color, #fff);
}
.rkd-gallery-thumb{
  width: 64px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
}


/* Mobile UX: compact header + bottom-sheet filters so deals are visible without scrolling */
.rkd-mobilebar{ display:none; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.rkd-mobile-hint{ font-size:.78rem; opacity:.75; }
.rkd-filters-inline{ }

.rkd-sheet{ display:none; }
.rkd-sheet[aria-hidden="false"]{ display:block; }
.rkd-sheet-backdrop{
  position:fixed; inset:0; background: rgba(0,0,0,.45);
  z-index: 9998;
}
.rkd-sheet-panel{
  position:fixed; left:0; right:0; bottom:0;
  z-index: 9999;
  background: var(--ol-card-bg-color, #fff);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  box-shadow: var(--ol-box-shadow, 0 14px 40px rgba(17,24,39,.12));
  max-height: 78vh;
  overflow:auto;
}
.rkd-sheet-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  position: sticky; top:0;
  background: var(--ol-card-bg-color, #fff);
}
.rkd-sheet-title{ font-weight: 900; color: var(--heading-font-color, #111827); }
.rkd-filters-sheet{ padding: 14px; display:flex; flex-direction:column; gap:10px; }
.rkd-filters-sheet .rkd-range{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
.rkd-filters-sheet .rkd-range input:last-child{ grid-column: 1 / -1; }

@media (max-width: 640px){
  .rkd-hero-inner{ padding: 14px; }
  .rkd-hero-sub{ display:none; }
  .rkd-chipbar{ gap:8px; }
  .rkd-chipbtn{ padding: .4rem .7rem; font-size:.8rem; }
  .rkd-sticky{ position: sticky; top: 0; margin-top: 10px; }
  .rkd-sticky-inner{ padding: 10px; border-radius: 12px; }
  .rkd-mobilebar{ display:flex; }
  /* Hide inline filters on mobile (use sheet) */
  .rkd-filters-inline{ display:none; }
  /* Top deals row horizontal for quick glance */
  .rkd-toprow{ grid-template-columns: 1fr; }
  .rkd-toprow{ display:flex; overflow:auto; scroll-snap-type:x mandatory; padding-bottom: 6px; }
  .rkd-toprow .rkd-card{ min-width: 78%; scroll-snap-align: start; }
  .rkd-grid{ grid-template-columns: 1fr; }
  .rkd-card-media{ height: 150px; }
  .rkd-card-excerpt{ min-height: auto; }
}


/* Horizontal swipe type chips (mobile-first) */
.rkd-typechips{
  display:flex;
  gap:10px;
  margin-top:12px;
  overflow:auto;
  padding-bottom:6px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.rkd-typechips::-webkit-scrollbar{ display:none; }
.rkd-typechip{
  flex:0 0 auto;
  border-radius: 999px;
  padding: 0.48rem 0.9rem;
  font-size: .88rem;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: transparent;
  color: var(--heading-font-color, #111827);
  cursor:pointer;
  font-weight: 800;
  white-space: nowrap;
}
.rkd-typechip.is-active{
  background: rgba(255,90,42,.12);
  border-color: rgba(255,90,42,.38);
}
@media (min-width: 641px){
  /* On desktop it's optional; keep but not dominant */
  .rkd-typechips{ max-width: 720px; }
}


/* Single: thumbnail -> main image switch */
.rkd-gallery-thumb{ cursor:pointer; transition: transform .08s ease, opacity .15s ease, border-color .15s ease; }
.rkd-gallery-thumb:hover{ transform: translateY(-1px); }
.rkd-gallery-thumb.is-active{
  border-color: rgba(255,90,42,.45);
  box-shadow: 0 6px 16px rgba(255,90,42,.12);
}


/* Premium Lightbox */
.rkd-main-img{ cursor: zoom-in; }
.rkd-lightbox{ display:none; }
.rkd-lightbox[aria-hidden="false"]{ display:block; }
.rkd-lightbox-backdrop{
  position:fixed; inset:0; background: rgba(0,0,0,.72);
  z-index: 10000;
}
.rkd-lightbox-panel{
  position:fixed; inset: 4vh 4vw;
  z-index: 10001;
  display:flex; align-items:center; justify-content:center;
  border-radius: 18px;
  overflow:hidden;
}
.rkd-lightbox-img{
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  background: rgba(255,255,255,.06);
}
.rkd-lightbox-close{
  position:absolute; top:14px; right:14px;
  width:40px; height:40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.35);
  color:#fff;
  cursor:pointer;
  font-size: 18px;
  z-index: 2;
}
.rkd-lightbox-nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:48px; height:48px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.35);
  color:#fff;
  cursor:pointer;
  font-size: 28px;
  line-height: 1;
  z-index: 2;
}
.rkd-lightbox-prev{ left:14px; }
.rkd-lightbox-next{ right:14px; }

.rkd-lightbox-strip{
  position:absolute; left:0; right:0; bottom:0;
  padding: 10px 12px;
  display:flex; gap:10px;
  overflow:auto;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.45));
}
.rkd-lightbox-strip img{
  width:72px; height:54px;
  object-fit:cover;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.22);
  cursor:pointer;
  opacity: .85;
}
.rkd-lightbox-strip img.is-active{ opacity: 1; border-color: rgba(255,90,42,.75); }

@media (max-width: 640px){
  .rkd-lightbox-panel{ inset: 2vh 2vw; }
  .rkd-lightbox-strip img{ width:64px; height:48px; }
}


/* Premium share button on cards */
.rkd-iconbtn{
  width: 44px;
  min-width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: transform .08s ease, border-color .15s ease, color .15s ease, background-color .15s ease;
}
.rkd-iconbtn:hover{
  transform: translateY(-1px);
  border-color: var(--primary-accent-color, #ff5a2a);
  color: var(--primary-accent-color, #ff5a2a);
  background: rgba(255,90,42,.06);
}
.rkd-icon{ font-size: 18px; line-height:1; }

.rkd-actions{ gap:10px; }
.rkd-actions .rkd-btn{ flex:1; }
.rkd-actions .rkd-iconbtn{ flex:0 0 auto; }

.rkd-coupon-mini{
  margin-top: 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px dashed var(--ol-border-color, rgba(17,24,39,.18));
  background: rgba(22,163,74,.06);
}
.rkd-coupon-label{ font-weight:800; font-size:.78rem; opacity:.8; }
.rkd-coupon-copy{
  border:0;
  background: transparent;
  cursor:pointer;
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:0;
}
.rkd-coupon-code{ font-weight:900; letter-spacing:.08em; }
.rkd-coupon-copyhint{ font-size:.75rem; opacity:.7; }

/* Ensure selects look like inputs */
.rkd-filters select.rkd-category{ min-width: 200px; }

.rkd-iconbtn.is-copied{ border-color: rgba(22,163,74,.45); background: rgba(22,163,74,.06); }


/* Minimal Related Deals (Deal Detail) */
.rkd-related-min{ margin: 16px 0 6px; }
.rkd-related-min-h{ font-weight: 900; font-size: 16px; margin: 0 0 10px; }
.rkd-related-min-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.rkd-related-min-item{
  display: block;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--ol-border-color, rgba(17,24,39,.10));
  background: var(--ol-card-bg-color, #fff);
  text-decoration: none;
}
.rkd-related-min-item .t{ font-weight: 900; line-height: 1.2; margin-bottom: 6px; }
.rkd-related-min-item .s{ font-size: 12px; opacity: .75; }
@media (max-width: 900px){
  .rkd-related-min-grid{ grid-template-columns: 1fr; }
}


/* Holiday filterbar upgrade */
.rkd-mode-holiday .rkd-hero{
  background:
    radial-gradient(780px 320px at 8% 0%, rgba(255,153,78,.24), transparent 60%),
    radial-gradient(760px 320px at 92% 0%, rgba(56,189,248,.18), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88));
}
.rkd-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,90,42,.18);
  background:rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--heading-font-color,#111827);
  margin-bottom:12px;
}
.rkd-mode-holiday .rkd-hero-title{
  max-width:760px;
  font-size:clamp(1.9rem,4vw,3rem);
  line-height:1.02;
}
.rkd-searchbar-hero{ margin-top:16px; }
.rkd-chipbar-holiday{ margin-top:16px; }
.rkd-chipbar-holiday .rkd-chipbtn{
  background:rgba(255,255,255,.78);
  backdrop-filter: blur(12px);
  border-color:rgba(17,24,39,.08);
}
.rkd-sticky-holiday .rkd-sticky-inner{
  border-radius:18px;
  padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,252,.92));
  backdrop-filter: blur(12px);
}
.rkd-filters-premium{
  display:grid;
  grid-template-columns:minmax(280px,1.3fr) minmax(280px,1fr) auto auto;
  gap:12px;
  align-items:center;
}
.rkd-filtergroup{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.rkd-filtergroup-main select{ min-width:160px; flex:1 1 180px; }
.rkd-filtergroup-budget{ min-width:0; }
.rkd-filtergroup-budget .rkd-range{
  display:grid;
  grid-template-columns: repeat(3,minmax(110px,1fr));
  width:100%;
}
.rkd-filtergroup-budget .rkd-range input{ width:100%; }
.rkd-filtergroup-actions{ justify-content:flex-end; }
.rkd-filtergroup-actions .rkd-btn{ min-width:140px; }
.rkd-typechips{
  margin-top:0;
  margin-bottom:14px;
  padding-bottom:2px;
}
.rkd-typechip{
  background:rgba(255,255,255,.74);
  backdrop-filter: blur(10px);
  border-color:rgba(17,24,39,.08);
}
.rkd-typechip.is-active{
  background:linear-gradient(135deg, rgba(255,90,42,.16), rgba(56,189,248,.12));
  border-color:rgba(255,90,42,.28);
  box-shadow:0 8px 20px rgba(255,90,42,.10);
}
.rkd-chip{
  background:rgba(255,255,255,.72);
  border-color:rgba(17,24,39,.08);
}
.rkd-sheet-actions{
  display:flex;
  gap:10px;
}
.rkd-sheet-actions .rkd-btn{ flex:1; }
@media (max-width: 1180px){
  .rkd-filters-premium{
    grid-template-columns:1fr;
  }
  .rkd-filtergroup-actions{ justify-content:flex-start; }
}
@media (max-width: 640px){
  .rkd-mode-holiday .rkd-hero-title{ font-size:2rem; }
  .rkd-hero-kicker{ font-size:.72rem; padding:7px 12px; }
  .rkd-sticky-holiday .rkd-sticky-inner{
    padding:12px;
    border-radius:16px;
  }
  .rkd-mobilebar{ margin-bottom:0; }
  .rkd-typechips{ margin:10px 0 0; }
}
