/* =========================================================
   Bloomy eSIM Comparison Page CSS
   Full Replacement High Score Version
   - Scope: .bloomy-list-page only
   - PC: left filter / right destination filter / 3-column cards
   - Mobile: bottom sheet
   - Skeleton loading for tab switch/search
   - Slider progress styling
   - Does not affect TOP page / .bloomy-top-page
========================================================= */

/* =========================================================
   Bloomy eSIM Comparison Page
   Full Replacement CSS v2
   Fixes:
   1. Duplicate search icon
   2. Compact sticky sidebar for laptop height
   3. Popular countries stay in one row on desktop
   4. PC: left filter / right destination filter / 3-column cards
   5. Mobile: bottom-sheet filter
========================================================= */

/* =========================================================
   0. Base / Reset
   Scoped to .bloomy-list-page so TOP page / recommend section is not affected
========================================================= */


.bloomy-list-page {
  --bloomy-bg: #f3f7ff;
  --bloomy-white: #ffffff;

  --bloomy-blue: #0878f8;
  --bloomy-blue-2: #0b84ff;
  --bloomy-blue-deep: #071b4d;
  --bloomy-blue-dark: #173b87;
  --bloomy-blue-soft: #eef6ff;
  --bloomy-blue-softer: #f8fbff;

  --bloomy-line: #d9e7ff;
  --bloomy-line-strong: #bed5ff;

  --bloomy-text: #173b87;
  --bloomy-navy: #071b4d;
  --bloomy-soft: #6276a8;
  --bloomy-muted: #8a98bc;

  --bloomy-radius-lg: 28px;
  --bloomy-radius-md: 20px;
  --bloomy-radius-sm: 14px;

  --bloomy-shadow-card:
    0 8px 22px rgba(42, 83, 153, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;

  --bloomy-shadow-card-hover:
    0 14px 30px rgba(42, 83, 153, 0.095),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;

  box-sizing: border-box;
  width: min(calc(100% - 64px), 1540px);
  max-width: 1540px;
  margin: 0 auto;
  padding: 24px 0 96px;
  color: var(--bloomy-text);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.bloomy-list-page *,
.bloomy-list-page *::before,
.bloomy-list-page *::after {
  box-sizing: border-box;
}

.bloomy-list-page a {
  color: inherit;
  text-decoration: none;
}

.bloomy-list-page button,
.bloomy-list-page input,
.bloomy-list-page select,
.bloomy-list-page textarea {
  font: inherit;
}

.bloomy-list-page button {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.bloomy-list-page :focus-visible {
  outline: 3px solid rgba(8, 120, 248, 0.20);
  outline-offset: 3px;
}

.bloomy-list-page /* =========================================================
   1. Hero
   PC鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｧ鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｯ鬯ｯ�ｩ�ｽ�･髯晢ｿｽ髮懶ｽ｣�ｽ�ｽ�ｽ�､�ｽ�ｽ�ｽ�ｽ髫ｨ貂可鬩搾ｽｵ�ｽ�ｺ髫ｰ逍ｲ�ｻ繧托ｽｽ�ｽ�ｽ�ｼ�ｽ�ｽ�ｽ�ｷ鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｽ�ｽ�ｽ�ｽ�ｽ鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｧ鬯ｯ�ｮ�ｽ�ｱ髫ｶ螟ｲ�ｿ�ｽ�ｽ�ｽ�ｽ�｡�ｽ�ｽ�ｽ�ｨ鬯ｩ遨ゑｽｼ螟ｲ�ｽ�ｽ�ｽ�ｺ鬩搾ｽｵ�ｽ�ｲ�ｽ�ｽ�ｽ�ｽMobile鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｧ鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｯ鬮ｯ貊難ｿｽ鬮ｴ諛ｶ�ｿ�ｽ�ｽ�ｿ�ｽ�ｽ�ｽ�ｰ鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｧ鬯ｮ�ｯ�ｽ�ｦ�ｽ�ｽ�ｽ�ｨ鬯ｩ遨ゑｽｼ螟ｲ�ｽ�ｽ�ｽ�ｺ鬩搾ｽｵ�ｽ�ｲ�ｽ�ｽ�ｽ�ｽ
========================================================= */

.bloomy-compare-hero {
  display: none;
}

.bloomy-list-page /* =========================================================
   2. Layout
========================================================= */

.bloomy-compare-form {
  display: block;
}

.bloomy-list-page .bloomy-compare-layout {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}

.bloomy-list-page .bloomy-compare-sidebar {
  min-width: 0;
  width: 100%;
  z-index: 10;
}

.bloomy-list-page .bloomy-compare-results,
.bloomy-list-page .bloomy-list-results {
  min-width: 0;
  width: 100%;
}

@media (min-width: 901px) {
.bloomy-list-page,
.bloomy-list-page .bloomy-compare-form,
.bloomy-list-page .bloomy-compare-layout,
.bloomy-list-page .bloomy-compare-sidebar,
.bloomy-list-page .bloomy-compare-results {
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
    contain: none !important;
  }

.bloomy-list-page .bloomy-compare-sidebar {
    position: sticky !important;
    top: 82px !important;
    align-self: start !important;
    height: auto !important;
    max-height: calc(100vh - 96px) !important;
  }

body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 104px !important;
    max-height: calc(100vh - 118px) !important;
  }

.bloomy-list-page .bloomy-compare-sidebar__inner,
.bloomy-list-page .bloomy-plan-filter {
    max-height: inherit !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(8, 120, 248, 0.28) transparent;
  }

.bloomy-list-page .bloomy-compare-sidebar__inner::-webkit-scrollbar,
.bloomy-list-page .bloomy-plan-filter::-webkit-scrollbar {
    width: 6px;
  }

.bloomy-list-page .bloomy-compare-sidebar__inner::-webkit-scrollbar-thumb,
.bloomy-list-page .bloomy-plan-filter::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(8, 120, 248, 0.24);
  }
}

.bloomy-list-page /* =========================================================
   3. Left Sidebar Filter
   Laptop-height compact version
========================================================= */

.bloomy-compare-sidebar__inner,
.bloomy-list-page .bloomy-plan-filter {
  width: 100%;
  border-radius: var(--bloomy-radius-lg);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(250, 253, 255, 0.98) 100%);
  border: 1px solid rgba(214, 228, 250, 0.96);
  box-shadow:
    0 16px 38px rgba(50, 91, 158, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;
  overflow: hidden;
  color: var(--bloomy-navy);
}

.bloomy-list-page .bloomy-plan-filter__hidden {
  display: none !important;
}

.bloomy-list-page /* =========================================================
   5. Right Destination Filter
========================================================= */

.bloomy-compare-destination-filter,
.bloomy-list-page .bloomy-list-filter-wrap {
  width: 100%;
  margin: 0 0 24px;
}

.bloomy-list-page .bloomy-compare-destination-filter__card,
.bloomy-list-page .bloomy-list-filter {
  width: 100%;
  border-radius: var(--bloomy-radius-lg);
  padding: 28px 32px 30px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(250, 253, 255, 0.98) 100%);
  border: 1px solid rgba(214, 228, 250, 0.96);
  box-shadow:
    0 16px 38px rgba(50, 91, 158, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;
}

.bloomy-list-page .bloomy-compare-destination-filter__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 22px;
}

.bloomy-list-page .bloomy-compare-destination-filter__title-wrap {
  min-width: 0;
}

.bloomy-list-page .bloomy-compare-destination-filter__eyebrow {
  margin: 0 0 6px;
  color: var(--bloomy-blue-dark);
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.bloomy-list-page .bloomy-compare-destination-filter__title,
.bloomy-list-page .bloomy-list-filter__title {
  margin: 0;
  color: var(--bloomy-navy);
  font-size: 21px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.bloomy-list-page .bloomy-compare-destination-filter__reset,
.bloomy-list-page .bloomy-list-filter__reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bloomy-blue);
  font-size: 13px;
  line-height: 1;
  font-weight: 780;
  white-space: nowrap;
  transition: opacity 0.18s ease;
}

.bloomy-list-page .bloomy-compare-destination-filter__reset:hover,
.bloomy-list-page .bloomy-list-filter__reset:hover {
  opacity: 0.76;
}

.bloomy-list-page .bloomy-compare-destination-filter .bloomy-list-filter__group--country {
  margin: 0;
  padding: 0;
  border: 0;
}

.bloomy-list-page .bloomy-compare-destination-filter .bloomy-list-filter__subhead {
  margin: 22px 0 11px;
  color: var(--bloomy-navy);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.015em;
}

.bloomy-list-page /* Search Bar
   Duplicate icon fix:
   - PHP鬮ｯ蜿･�ｹ�｢�ｽ�ｽ�ｽ�ｴ鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｫ鬯ｮ�ｯ鬲�ｼ夲ｽｽ�ｽ�ｽ�ｫ鬯ｨ�ｾ�ｽ�ｵ�ｽ�ｽ�ｽ�ｼ鬯ｯ�ｮ�つ�ｽ�ｽ�ｽ�｡鬩幢ｽ｢�ｽ�ｧ�ｽ�ｽ�ｽ�｢鬩幢ｽ｢�ｽ�ｧ�ｽ�ｽ�ｽ�､鬩幢ｽ｢�ｽ�ｧ�ｽ�ｽ�ｽ�ｳ鬩幢ｽ｢隴趣ｽ｢�ｽ�ｽ�ｽ�ｳ鬩搾ｽｵ�ｽ�ｺ髯溷供�ｨ�ｯ隴鯉ｽｺ鬩幢ｽ｢�ｽ�ｧ髯ｷ�ｿ�ｽ�･髴趣ｽｯ隰悟･�ｽｽ�ｬ�ｽ�ｽ鬮｣髮�ｽｾ蛟仰陜｣�､�ｽ�ｸ�ｽ�ｲ�ｽ�ｽ鬩幢ｽ｡S鬯ｨ�ｾ隶朱宦�ｺ螂�ｽｿ�ｽ�ｽ�ｼ�ｽ�ｽ�ｽ�ｼ鬯ｮ�ｫ髯ｬ諛医′�ｽ�ｽ�ｽ�ｴ�ｽ�ｽ�ｽ�ｽ鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｮ鬯ｮ�ｯ鬲�ｼ夲ｽｽ�ｽ�ｽ�ｫ鬯ｨ�ｾ�ｽ�ｵ�ｽ�ｽ�ｽ�ｼ鬯ｯ�ｮ�つ�ｽ�ｽ�ｽ�｡鬩搾ｽｵ�ｽ�ｺ�ｽ�ｽ�ｽ�ｯ鬮ｮ雜｣�ｽ�ｸ髯具ｽｹ�ｽ�ｻ髫ｨ蛛�ｽｿ�ｽ
========================================================= */

.bloomy-compare-destination-filter__search,
.bloomy-list-page .bloomy-list-filter__search {
  position: relative;
  margin: 0 0 22px;
}

.bloomy-list-page .bloomy-top-searchbar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 58px;
  padding: 9px 54px 9px 48px;
  border-radius: 15px;
  background: #ffffff;
  border: 1.5px solid #cfdff5;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 9px 20px rgba(38, 80, 145, 0.045);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.bloomy-list-page .bloomy-top-searchbar::before {
  content: none !important;
  display: none !important;
}

.bloomy-list-page .bloomy-top-searchbar:focus-within {
  border-color: #7aaeff;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 10px 22px rgba(38, 80, 145, 0.07),
    0 0 0 4px rgba(8, 120, 248, 0.08);
}

.bloomy-list-page .bloomy-top-searchbar__icon,
.bloomy-list-page .bloomy-list-filter__search-icon,
.bloomy-list-page .bloomy-compare-search-icon {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  width: 20px !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
  color: #8492a8 !important;
  opacity: 0.72 !important;
  pointer-events: none !important;
}

.bloomy-list-page .bloomy-top-searchbar__icon svg,
.bloomy-list-page .bloomy-list-filter__search-icon svg,
.bloomy-list-page .bloomy-compare-search-icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

.bloomy-list-page .bloomy-top-searchbar__chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.bloomy-list-page .bloomy-top-searchbar__input {
  flex: 1 1 180px;
  width: 100%;
  min-width: 130px;
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #172a57;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  outline: none;
  box-shadow: none;
}

.bloomy-list-page .bloomy-top-searchbar__input:focus {
  border: 0;
  outline: none;
  box-shadow: none;
}

/* 例文プレースホルダーは独自オーバーレイ(span)で表示し、input上に絶対配置で重ねる＝TOPと同一。
   absolute が無いと通常フローで input の下に落ち、ネイティブ placeholder と二重表示になる(旧バグ)。
   left:48px は searchbar の左パディング(48px=左アイコン18px+余白)に合わせる。 */
