/* ══════════════════════════════════════════════════
   REPAIR SHOP SERVICES v3.0
   Aesthetic: Premium Dark Industrial — Electric Cyan
   ══════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Familjen+Grotesk:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

/* ── TOKENS ────────────────────────────────────── */
:root {
  --bg:      #070710;
  --surf:    #0f0f1c;
  --surf2:   #161628;
  --border:  rgba(255,255,255,.07);
  --border2: rgba(255,255,255,.12);
  --txt:     #d8d8ee;
  --muted:   #6a6a8c;
  --white:   #ffffff;
  --accent:  #00d4ff;
  --accent2: #ff6535;
  --green:   #10d98a;

  /* Card colors */
  --blue:   #3b82f6; --cyan:   #06b6d4; --green-c:#10b981;
  --orange: #f97316; --purple: #a855f7; --red:    #ef4444;
  --teal:   #14b8a6; --indigo: #6366f1;

  --radius:   16px;
  --radius-lg:24px;
  --font:     'DM Sans', sans-serif;
  --font-h:   'Familjen Grotesk', sans-serif;
  --font-mono:'Space Mono', monospace;
  --shadow:   0 4px 24px rgba(0,0,0,.4);
  --shadow-lg:0 16px 60px rgba(0,0,0,.6);
}

/* ── RESET ─────────────────────────────────────── */
.rss-page *, .rss-overlay * { box-sizing:border-box; margin:0; padding:0; }
.rss-page { font-family:var(--font); color:var(--txt); background:var(--bg); overflow-x:hidden; }

/* ══════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════ */
.rss-hero {
  position:relative; overflow:hidden;
  min-height:520px;
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:100px 24px 80px;
  background:linear-gradient(170deg,#0a0a18 0%,var(--bg) 70%);
}
.rss-hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(0,212,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,212,255,.045) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black,transparent);
}
.rss-orb { position:absolute; border-radius:50%; filter:blur(100px); pointer-events:none; }
.rss-orb-1 { width:500px;height:500px;background:rgba(0,212,255,.07);top:-160px;left:50%;transform:translateX(-50%); }
.rss-orb-2 { width:320px;height:320px;background:rgba(168,85,247,.06);bottom:-80px;right:5%; }
.rss-orb-3 { width:200px;height:200px;background:rgba(255,101,53,.05);bottom:40px;left:8%; }

.rss-hero-inner { position:relative;z-index:2; max-width:780px; }

.rss-pill {
  display:inline-block;
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--accent);
  background:rgba(0,212,255,.08);
  border:1px solid rgba(0,212,255,.22);
  padding:7px 20px; border-radius:100px; margin-bottom:28px;
}
.rss-h1 {
  font-family:var(--font-h);
  font-size:clamp(40px,7vw,76px); font-weight:800;
  line-height:1.02; letter-spacing:-.03em;
  color:var(--white); margin-bottom:20px;
}
.rss-grad {
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.rss-hero-p { font-size:18px; color:var(--muted); margin-bottom:40px; }

.rss-trust-row { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
.rss-trust {
  display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,.04); border:1px solid var(--border);
  border-radius:12px; padding:14px 20px; min-width:140px;
  text-align:left; font-size:14px; line-height:1.4;
}
.rss-trust strong { display:block; color:var(--white); font-size:15px; }
.rss-trust-ic { font-size:24px; flex-shrink:0; }

/* ══════════════════════════════════════════════════
   SERVICE MODES SECTION
══════════════════════════════════════════════════ */
.rss-modes-section { padding:70px 24px 50px; text-align:center; }
.rss-modes-grid {
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:14px; max-width:960px; margin:36px auto 0;
}
.rss-mode-card {
  flex:1; min-width:160px; max-width:180px;
  padding:24px 16px; border-radius:16px;
  background:var(--surf); border:1px solid var(--border);
  text-align:center; transition:transform .3s,border-color .3s;
}
.rss-mode-card:hover { transform:translateY(-5px); }
.rss-mode-in_store { border-top:3px solid var(--blue);   }
.rss-mode-home     { border-top:3px solid var(--green-c);}
.rss-mode-office   { border-top:3px solid var(--purple); }
.rss-mode-pickup   { border-top:3px solid var(--orange); }
.rss-mode-remote   { border-top:3px solid var(--cyan);   }
.rss-mode-ic    { font-size:32px; margin-bottom:10px; }
.rss-mode-title { font-family:var(--font-h); font-size:15px; font-weight:700; color:var(--white); margin-bottom:5px; }
.rss-mode-desc  { font-size:12.5px; color:var(--muted); line-height:1.5; }

/* ══════════════════════════════════════════════════
   SECTION SHARED
══════════════════════════════════════════════════ */
.rss-sec-label {
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent); display:block; margin-bottom:10px;
}
.rss-sec-h2 {
  font-family:var(--font-h);
  font-size:clamp(28px,4vw,46px); font-weight:800;
  color:var(--white); letter-spacing:-.025em; margin-bottom:10px;
}
.rss-sec-sub { font-size:17px; color:var(--muted); }

