/* Store/category directories use the shared India home/store design. */
.rd-directory { padding-top:24px; padding-bottom:64px; }
.rd-directory a { text-decoration:none; }
.rd-directory-breadcrumb { display:flex; align-items:center; gap:10px; color:var(--rd-muted); font-size:12px; margin-bottom:32px; }
.rd-directory-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:36px; }
.rd-directory .rd-directory-eyebrow { font-size:10px; font-weight:700; letter-spacing:1.6px; color:var(--rd-blue); margin:0 0 10px; }
.rd-directory h1 { font-size:36px; line-height:1.2; letter-spacing:-1.2px; text-transform:none; margin:0 0 12px; color:var(--rd-ink); }
.rd-directory-intro p,.rd-directory-heading p { font-size:14px; line-height:1.6; color:var(--rd-muted); margin:0; }
.rd-directory-switch { display:inline-flex; align-items:center; gap:20px; flex-shrink:0; padding:13px 20px; border:1px solid var(--rd-line); border-radius:24px; font-size:13px; font-weight:600; background:#fff; }
.rd-directory-featured { background:#f5f6fc; border:1px solid #e9ecf5; border-radius:20px; padding:24px; margin-bottom:40px; }
.rd-directory-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.rd-directory h2 { color:var(--rd-ink); font-size:23px; line-height:1.3; letter-spacing:-.5px; text-transform:none; margin:0 0 5px; }
.rd-directory-heading > a { font-size:13px; font-weight:600; white-space:nowrap; }
.rd-directory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.rd-directory-card { position:relative; display:flex; align-items:center; gap:14px; min-width:0; padding:20px 16px; border:1px solid var(--rd-line); border-radius:14px; background:#fff; color:var(--rd-ink); transition:border-color .15s,box-shadow .15s; }
.rd-directory-card:hover { border-color:#a9b7e9; box-shadow:0 4px 16px #24395d0a; }
/* Reference store tiles: rising blue panel, followed by the coupon count. */
.rd-directory-card--store { overflow:hidden; isolation:isolate; transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s cubic-bezier(.22,.61,.36,1),border-color .45s; }
.rd-directory-overlay { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:inherit; background:linear-gradient(160deg,#3d72e6,#2e63d9 55%,#1e46a3); color:#fff; font-size:13.5px; font-weight:600; letter-spacing:.01em; pointer-events:none; transform:translateY(101%); transition:transform .55s cubic-bezier(.65,0,.35,1); }
.rd-directory-overlay > * { opacity:0; transform:translateY(14px); transition:opacity .25s ease,transform .3s ease; }
.rd-directory-overlay b { font-size:22px; font-weight:800; line-height:1; }
.rd-directory-grid--featured .rd-directory-overlay { flex-direction:column; gap:5px; font-size:14px; }
.rd-directory-grid--featured .rd-directory-overlay b { font-size:30px; }
@media(hover:hover) {
    .rd-directory-card--store:hover { transform:translateY(-3px); box-shadow:0 12px 26px rgba(46,99,217,.2); }
    .rd-directory-card--store:hover .rd-directory-overlay { transform:none; }
    .rd-directory-card--store:hover .rd-directory-overlay > * { opacity:1; transform:none; transition:opacity .45s ease .28s,transform .55s cubic-bezier(.22,.61,.36,1) .28s; }
    .rd-directory-card--store:hover .rd-directory-overlay > span { transition-delay:.38s; }
}
.rd-directory-card--store:focus-visible { outline:2px solid var(--rd-blue); outline-offset:3px; }
.rd-directory-card--store:focus-visible .rd-directory-overlay,
.rd-directory-card--store:focus-visible .rd-directory-overlay > * { transform:none; opacity:1; }
/* Touch feedback preserves the link's normal one-tap navigation. */
@media(hover:none) {
    .rd-directory-card--store:active .rd-directory-overlay,
    .rd-directory-card--store:active .rd-directory-overlay > * { transform:none; opacity:1; transition:none; }
}
.rd-directory-logo { position:relative; flex:0 0 56px; width:56px; height:56px; display:grid; place-items:center; overflow:hidden; background:#f5f6fc; border-radius:12px; color:var(--rd-blue); font-size:22px; font-weight:700; }
.rd-directory-logo > span { position:absolute; inset:0; display:grid; place-items:center; }
.rd-directory-logo img { position:relative; display:block; width:100%; height:100%; object-fit:contain; padding:5px; background:#fff; }
.rd-directory-card-copy { display:flex; flex-direction:column; gap:6px; min-width:0; }
.rd-directory-card-copy strong { color:var(--rd-ink); font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.rd-directory-card-copy > span { color:var(--rd-muted); font-size:12px; }
.rd-directory-arrow { margin-left:auto; color:var(--rd-blue); font-size:18px; }
.rd-directory-grid--featured { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.rd-directory-grid--featured .rd-directory-card { flex-direction:column; padding:20px 10px; gap:14px; text-align:center; }
.rd-directory-grid--featured .rd-directory-logo { flex-basis:64px; width:100px; height:64px; background:#fff; }
.rd-directory-grid--featured .rd-directory-card--category .rd-directory-logo { width:64px; }
.rd-directory-grid--featured .rd-directory-arrow { display:none; }
.rd-directory-search { width:280px; max-width:100%; }
.rd-directory-search label { display:block; font-size:12px; font-weight:600; margin-bottom:7px; }
.rd-directory-search input { display:block; box-sizing:border-box; width:100%; height:44px; padding:10px 14px; border:1px solid #dce1eb; border-radius:24px; font:14px Arial,sans-serif; background:#fff; color:var(--rd-ink); }
.rd-directory-alphabet { display:flex; flex-wrap:wrap; gap:6px; padding:16px 0; border-top:1px solid var(--rd-line); border-bottom:1px solid var(--rd-line); margin-bottom:24px; }
.rd-directory-alphabet button { display:inline-flex; justify-content:center; align-items:center; min-width:32px; min-height:36px; padding:8px; border:0; border-radius:8px; background:transparent; color:#535d74; cursor:pointer; font-size:12px; }
.rd-directory-alphabet button[aria-pressed=true] { background:var(--rd-ink); color:#fff; }
.rd-directory-alphabet button:disabled { color:#aeb5c3; cursor:default; }
.rd-directory-empty { padding:44px 16px; text-align:center; border:1px dashed #dce1eb; border-radius:16px; }
.rd-directory-empty h3 { font-size:20px; text-transform:none; }
.rd-directory-empty p { font-size:14px; color:var(--rd-muted); }
.rd-directory-empty button { border:0; border-radius:24px; padding:12px 20px; color:#fff; background:var(--rd-blue); cursor:pointer; }
#rd-all-heading { scroll-margin-top:145px; }
@media(max-width:1100px) {
    .rd-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rd-directory-grid--featured { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:767px) {
    .rd-directory { padding-top:18px; padding-bottom:36px; }
    .rd-directory-breadcrumb { margin-bottom:24px; }
    .rd-directory-intro { display:block; margin-bottom:24px; }
    .rd-directory h1 { font-size:28px; letter-spacing:-.8px; }
    .rd-directory-intro p,.rd-directory-heading p { font-size:12px; }
    .rd-directory-switch { margin-top:16px; padding:10px 16px; font-size:12px; }
    .rd-directory-featured { padding:16px 12px; border-radius:16px; margin-bottom:28px; }
    .rd-directory h2 { font-size:20px; }
    .rd-directory-heading { align-items:flex-start; gap:12px; margin-bottom:16px; }
    .rd-directory-heading > a { font-size:12px; padding-top:3px; }
    .rd-directory-grid,.rd-directory-grid--featured { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .rd-directory-grid--featured { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
    .rd-directory-card { flex-direction:column; gap:10px; padding:16px 10px; text-align:center; }
    .rd-directory-card-copy strong { font-size:12px; }
    .rd-directory-card-copy > span { font-size:11px; }
    .rd-directory-arrow { display:none; }
    .rd-directory-grid--featured .rd-directory-card { padding:14px 6px; gap:10px; }
    .rd-directory-grid--featured .rd-directory-logo { width:68px; height:48px; flex-basis:48px; }
    .rd-directory-grid--featured .rd-directory-card--category .rd-directory-logo { width:48px; }
    .rd-directory-all > .rd-directory-heading { flex-direction:column; }
    .rd-directory-search { width:100%; margin-top:4px; }
    .rd-directory-search input { font-size:16px; }
    .rd-directory-alphabet { flex-wrap:nowrap; overflow-x:auto; padding:10px 0; margin-bottom:18px; }
    .rd-directory-alphabet button { min-width:40px; min-height:44px; flex-shrink:0; }
}
@media(max-width:359px) { .rd-directory-grid--featured { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .rd-directory-card { transition:none; } }
@media(prefers-reduced-motion:reduce) {
    .rd-directory-card--store:hover { transform:none; }
    .rd-directory-overlay { transform:none; opacity:0; transition:opacity .2s; }
    .rd-directory-overlay > * { transform:none; transition:none!important; }
    .rd-directory-card--store:focus-visible .rd-directory-overlay { opacity:1; }
}
@media(prefers-reduced-motion:reduce) and (hover:hover) {
    .rd-directory-card--store:hover .rd-directory-overlay { opacity:1; }
}