.bloomy-list-page .bloomy-top-searchbar__placeholder {
  position: absolute;
  left: 48px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #8a98ad;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
}

/* 空状態(チップなし)はオーバーレイspanが例文を表示するのでネイティブは透明＝TOPと同じ。
   (旧バグ: is-has-chips時だけ透明化→チップ無しでネイティブ例文＋オーバーレイ例文が二重表示)
   チップ選択中はネイティブのhint(「ほかの国を追加」)を見せ、一覧外も検索できると伝える(Point4)。 */
.bloomy-list-page .bloomy-top-searchbar:not(.is-has-chips) .bloomy-top-searchbar__input::placeholder {
  color: transparent;
}
.bloomy-list-page .bloomy-top-searchbar.is-has-chips .bloomy-top-searchbar__input::placeholder {
  color: #97a4bd;
}

.bloomy-list-page .bloomy-top-searchbar__clear-input {
  position: absolute;
  right: 18px;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--bloomy-blue);
  font-size: 18px;
  line-height: 1;
  font-weight: 800;
}

/* ④ 候補ドロップダウンを TOP と同じ見た目に統一。
   項目スタイル(.bloomy-top-suggestion*)は top.css のみ定義で比較ページに無かったため、
   .bloomy-list-page スコープで移植する。容器(padding/max-height/scroll/枠線)も TOP に合わせる。 */
.bloomy-list-page .bloomy-top-searchbar__suggestions {
  /* 初期は非表示＝TOP(top.css)と同じ。候補がある時だけ compare.js が display:block。
     これが無いと空の候補boxが検索ボックス直下に出る(=比較シートの「空の箱」). */
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 30;
  max-height: 320px;
  padding: 8px;
  overflow: auto;
  border-radius: 18px;
  border: 1px solid #dbe7ff;
  background: #ffffff;
  box-shadow: 0 16px 32px rgba(22, 43, 99, 0.12);
}
.bloomy-list-page .bloomy-top-suggestion {
  width: 100%;
  padding: 10px 12px;
  text-align: left;
  border: 0;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: background 0.2s ease;
}
.bloomy-list-page .bloomy-top-suggestion:hover,
.bloomy-list-page .bloomy-top-suggestion.is-active {
  background: #f6f9ff;
}
.bloomy-list-page .bloomy-top-suggestion__main {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.bloomy-list-page .bloomy-top-suggestion__emoji {
  font-size: 18px;
  line-height: 1;
}
.bloomy-list-page .bloomy-top-suggestion__label {
  font-size: 14px;
  font-weight: 800;
  color: #162b63;
}
.bloomy-list-page .bloomy-top-suggestion__meta {
  font-size: 12px;
  font-weight: 500;
  color: #7d8caf;
}

.bloomy-list-page .bloomy-top-searchbar__hint,
.bloomy-list-page .bloomy-top-searchbar__measure {
  position: absolute;
  visibility: hidden;
  pointer-events: none;
}

.bloomy-list-page /* Country / Area Buttons
   Popular country row stays in one line on desktop
========================================================= */

.bloomy-top-filter__chips,
.bloomy-list-page .bloomy-list-country-chips,
.bloomy-list-page .bloomy-list-area-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 12px !important;
  align-items: center !important;
}

@media (min-width: 901px) {.bloomy-list-page .bloomy-list-country-chips,
.bloomy-list-page .bloomy-top-filter__chips {
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: visible !important;
  }
}

.bloomy-list-page .bloomy-top-chip-button,
.bloomy-list-page .bloomy-top-area-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 32px !important;
  height: 32px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  border: 1.5px solid #e0e9f6 !important;
  background: #ffffff !important;
  color: #12244f !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease,
    box-shadow 0.16s ease !important;
}

.bloomy-list-page .bloomy-top-area-button {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 16px !important;
}

.bloomy-list-page .bloomy-top-chip-button:hover,
.bloomy-list-page .bloomy-top-area-button:hover {
  transform: translateY(-1px) !important;
  background: #f7fbff !important;
  border-color: #c7d9f6 !important;
}

.bloomy-list-page .bloomy-top-chip-button.is-active,
.bloomy-list-page .bloomy-top-chip-button.is-selected,
.bloomy-list-page .bloomy-top-area-button.is-active,
.bloomy-list-page .bloomy-top-area-button.is-selected {
  background: #eaf4ff !important;
  border-color: var(--bloomy-blue) !important;
  color: var(--bloomy-blue) !important;
  box-shadow: 0 7px 14px rgba(8, 120, 248, 0.10) !important;
}

.bloomy-list-page .bloomy-top-chip-button.is-pressed,
.bloomy-list-page .bloomy-top-area-button.is-pressed {
  transform: scale(0.98) !important;
}

.bloomy-list-page .bloomy-top-chip-button__emoji,
.bloomy-list-page .bloomy-top-area-button__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.bloomy-list-page .bloomy-top-chip-button__text,
.bloomy-list-page .bloomy-top-area-button__label {
  display: inline-flex !important;
  align-items: center !important;
  color: inherit !important;
  font-size: 12.5px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  letter-spacing: -0.005em !important;
  white-space: nowrap !important;
}

.bloomy-list-page .bloomy-top-area-button__body {
  display: contents !important;
}

.bloomy-list-page .bloomy-top-area-button__meta {
  display: none !important;
}

/* 「ほかの国を探す」検索導線チップ（比較モバイルシート内。国は追加せず検索boxへ誘導）。
   TOPと同じトーン。.bloomy-top-chip-button は付けないので国追加ロジックには乗らない。 */
.bloomy-list-page .bloomy-chip-search-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  border-radius: 10px !important;
  border: 1px dashed #cfddf6 !important;
  /* 軽く・淡く(ブランド指針: 文字は細め/やわらかいブルー/淡い背景) */
  background: #f4f8ff !important;
  color: #3f6ad0 !important;
  font-size: 12.5px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  transition: border-color 0.16s ease, background 0.16s ease !important;
}

.bloomy-list-page .bloomy-chip-search-cta:hover {
  border-color: #a9c4ef !important;
  background: #eaf1ff !important;
}

.bloomy-list-page .bloomy-chip-search-cta__icon {
  display: inline-flex !important;
  color: #5f86d8 !important;
}

.bloomy-list-page .bloomy-top-searchbar.bloomy-searchbar--flash {
  animation: bloomy-searchbar-flash 1.2s ease;
}

@keyframes bloomy-searchbar-flash {
  0%   { box-shadow: 0 0 0 0 rgba(79, 123, 221, 0); }
  18%  { box-shadow: 0 0 0 4px rgba(79, 123, 221, 0.28); }
  100% { box-shadow: 0 0 0 0 rgba(79, 123, 221, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .bloomy-list-page .bloomy-chip-search-cta { transition: none !important; }
  .bloomy-list-page .bloomy-top-searchbar.bloomy-searchbar--flash { animation: none; }
}

.bloomy-list-page .bloomy-list-results__count,
.bloomy-list-page .bloomy-compare-results__count {
  color: var(--bloomy-navy);
  font-size: 16px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.bloomy-list-page .bloomy-list-results__count span,
.bloomy-list-page .bloomy-compare-results__count span {
  color: var(--bloomy-navy);
  font-weight: 800;
}

.bloomy-list-page /* Custom sort dropdown support */

.bloomy-sort-dropdown {
  position: relative;
}

.bloomy-list-page .bloomy-sort-dropdown__button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 188px;
  min-height: 48px;
  padding: 0 18px 0 20px;
  border-radius: 999px;
  border: 1px solid #d9e7fb;
  background: #ffffff;
  color: var(--bloomy-navy);
  font-size: 13.5px;
  font-weight: 800;
  box-shadow:
    0 10px 20px rgba(42, 83, 153, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.98) inset;
}

.bloomy-list-page .bloomy-sort-dropdown__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 40;
  min-width: 220px;
  padding: 8px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #d9e7fb;
  box-shadow: 0 16px 32px rgba(33, 78, 153, 0.14);
}

.bloomy-list-page .bloomy-sort-dropdown__option {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--bloomy-navy);
  font-size: 13px;
  font-weight: 800;
  text-align: left;
}

.bloomy-list-page .bloomy-sort-dropdown__option:hover,
.bloomy-list-page .bloomy-sort-dropdown__option.is-active {
  background: #eef6ff;
  color: var(--bloomy-blue);
}

.bloomy-list-page /* =========================================================
   9. Modal Base
========================================================= */

.bloomy-plan-modal[hidden] {
  display: none !important;
}

.bloomy-list-page .bloomy-plan-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
}

.bloomy-list-page .bloomy-plan-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 18, 46, 0.48);
  backdrop-filter: blur(6px);
}

.bloomy-list-page .bloomy-plan-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 40px), 920px);
  max-height: calc(100vh - 40px);
  margin: 20px auto;
  overflow: auto;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.22);
}

.bloomy-list-page /* =========================================================
   10. Desktop Safety
========================================================= */

@media (min-width: 901px) {
  .bloomy-compare-mobile-summary,
  .bloomy-compare-mobile-filter-overlay,
  .bloomy-compare-mobile-sheet-head,
  .bloomy-compare-mobile-filter-trigger,
  .bloomy-mobile-filter-summary,
  .bloomy-mobile-filter-trigger,
  .bloomy-mobile-sheet-head {
    display: none !important;
  }

  body.bloomy-compare-filter-is-open {
    overflow: auto !important;
  }

  .bloomy-compare-sidebar {
    transform: none !important;
    inset: auto !important;
  }
}

.bloomy-list-page /* =========================================================
   11. Laptop / Tablet
========================================================= */

@media (max-width: 1320px) and (min-width: 901px) {
  .bloomy-list-page {
    width: min(calc(100% - 44px), 1200px);
  }

  .bloomy-compare-layout {
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 22px;
  }

  .bloomy-compare-destination-filter__card,
  .bloomy-list-filter {
    padding: 26px 26px 28px;
  }

  .bloomy-top-chip-button {
    padding: 0 11px !important;
  }

  .bloomy-top-chip-button__text {
    font-size: 12px !important;
  }
}

@media (max-height: 820px) and (min-width: 901px) {.bloomy-list-page {
    padding-top: 18px;
  }
}

.bloomy-list-page /* =========================================================
   12. Mobile Bottom Sheet
========================================================= */

