/* Things To Do In Cayman — category directory framework (mega-menu, catalog cards, hub).
   Loaded on directory/category pages (and home for the mega-menu). Builds on site.css. */
.cat-hero{position:relative;background:var(--dark-2);color:#fff;padding:150px 0 60px;overflow:hidden}
.cat-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.cat-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,12,.4),rgba(8,16,12,.2) 40%,rgba(8,16,12,.85))}
.cat-hero .wrap{position:relative;z-index:2}
.cat-hero .eyebrow{color:var(--gold-lite)}
.cat-hero h1{font-size:clamp(34px,6vw,64px);letter-spacing:-.03em;line-height:1.02;margin:12px 0 0}
.cat-hero p{color:rgba(255,255,255,.85);max-width:62ch;margin:16px 0 0;font-size:clamp(16px,1.5vw,19px)}
.cat-chips{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 0}
.cat-chip{font-size:13px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:7px 14px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.cat-chip:hover,.cat-chip.active{background:var(--gold);border-color:var(--gold);color:#231a06}

.cat-section{padding:clamp(40px,6vw,72px) 0}
.cat-section .grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:560px){.cat-section .grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.cat-section .grid{grid-template-columns:repeat(3,1fr)}}
.cat-section .card{position:relative}
.card .card-sub{color:var(--muted);font-size:14px;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat-rating{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:13px;color:var(--ink-soft);font-weight:600}
.cat-rating .stars{color:var(--gold);letter-spacing:1px;font-size:14px}
.cat-tier{position:absolute;top:12px;left:12px;z-index:3;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(6,13,10,.55);color:#fff;backdrop-filter:blur(4px)}
.cat-tier.signature{background:linear-gradient(180deg,var(--gold-lite),var(--gold));color:#231a06;box-shadow:0 6px 18px rgba(176,137,74,.45)}
.cat-empty{grid-column:1/-1;text-align:center;padding:64px 24px;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper)}
.cat-empty h3{font-size:22px;color:var(--ink);margin:0 0 8px;font-family:var(--display)}
.cat-empty p{margin:0;max-width:48ch;margin-inline:auto}

/* ---- Mega menu ---- */
.nav [data-mega-btn]{cursor:pointer}
.mega{position:fixed;left:0;right:0;top:82px;z-index:55;background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 48px rgba(16,18,21,.16);transform:translateY(-14px);opacity:0;pointer-events:none;transition:transform .28s var(--ease),opacity .28s var(--ease);max-height:82vh;overflow:auto}
.mega.open{transform:none;opacity:1;pointer-events:auto}
.mega .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,54px);padding:34px clamp(20px,4vw,40px) 40px}
@media(max-width:820px){.mega .wrap{grid-template-columns:1fr}.mega{top:62px}}
.mega h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 10px}
.mega a{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--ink-soft);text-decoration:none;padding:8px 0;font-size:15px;border-bottom:1px solid var(--line)}
.mega a:hover{color:var(--gold-deep)}
.mega a .n{color:var(--muted);font-size:12px;font-weight:600}

/* ---- Discover hub ---- */
.hub{padding:clamp(40px,6vw,72px) 0}
.hub-pillar{margin-bottom:44px}
.hub-pillar .l{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px}
.hub-pillar h2{font-size:clamp(24px,3.2vw,34px);letter-spacing:-.02em}
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:760px){.hub-grid{grid-template-columns:repeat(4,1fr)}}
.hub-cat{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;transition:border-color .2s,transform .2s,box-shadow .2s}
.hub-cat:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.hub-cat .n{color:var(--muted);font-size:12.5px;font-weight:600}

/* unclaimed directory rows */
.cat-more{grid-column:1/-1;margin-top:18px}
.cat-more h3{font-size:19px;margin:0 0 6px}
.cat-more-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid var(--line)}
.cat-more-row .l b{display:block;font-size:15.5px;color:var(--ink)}
.cat-more-row .l span{font-size:13.5px;color:var(--muted)}
.cat-claim{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:7px 14px;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.cat-claim:hover{background:var(--gold);color:#fff}
@media(max-width:600px){.cat-more-row{flex-direction:column;align-items:flex-start;gap:8px}}
