/* imdesi premium layer — loads after theme.css and core.css.
   Visual polish only: no layout or markup assumptions beyond existing classes. */

:root {
  --pm-navy: #04335B;
  --pm-navy-2: #0A4577;
  --pm-gold: #D9A95C;
  --pm-ink: #0f172a;
  --pm-line: rgba(4, 51, 91, .09);
  --pm-r: 18px;
  --pm-sh: 0 1px 2px rgba(4, 51, 91, .06), 0 12px 32px -18px rgba(4, 51, 91, .35);
  --pm-sh-hi: 0 2px 4px rgba(4, 51, 91, .06), 0 22px 44px -20px rgba(4, 51, 91, .45);
  --pm-ease: cubic-bezier(.2, .8, .2, 1);
}

header.wp-block-template-part {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, .78) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--pm-line);
}

.imd-hero { position: relative; isolation: isolate; overflow: hidden; }
.imd-hero::before {
  content: ""; position: absolute; inset: -20% -10% auto -10%; height: 140%; z-index: -1;
  background:
    radial-gradient(40% 50% at 82% 30%, rgba(14, 90, 156, .14), transparent 70%),
    radial-gradient(30% 40% at 95% 75%, rgba(217, 169, 92, .18), transparent 70%),
    radial-gradient(35% 45% at 8% 10%, rgba(110, 166, 214, .12), transparent 70%);
  pointer-events: none;
}
.imd-find { box-shadow: var(--pm-sh-hi) !important; border-radius: 22px !important; }
.imd-find__go { transition: transform .2s var(--pm-ease), box-shadow .2s var(--pm-ease); }
.imd-find__go:hover { transform: translateY(-1px); box-shadow: 0 10px 22px -10px rgba(4, 51, 91, .6); }

