/*
Theme Name: Q2W Site
Theme URI: https://quick2web.co.uk/
Author: Quick2Web
Description: Minimal, mobile-first theme for Quick2Web generated customer sites. No page title, full-width content, Q2W footer attribution.
Version: 1.0
License: Proprietary
Text Domain: q2w-site
*/

/* Reset + base */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: 'Inter', system-ui, -apple-system, sans-serif; line-height: 1.6; color: #0f172a; -webkit-font-smoothing: antialiased; }
body { overflow-x: hidden; }
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }

/* Header */
.q2w-site-header { background: #fff; border-bottom: 1px solid #e2e8f0; position: sticky; top: 0; z-index: 100; }
.q2w-site-header-inner { max-width: 1200px; margin: 0 auto; padding: 1rem clamp(1rem, 3vw, 2rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.q2w-site-brand { font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; font-size: 1.25rem; text-decoration: none; color: #0f172a; letter-spacing: -.02em; }
.q2w-site-nav { display: flex; gap: 1.5rem; align-items: center; }
.q2w-site-nav a { text-decoration: none; color: #334155; font-weight: 500; font-size: .95rem; transition: color .15s; }
.q2w-site-nav a:hover { color: var(--q2w-primary, #1e40af); }
.q2w-site-phone { display: inline-flex; align-items: center; gap: .5rem; background: var(--q2w-primary, #1e40af); color: #fff; padding: .6rem 1rem; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: .95rem; transition: transform .1s; }
.q2w-site-phone:hover { transform: translateY(-1px); }
.q2w-site-phone::before { content: '\260E'; font-size: 1.1rem; }

/* Mobile nav toggle */
.q2w-nav-toggle { display: none; border: 0; background: transparent; padding: .5rem; cursor: pointer; font-size: 1.5rem; line-height: 1; }

/* Main content — no title, full-width container */
.q2w-site-main { padding: 0; }
.q2w-site-main > .entry-content > * { margin-left: auto; margin-right: auto; }
.entry-title, .page-title, .entry-header, .wp-block-post-title { display: none !important; }

/* Footer */
.q2w-site-footer { background: #0f172a; color: #cbd5e1; padding: 3rem clamp(1rem, 3vw, 2rem) 2rem; margin-top: 4rem; }
.q2w-site-footer-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2.5rem; margin-bottom: 2rem; }
.q2w-site-footer h4 { color: #fff; margin: 0 0 1rem; font-family: 'Manrope', system-ui, sans-serif; font-size: 1.05rem; font-weight: 600; }
.q2w-site-footer p, .q2w-site-footer a { color: #cbd5e1; text-decoration: none; font-size: .95rem; line-height: 1.8; margin: 0; }
.q2w-site-footer a:hover { color: #fff; }
.q2w-site-footer ul { list-style: none; padding: 0; margin: 0; }
.q2w-site-footer ul li { margin: 0 0 .35rem; }
.q2w-site-attribution { border-top: 1px solid #1e293b; padding-top: 1.5rem; text-align: center; font-size: .85rem; color: #64748b; max-width: 1200px; margin: 0 auto; }
.q2w-site-attribution a { color: #94a3b8; text-decoration: underline; text-underline-offset: 3px; }
.q2w-site-attribution a:hover { color: #fff; }

/* Mobile */
@media (max-width: 780px) {
  .q2w-site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; flex-direction: column; padding: 1rem; gap: .5rem; border-bottom: 1px solid #e2e8f0; box-shadow: 0 4px 12px rgba(0,0,0,.05); }
  .q2w-site-nav.is-open { display: flex; }
  .q2w-site-nav a { padding: .5rem 0; }
  .q2w-nav-toggle { display: block; }
  .q2w-site-footer-inner { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; }
}
