/*
Theme Name: Idle - Ethical Ride-Hailing
Theme URI: https://www.driveidle.com
Author: Idle
Author URI: https://www.driveidle.com
Description: The official Idle website theme. Ethical ride-hailing, expressed in warm paper tones with Newsreader + Plus Jakarta Sans and a single coral accent. Ships with page templates for Home, How It Works, About, Wellbeing, Newsroom, Lost Items, Careers and Driver Lost Property. ACF editable fields and SEO meta tags built in.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: idle
*/

:root{
  --coral:#FB663C; --coral-deep:#E04A1F;
  --ink:#1C1812; --ink-soft:#56504A; --ink-faint:#8C8378;
  --paper:#FFFFFF; --cream:#FAF6F1; --line:#E7DFD5; --line-strong:#1C1812;
  --teal:#0C4A45; --ok:#1F8A5B;
  --logo-h:60px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
.serif{font-family:'Newsreader',Georgia,serif;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:15px;padding:14px 26px;border-radius:6px;border:none;cursor:pointer;transition:all .16s ease;font-family:inherit;text-decoration:none;}
.btn-primary{background:var(--coral);color:#fff;}
.btn-primary:hover{background:var(--coral-deep);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#000;}
.btn-out{background:transparent;color:var(--ink);border:1px solid var(--line-strong);}
.btn-out:hover{background:var(--ink);color:#fff;}
.btn-white{background:#fff;color:var(--ink);}
.btn-white:hover{background:var(--cream);}
.btn-lg{padding:16px 32px;font-size:16px;}
.btn svg{width:17px;height:17px;}

/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;padding-top:14px;padding-bottom:14px;}
.nav-logo{height:var(--logo-h);}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-soft);transition:color .15s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.current{color:var(--coral-deep);}
.nav-actions{display:flex;align-items:center;gap:12px;}
.nav-actions .btn{padding:11px 22px;font-size:14.5px;white-space:nowrap;}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.menu-btn svg{width:26px;height:26px;stroke:var(--ink);}
.nav-drawer{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 26px 44px -26px rgba(28,24,18,.45);display:flex;flex-direction:column;padding:8px 0 14px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;}
.nav-drawer.open{opacity:1;transform:none;pointer-events:auto;}
.nav-drawer a{padding:13px 40px;font-size:16px;font-weight:500;color:var(--ink);transition:background .15s,color .15s;}
.nav-drawer a:hover,.nav-drawer a.current{background:var(--cream);color:var(--coral-deep);}
.nav-drawer-actions{display:flex;flex-direction:column;gap:10px;padding:14px 40px 4px;margin-top:8px;border-top:1px solid var(--line);}
.nav-drawer-actions .btn{width:100%;text-align:center;padding:13px;}
@media(max-width:1080px){.nav-links{display:none;}.menu-btn{display:block;}}
@media(max-width:680px){.nav-drawer a,.nav-drawer-actions{padding-left:22px;padding-right:22px;}.nav-actions .btn:not(.menu-btn){display:none;}}

/* footer */
footer{background:#0D0B09;color:rgba(255,255,255,.65);padding:60px 0 34px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:48px;}
.foot-logo{height:var(--logo-h);margin-bottom:20px;}
.foot-about{font-family:'Newsreader',serif;font-size:17px;line-height:1.6;max-width:30ch;}
.foot-col h5{color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;}
.foot-col a{display:block;font-size:14.5px;margin-bottom:12px;transition:color .15s;}
.foot-col a:hover{color:var(--coral);}
.foot-legal{display:flex;flex-wrap:wrap;gap:22px;border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:26px;}
.foot-legal a{font-size:13.5px;color:rgba(255,255,255,.6);transition:color .15s;}
.foot-legal a:hover{color:var(--coral);}
.foot-brand .foot-logo{margin-bottom:18px;}
.foot-social{display:flex;gap:12px;margin-top:22px;}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:rgba(255,255,255,.72);transition:all .15s;}
.foot-social a:hover{color:#fff;border-color:var(--coral);background:rgba(251,102,60,.14);}
.foot-social svg{width:17px;height:17px;}
.foot-bottom-legal{display:flex;flex-direction:column;gap:5px;}
.foot-bottom-links{display:flex;flex-wrap:wrap;gap:20px;}
.foot-bottom-links a{color:rgba(255,255,255,.6);transition:color .15s;}
.foot-bottom-links a:hover{color:var(--coral);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:52px;padding-top:30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.5);}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:680px){.foot-grid{grid-template-columns:1fr;}}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}

/* sources / references block, shared across every page that cites data */
.src-refs{background:var(--cream);border-top:1px solid var(--line);padding:72px 0;}
.src-refs .src-eyebrow{font-family:'Newsreader',serif;font-style:italic;font-size:15px;color:var(--coral-deep);margin-bottom:12px;}
.src-refs .src-title{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(26px,3.4vw,40px);line-height:1.04;letter-spacing:-.02em;max-width:24ch;color:var(--ink);}
.src-refs .src-lead{font-size:17px;color:var(--ink-soft);max-width:64ch;margin:16px 0 40px;line-height:1.6;}
.src-refs ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:22px 48px;max-width:1040px;padding:0;margin:0;}
.src-refs li{display:flex;gap:14px;font-size:13.5px;color:var(--ink-soft);line-height:1.6;}
.src-refs li .n{font-family:'Newsreader',serif;font-size:20px;color:var(--coral-deep);flex-shrink:0;line-height:1.15;}
.src-refs li strong{color:var(--ink);font-weight:700;}
@media(max-width:680px){.src-refs ol{grid-template-columns:1fr;}}