/* ══════════════════════════════════════════════════
   SERVICES SECTION
══════════════════════════════════════════════════ */
.rss-services-section { padding:60px 24px 70px; max-width:1320px; margin:0 auto; }
.rss-sec-header-row {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:14px; margin-bottom:10px;
}
.rss-add-btn {
  background:linear-gradient(135deg,var(--accent),#008fcc);
  color:#000; border:none; border-radius:10px;
  padding:12px 22px; font-family:var(--font-h);
  font-size:15px; font-weight:700; cursor:pointer;
  transition:opacity .2s,transform .15s;
}
.rss-add-btn:hover { opacity:.88; transform:scale(1.03); }

/* ── GRID ───────────────────────────────────────── */
.rss-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:22px; margin-top:32px;
}

/* ── CARD ───────────────────────────────────────── */
.rss-card {
  position:relative; overflow:hidden;
  background:var(--surf);
  border:1px solid var(--border);
  border-top:3px solid var(--c,var(--accent));
  border-radius:var(--radius-lg);
  padding:28px;
  display:flex; flex-direction:column; gap:14px;
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.rss-card:hover {
  transform:translateY(-7px);
  box-shadow:var(--shadow-lg),0 0 0 1px var(--c,var(--accent));
}
.rss-card-glow {
  position:absolute; inset:0; opacity:0; pointer-events:none;
  border-radius:var(--radius-lg);
  background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--c,var(--accent)) 14%,transparent),transparent 60%);
  transition:opacity .4s;
}
.rss-card:hover .rss-card-glow { opacity:1; }

.rss-card--blue   { --c:var(--blue);   }
.rss-card--cyan   { --c:var(--cyan);   }
.rss-card--green  { --c:var(--green-c);}
.rss-card--orange { --c:var(--orange); }
.rss-card--purple { --c:var(--purple); }
.rss-card--red    { --c:var(--red);    }
.rss-card--teal   { --c:var(--teal);   }
.rss-card--indigo { --c:var(--indigo); }

/* Admin controls */
.rss-admin-controls {
  position:absolute; top:12px; right:12px;
  display:flex; gap:6px; opacity:0; transition:opacity .2s;
}
.rss-card:hover .rss-admin-controls { opacity:1; }
.rss-adm-btn {
  background:rgba(0,0,0,.6); border:1px solid var(--border2);
  border-radius:8px; padding:5px 9px; font-size:14px;
  cursor:pointer; transition:background .2s;
}
.rss-adm-btn:hover { background:rgba(255,255,255,.12); }
.rss-adm-del:hover { background:rgba(239,68,68,.25); }

.rss-card-head { display:flex; align-items:center; justify-content:space-between; }
.rss-card-ic   { font-size:40px; line-height:1; }
.rss-dur-badge {
  font-family:var(--font-mono); font-size:11px;
  padding:5px 11px; border-radius:7px;
  background:rgba(255,255,255,.06); border:1px solid var(--border);
  color:var(--muted); letter-spacing:.05em;
}

.rss-card-title { font-family:var(--font-h); font-size:22px; font-weight:700; color:var(--white); line-height:1.2; }
.rss-card-desc  { font-size:15px; color:var(--muted); line-height:1.7; flex:1; }

.rss-type-badges { font-size:14px; color:var(--muted); }
.rss-types-txt   { font-size:12px; margin-left:4px; }

.rss-card-foot {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:18px; margin-top:4px; border-top:1px solid var(--border);
  gap:12px;
}
.rss-from-txt  { font-family:var(--font-mono); font-size:11px; color:var(--muted); letter-spacing:.04em; }
.rss-price-big { font-family:var(--font-h); font-size:28px; font-weight:800; color:var(--white); letter-spacing:-.02em; }