@media (max-width: 900px) {
  body.bloomy-compare-filter-is-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .bloomy-list-page {
    width: min(calc(100% - 28px), 680px);
    padding: 22px 0 72px;
  }

  .bloomy-compare-hero {
    display: block;
    margin: 0 0 14px;
  }

  .bloomy-compare-hero__title {
    margin: 0 0 4px;
    color: var(--bloomy-blue-dark);
    font-size: 20px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -0.035em;
  }

  .bloomy-compare-hero__lead {
    margin: 0;
    color: var(--bloomy-blue-dark);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .bloomy-compare-layout {
    display: block !important;
  }

  .bloomy-compare-results,
  .bloomy-list-results {
    width: 100%;
  }

  .bloomy-compare-mobile-summary {
    display: block;
    margin: 0 0 14px;
  }

  .bloomy-compare-mobile-summary__button,
  .bloomy-compare-mobile-summary__inner {
    appearance: none;
    -webkit-appearance: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    padding: 15px 16px;
    border: 1px solid rgba(214, 228, 250, 0.96);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: var(--bloomy-shadow-card);
    text-align: left;
  }

  .bloomy-compare-mobile-summary__eyebrow {
    display: block;
    margin-top: 0;
    margin-bottom: 5px;
    color: #61749c;
    font-size: 11px;
    font-weight: 800;
  }

  .bloomy-compare-mobile-summary__title {
    display: block;
    margin: 0;
    color: var(--bloomy-navy);
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
  }

  .bloomy-compare-mobile-summary__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
  }

  .bloomy-compare-mobile-summary__chip {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f0f7ff;
    color: #0f3a86;
    font-size: 11.5px;
    font-weight: 800;
  }

  .bloomy-compare-mobile-summary__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid #dce9fb;
    overflow: hidden;
  }

  .bloomy-compare-mobile-summary__stats span {
    display: grid;
    place-items: center;
    gap: 5px;
    min-height: 58px;
  }

  .bloomy-compare-mobile-summary__stats small {
    color: #7b8baa;
    font-size: 10px;
    font-weight: 800;
  }

  .bloomy-compare-mobile-summary__stats strong {
    color: var(--bloomy-blue);
    font-size: 18px;
    font-weight: 800;
  }

  .bloomy-compare-mobile-summary__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 999px;
    background: linear-gradient(180deg, #0878f8 0%, #006dff 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(8, 120, 248, 0.22);
  }

  .bloomy-compare-mobile-filter-overlay {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(7, 20, 48, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease;
  }

  body.bloomy-compare-filter-is-open .bloomy-compare-mobile-filter-overlay {
    opacity: 1;
    pointer-events: auto;
  }

  .bloomy-compare-sidebar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 9999 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(88vh, 760px) !important;
    padding: 0 12px 12px !important;
    transform: translate3d(0, 105%, 0) !important;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1) !important;
    will-change: transform;
  }

  body.bloomy-compare-filter-is-open .bloomy-compare-sidebar {
    transform: translate3d(0, 0, 0) !important;
  }

  body.bloomy-compare-sheet-dragging .bloomy-compare-sidebar {
    transition: none !important;
  }

  .bloomy-compare-sidebar__inner,
  .bloomy-plan-filter {
    max-height: calc(min(88vh, 760px) - 12px);
    overflow-y: auto;
    border-radius: 28px 28px 24px 24px;
    -webkit-overflow-scrolling: touch;
  }

  .bloomy-compare-mobile-sheet-head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    min-height: 54px;
    padding: 8px 14px 4px;
  }

  .bloomy-compare-mobile-sheet-head__handle {
    grid-column: 2;
    justify-self: center;
    width: 42px;
    height: 5px;
    border-radius: 999px;
    background: #c8d5e8;
  }

  .bloomy-compare-mobile-sheet-head__copy {
    display: none;
  }

  .bloomy-compare-mobile-sheet-head__close {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: #f2f6fb;
    color: var(--bloomy-navy);
    font-size: 20px;
    font-weight: 800;
  }

  .bloomy-compare-destination-filter__card,
  .bloomy-list-filter {
    padding: 20px 16px 22px;
    border-radius: 24px;
  }

  .bloomy-compare-destination-filter__head {
    align-items: flex-start;
    margin-bottom: 18px;
  }

  .bloomy-compare-destination-filter__title {
    font-size: 19px;
  }

  .bloomy-top-searchbar {
    min-height: 56px;
    padding: 8px 46px 8px 48px;
    border-radius: 15px;
  }

  .bloomy-top-filter__chips,
  .bloomy-list-country-chips,
  .bloomy-list-area-grid {
    flex-wrap: wrap !important;
    gap: 8px !important;
    overflow-x: visible !important;
  }

  .bloomy-top-chip-button,
  .bloomy-top-area-button {
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 12px !important;
  }

  .bloomy-top-chip-button__text,
  .bloomy-top-area-button__label {
    font-size: 12px !important;
  }
}

.bloomy-list-page /* =========================================================
   13. Small Mobile
========================================================= */

@media (max-width: 520px) {
  .bloomy-list-page {
    width: min(calc(100% - 20px), 440px);
    padding-top: 16px;
  }

  .bloomy-compare-hero__title {
    font-size: 18px;
  }

  .bloomy-compare-hero__lead {
    font-size: 12.5px;
  }

  .bloomy-compare-destination-filter__card,
  .bloomy-list-filter {
    padding: 18px 14px 20px;
  }

  .bloomy-top-searchbar {
    min-height: 54px;
    padding-left: 46px;
  }
}

/* =========================================================
   Bloomy Compare Latest Mobile UX Patch
   - Mobile bottom sticky with plan tabs + metrics + condition button
   - Comparison sheet is for condition editing, no popular-country chips
   - Top summary is not sticky; bottom sticky owns main mobile actions
========================================================= */

