/*
Theme Name:  London Airport Transfers
Theme URI:   https://example.com/london-airport-transfers
Description: A clean, minimal theme designed to work with the London Airport Transfers plugin. Add the [airport_transfers] shortcode to any page to embed the full transfer finder.
Author:      Your Name
Author URI:  https://example.com
Version:     1.0.0
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: london-airport-transfers-theme
Tags:        travel, minimal, one-column, custom-menu, custom-logo
*/

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

:root {
  --clr-primary:   #4f46e5;
  --clr-primary-d: #4338ca;
  --clr-bg:        #f9fafb;
  --clr-surface:   #ffffff;
  --clr-border:    #e5e7eb;
  --clr-text:      #111827;
  --clr-muted:     #6b7280;
  --radius:        12px;
  --shadow-sm:     0 1px 3px rgba(0,0,0,.08);
  --shadow-md:     0 4px 16px rgba(0,0,0,.1);
}

html { font-size: 16px; scroll-behavior: smooth; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; background: var(--clr-bg); color: var(--clr-text); line-height: 1.6; }

a { color: var(--clr-primary); }
a:hover { color: var(--clr-primary-d); }
img { max-width: 100%; height: auto; display: block; }

/* ── Site header ───────────────────────────────────────────────── */
.site-header { background: var(--clr-surface); border-bottom: 1px solid var(--clr-border); position: sticky; top: 0; z-index: 200; }
.site-header-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; height: 60px; }
.site-branding a { font-size: 1.25rem; font-weight: 800; color: var(--clr-primary); text-decoration: none; letter-spacing: -.02em; }
.site-description { font-size: 12px; color: var(--clr-muted); margin: 0; }

/* Primary nav */
.main-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.main-navigation a { padding: 6px 14px; border-radius: var(--radius); font-size: 14px; font-weight: 500; color: var(--clr-muted); text-decoration: none; transition: color .15s, background .15s; }
.main-navigation a:hover,
.main-navigation .current-menu-item a { background: #ede9fe; color: var(--clr-primary); }
@media (max-width: 640px) { .main-navigation { display: none; } }

/* ── Main content ──────────────────────────────────────────────── */
.site-content { min-height: calc(100vh - 120px); }
.entry-content { max-width: 100%; }

/* Regular page / post layout */
.page-content-wrap { max-width: 800px; margin: 0 auto; padding: 48px 24px; }
.entry-title { font-size: 2rem; font-weight: 800; margin-bottom: 24px; }

/* ── Site footer ───────────────────────────────────────────────── */
.site-footer { border-top: 1px solid var(--clr-border); padding: 24px; text-align: center; font-size: 13px; color: var(--clr-muted); }
.site-footer a { color: var(--clr-muted); }
.site-footer-inner { max-width: 1200px; margin: 0 auto; }

/* ── Widget area ───────────────────────────────────────────────── */
.widget-area { padding: 32px 24px; background: var(--clr-surface); border-top: 1px solid var(--clr-border); }
.widget-area-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 32px; }
.widget-title { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--clr-muted); margin-bottom: 12px; }
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget ul li { padding: 4px 0; font-size: 14px; }