.rss-book-btn {
  background:var(--c,var(--accent)); color:#fff;
  border:none; border-radius:12px;
  padding:13px 22px;
  font-family:var(--font-h); font-size:15px; font-weight:700;
  cursor:pointer; white-space:nowrap;
  transition:opacity .2s,transform .2s,box-shadow .2s;
  flex-shrink:0;
}
.rss-book-btn:hover { opacity:.87; transform:scale(1.05); box-shadow:0 6px 20px rgba(0,0,0,.3); }

/* ══════════════════════════════════════════════════
   ENGINEERS SECTION
══════════════════════════════════════════════════ */
.rss-engineers-section {
  padding:70px 24px; text-align:center;
  background:linear-gradient(180deg,transparent,rgba(0,212,255,.025),transparent);
}
.rss-eng-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:20px; max-width:1100px; margin:36px auto 0;
  text-align:left;
}
.rss-eng-card {
  background:var(--surf); border:1px solid var(--border);
  border-radius:var(--radius); padding:22px;
  display:flex; flex-direction:column; gap:12px;
  transition:transform .3s,box-shadow .3s;
}
.rss-eng-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.rss-eng-photo {
  width:72px; height:72px; border-radius:50%;
  object-fit:cover; border:2px solid rgba(0,212,255,.3);
  flex-shrink:0; align-self:center;
}
.rss-eng-name { font-family:var(--font-h); font-size:18px; font-weight:700; color:var(--white); }
.rss-eng-exp  { font-size:13px; color:var(--accent); font-family:var(--font-mono); margin-top:2px; }
.rss-eng-bio  { font-size:14px; color:var(--muted); line-height:1.6; }
.rss-eng-specs{ font-size:13px; color:var(--muted); }
.rss-eng-caps { display:flex; flex-wrap:wrap; gap:6px; }
.rss-ecap {
  font-size:12px; padding:4px 10px; border-radius:20px;
  background:rgba(0,212,255,.08); border:1px solid rgba(0,212,255,.18);
  color:var(--accent);
}
.rss-eng-loading,.rss-no-eng { font-size:15px; color:var(--muted); padding:30px; grid-column:1/-1; text-align:center; }

/* ══════════════════════════════════════════════════
   WHY + STEPS
══════════════════════════════════════════════════ */
.rss-why-section { padding:70px 24px; text-align:center; }
.rss-why-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px; max-width:1100px; margin:36px auto 0; text-align:left;
}
.rss-why-card {
  padding:26px; border-radius:var(--radius);
  background:var(--surf); border:1px solid var(--border);
  transition:transform .3s;
}
.rss-why-card:hover { transform:translateY(-4px); }
.rss-why-ic { font-size:30px; margin-bottom:12px; }
.rss-why-t  { font-family:var(--font-h); font-size:17px; font-weight:700; color:var(--white); margin-bottom:8px; }
.rss-why-d  { font-size:14px; color:var(--muted); line-height:1.65; }

.rss-steps-section { padding:60px 24px 80px; text-align:center; }
.rss-steps { display:flex; align-items:flex-start; justify-content:center; gap:20px; max-width:900px; margin:40px auto 0; flex-wrap:wrap; }
.rss-step  { flex:1; min-width:200px; max-width:240px; }
.rss-step-n {
  font-family:var(--font-mono); font-size:56px; font-weight:700;
  color:transparent; -webkit-text-stroke:2px rgba(0,212,255,.3);
  line-height:1; margin-bottom:12px;
}
.rss-step h4 { font-family:var(--font-h); font-size:17px; font-weight:700; color:var(--white); margin-bottom:8px; }
.rss-step p  { font-size:14px; color:var(--muted); line-height:1.65; }
.rss-step-arrow { font-size:28px; color:rgba(0,212,255,.3); padding-top:26px; flex-shrink:0; }

/* ══════════════════════════════════════════════════
   BOOKING MODAL
══════════════════════════════════════════════════ */
.rss-overlay {
  position:fixed; inset:0; z-index:99999;
  background:rgba(0,0,0,.82); backdrop-filter:blur(12px);
  display:flex; align-items:center; justify-content:center;
  padding:16px; opacity:0; pointer-events:none;
  transition:opacity .3s;
}
.rss-overlay.rss-active { opacity:1; pointer-events:all; }

