/* =====================================================================
   To Hull and Back — directory features (2026-09-25)
   Loaded after site.css on both public and admin layouts.
   ===================================================================== */

/* Footer: Services column removed → 3 columns */
.footer-grid { grid-template-columns: 1.6fr 1fr 1fr; }
@media (max-width: 800px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .footer-grid { grid-template-columns: 1fr; } }

.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ----- Breadcrumbs ----- */
.breadcrumbs { background: var(--cream, #f6f1e7); border-bottom: 1px solid var(--slate-200, #e3e5e8); font-size: .88rem; }
.breadcrumbs ol { list-style: none; margin: 0; padding: .7rem 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.breadcrumbs li { color: var(--slate-500, #6b7280); }
.breadcrumbs li + li::before { content: "›"; margin-right: .35rem; color: var(--slate-300, #c9ccd1); }
.breadcrumbs a { color: var(--slate-700, #374151); text-decoration: none; }
.breadcrumbs a:hover { color: var(--gold-700, #9c6f2c); text-decoration: underline; }
.breadcrumbs [aria-current] { color: var(--ink-900, #111); font-weight: 600; }

/* ----- FAQ accordion ----- */
.faq { margin-top: 1.5rem; border-top: 1px solid var(--slate-200, #e3e5e8); }
.faq__item { border-bottom: 1px solid var(--slate-200, #e3e5e8); }
.faq__q {
    cursor: pointer; list-style: none; padding: 1.1rem 2.5rem 1.1rem 0; position: relative;
    font-weight: 600; font-size: 1.05rem; color: var(--ink-900, #111);
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after {
    content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%);
    font-size: 1.5rem; line-height: 1; color: var(--gold-700, #9c6f2c); transition: transform .2s ease;
}
.faq__item[open] > .faq__q::after { transform: translateY(-50%) rotate(45deg); }
.faq__q:focus-visible { outline: 2px solid var(--gold-700, #9c6f2c); outline-offset: 4px; }
.faq__a { padding: 0 0 1.2rem; color: var(--slate-700, #374151); }
.faq__a p { margin: 0; }

/* ----- Coming soon + sign-up ----- */
.coming-soon__form { display: flex; gap: .5rem; max-width: 460px; margin: 1.25rem auto .5rem; flex-wrap: wrap; }
.coming-soon__form input[type="email"] {
    flex: 1 1 220px; min-width: 0; padding: .75rem 1rem; font: inherit;
    border: 1px solid var(--slate-300, #c9ccd1); border-radius: var(--r-sm, 6px); background: #fff;
}
.coming-soon__form input[type="email"]:focus { outline: 2px solid var(--gold-700, #9c6f2c); outline-offset: 1px; }
.coming-soon__small { font-size: .82rem; color: var(--slate-500, #6b7280); margin: .25rem 0 0; }
.coming-soon__done { font-weight: 600; color: var(--ink-900, #111); margin-top: 1rem; }

/* ----- Admin: data table ----- */
.dt-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.dt-head__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.dt-count { font-size: .95rem; font-weight: 500; color: var(--slate-500, #6b7280); margin-left: .35rem; }
.dt-tab-count { opacity: .6; font-size: .85em; margin-left: .15rem; }
.dt-btn { color: var(--ink-900, #111) !important; border-color: var(--ink-900, #111) !important; padding: .45rem .9rem; font-size: .88rem; }
.dt-filters { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-bottom: 1.25rem; }
.dt-filters input, .dt-filters select {
    padding: .55rem .75rem; font: inherit; font-size: .92rem;
    border: 1px solid var(--slate-300, #c9ccd1); border-radius: var(--r-sm, 6px); background: #fff;
}
.dt-filters input[type="search"], .dt-filters input[name="name"] { flex: 1 1 260px; min-width: 0; }
.dt-clear { font-size: .88rem; color: var(--slate-500, #6b7280); }
.dt-wrap { overflow-x: auto; }
.dt-table { min-width: 860px; }
.dt-table th .dt-sort { color: inherit; text-decoration: none; white-space: nowrap; }
.dt-table th .dt-sort.is-active { color: var(--gold-700, #9c6f2c); }
.admin-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.dt-sub { display: block; color: var(--slate-500, #6b7280); font-size: .85rem; }
.dt-warn { color: #b45309; font-weight: 600; }
.dt-actions { white-space: nowrap; text-align: right; }
.dt-actions a, .dt-link { margin-left: .6rem; font-size: .88rem; color: var(--ink-900, #111); background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; text-decoration: underline; }
.dt-danger { color: #b42318 !important; border-color: #b42318 !important; }
.dt-pager { display: flex; gap: 1rem; justify-content: center; align-items: center; margin: 1.5rem 0; font-size: .92rem; }
.dt-check { display: flex; align-items: center; gap: .4rem; font-size: .88rem; color: var(--slate-500, #6b7280); margin-bottom: .5rem; }
.dt-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .75rem; margin-bottom: .75rem; }
.dt-gallery label { display: block; font-size: .82rem; color: var(--slate-500, #6b7280); cursor: pointer; }
.dt-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-sm, 6px); display: block; margin-bottom: .25rem; }

/* ----- Admin: stat strip ----- */
.stat-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1rem; margin: 0 0 1.5rem; }
.stat-strip__item { background: #fff; border: 1px solid var(--slate-200, #e3e5e8); border-top: 3px solid var(--gold, #C28F42); border-radius: var(--r-sm, 6px); padding: .9rem 1.1rem; font-size: .85rem; color: var(--slate-500, #6b7280); }
.stat-strip__num { display: block; font-size: 1.7rem; font-weight: 700; color: var(--ink-900, #111); line-height: 1.15; }

/* ----- Admin: SEO check ----- */
.seo-h { font-size: 1.15rem; margin: 2rem 0 .75rem; }
.seo-site, .seo-item ul { list-style: none; padding: 0; margin: 0; }
.seo-site li, .seo-item li { padding: .35rem 0; }
.seo-list { border-top: 1px solid var(--slate-200, #e3e5e8); }
.seo-item { border-bottom: 1px solid var(--slate-200, #e3e5e8); }
.seo-item summary { cursor: pointer; padding: .75rem 0; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.seo-item summary .dt-sub { display: inline; }
.seo-item__links { margin-left: auto; display: flex; gap: .8rem; font-size: .88rem; }
.seo-item ul { padding: 0 0 .9rem 2rem; }
.seo-badge { display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; border-radius: 50%; font-size: .75rem; font-weight: 700; color: #fff; flex: none; }
.seo-badge--ok   { background: #1f8a4c; }
.seo-badge--warn { background: #d08a12; }
.seo-badge--fail { background: #b42318; }
.seo-ok { color: #1f8a4c !important; } .seo-warn { color: #d08a12 !important; } .seo-fail { color: #b42318 !important; }

/* Status pills not styled in site.css */
.pill--expired, .pill--draft { background: #eceef1; color: #4b5563; }