.imd-bubble { background: #fff; }
.imd-bubble img { width: 74% !important; height: 74% !important; object-fit: contain; }

.imd-sec-near a.imx-tile[href^="/directory/"] {
  padding: 0; overflow: hidden; justify-content: flex-start; align-items: stretch; gap: 0;
  border-radius: var(--pm-r); border-color: var(--pm-line); box-shadow: var(--pm-sh);
  transition: transform .25s var(--pm-ease), box-shadow .25s var(--pm-ease), border-color .25s;
}
.imd-sec-near a.imx-tile[href^="/directory/"]::before {
  content: ""; display: block; aspect-ratio: 4 / 3; width: 100%;
  background: var(--ph, #EBF3FB) center / cover no-repeat;
  transition: transform .5s var(--pm-ease);
}
.imd-sec-near a.imx-tile[href^="/directory/"]:hover { transform: translateY(-3px); box-shadow: var(--pm-sh-hi); border-color: rgba(217, 169, 92, .7); }
.imd-sec-near a.imx-tile[href^="/directory/"]:hover::before { transform: scale(1.05); }
.imd-sec-near a.imx-tile[href^="/directory/"] .imx-ic { display: none; }
.imd-sec-near a.imx-tile[href^="/directory/"] .imx-tl { padding: 12px 12px 2px; font-weight: 650; line-height: 1.25; }
.imd-sec-near a.imx-tile[href^="/directory/"] .imx-tc { padding: 0 12px 14px; }

.imd-sec-near a[href="/directory/indian-restaurants/"]         { --ph: url(/wp-content/uploads/imdesi-cats/indian-restaurants-400.webp); }
.imd-sec-near a[href="/directory/south-asian-grocery-stores/"] { --ph: url(/wp-content/uploads/imdesi-cats/south-asian-grocery-stores-400.webp); }
.imd-sec-near a[href="/directory/sweet-shops/"]                { --ph: url(/wp-content/uploads/imdesi-cats/sweet-shops-400.webp); }
.imd-sec-near a[href="/directory/clothing-jewellery/"]         { --ph: url(/wp-content/uploads/imdesi-cats/clothing-jewellery-400.webp); }
.imd-sec-near a[href="/directory/beauty-threading/"]           { --ph: url(/wp-content/uploads/imdesi-cats/beauty-threading-400.webp); }
.imd-sec-near a[href="/directory/lawyers-immigration/"]        { --ph: url(/wp-content/uploads/imdesi-cats/lawyers-immigration-400.webp); }
.imd-sec-near a[href="/directory/doctors-dentists/"]           { --ph: url(/wp-content/uploads/imdesi-cats/doctors-dentists-400.webp); }
.imd-sec-near a[href="/directory/gurdwaras/"]                  { --ph: url(/wp-content/uploads/imdesi-cats/gurdwaras-400.webp); }
.imd-sec-near a[href="/directory/hindu-temples/"]              { --ph: url(/wp-content/uploads/imdesi-cats/hindu-temples-400.webp); }
.imd-sec-near a[href="/directory/banquet-events/"]             { --ph: url(/wp-content/uploads/imdesi-cats/banquet-events-400.webp); }
.imd-sec-near a[href="/directory/auto-services/"]              { --ph: url(/wp-content/uploads/imdesi-cats/auto-services-400.webp); }
.imd-sec-near a[href="/directory/banks-finance/"]              { --ph: url(/wp-content/uploads/imdesi-cats/banks-finance-400.webp); }

.imd-sec-near a.imx-tile[href^="/local/"] { border-radius: var(--pm-r); border-color: var(--pm-line); box-shadow: var(--pm-sh); }
.imd-sec-near a.imx-tile[href^="/local/"]:hover { border-color: rgba(217, 169, 92, .7); box-shadow: var(--pm-sh-hi); }

.imd-deal {
  border-radius: var(--pm-r) !important; border-color: var(--pm-line) !important; box-shadow: var(--pm-sh) !important;
  transition: transform .25s var(--pm-ease), box-shadow .25s var(--pm-ease) !important;
}
.imd-deal:hover { transform: translateY(-3px); box-shadow: var(--pm-sh-hi) !important; }
.imd-deal__media img { object-fit: contain; }

.imx-store { border-radius: var(--pm-r) !important; box-shadow: var(--pm-sh) !important; transition: transform .25s var(--pm-ease), box-shadow .25s var(--pm-ease) !important; }
.imx-store:hover { transform: translateY(-3px); box-shadow: var(--pm-sh-hi) !important; }
.imx-store-logo { background: #fff; }
.imx-store-logo img { width: 80% !important; height: 80% !important; object-fit: contain; }

.imd-ck {
  max-width: 420px !important; padding: 16px 18px !important; border-radius: 18px !important;
  border: 1px solid var(--pm-line) !important; box-shadow: 0 24px 60px -24px rgba(4, 51, 91, .5) !important;
  background: rgba(255, 255, 255, .92) !important;
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  font-size: 14px; line-height: 1.5;
}
.imd-ck p { margin: 0 0 12px; }

@media (max-width: 781px) {
  .imd-sec-near a.imx-tile[href^="/directory/"] .imx-tl { font-size: 14px; padding: 10px 10px 2px; }
  .imd-sec-near a.imx-tile[href^="/directory/"] .imx-tc { font-size: 12px; padding: 0 10px 12px; }
  .imd-tabbar {
    background: rgba(255, 255, 255, .86) !important;
    -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
    border-top: 1px solid var(--pm-line) !important;
    padding-bottom: max(6px, env(safe-area-inset-bottom)) !important;
  }
  .imd-tab { transition: color .2s, transform .15s var(--pm-ease); -webkit-tap-highlight-color: transparent; }
  .imd-tab:active { transform: scale(.92); }
  .imd-tab.is-active { color: var(--pm-navy) !important; position: relative; }
  .imd-tab.is-active::after {
    content: ""; position: absolute; top: 0; left: 50%; width: 22px; height: 3px; margin-left: -11px;
    border-radius: 0 0 3px 3px; background: var(--pm-gold);
  }
  .imd-ck { left: 12px !important; right: 12px !important; bottom: calc(76px + env(safe-area-inset-bottom)) !important; max-width: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .imd-sec-near a.imx-tile::before, .imd-deal, .imx-store, .imd-tab, .imd-find__go { transition: none !important; }
  .imd-sec-near a.imx-tile:hover::before { transform: none; }
}