.rss-modal {
  background:#0e0e1e;
  border:1px solid rgba(0,212,255,.16);
  border-radius:var(--radius-lg);
  width:100%; max-width:980px; max-height:94vh; overflow-y:auto;
  padding:36px; position:relative;
  box-shadow:var(--shadow-lg),0 0 0 1px rgba(0,212,255,.07);
  transform:translateY(28px); transition:transform .35s;
}
.rss-overlay.rss-active .rss-modal { transform:translateY(0); }
.rss-modal::-webkit-scrollbar { width:5px; }
.rss-modal::-webkit-scrollbar-thumb { background:rgba(0,212,255,.18); border-radius:3px; }

.rss-modal-close {
  position:absolute; top:16px; right:18px;
  background:rgba(255,255,255,.07); border:none; border-radius:50%;
  color:var(--muted); width:36px; height:36px; font-size:16px;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all .2s;
}
.rss-modal-close:hover { background:rgba(255,255,255,.14); color:var(--white); }

/* Service banner */
.rss-service-banner {
  display:flex; align-items:center; gap:18px;
  background:linear-gradient(135deg,rgba(0,212,255,.1),rgba(0,212,255,.04));
  border:1px solid rgba(0,212,255,.2);
  border-radius:16px; padding:20px 24px; margin-bottom:24px;
  flex-wrap:wrap; position:relative;
}
.rss-sb-ic   { font-size:46px; flex-shrink:0; }
.rss-sb-info { flex:1; }
.rss-sb-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.rss-sb-name { font-family:var(--font-h); font-size:24px; font-weight:800; color:var(--white); margin:4px 0; }
.rss-sb-price{ font-family:var(--font-mono); font-size:18px; color:var(--accent); font-weight:700; }

.rss-user-badge {
  position:absolute; top:14px; right:14px;
  background:rgba(16,217,138,.1); border:1px solid rgba(16,217,138,.3);
  color:#6ee7b7; border-radius:100px; padding:5px 14px; font-size:13px;
}
.rss-user-badge strong { color:var(--white); }

.rss-guest-note {
  background:rgba(249,115,22,.08); border:1px solid rgba(249,115,22,.2);
  border-radius:10px; padding:10px 16px; font-size:14px; color:#fdba74;
  margin-bottom:20px;
}
.rss-guest-note a { color:var(--accent); font-weight:700; text-decoration:none; }

/* Two-col layout */
.rss-modal-cols {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,400px);
  gap:28px; margin-bottom:24px; align-items:start;
}

/* Field */
.rss-field { margin-bottom:16px; }
.rss-field label {
  display:block; font-family:var(--font-mono); font-size:11px;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-bottom:7px;
}
.req { color:var(--red); }
.rss-field input,
.rss-field textarea {
  width:100%; background:rgba(255,255,255,.05);
  border:1.5px solid rgba(255,255,255,.09);
  border-radius:11px; padding:13px 16px;
  color:var(--white); font-family:var(--font); font-size:15px;
  transition:border-color .2s,box-shadow .2s;
}
.rss-field input:focus,
.rss-field textarea:focus {
  outline:none; border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,212,255,.12);
}
.rss-field input::placeholder,
.rss-field textarea::placeholder { color:rgba(255,255,255,.18); }
.rss-field textarea { resize:vertical; min-height:90px; }
.rss-autofilled { border-color:rgba(16,217,138,.35)!important; }

.rss-field-section-title {
  font-family:var(--font-h); font-size:14px; font-weight:700;
  color:var(--white); margin-bottom:12px;
  padding-bottom:8px; border-bottom:1px solid var(--border);
}

/* Service type grid */
.rss-stype-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.rss-stype-btn {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  background:rgba(255,255,255,.04); border:1.5px solid var(--border);
  border-radius:11px; padding:12px 8px; cursor:pointer;
  transition:all .2s; text-align:center;
}
.rss-stype-btn:hover:not(:disabled) { border-color:var(--accent); background:rgba(0,212,255,.07); }
.rss-stype-btn.active { border-color:var(--accent); background:rgba(0,212,255,.12); box-shadow:0 0 0 3px rgba(0,212,255,.15); }
.rss-stype-btn.rss-stype-disabled { opacity:.3; cursor:not-allowed; }
.rss-stype-ic    { font-size:22px; }
.rss-stype-label { font-size:11px; font-weight:600; color:var(--txt); line-height:1.3; }

