/*
Theme Name: Spa Directory
Theme URI: https://example.com/spa-directory
Author: Netliverse
Author URI: https://netliverse.com
Description: A production-ready Spa Directory theme. Binds to provided HTML/CSS. Includes CPT, Woo-based plan logic (no subscription plugin), Rank Math schema, owner dashboard routes, and secure frontend flows.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: spa-directory
Tags: directory, woocommerce, business, listings, schema, rank-math
*/

/* ========== Minimal, namespaced helpers (won’t clash with your template) ========== */

:root {
  --spadir-primary: #0ea5e9;
  --spadir-primary-600: #0284c7;
  --spadir-accent: #22c55e;
  --spadir-danger: #ef4444;
  --spadir-warning: #f59e0b;
  --spadir-muted: #6b7280;
  --spadir-bg: #f8fafc;
  --spadir-card: #ffffff;
  --spadir-radius: 14px;
  --spadir-shadow: 0 6px 18px rgba(2, 8, 20, 0.06);
}

.spadir-hidden{display:none !important;}
.spadir-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:#eef2ff;color:#4338ca}
.spadir-badge--featured{background:#ecfeff;color:#0891b2;border:1px solid rgba(8,145,178,.2)}
.spadir-badge--pending{background:#fffbeb;color:#a16207;border:1px solid rgba(161,98,7,.2)}
.spadir-badge--draft{background:#f1f5f9;color:#334155;border:1px solid rgba(51,65,85,.15)}

.spadir-card{background:var(--spadir-card);border-radius:var(--spadir-radius);box-shadow:var(--spadir-shadow);overflow:hidden}
.spadir-card__body{padding:1rem 1.25rem}
.spadir-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.spadir-grid--3 > *{grid-column:span 12}
@media(min-width:768px){.spadir-grid--3 > *{grid-column:span 6}}
@media(min-width:1024px){.spadir-grid--3 > *{grid-column:span 4}}

.spadir-btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:10px;padding:.6rem 1rem;border:1px solid transparent;background:var(--spadir-primary);color:#fff;text-decoration:none;transition:.2s}
.spadir-btn:hover{background:var(--spadir-primary-600)}
.spadir-btn.is-disabled{opacity:.5;pointer-events:none}
.spadir-btn--ghost{background:transparent;color:var(--spadir-primary);border-color:var(--spadir-primary)}

.spadir-progress{width:100%;height:10px;background:#f1f5f9;border-radius:9999px;overflow:hidden}
.spadir-progress__bar{height:100%;background:linear-gradient(90deg,var(--spadir-primary),#60a5fa)}
.spadir-open{color:var(--spadir-accent);font-weight:600}
.spadir-closed{color:var(--spadir-danger);font-weight:600}

.spadir-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.5rem}
.spadir-gallery img{width:100%;height:180px;object-fit:cover;border-radius:10px}
.spadir-gallery > *{grid-column:span 12}
@media(min-width:768px){.spadir-gallery > *{grid-column:span 6}}
@media(min-width:1024px){.spadir-gallery > *{grid-column:span 3}}

.spadir-form .field{margin:0 0 .9rem}
.spadir-form .field label{display:block;font-weight:600;margin:0 0 .35rem}
.spadir-form .field input[type="text"],
.spadir-form .field input[type="email"],
.spadir-form .field input[type="url"],
.spadir-form .field input[type="time"],
.spadir-form .field input[type="number"],
.spadir-form .field textarea,
.spadir-form .field select{
  width:100%;padding:.65rem .8rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff
}
.spadir-form .hint{font-size:.8rem;color:var(--spadir-muted)}
