/*
Theme Name: GSTShark
Description: Ledger-console block theme for the GSTShark finance directory.
Version: 0.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gstshark
*/
:root{
  --gs-abyss:#07222E; --gs-shark:#0E3A45; --gs-paper:#FFFFFF; --gs-mist:#EFF3F4;
  --gs-fin:#FF5C38; --gs-fin-dark:#D94424; --gs-seal:#0E7C6B; --gs-foil:#C9A227;
  --gs-ink:#102A36; --gs-muted:#57707D; --gs-line:#D9E2E6;
  --gs-display:'Space Grotesk',Inter,system-ui,sans-serif;
  --gs-sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --gs-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --gs-radius:10px; --gs-wrap:1160px;
}
body{background:var(--gs-mist);color:var(--gs-ink);font-family:var(--gs-sans);margin:0}
.wp-site-blocks{max-width:none}
.gs-wrap{width:min(100% - 2.5rem,var(--gs-wrap));margin-inline:auto}
h1,h2,h3{font-family:var(--gs-display);letter-spacing:-.02em;line-height:1.05;margin:0 0 .6rem}
:focus-visible{outline:3px solid var(--gs-fin);outline-offset:2px}
.eyebrow{font-family:var(--gs-mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* ---- Header ---- */
.gs-sitehead{background:var(--gs-abyss);color:#fff;position:sticky;top:0;z-index:50}
.gs-sitehead .gs-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}
.gs-brand{font-family:var(--gs-display);font-weight:700;font-size:1.25rem;color:#fff;text-decoration:none}
.gs-brand em{font-style:normal;color:var(--gs-fin)}
.gs-sitehead nav ul{display:flex;gap:1.2rem;list-style:none;margin:0;padding:0}
.gs-sitehead nav a{color:#C9D8DE;text-decoration:none;font-family:var(--gs-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.gs-sitehead nav a:hover{color:#fff}

/* ---- Ledger console hero ---- */
.gs-console{background:var(--gs-abyss);color:#fff;border-radius:0 0 26px 26px;padding:clamp(2.2rem,5vw,4rem) 0 0;overflow:hidden}
.gs-console .eyebrow{color:var(--gs-fin)}
.gs-console h1{font-size:clamp(2.6rem,6vw,4.4rem);max-width:16ch}
.gs-console h1 .fin-slash{color:var(--gs-fin)}
.gs-console .lede{color:#B9CBD4;max-width:46rem;font-size:1.05rem}
.gs-challan{background:var(--gs-paper);color:var(--gs-ink);border-radius:14px 14px 0 0;margin-top:1.6rem;padding:1rem 1.1rem 1.2rem;box-shadow:0 -12px 40px rgba(0,0,0,.25)}
.gs-ticker{background:var(--gs-shark);color:#9FBEc9;font-family:var(--gs-mono);font-size:.74rem;letter-spacing:.1em;white-space:nowrap;overflow:hidden;padding:.5rem 0;text-transform:uppercase}
.gs-ticker span{display:inline-block;padding-right:3rem;animation:gs-tick 30s linear infinite}
@keyframes gs-tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.gs-ticker span{animation:none}.gs-card{transition:none}}

/* ---- Trust strip ---- */
.gs-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-bottom:1px solid var(--gs-line);margin:0 0 1.5rem}
.gs-strip div{padding:.9rem .4rem;font-family:var(--gs-mono);font-size:.78rem;letter-spacing:.08em;color:var(--gs-muted);text-transform:uppercase}
.gs-strip strong{display:block;font-size:1.3rem;color:var(--gs-ink);letter-spacing:0}

/* ---- Filters (challan fields) ---- */
.gs-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.6rem;margin:0}
.gs-field{display:flex;flex-direction:column;gap:.3rem}
.gs-field>span{font-family:var(--gs-mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;color:var(--gs-muted);text-transform:uppercase}
.gs-filters input[type=search],.gs-filters select{padding:.7rem .85rem;border:1px solid var(--gs-line);border-radius:8px;background:#F7FAFB;font:500 .92rem var(--gs-sans);color:var(--gs-ink);width:100%}
.gs-filters button{background:var(--gs-fin);color:#fff;border:0;border-radius:8px;padding:.7rem 1.6rem;font:700 .92rem var(--gs-display);letter-spacing:.02em;cursor:pointer;align-self:end}
.gs-filters button:hover{background:var(--gs-fin-dark)}
.gs-count{font-family:var(--gs-mono);font-size:.76rem;letter-spacing:.1em;color:var(--gs-muted);text-transform:uppercase;margin:1.2rem 0 0}

/* ---- Cards (fin-cut ledger) ---- */
.gs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1.2rem 0 2rem}
.gs-card{background:var(--gs-paper);border:1px solid var(--gs-line);border-radius:var(--gs-radius);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);overflow:hidden;display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease;position:relative}
.gs-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(7,34,46,.14)}
.gs-card-media img{width:100%;height:160px;object-fit:cover;display:block}
.gs-card-body{padding:1rem 1.1rem 1.2rem;border-top:3px double var(--gs-line)}
.gs-card-eyebrow{font-family:var(--gs-mono);font-size:.66rem;letter-spacing:.12em;color:var(--gs-muted);text-transform:uppercase}
.gs-card-title{font-size:1.12rem;margin:.25rem 0 .35rem}
.gs-card-title a{text-decoration:none;color:var(--gs-ink)}
.gs-card-title a:hover{color:var(--gs-fin-dark)}
.gs-stamp{display:inline-block;border:1.5px solid var(--gs-seal);color:var(--gs-seal);font:600 .62rem var(--gs-mono);letter-spacing:.1em;border-radius:4px;padding:.12rem .45rem;margin-left:.45rem;vertical-align:middle;transform:rotate(-3deg)}
.gs-card-rating{display:flex;align-items:center;gap:.45rem;font-family:var(--gs-mono);font-size:.84rem}
.gs-stars{color:var(--gs-foil);letter-spacing:.12em}
.gs-card-rating small{color:var(--gs-muted)}
.gs-card-meta{font-size:.87rem;margin-top:.3rem;color:var(--gs-ink)}
.gs-muted{color:var(--gs-muted)}
.gs-empty{border:1px dashed var(--gs-line);border-radius:var(--gs-radius);padding:1.6rem;background:var(--gs-paper);margin:1.2rem 0}
.gs-pagination{margin:1.5rem 0;text-align:center;font-family:var(--gs-mono);font-size:.85rem}
.gs-pagination a{color:var(--gs-shark)}

/* ---- Profile dossier ---- */
.gs-dossier{background:var(--gs-paper);border:1px solid var(--gs-line);border-radius:14px;padding:clamp(1.2rem,3vw,2.2rem);margin:1.5rem 0}
.gs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));border:1px solid var(--gs-line);border-radius:8px;overflow:hidden;margin:1.2rem 0}
.gs-fact{padding:.75rem .95rem;border-bottom:1px solid var(--gs-line);background:var(--gs-paper)}
.gs-fact:nth-child(odd){background:#F7FAFB}
.gs-fact span{display:block;font:600 .64rem var(--gs-mono);letter-spacing:.12em;color:var(--gs-muted);text-transform:uppercase;margin-bottom:.2rem}
.gs-fact strong{font:600 .95rem var(--gs-sans)}
.gs-fact strong .gs-stars{font-size:1rem}
.gs-contact{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 0}
.gs-btn{background:var(--gs-abyss);color:#fff;border:0;border-radius:8px;padding:.75rem 1.4rem;font:600 .92rem var(--gs-sans);text-decoration:none;display:inline-block}
.gs-btn:hover{background:var(--gs-shark)}
.gs-btn-wa{background:#1FA855}
.gs-btn-wa:hover{background:#178541}

/* ---- Get-listed form ---- */
.gs-listed-form{max-width:660px;background:var(--gs-paper);border:1px solid var(--gs-line);border-radius:14px;padding:1.5rem;margin:1.5rem 0}
.gs-listed-form label{font:600 .82rem var(--gs-sans);display:block;margin-bottom:.8rem}
.gs-listed-form input,.gs-listed-form textarea,.gs-listed-form select{width:100%;padding:.65rem .8rem;border:1px solid var(--gs-line);border-radius:8px;margin-top:.3rem;font:400 .92rem var(--gs-sans);background:#F7FAFB}
.gs-listed-form button{background:var(--gs-fin);color:#fff;border:0;border-radius:8px;padding:.8rem 1.6rem;font:700 .95rem var(--gs-display);cursor:pointer}
.gs-listed-form button:hover{background:var(--gs-fin-dark)}
.gs-2col{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.gs-success{background:#E6F4EF;border:1px solid #8CC9B8;padding:.9rem 1.1rem;border-radius:10px}
.gs-error{background:#FDECEC;border:1px solid #F3A8A8;padding:.9rem 1.1rem;border-radius:10px}

/* ---- Comments / reviews ---- */
.comment-form-rating select{padding:.5rem;font-family:var(--gs-mono)}
.commentlist{list-style:none;margin:1rem 0;padding:0}
.commentlist li{border:1px solid var(--gs-line);border-radius:8px;padding:.9rem 1rem;margin-bottom:.7rem;background:var(--gs-paper)}
.comment-meta{font-family:var(--gs-mono);font-size:.72rem;letter-spacing:.06em;color:var(--gs-muted);text-transform:uppercase}

/* ---- Footer ---- */
.gs-sitefoot{background:var(--gs-abyss);color:#9FB6C1;margin-top:3rem;padding:2.2rem 0 1.4rem}
.gs-sitefoot a{color:#D7E4E9;text-decoration:none}
.gs-sitefoot a:hover{color:#fff}
.gs-footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem}
.gs-footbrand{font-family:var(--gs-display);font-weight:700;font-size:1.3rem;color:#fff}
.gs-footbrand em{font-style:normal;color:var(--gs-fin)}
.gs-sitefoot h4{font-family:var(--gs-mono);font-size:.7rem;letter-spacing:.14em;color:var(--gs-fin);text-transform:uppercase}
.gs-sitefoot ul{list-style:none;margin:.4rem 0 0;padding:0;font-size:.9rem}
.gs-sitefoot li{margin:.3rem 0}
.gs-finebar{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem 1.5rem;flex-wrap:wrap;border-top:1px solid var(--gs-shark);margin-top:1.6rem;padding-top:1rem}
.gs-fine{font-family:var(--gs-mono);font-size:.72rem;letter-spacing:.06em;margin:0}
.gs-credit{font-family:var(--gs-mono);font-size:.72rem;letter-spacing:.06em;margin:0;color:#9FB6C1}
.gs-credit a{color:#D7E4E9}
.gs-credit a:hover{color:#fff}
@media(max-width:640px){.gs-finebar{flex-direction:column;gap:.3rem}}

@media(max-width:900px){.gs-filters{grid-template-columns:1fr 1fr}.gs-filters button{grid-column:1/-1}}
@media(max-width:640px){.gs-2col,.gs-footgrid{grid-template-columns:1fr}.gs-filters{grid-template-columns:1fr}.gs-sitehead nav ul{gap:.8rem}}
