/*
Theme Name: Local Window Cleaning London
Theme URI: https://localwindowcleaninglondon.co.uk/
Author: Local Window Cleaning London
Description: A bold blue, conversion-focused WordPress theme for a specialist London window cleaning company offering reach and wash, traditional window cleaning, rope access and cherry picker services.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: local-window-cleaning-london
*/

:root {
  --lwc-navy: #020617;
  --lwc-deep: #071a42;
  --lwc-blue: #0757d9;
  --lwc-electric: #00a6ff;
  --lwc-cyan: #67e8f9;
  --lwc-ice: #eaf8ff;
  --lwc-white: #ffffff;
  --lwc-muted: #b9d7ef;
  --lwc-text: #e8f7ff;
  --lwc-dark-text: #0f172a;
  --lwc-line: rgba(255,255,255,.18);
  --lwc-green: #22c55e;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--lwc-text);
  background:
    radial-gradient(circle at 10% 5%, rgba(0,166,255,.35), transparent 30%),
    radial-gradient(circle at 95% 10%, rgba(103,232,249,.25), transparent 28%),
    linear-gradient(180deg, #020617 0%, #071a42 42%, #06245f 100%);
  line-height: 1.6;
}
* { box-sizing: border-box; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.lwc-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.lwc-topbar {
  background: rgba(2,6,23,.82);
  color: #dff7ff;
  font-size: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lwc-topbar .lwc-container, .lwc-nav .lwc-container { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.lwc-topbar a, .lwc-nav a { color: inherit; text-decoration: none; }

.lwc-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(3, 12, 35, .76);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.lwc-brand { display: flex; align-items: center; gap: 12px; padding: 16px 0; font-weight: 900; font-size: 19px; color: white; letter-spacing: -.02em; }
.lwc-logo { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 16px; color: white; background: linear-gradient(135deg, var(--lwc-electric), var(--lwc-blue)); font-weight: 950; box-shadow: 0 15px 36px rgba(0,166,255,.38); }
.lwc-menu { display: flex; gap: 22px; align-items: center; font-weight: 750; color: #d7efff; }
.lwc-menu a:hover { color: white; }

.lwc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 22px; border-radius: 999px; background: linear-gradient(135deg, var(--lwc-electric), var(--lwc-blue)); color: white !important; text-decoration: none; font-weight: 900; border: 0; box-shadow: 0 16px 36px rgba(0,166,255,.32); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.lwc-btn:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(0,166,255,.42); }
.lwc-btn.secondary { background: rgba(255,255,255,.11); color: white !important; border: 1px solid rgba(255,255,255,.28); box-shadow: none; }

.lwc-hero { position: relative; overflow: hidden; padding: 96px 0 82px; }
.lwc-hero:before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(0,166,255,.17), transparent 54%); pointer-events: none; }
.lwc-hero-grid { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 50px; align-items: center; }
.lwc-kicker { display: inline-flex; gap: 8px; align-items: center; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.11); color: #ccf5ff; font-weight: 900; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 18px 40px rgba(0,0,0,.12); }
.lwc-hero h1 { margin: 22px 0 18px; font-size: clamp(44px, 6vw, 78px); line-height: .92; letter-spacing: -0.06em; color: white; text-shadow: 0 12px 38px rgba(0,0,0,.25); }
.lwc-hero p { color: #cfeeff; font-size: 20px; max-width: 670px; }
.lwc-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 32px 0; }
.lwc-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; }

.lwc-trust div, .lwc-card, .lwc-feature, .lwc-quote, .lwc-form, .lwc-price-shell {
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.08));
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
  backdrop-filter: blur(18px);
}
.lwc-trust div { padding: 18px; }
.lwc-trust strong { display: block; font-size: 22px; color: white; }
.lwc-trust span { color: #b9d7ef; font-size: 14px; }

.lwc-visual { min-height: 540px; border-radius: 42px; background: linear-gradient(rgba(7,26,66,.08), rgba(2,6,23,.38)), url('https://images.unsplash.com/photo-1604152135912-04a022e23696?auto=format&fit=crop&w=1200&q=80') center/cover; box-shadow: 0 35px 90px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.15); position: relative; overflow: hidden; }
.lwc-visual:after { content:""; position:absolute; inset:auto -20% -18% -20%; height:42%; background:linear-gradient(180deg, transparent, rgba(0,166,255,.55)); filter: blur(10px); }
.lwc-badge-card { position: absolute; left: -22px; bottom: 28px; width: min(330px, calc(100% - 32px)); padding: 22px; border-radius: 26px; background: rgba(255,255,255,.92); color: var(--lwc-dark-text); box-shadow: 0 28px 70px rgba(0,0,0,.3); z-index: 2; }
.lwc-badge-card p { color: #475569; }

.lwc-section { padding: 82px 0; }
.lwc-section.alt { background: rgba(255,255,255,.04); }
.lwc-section-head { max-width: 780px; margin-bottom: 36px; }
.lwc-section-head.center { margin-inline: auto; text-align: center; }
.lwc-section h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1; letter-spacing: -.045em; margin: 0 0 16px; color: white; }
.lwc-section p { color: #c9e8fa; }
.lwc-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.lwc-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; align-items: center; }
.lwc-card, .lwc-feature, .lwc-quote { padding: 28px; }
.lwc-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 20px; background: rgba(0,166,255,.17); color: #dff9ff; font-size: 25px; margin-bottom: 16px; border: 1px solid rgba(103,232,249,.22); }
.lwc-card h3, .lwc-feature h3, .lwc-quote h3 { margin: 0 0 10px; font-size: 23px; color: white; }
.lwc-list { display: grid; gap: 12px; padding: 0; margin: 20px 0 0; list-style: none; }
.lwc-list li { display: flex; gap: 10px; align-items: flex-start; color: #c8e7f8; }
.lwc-list li:before { content: "✓"; color: var(--lwc-cyan); font-weight: 950; }

.lwc-strip { background: linear-gradient(135deg, rgba(0,166,255,.95), rgba(7,87,217,.92)); color: white; border-radius: 36px; padding: 46px; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; box-shadow: 0 28px 80px rgba(0,76,200,.35); }
.lwc-strip p { color: #e5fbff; margin: 0; }
.lwc-areas { columns: 3; list-style: none; padding: 0; color: #c9e8fa; }
.lwc-areas li { margin-bottom: 8px; break-inside: avoid; }

.lwc-pricing-section { background: radial-gradient(circle at top left, rgba(103,232,249,.18), transparent 35%), rgba(255,255,255,.05); }
.lwc-price-shell { padding: 24px; }
.lwc-price-shell .lwc-calculator,
.lwc-price-shell form,
.lwc-price-shell input,
.lwc-price-shell select,
.lwc-price-shell textarea { max-width: 100%; }
.lwc-price-note { margin-top: 14px; font-size: 14px; color: #c9e8fa; }

.lwc-form { padding: 30px; }
.lwc-form label { display: block; font-weight: 800; margin: 13px 0 6px; color: white; }
.lwc-form input, .lwc-form select, .lwc-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 14px 15px; font: inherit; background: rgba(255,255,255,.92); color: #0f172a; }
.lwc-form textarea { min-height: 120px; }

.lwc-footer { padding: 56px 0 28px; background: rgba(2,6,23,.9); color: #cbd5e1; border-top: 1px solid rgba(255,255,255,.1); }
.lwc-footer h3, .lwc-footer strong { color: white; }
.lwc-footer a { color: #dff7ff; text-decoration: none; }
.lwc-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 28px; }
.lwc-small { font-size: 14px; color: #94a3b8; border-top: 1px solid rgba(255,255,255,.1); margin-top: 30px; padding-top: 20px; }
.wp-content { padding: 60px 0; }
.wp-content .lwc-container { max-width: 900px; }

@media (max-width: 900px) {
  .lwc-hero-grid, .lwc-grid-2, .lwc-strip, .lwc-footer-grid { grid-template-columns: 1fr; }
  .lwc-grid-3 { grid-template-columns: 1fr; }
  .lwc-menu { display: none; }
  .lwc-trust { grid-template-columns: 1fr; }
  .lwc-visual { min-height: 380px; }
  .lwc-badge-card { left: 16px; }
  .lwc-areas { columns: 1; }
}