@media (max-width: 900px) {
  .bloomy-list-page {
    padding-bottom: calc(168px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bloomy-compare-hero {
    margin-bottom: 10px !important;
  }

  .bloomy-compare-mobile-summary {
    margin-bottom: 12px !important;
  }

  .bloomy-compare-mobile-summary__button,
  .bloomy-compare-mobile-summary__inner {
    padding: 14px 15px !important;
    gap: 8px !important;
  }

  .bloomy-compare-mobile-summary__eyebrow {
    margin-bottom: 4px !important;
  }

  .bloomy-compare-mobile-summary__title {
    font-size: 17px !important;
  }

  .bloomy-compare-mobile-summary__stats,
  .bloomy-compare-mobile-summary__action {
    display: none !important;
  }

  .bloomy-compare-sidebar {
    max-height: min(92vh, 820px) !important;
  }

  .bloomy-compare-sidebar__inner,
  .bloomy-plan-filter {
    max-height: calc(min(92vh, 820px) - 12px) !important;
  }

  .bloomy-compare-destination-filter--sheet-lite {
    padding: 0 14px 14px;
  }

  .bloomy-compare-destination-filter--sheet-lite .bloomy-compare-destination-filter__card {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .bloomy-compare-destination-filter--sheet-lite .bloomy-compare-destination-filter__head {
    margin-bottom: 10px !important;
  }

  .bloomy-compare-destination-filter--sheet-lite .bloomy-compare-destination-filter__title {
    font-size: 15px !important;
  }

  .bloomy-compare-results {
    scroll-margin-top: 18px;
  }
}


/* =========================================================
   v3 safety polish
   - Mobile top stays lightweight: hero is hidden; summary remains non-sticky.
   - Bottom sticky gets enough breathing room.
========================================================= */
@media (max-width: 900px) {
  .bloomy-compare-hero {
    display: none !important;
  }

  .bloomy-list-page {
    padding-bottom: calc(176px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bloomy-compare-mobile-summary {
    position: static !important;
  }
}


/* =========================================================
   v5.2 final clean layout contract
   - PC: left column = condition filter, right column top = tag-based destination filter.
   - Mobile: condition filter appears only as bottom sheet; no inline left-column filter.
   - Mobile sheet keeps destination search, but hides popular/area quick tags.
========================================================= */
@media (min-width: 901px) {
  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    column-gap: 26px !important;
    row-gap: 24px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: contents !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: sticky !important;
    top: 82px !important;
    align-self: start !important;
    width: 100% !important;
    max-height: calc(100vh - 96px) !important;
    overflow-y: auto !important;
    z-index: 2 !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner {
    top: 104px !important;
    max-height: calc(100vh - 118px) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 1 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite .bloomy-compare-destination-filter__card {
    display: block !important;
    padding: 24px !important;
    border-radius: 28px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick {
    margin-top: 18px;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-title {
    margin: 0 0 10px;
    color: #6b7fa3;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .02em;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(194, 216, 246, .95);
    background: rgba(255, 255, 255, .94);
    color: #0a2b66;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip:hover,
  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip.is-selected {
    border-color: rgba(8, 120, 248, .44);
    background: rgba(232, 243, 255, .98);
    box-shadow: 0 8px 18px rgba(8, 120, 248, .10);
    transform: translateY(-1px);
  }

  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page .bloomy-list-results {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
  }
}

@media (max-width: 900px) {
  .bloomy-list-page .bloomy-compare-layout {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(90dvh, 780px) !important;
    padding: 0 12px 12px !important;
    margin: 0 !important;
    z-index: 9999 !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .18s ease, visibility .18s ease !important;
    will-change: transform;
  }

  body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-sidebar {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.bloomy-compare-sheet-dragging .bloomy-list-page .bloomy-compare-sidebar {
    transition: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    position: relative !important;
    width: 100% !important;
    max-height: calc(min(90dvh, 780px) - 88px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 0 0 24px 24px !important;
    padding-top: 0 !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite .bloomy-compare-destination-filter__card {
    border-radius: 24px 24px 0 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    padding: 20px 20px 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page .bloomy-list-results {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   v5.2 safety override
   Purpose:
   - PC: left column = condition filter only.
   - PC: right column top = destination filter with quick tags.
   - Mobile normal view: NO inline desktop-style filter.
   - Mobile sheet: destination search is shown, quick tags are hidden.
   This block intentionally stays last so older duplicated CSS cannot override it.
========================================================= */
@media (min-width: 901px) {
  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 24px 26px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: contents !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head,
  .bloomy-list-page .bloomy-compare-mobile-filter-overlay {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: sticky !important;
    top: 82px !important;
    align-self: start !important;
    width: 100% !important;
    max-height: calc(100vh - 96px) !important;
    overflow-y: auto !important;
    z-index: 2 !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner {
    top: 104px !important;
    max-height: calc(100vh - 118px) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 1 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite .bloomy-compare-destination-filter__card {
    display: block !important;
    padding: 24px !important;
    border-radius: 28px !important;
    box-shadow: var(--bloomy-shadow-card) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page .bloomy-list-results {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
  }
}

@media (max-width: 900px) {
  .bloomy-list-page {
    padding-bottom: calc(178px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(90dvh, 780px) !important;
    padding: 0 12px 12px !important;
    margin: 0 !important;
    z-index: 9999 !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .18s ease, visibility .18s ease !important;
    will-change: transform !important;
  }

  body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-sidebar {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.bloomy-compare-sheet-dragging .bloomy-list-page .bloomy-compare-sidebar {
    transition: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    position: relative !important;
    width: 100% !important;
    max-height: calc(min(90dvh, 780px) - 88px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 0 0 24px 24px !important;
    padding-top: 0 !important;
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter--sheet-lite .bloomy-compare-destination-filter__card {
    border-radius: 24px 24px 0 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    padding: 20px 20px 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page .bloomy-list-results {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* =========================================================
   Bloomy Compare v6 UX / Layout Final Overrides
   - PC: left filter + right destination filter + results.
   - Mobile: one-column cards, bottom sticky + bottom sheet only.
   - Mobile bottom sheet: header / scroll body / sticky CTA.
========================================================= */

html {
  scroll-padding-top: 88px;
}

#bloomy-compare-search,
#bloomy-list-results,
#bloomy-mobile-results-head {
  scroll-margin-top: 88px;
}

@media (min-width: 901px) {
  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 24px 26px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: contents !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head,
  .bloomy-list-page .bloomy-compare-mobile-filter-overlay {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: sticky !important;
    top: 82px !important;
    align-self: start !important;
    width: 100% !important;
    max-height: calc(100vh - 96px) !important;
    overflow-y: auto !important;
    z-index: 2 !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner {
    top: 104px !important;
    max-height: calc(100vh - 118px) !important;
  }

  .bloomy-list-page #bloomy-compare-search.bloomy-compare-destination-filter--sheet-lite {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 1 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    display: block !important;
    padding: 24px !important;
    border-radius: 28px !important;
    box-shadow: var(--bloomy-shadow-card) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page .bloomy-list-results {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1439px) {
}

@media (min-width: 1440px) {
}

@media (max-width: 900px) {
  html {
    scroll-padding-top: 16px;
  }

  #bloomy-compare-search,
  #bloomy-list-results,
  #bloomy-mobile-results-head {
    scroll-margin-top: 16px;
  }

  .bloomy-list-page {
    padding-bottom: calc(178px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bloomy-list-page .bloomy-compare-hero {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(90dvh, 780px) !important;
    padding: 0 12px 12px !important;
    margin: 0 !important;
    z-index: 9999 !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .18s ease, visibility .18s ease !important;
    will-change: transform !important;
  }

  body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-sidebar {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.bloomy-compare-sheet-dragging .bloomy-list-page .bloomy-compare-sidebar {
    transition: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    display: flex !important;
    flex: 0 0 auto !important;
    border-radius: 28px 28px 0 0 !important;
    background: #fff !important;
    z-index: 4 !important;
  }

  .bloomy-list-page #bloomy-compare-search.bloomy-compare-destination-filter--sheet-lite {
    flex: 0 0 auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    border-radius: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    padding: 18px 18px 10px !important;
    background: #fff !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    flex: 1 1 auto !important;
    position: relative !important;
    width: 100% !important;
    max-height: calc(min(90dvh, 780px) - 170px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 0 0 24px 24px !important;
    padding-top: 0 !important;
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
    background: #fff !important;
  }

  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page .bloomy-list-results {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
}

/* =========================================================
   Bloomy Compare v6.1 Bottom Sheet / PC Cards Polish
   - Mobile sheet is one coherent panel.
   - Destination search stays inside the sheet scroll body.
   - CTA stays at the bottom of the sheet.
   - PC cards use 3 columns when there is enough width.
========================================================= */

@media (min-width: 901px) {
  #bloomy-compare-search {
    scroll-margin-top: 104px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    padding: 18px 20px !important;
    border-radius: 24px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    align-items: center !important;
    margin-bottom: 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__eyebrow {
    margin-bottom: 2px !important;
    font-size: 11px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    font-size: 19px !important;
    line-height: 1.2 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-list-filter__group {
    margin: 0 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-list-filter__group-title,
  .bloomy-list-page #bloomy-compare-search .bloomy-list-filter__subhead {
    display: none !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-list-filter__search--top {
    margin-top: 0 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-searchbar {
    min-height: 58px !important;
    padding: 8px 14px !important;
    border-radius: 18px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick {
    margin-top: 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-title {
    margin-bottom: 7px !important;
    font-size: 11px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-list {
    gap: 7px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-chip {
    min-height: 31px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
  }
}

@media (min-width: 1180px) {
}

@media (min-width: 901px) and (max-width: 1179px) {
}

@media (max-width: 900px) {
  body.bloomy-compare-filter-is-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: flex !important;
    flex-direction: column !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-height: min(92dvh, 820px) !important;
    padding: 0 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 30px 30px 0 0 !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 0 0 auto !important;
    min-height: 66px !important;
    padding: 10px 18px 12px !important;
    border-radius: 30px 30px 0 0 !important;
    border-bottom: 1px solid rgba(200, 221, 248, .8) !important;
    background: #ffffff !important;
    box-shadow: 0 -10px 30px rgba(9, 76, 142, .08) !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__handle {
    position: absolute !important;
    top: 8px !important;
    left: 50% !important;
    width: 42px !important;
    height: 4px !important;
    border-radius: 999px !important;
    background: rgba(17, 61, 118, .22) !important;
    transform: translateX(-50%) !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding-top: 10px !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__copy span {
    color: #6f84a8 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__copy strong {
    color: var(--bloomy-blue-dark) !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__close {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin-left: auto !important;
    padding: 0 !important;
    border: 1px solid rgba(203, 220, 246, .95) !important;
    border-radius: 999px !important;
    background: #f7fbff !important;
    color: var(--bloomy-blue-dark) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__scroll {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 0 0 26px 26px !important;
    background: #ffffff !important;
  }

  .bloomy-list-page #bloomy-compare-search.bloomy-compare-destination-filter--sheet-lite {
    display: block !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    padding: 18px 18px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(204, 222, 248, .8) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    align-items: center !important;
    margin: 0 0 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__eyebrow {
    margin-bottom: 2px !important;
    font-size: 11px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__reset,
  .bloomy-list-page .bloomy-plan-filter__clear {
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-searchbar {
    min-height: 74px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick,
  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 14px 18px 8px !important;
    border-radius: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }
}

/* =========================================================
   v7 UI polish / search-result layout / mobile sheet stability
   - mobile cards stretch to viewport width
   - mobile result header uses compact condition chips + one-line toolbar
   - PC uses 3-column cards, tablet 2, phone 1
   - PC destination filter is compact and anchor-friendly
   - mobile sheet footer stays at the bottom
========================================================= */

.bloomy-list-page #bloomy-compare-search {
  scroll-margin-top: 104px;
}

@media (min-width: 901px) {
  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    padding: 18px 20px 16px !important;
    border-radius: 24px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    align-items: center !important;
    margin-bottom: 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__eyebrow {
    margin-bottom: 2px !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-searchbar {
    min-height: 58px !important;
    padding: 9px 12px !important;
    border-radius: 18px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick {
    margin-top: 10px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-title {
    margin: 0 0 7px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-list {
    gap: 7px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-chip {
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
}

@media (max-width: 767px) {
  .bloomy-list-page {
    padding-bottom: 178px !important;
  }

  .bloomy-list-page .bloomy-compare-hero {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary {
    display: block !important;
    padding: 18px 16px 8px !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__inner {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__eyebrow {
    margin: 0 0 4px !important;
    color: #4f78b7 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__title {
    margin: 0 0 10px !important;
    color: var(--bloomy-blue-dark) !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__chips {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 0 0 4px !important;
    scrollbar-width: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__chips::-webkit-scrollbar {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__chip {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    border: 1px solid rgba(188, 214, 247, .95) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .86) !important;
    color: #123366 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 20px rgba(62, 118, 190, .08) !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    width: 100% !important;
    max-width: none !important;
    padding: 0 16px !important;
    margin: 0 !important;
  }

  .bloomy-list-page .bloomy-sort-dropdown__button {
    min-height: 38px !important;
    max-width: 156px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  .bloomy-list-page .bloomy-sort-dropdown__current {
    max-width: 112px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 900px) {
  .bloomy-list-page .bloomy-compare-sidebar {
    position: fixed !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-height: min(92dvh, 820px) !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    border-radius: 30px 30px 0 0 !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-sidebar {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 0 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__reset {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   v7.1 FINAL LAYOUT / MOBILE SHEET SAFETY OVERRIDE
   Purpose:
   - PC: left conditions, right destination search, card grid below.
   - Mobile: no inline desktop filter; bottom sticky + bottom sheet only.
   - Mobile card/result header polish.
   - Keep this block at the very end of the snippet/file.
========================================================= */

.bloomy-list-page {
  --bloomy-mobile-gutter: 16px;
  --bloomy-sticky-height: 154px;
}

/* Anchor landing: fixed header friendly */
#bloomy-compare-search,
#bloomy-list-results,
#bloomy-mobile-results-head {
  scroll-margin-top: 104px;
}

/* ---------- PC / desktop layout ---------- */
@media (min-width: 901px) {
  .bloomy-list-page .bloomy-compare-mobile-summary,
  .bloomy-list-page .bloomy-compare-mobile-filter-overlay,
  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) !important;
    gap: 26px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: contents !important;
    position: static !important;
    width: auto !important;
    max-height: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__scroll {
    display: contents !important;
    overflow: visible !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: sticky !important;
    top: 96px !important;
    align-self: start !important;
    min-width: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    scroll-margin-top: 104px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card {
    padding: 18px 20px !important;
    border-radius: 24px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__eyebrow {
    margin: 0 0 3px !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__title {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter .bloomy-list-filter__group {
    margin: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick {
    display: block !important;
    margin-top: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-title {
    margin: 0 0 8px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #48658f !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip {
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    box-shadow: none !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1240px) {
}

@media (min-width: 768px) and (max-width: 900px) {
}

/* ---------- Mobile base ---------- */
@media (max-width: 900px) {
  html body.bloomy-compare-filter-is-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  .bloomy-list-page {
    padding-bottom: calc(var(--bloomy-sticky-height) + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: block !important;
    width: 100% !important;
  }

  .bloomy-list-page .bloomy-compare-hero {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary {
    display: block !important;
    padding: 18px var(--bloomy-mobile-gutter) 10px !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__eyebrow {
    margin: 0 0 4px !important;
    color: #4b74b1 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__title {
    margin: 0 0 10px !important;
    color: #09285c !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__chips {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 0 0 4px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__chips::-webkit-scrollbar {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary__chip {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    border: 1px solid rgba(188, 214, 247, .95) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .86) !important;
    color: #123366 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 20px rgba(62, 118, 190, .08) !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 var(--bloomy-mobile-gutter) !important;
  }

  .bloomy-list-page .bloomy-sort-dropdown__button {
    min-height: 38px !important;
    max-width: 156px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  .bloomy-list-page .bloomy-sort-dropdown__current {
    max-width: 112px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-filter-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9997 !important;
    background: rgba(8, 28, 60, .38) !important;
    backdrop-filter: blur(3px) !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-filter-overlay[hidden] {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    z-index: 9998 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: min(92dvh, 820px) !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    border-radius: 30px 30px 0 0 !important;
    background: #f4f8ff !important;
    box-shadow: 0 -24px 60px rgba(13, 46, 87, .24) !important;
    overflow: hidden !important;
  }

  body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-sidebar {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 10px 18px 12px !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(204, 222, 248, .9) !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__handle {
    position: absolute !important;
    top: 7px !important;
    left: 50% !important;
    width: 44px !important;
    height: 5px !important;
    transform: translateX(-50%) !important;
    border-radius: 999px !important;
    background: rgba(128, 154, 190, .45) !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding-top: 10px !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__copy span {
    color: #6d82a3 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__copy strong {
    color: #09285c !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border: 1px solid rgba(196, 214, 240, .9) !important;
    border-radius: 50% !important;
    background: #f7fbff !important;
    color: #123366 !important;
    font-size: 19px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 14px 16px 0 !important;
    background: #f4f8ff !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card,
  .bloomy-list-page .bloomy-compare-sidebar__inner {
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 32px rgba(15, 75, 129, .08) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card {
    padding: 16px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__eyebrow {
    margin: 0 0 3px !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__title {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__reset {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    margin: 0 0 12px !important;
    padding: 16px !important;
    position: static !important;
  }
}

@media (max-width: 380px) {
  .bloomy-list-page {
    --bloomy-mobile-gutter: 14px;
  }

  .bloomy-list-page .bloomy-sort-dropdown__button {
    max-width: 138px !important;
    padding-inline: 11px !important;
  }
}


/* =========================================================
   v8 Search UX / Result Sync / Bottom Sheet Integration
   This block intentionally overrides older comparison CSS.
========================================================= */

/* Search hint must be visible. Only the measure element stays hidden. */
.bloomy-list-page .bloomy-top-searchbar__measure {
  position: absolute !important;
  visibility: hidden !important;
  pointer-events: none !important;
  white-space: pre !important;
}

.bloomy-list-page .bloomy-top-searchbar__hint {
  position: absolute !important;
  display: none;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: 40 !important;
  max-width: min(220px, calc(100% - 24px));
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bloomy-list-page .bloomy-top-searchbar__hint.is-guide {
  color: #1d63df;
  background: #eef5ff;
  border: 1px solid #cfe1ff;
}

.bloomy-list-page .bloomy-top-searchbar__hint.is-error {
  color: #d93c3c;
  background: #fff1f1;
  border: 1px solid #ffd0d0;
}

.bloomy-list-page .bloomy-sort-dropdown {
  position: relative;
  flex: 0 0 auto;
}

.bloomy-list-page .bloomy-sort-dropdown__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #d8e4ff;
  background: #fff;
  color: #173b86;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(83, 114, 188, 0.07);
}

.bloomy-list-page .bloomy-sort-dropdown__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 50;
  min-width: 190px;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid #dce7ff;
  background: #fff;
  box-shadow: 0 18px 34px rgba(37, 72, 148, 0.15);
}

.bloomy-list-page .bloomy-sort-dropdown__option {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #263d78;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.bloomy-list-page .bloomy-sort-dropdown__option:hover,
.bloomy-list-page .bloomy-sort-dropdown__option.is-active {
  background: #eef5ff;
  color: #1d63df;
}

/* PC layout: left filters, TOP-style destination filter on right, cards below. */
@media (min-width: 901px) {
  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: contents !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    scroll-margin-top: 104px;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: sticky !important;
    top: 104px !important;
    align-self: start !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    padding: 20px 22px 18px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.965) !important;
    border: 1px solid rgba(214,226,248,0.95) !important;
    box-shadow: 0 14px 34px rgba(26,56,112,0.09), inset 0 1px 0 rgba(255,255,255,0.9) !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    margin-bottom: 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__eyebrow {
    margin: 0 0 4px !important;
    color: #4c7ce6 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    margin: 0 !important;
    color: #07163f !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-searchbar {
    min-height: 46px !important;
    border-radius: 13px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick {
    display: block !important;
    margin-top: 14px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-title {
    margin: 0 0 8px !important;
    color: #07163f !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 750 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-chip-button {
    min-height: 34px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-area-button {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    min-height: 46px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-area-button__icon,
  .bloomy-list-page #bloomy-compare-search .bloomy-top-area-button__icon img {
    width: 32px !important;
    height: 32px !important;
  }
}

@media (min-width: 901px) and (max-width: 1240px) {
}

/* Tablet and mobile cards. */
@media (min-width: 768px) and (max-width: 900px) {
}

@media (max-width: 767px) {
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    padding-inline: 16px !important;
  }

  .bloomy-list-page .bloomy-sort-dropdown__button {
    min-height: 38px !important;
    max-width: 160px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  .bloomy-list-page .bloomy-sort-dropdown__current {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* Mobile bottom sheet: one integrated search-condition panel. */
@media (max-width: 900px) {
  .bloomy-list-page .bloomy-compare-sidebar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 10020 !important;
    display: flex !important;
    flex-direction: column !important;
    max-height: min(92dvh, 780px) !important;
    border-radius: 28px 28px 0 0 !important;
    overflow: hidden !important;
    background: #f5f8ff !important;
    border: 1px solid rgba(214,226,248,0.95) !important;
    box-shadow: 0 -18px 46px rgba(18,45,98,0.22) !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .26s ease, opacity .2s ease, visibility .2s ease !important;
  }

  body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-sidebar {
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    flex: 0 0 auto !important;
    padding: 10px 18px 12px !important;
    background: #f5f8ff !important;
    border-bottom: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-sheet-head__close {
    width: 36px !important;
    height: 36px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #e8f0ff !important;
    color: #5670a5 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__scroll {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 16px 118px !important;
    background: #f5f8ff !important;
  }

  .bloomy-list-page #bloomy-compare-search.bloomy-compare-destination-filter--sheet-lite,
  .bloomy-list-page .bloomy-compare-sidebar__inner {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    margin: 0 !important;
    padding: 16px 16px 14px !important;
    border-radius: 22px 22px 0 0 !important;
    background: #fff !important;
    border: 1px solid #dce7fa !important;
    border-bottom: 0 !important;
    box-shadow: 0 10px 22px rgba(73,113,194,.08) !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    padding: 0 16px 16px !important;
    border-radius: 0 0 22px 22px !important;
    background: #fff !important;
    border: 1px solid #dce7fa !important;
    border-top: 0 !important;
    box-shadow: 0 14px 24px rgba(73,113,194,.08) !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    margin-bottom: 10px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__eyebrow {
    display: none !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #173b86 !important;
    letter-spacing: -0.02em !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick,
  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: none !important;
  }
}

@keyframes bloomyCompareCardIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
}


/* =========================================================
   v9髯橸ｽｳ雋企屮�ｽ�ｩ雋�ｽｷ�ｽ�ｮ霑壼遜�ｽ�ｮ陞｢�ｼ陜滂ｽｧ驛｢譏懶ｽｻ�｣郢晢ｽ｣驛｢譎｢�ｿ�ｽ
   - v8驍ｵ�ｺ�ｽ�ｮ髯区ｺｷ謠�ｿｽ�｣隲幄ご�ｽ驛｢譎｢�ｽ�ｻ髫ｴ蟠｢ﾂ髯橸ｽｳ霑壼雀蛻晞垓蠑ｱ��ｲょ､奇ｽｭ謫ｾ�ｿ�ｽ驛｢�ｧ陜｣�､�ｽ�ｶ�ｽ�ｭ髫ｰ蜴�ｽｿ�ｽ
   - 驛｢譎｢�ｽ�｢驛｢譎�ｿｽ邵ｺ�ｽ�ｹ譎｢�ｽ�ｫ驛｢譎�鯵郢晢ｽｨ驛｢譎｢�ｿ�ｽ驛｢�ｧ�ｽ�ｷ驛｢譎｢�ｽ�ｼ驛｢譎冗樟�つ遶丞､ｲ�ｿ�ｽ驛｢譎｢�ｿ�ｽ郢晢ｿｽ驛｢譎｢�ｽ�ｼ鬯ｩ�･鬮ｦ�ｪ遶企��ｹ�ｧ驗呻ｽｫ�つ遶丞｣ｹ窶ｳ驛｢譎｢�ｽ�ｼ驛｢譎臥櫨�ｽ�ｯ�ｽ�ｽ�ｽ�ｺ�ｽ�ｦ驍ｵ�ｲ遶丞｣ｹ笆�驛｢譎｢�ｿ�ｽ�ｽ�ｽ鬯ｮ�ｦ�ｽ�ｻ髯橸ｽｳ�ｽ�ｳ驛｢�ｧ陷ｻ閧ｲ�ｴ蟷δ�ｽ�ｿ�ｽ
========================================================= */

/* 髯懈圜�ｽ�ｺ髯橸ｽｳ陞｢�ｹ�ｽ�ｽ驛｢譎｢�ｿ�ｽ郢晢ｿｽ驛｢譎｢�ｽ�ｼ驛｢譎｢�ｽ�ｻ驛｢�ｧ�ｽ�｢驛｢譎｢�ｽ�ｳ驛｢�ｧ�ｽ�ｫ驛｢譎｢�ｽ�ｼ鬯ｩ蛹�ｽｽ�ｷ鬩募∞�ｽ�ｻ驍ｵ�ｺ�ｽ�ｮ鬯ｩ�･鬮ｦ�ｪ遶企��ｹ�ｧ鬮ｮ�ｽ�ｽ�ｯ�ｽ�ｾ鬩包ｽｲ�ｽ�ｽ */
.bloomy-list-page {
  padding-top: max(104px, env(safe-area-inset-top)) !important;
}

#bloomy-compare-search,
#bloomy-list-results,
#bloomy-mobile-results-head,
.bloomy-list-page .bloomy-compare-destination-filter,
.bloomy-list-page .bloomy-list-results,
.bloomy-list-page .bloomy-compare-results {
  scroll-margin-top: 118px !important;
}

body.admin-bar #bloomy-compare-search,
body.admin-bar #bloomy-list-results,
body.admin-bar #bloomy-mobile-results-head {
  scroll-margin-top: 150px !important;
}

@media (max-width: 767px) {
  .bloomy-list-page {
    padding-top: max(92px, env(safe-area-inset-top)) !important;
  }

  #bloomy-compare-search,
  #bloomy-list-results,
  #bloomy-mobile-results-head,
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    scroll-margin-top: 98px !important;
  }
}

/* 髫ｶﾂ隲幢ｿｽ�ｽ�ｴ�ｽ�｢驛｢譎擾ｿｽ�趣ｽｦ驛｢譎冗樟遶雁ｸ晏搦陜捺ｻゑｽｽ�ｸ�ｽ�ｬ鬨ｾ蛹�ｽｽ�ｨspan驛｢�ｧ髮区ｩｸ�ｿ�ｽ鬯ｮ�ｮ�ｽ�｢驍ｵ�ｲ�ｽ�ｮeasure驍ｵ�ｺ�ｽ�ｽ驍ｵ�ｺ魄�ｽｹ陜ｨ迢暦ｽｸ�ｺ�ｽ�ｽ */
.bloomy-list-page .bloomy-top-searchbar__measure {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  white-space: pre !important;
}

.bloomy-list-page .bloomy-top-searchbar__hint {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 40 !important;
  visibility: visible !important;
  pointer-events: none !important;
  max-width: min(260px, 80vw) !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.bloomy-list-page .bloomy-top-searchbar__hint.is-guide {
  background: #eef6ff !important;
  color: #1167d8 !important;
  border: 1px solid #cfe3ff !important;
}

.bloomy-list-page .bloomy-top-searchbar__hint.is-error {
  background: #fff7ed !important;
  color: #c2410c !important;
  border: 1px solid #fed7aa !important;
}

/* PC: TOP鬯ｯ螟ｲ�ｽ�ｨ驍ｵ�ｺ�ｽ�ｮ髯懈圜�ｽ�ｽ鬯ｩ蛹�ｽｽ�ｸ髫ｰ螢ｽ�ｧ�ｭ邵ｺ蜥ｲ�ｹ譎｢�ｽ�ｼ驛｢譎擾ｽｳ�ｨ�ｽ螳壽ｰ｣闔会ｽ｣�ｽ�ｽ髣厄ｽｴ陟托ｽｱ�ｽ�･驍ｵ�ｲ遶丞｣ｹ窶ｳ驛｢譎｢�ｽ�ｼ驛｢譎�ｿｽ�ｽ�ｸ�つ鬮ｫ蛹�ｽｽ�ｧ驍ｵ�ｺ�ｽ�ｸ鬮｢�ｾ�ｽ�ｪ髴取ｻゑｽｽ�ｶ驍ｵ�ｺ�ｽ�ｫ髮趣ｽｬ遶丞｣ｺ�ｽ */
@media (min-width: 901px) {
  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    padding: 20px 22px 18px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.965) !important;
    border: 1px solid rgba(214,226,248,.96) !important;
    box-shadow: 0 16px 34px rgba(26,56,112,.10), inset 0 1px 0 rgba(255,255,255,.92) !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    margin-bottom: 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    letter-spacing: -.035em !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-searchbar {
    min-height: 46px !important;
    border-radius: 13px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick {
    margin-top: 12px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-title {
    margin-bottom: 8px !important;
    font-size: 13px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__quick-list {
    gap: 8px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-top-chip-button,
  .bloomy-list-page #bloomy-compare-search .bloomy-top-area-button {
    min-height: 36px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    font-size: 12.5px !important;
  }
}

/* 驛｢譎｢�ｽ�｢驛｢譎�ｿｽ邵ｺ�ｽ�ｹ譎｢�ｽ�ｫ鬯ｨ�ｾ陞｢�ｼ�ｽ�ｸ�ｽ�ｸ髫ｴ蠑ｱ�托ｿｽ�ｼ陞溷･�ｽｽ�ｦ闕ｵ譏ｶ譁｡驍ｵ�ｺ�ｽ�ｪ驍ｵ�ｺ�ｽ�ｽ�ｽ�ｽ驛｢譎冗樟�主�､�ｹ�ｧ�ｽ�ｷ驛｢譎｢�ｽ�ｼ驛｢譎｢�ｿ�ｽ/overlay驍ｵ�ｺ陟暮ｯ会ｽｿ�ｽ驛｢譎｢�ｿ�ｽ郢晢ｿｽ驛｢譎｢�ｽ�ｼ驛｢�ｧ�ｽ�ｽ郢晢ｽｯ驛｢譎｢�ｽ�ｳ驛｢譎�ｿｽ�ｽ�ｽ驛｢�ｧ�ｽ�ｬ驛｢譎｢�ｽ�ｼ驛｢�ｧ髮区ｩｸ�ｽ�･�ｽ�ｪ驛｢�ｧ闕ｳ蟯ｩ�ｽ驍ｵ�ｺ�ｽ�ｽ�ｽ閧ｲ�ｸ�ｺ�ｽ�ｽ遶企豪�ｸ�ｺ陷ｷ�ｶ�ｽ�ｽ */
.bloomy-list-page .bloomy-compare-mobile-filter-overlay[hidden] {
  display: none !important;
}

.bloomy-list-page .bloomy-compare-mobile-filter-overlay {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-mobile-filter-overlay {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (max-width: 900px) {
  .bloomy-list-page .bloomy-compare-sidebar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 10020 !important;
    display: flex !important;
    flex-direction: column !important;
    max-height: min(91dvh, 760px) !important;
    border-radius: 28px 28px 0 0 !important;
    overflow: hidden !important;
    background: #f5f8ff !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    touch-action: auto !important;
  }

  body.bloomy-compare-filter-is-open .bloomy-list-page .bloomy-compare-sidebar {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.bloomy-compare-filter-is-open {
    overflow: hidden !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 14px 114px !important;
    background: #f5f8ff !important;
  }

  /* 驛｢譎�鯵郢晢ｽｨ驛｢譎｢�ｿ�ｽ驛｢�ｧ�ｽ�ｷ驛｢譎｢�ｽ�ｼ驛｢譏懶ｽｺ�･�ｽ�ｽ驍ｵ�ｺ�ｽ�ｯ1髫ｴ�ｫ陞｢�ｹ�ｽ�ｽ髫ｶﾂ隲幢ｿｽ�ｽ�ｴ�ｽ�｢髫ｴ螟ｲ�ｽ�｡髣比ｼ夲ｽｽ�ｶ驛｢�ｧ�ｽ�ｫ驛｢譎｢�ｽ�ｼ驛｢譎擾ｽｳ�ｨ遶雁�､�ｸ�ｺ陷会ｽｱ遯ｶ�ｻ鬮ｫ遨ゑｽｹ譏ｶ髮ｷ驛｢�ｧ�ｽ�ｽ */
  .bloomy-list-page #bloomy-compare-search.bloomy-compare-destination-filter--sheet-lite,
  .bloomy-list-page .bloomy-compare-sidebar__inner {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    margin: 0 !important;
    padding: 15px 15px 12px !important;
    border-radius: 22px 22px 0 0 !important;
    background: #fff !important;
    border: 1px solid #dce7fa !important;
    border-bottom: 0 !important;
    box-shadow: 0 10px 20px rgba(73,113,194,.075) !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    padding: 0 15px 14px !important;
    border-radius: 0 0 22px 22px !important;
    background: #fff !important;
    border: 1px solid #dce7fa !important;
    border-top: 0 !important;
    box-shadow: 0 14px 22px rgba(73,113,194,.075) !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    margin-bottom: 9px !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__reset {
    font-size: 11.5px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick,
  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    display: none !important;
  }

  /* iPhone Safari input zoom髯晢ｿｽ�ｽ�ｾ鬩包ｽｲ�ｽ�ｽ: 16px髫ｴ蟷｢�ｽ�ｪ髮具ｿｽﾂ驍ｵ�ｺ�ｽ�ｫ驍ｵ�ｺ陷会ｽｱ遶企��ｸ�ｺ�ｽ�ｽ */
  .bloomy-list-page .bloomy-compare-sidebar #bloomyListCountrySearchInput,
  .bloomy-list-page .bloomy-compare-sidebar .bloomy-top-searchbar__input {
    font-size: 16px !important;
    line-height: 1.42 !important;
    transform: none !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar .bloomy-top-searchbar__placeholder {
    font-size: 14px !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar .bloomy-top-searchbar {
    min-height: 54px !important;
  }
}

/* 驛｢譎｢�ｽ�｢驛｢譎�ｿｽ邵ｺ�ｽ�ｹ譎｢�ｽ�ｫ驛｢�ｧ�ｽ�ｫ驛｢譎｢�ｽ�ｼ驛｢譎臥櫨�ｽ�ｯ�ｽ�ｽ�ｽ�ｺ�ｽ�ｦ髫ｴ蟠｢ﾂ鬯ｩ蛹�ｽｽ�ｩ髯具ｽｹ�ｽ�ｽ */
@media (max-width: 767px) {
  .bloomy-list-page {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page .bloomy-list-results {
    padding-inline: 10px !important;
    padding-bottom: 178px !important;
  }
}

/* =========================================================
   v2 Reset: remove compare mobile bottom sheet + restore desktop layout
   - PC: left condition filter / right TOP-like destination filter / results
   - Mobile: results + bottom sticky only. No condition bottom sheet.
========================================================= */

.bloomy-list-page .bloomy-compare-main {
  min-width: 0;
}

@media (min-width: 901px) {
  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    display: block !important;
    grid-column: 1 !important;
    position: sticky !important;
    top: 112px !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100dvh - 132px) !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 144px !important;
    max-height: calc(100dvh - 164px) !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    grid-column: 2 !important;
    display: block !important;
    min-width: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    position: relative !important;
    max-height: calc(100dvh - 132px) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 18px !important;
    border-radius: 28px !important;
    background: #fff !important;
    border: 1px solid rgba(211, 226, 255, 0.95) !important;
    box-shadow: 0 14px 34px rgba(54, 94, 168, 0.10) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner {
    max-height: calc(100dvh - 164px) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter {
    display: block !important;
    margin: 0 0 18px !important;
    scroll-margin-top: 124px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card {
    padding: 20px 22px 18px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(214, 226, 248, 0.95) !important;
    box-shadow: 0 14px 34px rgba(26, 56, 112, 0.09), inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 13px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__eyebrow {
    margin: 0 0 4px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    color: #4c7ce6 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__title {
    margin: 0 !important;
    color: #07163f !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__reset {
    flex: 0 0 auto !important;
    margin-top: 2px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__search-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 210px !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__submit {
    min-height: 46px !important;
    width: 100% !important;
    border-radius: 13px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick {
    display: block !important;
    margin-top: 14px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-title {
    margin: 0 0 8px !important;
    color: #07163f !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip {
    min-height: 36px !important;
    border-radius: 10px !important;
  }

  @media (max-width: 1240px) {
  }
}

@media (max-width: 900px) {
  .bloomy-list-page {
    padding-top: 104px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 158px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: block !important;
  }

  /* Mobile bottom sheet has intentionally been removed in this reset version. */
  .bloomy-list-page .bloomy-compare-sidebar,
  .bloomy-list-page .bloomy-compare-destination-filter,
  .bloomy-list-page .bloomy-compare-mobile-filter-overlay,
  .bloomy-list-page .bloomy-plan-filter__footer,
  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.bloomy-compare-filter-is-open {
    overflow: auto !important;
    touch-action: auto !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #bloomy-list-results,
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    scroll-margin-top: 110px !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    padding-inline: 8px !important;
    padding-bottom: 160px !important;
  }
}


/* =========================================================
   v3 Reset Patch: correct PC 2-column layout + left filter submit
   Decision record:
   - PC left column: condition filter + 驍ｵ�ｲ陟暮ｯ会ｽｼ�ｽ�ｸ�ｺ�ｽ�ｮ髫ｴ螟ｲ�ｽ�｡髣比ｼ夲ｽｽ�ｶ驍ｵ�ｺ�ｽ�ｧ髫ｶﾂ隲幢ｿｽ�ｽ�ｴ�ｽ�｢驍ｵ�ｲ�ｽ�ｽ button
   - PC right column top: destination/country selector only; no submit button
   - PC right column bottom: result cards
   - Mobile: no compare bottom sheet in this reset version; bottom sticky only
========================================================= */

.bloomy-list-page {
  padding-top: 40px !important;
}

.bloomy-list-page .bloomy-compare-form {
  display: block !important;
}

.bloomy-list-page .bloomy-compare-main {
  min-width: 0 !important;
  width: 100% !important;
}

@media (min-width: 901px) {
  .bloomy-list-page {
    width: min(calc(100% - 48px), 1540px) !important;
    max-width: 1540px !important;
    padding-top: 32px !important;
    padding-bottom: 96px !important;
  }

  .bloomy-list-page .bloomy-compare-mobile-summary,
  .bloomy-list-page .bloomy-compare-mobile-filter-overlay,
  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: 290px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    position: sticky !important;
    top: 110px !important;
    align-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: calc(100dvh - 132px) !important;
    overflow: visible !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 5 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 142px !important;
    max-height: calc(100dvh - 164px) !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner {
    display: block !important;
    width: 100% !important;
    max-height: calc(100dvh - 132px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 18px !important;
    border-radius: 26px !important;
    background: #fff !important;
    border: 1px solid rgba(211, 226, 255, 0.96) !important;
    box-shadow: 0 14px 34px rgba(54, 94, 168, 0.10) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner {
    max-height: calc(100dvh - 164px) !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter {
    display: block !important;
    margin: 0 0 18px !important;
    scroll-margin-top: 124px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card {
    padding: 20px 22px 18px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(214, 226, 248, 0.95) !important;
    box-shadow: 0 14px 34px rgba(26, 56, 112, 0.09), inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 13px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__title {
    margin: 0 !important;
    color: #07163f !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__eyebrow {
    margin: 0 0 4px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    color: #4c7ce6 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__search-row {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__submit {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick {
    display: block !important;
    margin-top: 14px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-title {
    margin: 0 0 8px !important;
    color: #07163f !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip {
    min-height: 36px !important;
    border-radius: 10px !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    min-width: 0 !important;
    width: 100% !important;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 900px) {
  .bloomy-list-page {
    padding-top: 104px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 158px !important;
    width: 100% !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: block !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar,
  .bloomy-list-page .bloomy-compare-destination-filter,
  .bloomy-list-page .bloomy-compare-mobile-filter-overlay,
  .bloomy-list-page .bloomy-plan-filter__footer,
  .bloomy-list-page .bloomy-compare-mobile-sheet-head {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.bloomy-compare-filter-is-open {
    overflow: auto !important;
    touch-action: auto !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #bloomy-list-results,
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    scroll-margin-top: 110px !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    padding-inline: 8px !important;
    padding-bottom: 160px !important;
  }
}

/* =========================================================
   Reset v4: structural PC 2-column restoration / no mobile sheet
   Decision log:
   - PC left column: condition filter + submit button.
   - PC right column: destination selector, then result cards.
   - Destination selector does NOT have a submit button.
   - Mobile bottom sheet is removed for now; mobile shows results + bottom sticky only.
========================================================= */

.bloomy-list-page.bloomy-compare-page {
  padding-top: 96px !important;
}

.bloomy-list-page .bloomy-compare-hero {
  margin: 0 auto 18px !important;
  padding: 0 24px !important;
  max-width: 1280px !important;
}

.bloomy-list-page .bloomy-compare-layout {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px 96px !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 292px) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.bloomy-list-page .bloomy-compare-sidebar {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: sticky !important;
  top: 112px !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: calc(100vh - 132px) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 4 !important;
}

body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
  top: 144px !important;
}

.bloomy-list-page .bloomy-compare-sidebar__inner,
.bloomy-list-page .bloomy-plan-filter {
  width: 100% !important;
  max-height: calc(100vh - 132px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.bloomy-list-page .bloomy-compare-main {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
}

.bloomy-list-page .bloomy-compare-destination-filter {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: 1 !important;
}

.bloomy-list-page .bloomy-compare-destination-filter__card {
  margin: 0 !important;
}

.bloomy-list-page .bloomy-compare-destination-filter__search-row {
  display: block !important;
}

.bloomy-list-page .bloomy-compare-destination-filter__submit,
.bloomy-list-page .bloomy-compare-destination-filter button[type="submit"] {
  display: none !important;
}

.bloomy-list-page .bloomy-list-results,
.bloomy-list-page .bloomy-compare-results {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* No mobile bottom sheet in reset v4. Keep all former fixed layers inert. */
.bloomy-list-page .bloomy-compare-mobile-filter-overlay,
.bloomy-list-page .bloomy-compare-mobile-sheet-head {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.bloomy-compare-filter-is-open {
  overflow: auto !important;
  touch-action: auto !important;
}

#bloomy-compare-search,
#bloomy-list-results {
  scroll-margin-top: 118px !important;
}

@media (max-width: 1180px) {
  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: minmax(250px, 276px) minmax(0, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 900px) {
  .bloomy-list-page.bloomy-compare-page {
    padding-top: 88px !important;
  }

  .bloomy-list-page .bloomy-compare-hero {
    display: none !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 10px 156px !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar,
  .bloomy-list-page .bloomy-compare-destination-filter {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .bloomy-list-page .bloomy-compare-main,
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #bloomy-compare-search,
  #bloomy-list-results {
    scroll-margin-top: 96px !important;
  }
}


/* =========================================================
   Reset v5.1: corrected spacing + card density adjustment
   Base: v4 structural 2-column no-bottomsheet CSS
   Important:
   - Reverts v5-only price-column widening.
   - Keeps spec columns balanced: repeat(3, minmax(0, 1fr)).
   - Fixes overflow by text sizing / padding / min-width handling only.
========================================================= */

/* 1) Page vertical position: reduce excessive blank space without changing structure */
@media (min-width: 901px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    padding-top: 40px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    margin-top: 0 !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    top: 96px !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 128px !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    gap: 18px !important;
  }
}

/* Keep anchor offset separate from normal page spacing */
#bloomy-compare-search,
#bloomy-list-results {
  scroll-margin-top: 116px !important;
}

body.admin-bar #bloomy-compare-search,
body.admin-bar #bloomy-list-results {
  scroll-margin-top: 148px !important;
}

/* 2) Card density: slightly shorter cards, without changing card structure */
@media (min-width: 901px) {
}

@media (min-width: 901px) {
}

/* 4) Mobile card density: same principle, keep balanced spec columns */
@media (max-width: 900px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    padding-top: 76px !important;
  }

  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    padding-inline: 8px !important;
  }

  #bloomy-list-results,
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    scroll-margin-top: 96px !important;
  }
}

/* =========================================================
   v5.2 PC density / right-column expansion / sidebar fit
   Based on v5.1. Scope: compare page only.
   - No HTML/JS changes
   - No price-column widening
   - Reduce excessive top whitespace
   - Align sidebar and right-column top
   - Expand usable card area by reducing outside gutters
   - Compact left filter so its footer is visible more often
========================================================= */

@media (min-width: 901px) {
  /* Page position and horizontal density */
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100% - 36px), 1680px) !important;
    max-width: 1680px !important;
    padding-top: 12px !important;
    padding-bottom: 88px !important;
    margin-top: -72px !important;
  }

  body.admin-bar .bloomy-list-page.bloomy-compare-page,
  body.admin-bar .bloomy-list-page {
    margin-top: -48px !important;
  }

  /* True 2-column working area */
  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
    margin-top: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    min-width: 0 !important;
    margin-top: 0 !important;
    gap: 16px !important;
  }

  /* Left filter must start at the same vertical line as the destination filter */
  .bloomy-list-page .bloomy-compare-sidebar {
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-self: start !important;
    top: 74px !important;
    max-height: calc(100vh - 88px) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 106px !important;
    max-height: calc(100vh - 120px) !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    margin-top: 0 !important;
    padding-top: 0 !important;
    max-height: inherit !important;
    overflow-y: auto !important;
  }

  /* Destination filter: compact but keep TOP-like design */
  .bloomy-list-page .bloomy-compare-destination-filter,
  .bloomy-list-page #bloomy-compare-search {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card,
  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    padding: 20px 24px 18px !important;
    border-radius: 22px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__head,
  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__head {
    margin-bottom: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__title,
  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__title {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter .bloomy-top-searchbar {
    min-height: 44px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick,
  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    margin-top: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-title {
    margin-bottom: 8px !important;
    font-size: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-list {
    gap: 8px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip {
    min-height: 33px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
  }

  /* Right column results area */
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    padding-top: 0 !important;
  }
}

/* Laptop / narrower desktop: keep cards readable */
@media (min-width: 901px) and (max-width: 1280px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100% - 28px), 1280px) !important;
    margin-top: -56px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 18px !important;
  }
}

/* Keep anchor offset separate from normal layout position */
@media (min-width: 901px) {
  #bloomy-compare-search,
  #bloomy-list-results {
    scroll-margin-top: 104px !important;
  }

  body.admin-bar #bloomy-compare-search,
  body.admin-bar #bloomy-list-results {
    scroll-margin-top: 136px !important;
  }
}

/* =========================================================
   v6.1 PC vertical alignment override
   Base: v6 Ajax results update
   Goal:
   - Do not touch PHP/JS/Ajax behavior
   - Lower the right column because destination filter was too close to header
   - Raise the left filter because it was sitting too low
   - Keep normal page position and anchor offset separate
========================================================= */

@media (min-width: 901px) {
  /* Keep the v6 Ajax layout, but correct left/right vertical balance */
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    /* Less aggressive than earlier negative positioning, but still tighter than default */
    margin-top: -48px !important;
    padding-top: 12px !important;
  }

  body.admin-bar .bloomy-list-page.bloomy-compare-page,
  body.admin-bar .bloomy-list-page {
    margin-top: -28px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    align-items: start !important;
    margin-top: 0 !important;
  }

  /* Right column was too high and touched/entered the header area */
  .bloomy-list-page .bloomy-compare-main {
    margin-top: 52px !important;
    min-width: 0 !important;
  }

  /* Left filter was too low. Pull only the sidebar upward. */
  .bloomy-list-page .bloomy-compare-sidebar {
    margin-top: -52px !important;
    padding-top: 0 !important;
    align-self: start !important;
    top: 88px !important;
    max-height: calc(100vh - 102px) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 120px !important;
    max-height: calc(100vh - 134px) !important;
  }

  /* Keep the left filter content starting immediately, without extra top air */
  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Destination filter remains compact, just placed lower through .bloomy-compare-main */
  .bloomy-list-page .bloomy-compare-destination-filter,
  .bloomy-list-page #bloomy-compare-search {
    margin-top: 0 !important;
  }

  /* Results should follow the destination card naturally */
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    padding-top: 0 !important;
  }

  /* Anchor offset only controls anchor jumps; it should not create layout whitespace */
  #bloomy-compare-search,
  #bloomy-list-results {
    scroll-margin-top: 118px !important;
  }

  body.admin-bar #bloomy-compare-search,
  body.admin-bar #bloomy-list-results {
    scroll-margin-top: 150px !important;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    margin-top: -36px !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    margin-top: 44px !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    margin-top: -42px !important;
  }
}

/* =========================================================
   Reset v6.2: left filter vertical owner fix
   Purpose:
   - The left filter is built as:
       aside.bloomy-compare-sidebar
         div.bloomy-compare-sidebar__inner.bloomy-plan-filter
   - Previous CSS applied vertical/sticky control to both outer and inner.
   - That pushed the visible filter body down even when the aside column started higher.
   - From this version, only the OUTER sidebar controls sticky positioning.
   - The inner filter card must start at the top of the sidebar and only handle scrolling/content.
========================================================= */

@media (min-width: 901px) {
  /* Keep the two-column grid top-aligned. */
  .bloomy-list-page .bloomy-compare-layout {
    align-items: start !important;
  }

  /* One owner for vertical position: the outer aside. */
  .bloomy-list-page .bloomy-compare-sidebar {
    display: block !important;
    position: sticky !important;
    top: 92px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100vh - 112px) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 4 !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 116px !important;
    max-height: calc(100vh - 136px) !important;
  }

  /* The visible filter body must NOT have its own top/sticky offset. */
  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100vh - 112px) !important;
    margin-top: 0 !important;
    padding-top: 14px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner,
  body.admin-bar .bloomy-list-page .bloomy-plan-filter {
    max-height: calc(100vh - 136px) !important;
  }

  /* Keep the right column's current safe position. */
  .bloomy-list-page .bloomy-compare-main {
    min-width: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .bloomy-list-page .bloomy-compare-sidebar {
    top: 88px !important;
    max-height: calc(100vh - 108px) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 112px !important;
    max-height: calc(100vh - 132px) !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    max-height: calc(100vh - 108px) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner,
  body.admin-bar .bloomy-list-page .bloomy-plan-filter {
    max-height: calc(100vh - 132px) !important;
  }
}

/* =========================================================
   v6.3 PC polish / large-site spacing pass
   Base: v6.2 sidebar position owner
   Scope: CSS only. No PHP/JS/Ajax behavior changes.

   Goals:
   - Keep the v6 Ajax + v6.2 left-sidebar position fix.
   - Reduce excessive outer gutters and give more width to the right card area.
   - Keep the left filter stable around 300px.
   - Slightly compact destination filter, results toolbar, and product cards.
   - Preserve balanced spec columns. Do NOT widen only the price column.
========================================================= */

@media (min-width: 901px) {
  /* 1) Overall desktop canvas: use the viewport more like a large comparison site. */
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100% - 28px), 1600px) !important;
    max-width: 1600px !important;
    padding-inline: 14px !important;
    padding-top: 10px !important;
    margin-inline: auto !important;
  }

  /* 2) Two-column balance: keep the sidebar readable, give the right area more room. */
  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    min-width: 0 !important;
    gap: 15px !important;
  }

  /* 3) Keep the sidebar position owner from v6.2. Only tune the available height. */
  .bloomy-list-page .bloomy-compare-sidebar {
    top: 90px !important;
    max-height: calc(100vh - 108px) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 114px !important;
    max-height: calc(100vh - 132px) !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    max-height: calc(100vh - 108px) !important;
    padding-top: 12px !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar__inner,
  body.admin-bar .bloomy-list-page .bloomy-plan-filter {
    max-height: calc(100vh - 132px) !important;
  }

  /* 6) Destination filter: keep the TOP-like quality, but reduce comparison-page height. */
  .bloomy-list-page .bloomy-compare-destination-filter,
  .bloomy-list-page #bloomy-compare-search {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card,
  .bloomy-list-page #bloomy-compare-search .bloomy-compare-destination-filter__card {
    padding: 20px 24px 18px !important;
    border-radius: 22px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__head {
    margin-bottom: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__title {
    font-size: 22px !important;
    line-height: 1.24 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__eyebrow {
    font-size: 11px !important;
    margin-bottom: 4px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter .bloomy-top-searchbar {
    min-height: 44px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick,
  .bloomy-list-page .bloomy-compare-destination-filter__quick--desktop {
    margin-top: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-title {
    margin-bottom: 7px !important;
    font-size: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-list {
    gap: 8px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__quick-chip,
  .bloomy-list-page .bloomy-top-chip-button,
  .bloomy-list-page .bloomy-top-area-button {
    min-height: 33px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
  }

  /* 7) Results header: tighter connection between destination filter and cards. */
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results {
    padding-top: 0 !important;
  }

  .bloomy-list-page .bloomy-list-results__count,
  .bloomy-list-page .bloomy-compare-results__count {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .bloomy-list-page .bloomy-list-results__sort,
  .bloomy-list-page .bloomy-list-results__sort select,
  .bloomy-list-page .bloomy-sort-dropdown__button {
    min-height: 42px !important;
    font-size: 13px !important;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100% - 24px), 1280px) !important;
    padding-inline: 12px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 18px !important;
  }
}

/* =========================================================
   v6.4 PC width + column top alignment refinement
   - Keep v6 Ajax/PHP/JS behavior untouched
   - Align left filter card top with destination filter card top
   - Use desktop width more effectively
   - Keep sidebar position control owned by the outer aside only
========================================================= */

@media (min-width: 901px) {
  /* Use the desktop screen more effectively. */
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100vw - 40px), 1720px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Make the grid own the two-column structure clearly. */
  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: 292px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-main {
    min-width: 0 !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* The aside owns sticky behavior. No inner top offset. */
  .bloomy-list-page .bloomy-compare-sidebar {
    position: sticky !important;
    top: 92px !important;
    align-self: start !important;
    width: 292px !important;
    min-width: 292px !important;
    max-width: 292px !important;
    height: auto !important;
    max-height: calc(100vh - 112px) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 114px !important;
    max-height: calc(100vh - 134px) !important;
  }

  /* Inner card starts exactly at the aside top. */
  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: inherit !important;
    margin-top: 0 !important;
    padding-top: 16px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: none !important;
  }

  /* Right destination card should start on the same grid line as the left filter card. */
  .bloomy-list-page .bloomy-compare-destination-filter,
  .bloomy-list-page #bloomy-compare-search {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card {
    margin-top: 0 !important;
  }
}

@media (min-width: 1500px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100vw - 48px), 1760px) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 296px minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    width: 296px !important;
    min-width: 296px !important;
    max-width: 296px !important;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100vw - 28px), 1280px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 276px minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    width: 276px !important;
    min-width: 276px !important;
    max-width: 276px !important;
    top: 88px !important;
    max-height: calc(100vh - 108px) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 110px !important;
    max-height: calc(100vh - 130px) !important;
  }
}

/* =========================================================
   v6.5 PC layout cleanup / final ownership reset
   Scope: compare page desktop layout only
   Purpose:
   - Remove the old negative top offset that pushed the right column under the header
   - Keep left filter and right destination filter on the same vertical line
   - Use the desktop screen width more effectively
   - Keep v6 Ajax/PHP/JS behavior untouched
========================================================= */

@media (min-width: 901px) {
  /* Page canvas: cancel older negative offsets and use width more efficiently. */
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100vw - 36px), 1760px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 18px 92px !important;
  }

  body.admin-bar .bloomy-list-page.bloomy-compare-page,
  body.admin-bar .bloomy-list-page {
    margin-top: 0 !important;
  }

  /* Two-column foundation. This is the only desktop grid owner. */
  .bloomy-list-page .bloomy-compare-layout {
    display: grid !important;
    grid-template-columns: 292px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
  }

  /* Right column: normal flow, not grid-child hacks. */
  .bloomy-list-page .bloomy-compare-main {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  /* Left column: aside owns sticky, inner card owns only visual content. */
  .bloomy-list-page .bloomy-compare-sidebar {
    display: block !important;
    position: sticky !important;
    top: 92px !important;
    align-self: start !important;
    width: 292px !important;
    min-width: 292px !important;
    max-width: 292px !important;
    height: auto !important;
    max-height: calc(100vh - 112px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 112px !important;
    max-height: calc(100vh - 132px) !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar__inner,
  .bloomy-list-page .bloomy-plan-filter {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: inherit !important;
    margin: 0 !important;
    padding-top: 16px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: none !important;
  }

  /* Right destination filter: restore normal vertical position below header. */
  .bloomy-list-page .bloomy-compare-destination-filter,
  .bloomy-list-page #bloomy-compare-search {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    transform: none !important;
    scroll-margin-top: 112px !important;
  }

  .bloomy-list-page .bloomy-compare-destination-filter__card {
    margin: 0 !important;
    padding: 18px 20px !important;
    border-radius: 24px !important;
  }

  /* Results stay directly under the destination card inside the right column. */
  .bloomy-list-page .bloomy-list-results,
  .bloomy-list-page .bloomy-compare-results,
  .bloomy-list-page #bloomy-list-results {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    scroll-margin-top: 112px !important;
  }
}

@media (min-width: 1500px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100vw - 40px), 1820px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 296px minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    width: 296px !important;
    min-width: 296px !important;
    max-width: 296px !important;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .bloomy-list-page.bloomy-compare-page,
  .bloomy-list-page {
    width: min(calc(100vw - 28px), 1280px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .bloomy-list-page .bloomy-compare-layout {
    grid-template-columns: 276px minmax(0, 1fr) !important;
    gap: 18px !important;
    margin-top: 18px !important;
  }

  .bloomy-list-page .bloomy-compare-sidebar {
    width: 276px !important;
    min-width: 276px !important;
    max-width: 276px !important;
    top: 88px !important;
    max-height: calc(100vh - 108px) !important;
  }

  body.admin-bar .bloomy-list-page .bloomy-compare-sidebar {
    top: 108px !important;
    max-height: calc(100vh - 128px) !important;
  }
}

@media (max-width: 767px) {
}

/* =========================================================
   v6.8 PC: right column vertical offset
   髯ｷ�ｿ�ｽ�ｳ驛｢�ｧ�ｽ�ｫ驛｢譎｢�ｽ�ｩ驛｢譎｢�ｿ�ｽ髯ｷ闌ｨ�ｽ�ｨ髣厄ｽｴ髦ｮ蜻ｻ�ｽ螳壽綜�ｽ�ｺ髯橸ｽｳ陞｢�ｹ�ｽ�ｽ驛｢譎｢�ｿ�ｽ郢晢ｿｽ驛｢譎｢�ｽ�ｼ髣包ｽｳ闕ｵ譏ｶ�ｽ髣包ｽｳ闕ｵ譎｢�ｿ�｡驛｢�ｧ�ｽ�ｽ
   - Left sidebar position is not touched.
   - This block is intentionally placed at the end to win over older PC layout rules.
========================================================= */

@media (min-width: 901px) {
  .bloomy-list-page .bloomy-compare-layout > .bloomy-compare-main {
    margin-top: 0 !important;
    transform: none !important;
    padding-top: 72px !important;
  }

  .bloomy-list-page .bloomy-compare-main > .bloomy-compare-destination-filter {
    margin-top: 0 !important;
    transform: none !important;
  }
}

/* =========================================================
   v7.13 Mobile load-more final cleanup
   Full replacement for all previous v7.x load-more rules.

   Goals:
   - Keep the current 遯ｶ蠕バod遯ｶ�ｽ bottom distance.
   - Remove duplicated old load-more CSS.
   - Keep position stable across normal / pulling / ready / loading.
   - No pill, no background, no button look.
   - Do not move the outer container; only the ring progress changes.
========================================================= */

@media (max-width: 767px) {
  /* Mobile uses pull-load-more, not numbered pagination. */
  html body .bloomy-list-page .bloomy-list-pagination,
  html body .bloomy-list-page .bloomy-compare-pagination,
  html body .bloomy-list-page nav.bloomy-list-pagination,
  html body .bloomy-list-page nav.bloomy-compare-pagination,
  html body .bloomy-list-page ul.page-numbers,
  html body .bloomy-list-page .page-numbers {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Remove extra bottom spacing from result wrappers. */
  html body .bloomy-list-page #bloomy-list-results,
  html body .bloomy-list-page .bloomy-list-results,
  html body .bloomy-list-page .bloomy-compare-results,
  html body .bloomy-list-page .bloomy-compare-main,
  html body .bloomy-list-page .bloomy-compare-layout {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

@keyframes bloomyMobileLoadMoreSpin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   v7.14 Shadow + mobile load-more spacing polish
   - 陷茨ｽｨ闖ｴ阮呻ｿｽ陟厄ｽｱ郢ｧ�ｽ30邵ｲ�ｽ40%邵ｺ�ｻ邵ｺ�ｩ陟托ｽｱ郢ｧ竏夲ｽ�
   - 髫ｱ�ｭ邵ｺ�ｿ髴趣ｽｼ邵ｺ�ｿ郢晢ｿｽ縺冗ｹｧ�ｹ郢晏現�堤ｹｧ�ｫ郢晢ｽｼ郢晏ｳｨﾂｰ郢ｧ迚呻ｽｰ莉｣��鬮ｮ�｢邵ｺ�ｽ
   - v7.13邵ｺ�ｮload-more陜難ｽｺ雋�ｴ具ｽｽ蜥ｲ�ｽ�ｮ邵ｺ�ｯ驍ｯ�ｭ隰問���邵ｲ竏ｽ�ｸ雍具ｽｽ蜥丞項邵ｺ�ｽ邵ｺ鬘鯉ｽｪ�ｿ隰ｨ�ｴ
========================================================= */

.bloomy-list-page {
  --bloomy-shadow-card:
    0 8px 22px rgba(42, 83, 153, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;

  --bloomy-shadow-card-hover:
    0 14px 30px rgba(42, 83, 153, 0.095),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;
}

.bloomy-list-page .bloomy-compare-sidebar__inner,
.bloomy-list-page .bloomy-plan-filter,
.bloomy-list-page .bloomy-compare-destination-filter__card,
.bloomy-list-page .bloomy-list-filter,
.bloomy-list-page .bloomy-empty {
  box-shadow:
    0 8px 22px rgba(50, 91, 158, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.96) inset !important;
}

.bloomy-list-page .bloomy-top-searchbar,
.bloomy-list-page .bloomy-list-results__sort select,
.bloomy-list-page .bloomy-sort-dropdown__button {
  box-shadow:
    0 6px 14px rgba(38, 80, 145, 0.035),
    0 1px 0 rgba(255, 255, 255, 0.95) inset !important;
}

.bloomy-list-page .bloomy-top-searchbar:focus-within {
  box-shadow:
    0 7px 16px rgba(38, 80, 145, 0.05),
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 0 0 4px rgba(8, 120, 248, 0.08) !important;
}

@media (max-width: 767px) {
}
/* ===== モバイル比較 検索結果ヘッダー（固定タイトル＋選択国チップ＋1行表記＋サブボタン・モバイル専用） ===== */
@media (max-width: 900px) {
  .bloomy-compare-mobile-summary__inner { padding: 2px 0 0; }
  .bloomy-compare-mobile-summary__title {
    margin: 0;
    color: #0d1b2a;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
  }
  /* 選択国チップ（タイトル下・1行・崩れ防止） */
  .bloomy-compare-mobile-summary__chips {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    overflow: hidden;
  }
  .bloomy-compare-mobile-summary__chips:empty { display: none; }
  .bloomy-compare-mobile-summary__chip {
    flex: 0 1 auto;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    max-width: 42vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-height: 26px;
    padding: 0 11px;
    border-radius: 999px;
    background: #eef4ff;
    border: 1px solid #dce8fb;
    color: #1f3b73;
    font-size: 12px;
    font-weight: 800;
  }
  .bloomy-compare-mobile-summary__chip--more { flex: 0 0 auto; background: #fff; color: #5f6b88; }
  /* 件数・最安を1行で（「12件のプラン・80円〜」） */
  .bloomy-compare-mobile-summary__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
  }
  .bloomy-compare-mobile-summary__stat {
    margin: 0;
    color: #0d1b2a;
    font-size: 13.5px;
    font-weight: 700;
    display: inline-flex;
    align-items: baseline;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bloomy-compare-mobile-summary__stat strong { font-size: 16px; font-weight: 800; margin-right: 1px; }
  .bloomy-compare-mobile-summary__min { color: #2f7ef7; font-weight: 800; white-space: nowrap; }
  .bloomy-compare-mobile-summary__min::before { content: "・"; color: #9aa6bd; font-weight: 700; margin: 0 2px; }
  /* 行き先を変更：サブボタン（淡ブルー背景＋青文字＋薄枠・影なし） */
  .bloomy-compare-mobile-summary__change {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid #cfe0fb;
    border-radius: 999px;
    background: #eef4ff;
    color: #2f7ef7;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: -0.01em;
    box-shadow: none;
    cursor: pointer;
  }
  .bloomy-compare-mobile-summary__change:active { background: #e2edff; }
}

/* ===== モバイル下部固定ミニバー（スクロールでヘッダーが画面外→表示・国選択シート起点） ===== */
@media (max-width: 900px) {
  .bloomy-compare-minibar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 1150;
    box-sizing: border-box;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,0.96);
    -webkit-backdrop-filter: saturate(1.2) blur(6px);
    backdrop-filter: saturate(1.2) blur(6px);
    border-top: 1px solid #e3ebf7;
    box-shadow: 0 -6px 20px -10px rgba(20,40,90,0.18);
    transform: translateY(130%);
    transition: transform .26s cubic-bezier(.22,1,.36,1);
    pointer-events: none;
  }
  .bloomy-compare-minibar.is-visible { transform: translateY(0); pointer-events: auto; }
  /* 下部固定ミニバー(~58px)にフッター末尾(お問い合わせ等)が隠れないようクリアランスを確保。
     compare.cssは比較ページのみ読込＝この余白も比較ページ限定。 */
  .site-footer { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
  /* 3ブロック構成：左=国旗だけ / 中央=2行テキスト / 右=行き先変更ボタン */
  .bloomy-compare-minibar__btn {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 50px;
    padding: 0 6px 0 12px;
    border: 1px solid #dce8fb;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
  }
  /* 左ブロック：丸国旗だけの独立した視覚グループ（最大3個・少し重ね・+Nやetc.は出さない） */
  .bloomy-compare-minibar__flags { display: inline-flex; flex: 0 0 auto; align-items: center; }
  .bloomy-compare-minibar__flags:empty { display: none; }
  .bloomy-compare-minibar__flag {
    width: 22px; height: 22px; border-radius: 50%; object-fit: cover;
    border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(20,40,90,.10);
    background: #eef2f8; margin-left: -6px;
  }
  .bloomy-compare-minibar__flags .bloomy-compare-minibar__flag:first-child { margin-left: 0; }
  .bloomy-compare-minibar__flag--emoji {
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 14px; line-height: 1; overflow: hidden; box-shadow: none;
  }
  /* 中央ブロック：1行目=Nカ国 / 2行目=件・最安 */
  .bloomy-compare-minibar__info {
    flex: 1 1 auto;
    display: flex; flex-direction: column; align-items: flex-start;
    gap: 1px; min-width: 0; text-align: left;
  }
  .bloomy-compare-minibar__where {
    max-width: 100%;
    font-size: 13.5px; font-weight: 800; color: #1f3b73;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .bloomy-compare-minibar__stat { font-size: 12.5px; font-weight: 700; color: #54637d; white-space: nowrap; }
  .bloomy-compare-minibar__stat strong { font-weight: 800; color: #54637d; }
  .bloomy-compare-minibar__min { color: #2f7ef7; font-weight: 800; }
  .bloomy-compare-minibar__min::before { content: "・"; color: #9aa6bd; margin: 0 2px; font-weight: 700; }
  .bloomy-compare-minibar__cta {
    flex: 0 0 auto; display: inline-flex; align-items: center;
    min-height: 36px; padding: 0 16px; border-radius: 999px;
    background: #2f7ef7; color: #fff; font-size: 12.5px; font-weight: 800;
  }
  /* ミニバーがカードに被らないよう下部に余白を確保（過大にしない） */
  .bloomy-list-page { padding-bottom: 58px; }
  /* シートを閉じている間は、サイドバーをページのフローから外す。
     旧CSSの display:contents 等で中身が結果の下に残り、巨大な空白(カード〜フッター間)を
     作っていたため、閉時はモバイルで完全に非表示にする（開時はJSがインラインで表示）。 */
  body:not(.bloomy-cc-sheet-open) .bloomy-list-page .bloomy-compare-sidebar {
    display: none !important;
  }
}
@media (min-width: 901px) {
  .bloomy-compare-minibar { display: none !important; }
}

/* 比較ページ モバイル: 最後のカード〜フッター間の過剰な余白を縮小（PC・他ページ非影響）。
   原因 = .site-footer{margin-top:96px}(グローバル固定) + .bloomy-list-page 下余白(58px)
          + .site-footer__inner 上padding(42px) の積み上がりで ~196px の固定余白。
   ホームが body.home で同種の縮小をしているのと同じ考え方。自然な余白(約48px)だけ残す。
   ※ body.bloomy-compare-body は functions.php の body_class で比較ページのみに付与。 */
@media (max-width: 900px) {
  body.bloomy-compare-body .bloomy-list-page { padding-bottom: 28px; }
  body.bloomy-compare-body .site-footer { margin-top: 20px; }
}
/* デスクトップでも同様に、最後のカード〜フッター間の過剰な余白を縮小。
   原因は同じ（.site-footer{margin-top:96px}グローバル + .bloomy-list-page 下余白96px）。
   比較ページ限定(body.bloomy-compare-body)で、自然な余白だけ残す。PC他ページは非影響。 */
@media (min-width: 901px) {
  body.bloomy-compare-body .bloomy-list-page { padding-bottom: 32px; }
  body.bloomy-compare-body .site-footer { margin-top: 24px; }
}

/* =========================================================
   フローティングヘッダーへの食い込み防止（比較ページ）
   Full Replacement テンプレで標準mainのヘッダーオフセットを使わないため、
   ページ上部に --bloomy-header-offset 分のクリアランスを明示付与する。
   全体を均一に下げるだけで、サイドバー/右カラムの相対配置は変えない。
   ========================================================= */
body:not(.home) .bloomy-list-page.bloomy-compare-page {
  padding-top: calc(var(--bloomy-header-offset, 96px) + 12px) !important;
}

/* 右カラム <main class="bloomy-compare-main"> は汎用 main のヘッダーオフセットを
   二重に受けて下がりすぎていた。ページ上部クリアランスは .bloomy-list-page 側で
   確保済みのため、右mainの padding-top は 0 に戻して左サイドバーと上端を揃える。 */
body:not(.home) .bloomy-list-page main.bloomy-compare-main {
  padding-top: 0 !important;
}
