
/*
Theme Name: XILO Detailing Theme
Theme URI: https://xilo.example.com
Author: XILO Detailing
Author URI: https://xilo.example.com
Description: Single-page theme for XILO mobile detailing with booking placeholder.
Version: 1.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: xilo-detailing
*/

:root {
  --xilo-bg: #020617;
  --xilo-teal: #06b6d4;
  --xilo-teal-bright: #00f5d4;
  --xilo-blue: #1d4ed8;
  --xilo-text: #f9fafb;
  --xilo-muted: #9ca3af;
  --xilo-border: #1f2937;
  --xilo-radius: 18px;
  --xilo-radius-lg: 26px;
  --xilo-shadow: 0 22px 45px rgba(0,0,0,0.75);
  --xilo-font-main: system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html, body { margin:0; padding:0; }

body {
  font-family: var(--xilo-font-main);
  background: radial-gradient(circle at top left, #0b1120 0, #020617 45%, #000 100%);
  color: var(--xilo-text);
  line-height: 1.6;
}

.site { min-height:100vh; display:flex; flex-direction:column; }

/* Header */

.site-header {
  position:sticky; top:0; z-index:40;
  backdrop-filter:blur(18px);
  background:linear-gradient(to bottom,rgba(2,6,23,0.96),rgba(2,6,23,0.9),transparent);
  border-bottom:1px solid rgba(148,163,184,0.25);
}
.header-inner {
  max-width:1160px; margin:0 auto;
  padding:0.55rem 1.25rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.brand {
  display:flex; align-items:center; gap:0.55rem;
  text-decoration:none; color:var(--xilo-text);
}
.brand-mark img {
  display:block;
  height:40px;
  width:auto;
}
@media (max-width:480px){
  .brand-mark img { height:32px; }
}
.brand-text { display:flex; flex-direction:column; }
.brand-text .title {
  font-size:1.0rem; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
}
.brand-text .subtitle {
  font-size:0.7rem; text-transform:uppercase;
  letter-spacing:0.16em; color:var(--xilo-muted);
}

.main-nav { display:flex; gap:1.1rem; align-items:center; font-size:0.86rem; }
.main-nav a {
  color:var(--xilo-muted); text-decoration:none;
  position:relative; padding-bottom:0.12rem;
}
.main-nav a:hover { color:var(--xilo-text); }
.main-nav a::after {
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px;
  border-radius:999px;
  background:linear-gradient(to right,var(--xilo-teal-bright),var(--xilo-blue));
  transition:width 0.18s ease-out;
}
.main-nav a:hover::after { width:100%; }

.header-cta { display:flex; align-items:center; gap:0.75rem; }
.header-phone { display:none; color:var(--xilo-muted); font-size:0.8rem; }
.header-phone strong { color:var(--xilo-text); }

.btn {
  border-radius:999px; padding:0.5rem 1.3rem; font-size:0.82rem; font-weight:600;
  border:1px solid transparent; text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center; gap:0.35rem;
  cursor:pointer; white-space:nowrap;
}
.btn-primary {
  background:linear-gradient(135deg,var(--xilo-teal-bright),var(--xilo-blue));
  color:#020617; box-shadow:0 16px 42px rgba(56,189,248,0.55);
}
.btn-primary:hover { filter:brightness(1.06); }
.btn-ghost { background:transparent; border-color:rgba(148,163,184,0.45); color:var(--xilo-text); }
.btn-ghost:hover { background:rgba(15,23,42,0.8); }

/* Layout */

.site-main { flex:1; }
.section { padding:3.2rem 1.25rem; }
.section-inner { max-width:1160px; margin:0 auto; }

/* Hero & sections (same as previous good version, shortened a bit) */

.section-label { font-size:0.8rem; text-transform:uppercase; letter-spacing:0.25em; color:var(--xilo-muted); margin-bottom:0.4rem; }
.section-title { font-size:1.7rem; margin:0 0 0.4rem; }
.section-subtitle { font-size:0.92rem; color:var(--xilo-muted); max-width:34rem; }

.package-grid { margin-top:1.7rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.1rem; }
.package-card {
  background:radial-gradient(circle at top left,rgba(56,189,248,0.12),rgba(15,23,42,0.98));
  border-radius:var(--xilo-radius);
  border:1px solid rgba(148,163,184,0.45);
  padding:1rem 1rem 1.1rem;
  font-size:0.86rem;
}
.package-badge { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.18em; color:var(--xilo-muted); margin-bottom:0.35rem; }
.package-name-row { display:flex; justify-content:space-between; align-items:baseline; gap:0.4rem; }
.package-name { font-size:1.02rem; font-weight:600; }
.package-price { font-size:1rem; font-weight:600; color:var(--xilo-teal-bright); }
.package-tagline { font-size:0.8rem; color:var(--xilo-muted); margin:0.4rem 0 0.6rem; }

.detailer-grid { margin-top:1.6rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; font-size:0.82rem; }
.detailer-card { border-radius:var(--xilo-radius); border:1px solid rgba(148,163,184,0.45); background:rgba(15,23,42,0.98); padding:0.8rem 0.9rem; }
.detailer-name { font-weight:600; margin-bottom:0.1rem; }
.detailer-meta { color:var(--xilo-muted); font-size:0.78rem; }

.booking-shell { margin-top:1.4rem; border-radius:var(--xilo-radius-lg); border:1px dashed rgba(148,163,184,0.6); background:rgba(15,23,42,0.92); padding:1.3rem 1.2rem; font-size:0.86rem; color:var(--xilo-muted); }

.site-footer { border-top:1px solid rgba(148,163,184,0.4); padding:1.7rem 1.25rem 2.4rem; margin-top:1rem; background:radial-gradient(circle at top,rgba(15,23,42,0.92),#020617); }
.footer-inner { max-width:1160px; margin:0 auto; display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:space-between; align-items:flex-start; }
.footer-left { max-width:18rem; font-size:0.8rem; color:var(--xilo-muted); }
.footer-nav { display:flex; flex-wrap:wrap; gap:1.4rem; font-size:0.8rem; }
.footer-nav a { color:var(--xilo-muted); text-decoration:none; }
.footer-nav a:hover { color:var(--xilo-text); }

@media (max-width:980px) {
  .package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detailer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .main-nav { display:none; }
  .header-phone { display:block; }
  .package-grid { grid-template-columns:minmax(0,1fr); }
  .detailer-grid { grid-template-columns:minmax(0,1fr); }
}
