/*
Theme Name: Gone Today
Theme URI: https://gonetoday.ca
Author: Callout Digital
Description: Custom WordPress theme for Gone Today Junk Removal Ltd. Fraser Valley BC.
Version: 1.0.0
Text Domain: gonetoday
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800;900&family=Lato:wght@300;400;700&display=swap');

:root {
  --blue: #0057B8;
  --blue-deep: #003A82;
  --sky: #DCEAFF;
  --charcoal: #111111;
  --steel: #78808C;
  --offwhite: #F0F3F8;
  --white: #ffffff;
  --radius: 6px;
  --shadow: 0 4px 32px rgba(0,87,184,0.13);
  --trans: 0.25s cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Lato', sans-serif; color: var(--charcoal); background: var(--white); line-height: 1.65; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
h1,h2,h3,h4,h5 { font-family: 'Poppins', sans-serif; }
h1 { font-size: clamp(2.4rem,6vw,4rem); font-weight:900; line-height:1.05; letter-spacing:-0.02em; }
h2 { font-size: clamp(1.8rem,4vw,2.8rem); font-weight:800; line-height:1.15; letter-spacing:-0.01em; }
h3 { font-size: clamp(1.1rem,2.5vw,1.4rem); font-weight:700; }
.gt-wrap { width: min(1160px, 92vw); margin-inline: auto; }

/* Global Utilities */
.btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.9rem 2rem; font-family: 'Poppins', sans-serif; font-size: 0.95rem; font-weight: 700; border-radius: var(--radius); border: 2px solid transparent; cursor: pointer; transition: var(--trans); text-decoration: none; }
.btn-blue { background: var(--blue); color: var(--white); border-color: var(--blue); }
.btn-blue:hover { background: var(--blue-deep); border-color: var(--blue-deep); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,87,184,0.35); color: var(--white); }
.btn-white { background: var(--white); color: var(--blue); border-color: var(--white); }
.btn-white:hover { background: var(--sky); transform: translateY(-2px); color: var(--blue); }
.btn-outline-white { background: transparent; color: var(--white); border-color: rgba(255,255,255,0.6); }
.btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: var(--white); }
.btn-lg { padding: 1.1rem 2.4rem; font-size: 1.05rem; }
.btn-xl { padding: 1.25rem 2.8rem; font-size: 1.15rem; }
.gt-label { display: block; font-family: 'Poppins', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--blue); margin-bottom: 0.75rem; }

/* Header & Navigation */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: var(--white); box-shadow: 0 2px 16px rgba(0,0,0,0.06); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.header-logo img { height: 42px; width: auto; }
.header-nav { display: flex; gap: 2rem; }
.header-nav a { font-family: 'Poppins', sans-serif; font-size: 0.88rem; font-weight: 600; color: var(--charcoal); transition: var(--trans); }
.header-nav a:hover { color: var(--blue); }

/* Footer */
.site-footer { background: var(--charcoal); padding: 4rem 0 2rem; color: rgba(255,255,255,0.6); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 3rem; margin-bottom: 3rem; }
.footer-heading { font-family: 'Poppins', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 1.2rem; }
.footer-links li { margin-bottom: 0.6rem; }
.footer-links a:hover { color: var(--white); }

/* CF7 Overrides */
.wpcf7-form-control.wpcf7-text, .wpcf7-form-control.wpcf7-tel, .wpcf7-form-control.wpcf7-email, .wpcf7-form-control.wpcf7-textarea { width: 100%; padding: 0.82rem 1rem; border: 2px solid rgba(0,0,0,0.1); border-radius: var(--radius); font-family: 'Lato', sans-serif; font-size: 0.95rem; background: var(--white); margin-bottom: 1rem; }
.wpcf7-form-control:focus { border-color: var(--blue); outline: none; }
.wpcf7-submit { width: 100%; padding: 1.1rem; background: var(--blue); color: var(--white); border: none; border-radius: var(--radius); font-family: 'Poppins', sans-serif; font-weight: 800; cursor: pointer; transition: var(--trans); margin-top: 1rem; }
.wpcf7-submit:hover { background: var(--blue-deep); }

/* Mobile */
@media (max-width: 768px) {
  .header-nav, .header-cta { display: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
}