/* ── CALENDAR ────────────────────────────────── */
.rss-cal {
  background:rgba(255,255,255,.03);
  border:1.5px solid rgba(255,255,255,.09);
  border-radius:14px; padding:16px; margin-bottom:10px;
  display:block; width:100%; box-sizing:border-box;
}
.rss-cal-nav {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;
}
.rss-cal-nav-btn {
  background:rgba(255,255,255,.07); border:none; border-radius:9px;
  color:var(--txt); width:34px; height:34px; font-size:20px; font-weight:700;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all .2s;
}
.rss-cal-nav-btn:hover { background:rgba(0,212,255,.18); color:var(--accent); }
#rss-cal-month { font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--white); }
.rss-cal-dow {
  display:grid; grid-template-columns:repeat(7,1fr);
  text-align:center; margin-bottom:8px;
}
.rss-cal-dow span { font-family:var(--font-mono); font-size:10px; color:var(--muted); padding:4px; }
.rss-cal-cells { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; min-height:200px; }
.rss-cal-cell {
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:none; border-radius:9px;
  color:var(--txt); font-family:var(--font); font-size:14px;
  cursor:pointer; transition:all .15s; position:relative;
  min-height:38px; height:38px; width:100%;
}
.rss-cal-cell:hover:not(:disabled):not(.rss-cal-past) { background:rgba(0,212,255,.14); color:var(--accent); }
.rss-cal-cell.rss-cal-sel  { background:var(--accent); color:#000; font-weight:800; box-shadow:0 0 0 3px rgba(0,212,255,.25); }
.rss-cal-cell.rss-cal-past { color:rgba(255,255,255,.2); cursor:not-allowed; }
.rss-cal-cell.rss-cal-sun  { color:#c084fc; }
.rss-cal-cell.rss-cal-sun::after { content:'•'; position:absolute; bottom:2px; left:50%; transform:translateX(-50%); font-size:6px; }
.rss-cal-cell.rss-cal-hol  { color:#fb923c; }
.rss-cal-cell.rss-cal-hol::after { content:'★'; position:absolute; bottom:1px; left:50%; transform:translateX(-50%); font-size:6px; }
.rss-cal-legend { display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; padding-top:10px; border-top:1px solid var(--border); }
.rss-cal-legend span { font-family:var(--font-mono); font-size:10px; color:var(--muted); display:flex; align-items:center; gap:5px; }
.rss-dot { width:8px; height:8px; border-radius:50%; display:inline-block; }
.rss-dot-avail { background:var(--accent); }
.rss-dot-sun   { background:#c084fc; }
.rss-dot-hol   { background:#fb923c; }

.rss-date-display {
  font-family:var(--font-mono); font-size:12px; color:var(--accent);
  background:rgba(0,212,255,.07); border-radius:8px;
  padding:7px 14px; margin-bottom:16px; letter-spacing:.03em;
}

/* ── TIME SLOTS ─────────────────────────────── */
.rss-slots-wrap { }
.rss-slots-container { min-height:54px; }
.rss-slots-grid { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.rss-slot {
  background:rgba(255,255,255,.06); border:1.5px solid var(--border);
  border-radius:9px; padding:9px 14px; color:var(--txt);
  font-family:var(--font-mono); font-size:13px; cursor:pointer;
  transition:all .15s; min-width:70px; text-align:center;
}
.rss-slot:hover:not(:disabled) { border-color:var(--accent); color:var(--accent); background:rgba(0,212,255,.08); }
.rss-slot.rss-slot-sel { background:var(--accent); border-color:var(--accent); color:#000; font-weight:700; box-shadow:0 0 0 3px rgba(0,212,255,.25); }
.rss-slot-past  { opacity:.3; cursor:not-allowed; text-decoration:line-through; }
.rss-slot-booked{ opacity:.35; cursor:not-allowed; border-style:dashed; }
.rss-slot-hint  { font-size:13px; color:var(--muted); font-style:italic; display:block; padding:10px 0; }
.rss-slot-none  { font-size:13px; color:var(--red); display:block; padding:6px 0; }
.rss-day-note {
  font-family:var(--font-mono); font-size:12px;
  background:rgba(139,92,246,.1); border:1px solid rgba(139,92,246,.25);
  color:#c4b5fd; border-radius:8px; padding:8px 14px; margin-bottom:10px;
  width:100%;
}
.rss-custom-wrap { margin-top:12px; }
.rss-custom-toggle {
  background:transparent; border:1px dashed rgba(0,212,255,.3);
  border-radius:8px; color:var(--accent); font-family:var(--font-mono);
  font-size:11px; padding:7px 14px; cursor:pointer; width:100%;
  text-align:left; letter-spacing:.04em; transition:all .2s;
}
.rss-custom-toggle:hover { background:rgba(0,212,255,.06); border-style:solid; }
.rss-custom-body { margin-top:10px; padding:14px; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:10px; display:flex; flex-direction:column; gap:10px; }
.rss-custom-body input[type=time] { background:rgba(255,255,255,.05); border:1.5px solid var(--border2); border-radius:9px; padding:10px 14px; color:var(--white); font-family:var(--font-mono); font-size:15px; width:100%; }
.rss-custom-body input[type=time]:focus { outline:none; border-color:var(--accent); }
.rss-custom-body input::-webkit-calendar-picker-indicator { filter:invert(1) opacity(.4); }
.rss-custom-body button { background:rgba(0,212,255,.15); border:1px solid rgba(0,212,255,.3); border-radius:8px; color:var(--accent); font-family:var(--font-h); font-weight:700; font-size:14px; padding:9px; cursor:pointer; transition:all .2s; }
.rss-custom-body button:hover { background:rgba(0,212,255,.25); }
.rss-custom-body small { font-size:11px; color:var(--muted); font-style:italic; }

/* ── BOOKING SUMMARY ────────────────────────── */
.rss-booking-summary {
  background:rgba(0,212,255,.06); border:1.5px solid rgba(0,212,255,.15);
  border-radius:14px; padding:20px 24px; margin-bottom:20px;
}
.rss-summary-title {
  font-family:var(--font-h); font-size:14px; font-weight:700;
  color:var(--white); margin-bottom:14px;
  padding-bottom:10px; border-bottom:1px solid rgba(0,212,255,.12);
}
.rss-summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rss-sum-item { }
.rss-sum-lbl { display:block; font-family:var(--font-mono); font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
.rss-sum-item strong { font-family:var(--font-h); font-size:15px; color:var(--white); }
.rss-sum-amt strong { font-size:22px; color:var(--accent); }

/* ── SUBMIT BUTTON ─────────────────────────── */
.rss-confirm-btn {
  width:100%; padding:17px;
  background:linear-gradient(135deg,var(--accent),#009ec0);
  color:#000; border:none; border-radius:13px;
  font-family:var(--font-h); font-size:17px; font-weight:800;
  cursor:pointer; transition:opacity .2s,transform .15s;
  letter-spacing:.01em;
}
.rss-confirm-btn:hover { opacity:.89; transform:scale(1.015); }
.rss-confirm-btn:disabled { opacity:.4; cursor:not-allowed; transform:none; }
.rss-outline-btn { background:transparent; border:2px solid var(--accent); color:var(--accent); }
.rss-outline-btn:hover { background:rgba(0,212,255,.1); opacity:1; }

.rss-form-err {
  background:rgba(239,68,68,.1); border:1.5px solid rgba(239,68,68,.3);
  border-radius:10px; padding:13px 16px; font-size:14px;
  color:#fca5a5; margin-bottom:16px;
}
.rss-secure-note { text-align:center; font-size:13px; color:var(--muted); margin-top:12px; }

/* ── CENTER PANELS ─────────────────────────── */
.rss-center-panel { text-align:center; padding:40px 20px; }
.rss-center-panel h3 { font-family:var(--font-h); font-size:24px; font-weight:800; color:var(--white); margin:16px 0 8px; }
.rss-center-panel p  { color:var(--muted); font-size:15px; }
.rss-spinner { width:56px; height:56px; border-radius:50%; border:4px solid rgba(0,212,255,.15); border-top-color:var(--accent); animation:rssSpn .8s linear infinite; margin:0 auto; }
@keyframes rssSpn { to { transform:rotate(360deg); } }

/* OK Animation */
.rss-ok-anim { width:88px; height:88px; margin:0 auto 6px; }
.rss-ok-ring { stroke-dasharray:226; stroke-dashoffset:226; animation:rssRing .7s ease forwards; }
.rss-ok-tick { stroke-dasharray:60; stroke-dashoffset:60; animation:rssTick .5s .6s ease forwards; }
@keyframes rssRing { to { stroke-dashoffset:0; } }
@keyframes rssTick { to { stroke-dashoffset:0; } }
.rss-ok-title { font-family:var(--font-h); font-size:26px; font-weight:800; color:var(--white); margin-bottom:6px; }
.rss-ok-msg   { color:var(--muted); font-size:15px; margin-bottom:20px; }
.rss-ok-details { background:rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; padding:16px; margin-bottom:20px; text-align:left; }
.rss-ok-row { font-size:15px; color:var(--muted); padding:7px 0; border-bottom:1px solid var(--border); }
.rss-ok-row:last-child { border:none; }
.rss-ok-row strong { color:var(--white); }

/* ═══════════════════════════════════════════════
   ADD SERVICE MODAL
═══════════════════════════════════════════════ */
.rss-svc-modal { max-width:620px; }
.rss-svc-modal-h { font-family:var(--font-h); font-size:24px; font-weight:800; color:var(--white); margin-bottom:24px; }
.rss-svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rss-svc-full { grid-column:1/-1; }

.rss-color-picker { display:flex; flex-wrap:wrap; gap:8px; }
.rss-color-opt {
  padding:7px 14px; border-radius:8px; border:2px solid transparent;
  font-size:12px; font-weight:600; cursor:pointer; transition:all .2s; color:#fff;
}
.rss-color-opt.active { border-color:#fff!important; transform:scale(1.05); }
.rss-color-blue   { background:var(--blue);    }
.rss-color-cyan   { background:var(--cyan);    }
.rss-color-green  { background:var(--green-c); }
.rss-color-orange { background:var(--orange);  }
.rss-color-purple { background:var(--purple);  }
.rss-color-red    { background:var(--red);     }
.rss-color-teal   { background:var(--teal);    }
.rss-color-indigo { background:var(--indigo);  }

.rss-svc-types { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.rss-type-chk { display:flex; align-items:center; gap:7px; font-size:13px; color:var(--txt); cursor:pointer; }
.rss-type-chk input { width:16px; height:16px; accent-color:var(--accent); }

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
.rss-spin { display:inline-block; animation:rssSpn .7s linear infinite; }

@media(max-width:768px){
  .rss-modal-cols { grid-template-columns:1fr; gap:20px; }
  .rss-summary-grid { grid-template-columns:1fr; }
  .rss-stype-grid { grid-template-columns:repeat(2,1fr); }
  .rss-svc-grid { grid-template-columns:1fr; }
  .rss-svc-types { grid-template-columns:1fr 1fr; }
}
@media(max-width:640px){
  .rss-grid { grid-template-columns:1fr; }
  .rss-modes-grid { gap:10px; }
  .rss-mode-card { min-width:140px; }
  .rss-modal { padding:20px 16px; border-radius:20px; }
  .rss-steps { flex-direction:column; align-items:center; }
  .rss-step-arrow { transform:rotate(90deg); padding:0; }
  .rss-card-foot { flex-direction:column; align-items:flex-start; gap:14px; }
  .rss-book-btn { width:100%; justify-content:center; }
  .rss-trust-row { gap:10px; }
  .rss-trust { min-width:120px; }
}

/* ── SLOT PLACEHOLDER ───────────────────────── */
.rss-slots-placeholder {
  background: rgba(0,212,255,.05);
  border: 1px dashed rgba(0,212,255,.2);
  border-radius: 10px;
  padding: 16px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
  width: 100%;
}

/* ── CALENDAR: ensure cells always visible ───── */
.rss-cal-cells {
  min-height: 228px; /* 6 rows × 38px */
}
.rss-cal-cell {
  font-size: 13px;
}

/* ── MODAL RIGHT: ensure calendar not clipped ── */
.rss-modal-right {
  min-width: 0;
  overflow: hidden;
}

/* ── SERVICE TYPE BTN: make touch targets bigger ─ */
.rss-stype-btn {
  min-height: 70px;
}

/* ── SUMMARY: better spacing on rows ──────────── */
.rss-sum-item {
  padding: 6px 0;
}

/* ── FIX textarea white background from WP themes ─ */
.rss-field textarea,
.rss-field input {
  -webkit-appearance: none;
  appearance: none;
}

/* ── Modal scroll on small screens ────────────── */
@media (max-width: 860px) {
  .rss-modal {
    padding: 20px 16px;
  }
  .rss-modal-cols {
    grid-template-columns: 1fr !important;
  }
  .rss-modal-right {
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 20px;
  }
}