/* Coming-soon stamps */
.cs-host{position:relative;}
.cs-stamp{position:absolute;top:110px;left:50%;transform:translateX(-50%) rotate(-13deg);z-index:40;pointer-events:none;border:4px solid rgba(224,74,31,.6);color:#E04A1F;background:rgba(255,246,241,.55);padding:16px 38px;border-radius:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:clamp(19px,2.8vw,34px);line-height:1.12;text-align:center;white-space:nowrap;box-shadow:0 14px 46px -18px rgba(28,24,18,.4);}
.cs-stamp-sm{top:50%;transform:translate(-50%,-50%) rotate(-11deg);font-size:clamp(12px,1.6vw,15px);padding:6px 15px;border-width:3px;z-index:6;}

/* ===== SHARED PAGE SECTION UTILITIES =====
   Used by contact, support, complaints, driver-lost-property and any future
   page templates that don't carry their own self-contained stylesheet.
   Pages with dedicated CSS (about, wellbeing, etc.) override these as needed. */

.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--coral);}

.pad{padding:100px 0;}
.alt{background:var(--cream);}

/* Page-head hero — used on contact, support, complaints, driver lost property */
.page-head{padding:80px 0 72px;border-bottom:1px solid var(--line);text-align:center;}
.page-head h1{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(38px,5.5vw,66px);line-height:1.03;letter-spacing:-.025em;margin:16px 0 0;}
.page-head h1 em{font-style:italic;color:var(--coral-deep);}
.page-head p{font-size:18px;color:var(--ink-soft);max-width:56ch;margin:20px auto 0;line-height:1.65;}

/* Support-card anchor tiles — used on contact and support pages */
a.support-card{transition:box-shadow .22s ease,transform .22s ease;}
a.support-card:hover{box-shadow:0 24px 56px -32px rgba(28,24,18,.32);transform:translateY(-3px);}

/* WPForms baseline reset so forms inherit the Idle type stack */
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;}

@media(max-width:860px){
  .pad{padding:72px 0;}
  .page-head{padding:60px 0 52px;}
}
@media(max-width:680px){
  .pad{padding:56px 0;}
  .page-head{padding:48px 0 40px;}
  .page-head h1{font-size:clamp(32px,9vw,48px);}
  .page-head p{font-size:16px;}
  .wrap{padding:0 22px;}
}
