/*
Theme Name: Royalmail Cargo
Theme URI: https://royalmailcargo.org
Author: Royalmail Cargo
Author URI: https://royalmailcargo.org
Description: Custom logistics & cargo shipping theme for Royalmail Cargo. Fully editable via WordPress Customizer and Elementor page builder — no coding required. Includes home, about, services, track shipment, get a quote, contact, and careers templates.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: royalmailcargo
Tags: e-commerce, custom-logo, custom-menu, featured-images, translation-ready
*/

:root{
  --rc-primary: #0b2a52;      /* deep navy - editable via Customizer */
  --rc-accent: #ff7a1a;       /* cargo orange - editable via Customizer */
  --rc-dark: #0a1626;
  --rc-light: #f4f6f9;
  --rc-text: #29303a;
  --rc-white: #ffffff;
  --rc-radius: 10px;
  --rc-shadow: 0 10px 30px rgba(10,22,38,0.08);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color:var(--rc-text);
  background:var(--rc-white);
  line-height:1.6;
}
img{max-width:100%; height:auto; display:block;}
a{color:var(--rc-primary); text-decoration:none;}
a:hover{color:var(--rc-accent);}
ul{list-style:none; margin:0; padding:0;}
.container{max-width:1200px; margin:0 auto; padding:0 20px;}
.section{padding:70px 0;}
.section-light{background:var(--rc-light);}
h1,h2,h3,h4{font-weight:700; color:var(--rc-primary); line-height:1.25;}
.section-title{text-align:center; margin-bottom:45px;}
.section-title span{color:var(--rc-accent);}
.section-title p{color:#6b7684; max-width:640px; margin:10px auto 0;}

.btn{
  display:inline-block;
  padding:14px 30px;
  border-radius:6px;
  font-weight:600;
  background:var(--rc-accent);
  color:#fff;
  border:2px solid var(--rc-accent);
  transition:.25s ease;
}
.btn:hover{background:transparent; color:var(--rc-accent);}
.btn-outline{background:transparent; color:#fff; border:2px solid #fff;}
.btn-outline:hover{background:#fff; color:var(--rc-primary);}

/* Header */
.site-header{background:var(--rc-white); box-shadow:0 2px 10px rgba(0,0,0,0.06); position:sticky; top:0; z-index:999;}
.top-bar{background:var(--rc-dark); color:#cfd8e3; font-size:13px; padding:8px 0;}
.top-bar .container{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.top-bar a{color:#cfd8e3;}
.top-bar a:hover{color:var(--rc-accent);}
.main-nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}
.site-branding{display:flex; align-items:center; gap:12px;}
.site-branding img{max-height:52px;}
.site-title{font-size:22px; font-weight:800; color:var(--rc-primary); margin:0;}
.site-title span{color:var(--rc-accent);}
.nav-menu{display:flex; gap:28px;}
.nav-menu a{font-weight:600; color:var(--rc-text);}
.nav-menu a:hover{color:var(--rc-accent);}
.menu-toggle{display:none; background:none; border:none; font-size:26px; cursor:pointer; color:var(--rc-primary);}

@media(max-width:860px){
  .nav-menu{position:absolute; top:100%; left:0; right:0; background:#fff; flex-direction:column; padding:15px 20px; gap:14px; display:none; box-shadow:0 10px 20px rgba(0,0,0,.08);}
  .nav-menu.show{display:flex;}
  .menu-toggle{display:block;}
}

/* Hero */
.hero{
  background:linear-gradient(120deg, rgba(11,42,82,.92), rgba(11,42,82,.85)), var(--hero-image, url('assets/images/hero-placeholder.jpg')) center/cover;
  color:#fff; padding:110px 0; text-align:left;
}
.hero h1{color:#fff; font-size:46px; max-width:650px; margin-bottom:18px;}
.hero p{max-width:560px; color:#dbe3ee; font-size:18px; margin-bottom:30px;}
.hero-buttons{display:flex; gap:16px; flex-wrap:wrap;}

/* Quick track bar */
.quick-track{background:var(--rc-white); margin-top:-45px; position:relative; z-index:5; box-shadow:var(--rc-shadow); border-radius:var(--rc-radius); padding:26px;}
.quick-track form{display:flex; gap:12px; flex-wrap:wrap;}
.quick-track input[type=text]{flex:1; min-width:220px; padding:14px 16px; border:1px solid #dfe3e8; border-radius:6px; font-size:15px;}
.quick-track button{cursor:pointer;}

/* Services grid */
.services-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:26px;}
.service-card{background:#fff; border:1px solid #eceff3; border-radius:var(--rc-radius); padding:30px; transition:.25s;}
.service-card:hover{box-shadow:var(--rc-shadow); transform:translateY(-4px);}
.service-card .icon{width:56px; height:56px; border-radius:12px; background:rgba(255,122,26,.12); display:flex; align-items:center; justify-content:center; font-size:26px; color:var(--rc-accent); margin-bottom:16px;}
.service-card h3{margin:0 0 10px; font-size:19px;}
.service-card p{color:#6b7684; font-size:15px; margin:0;}

/* Why choose us */
.why-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:26px; text-align:center;}
.why-grid .num{font-size:32px; font-weight:800; color:var(--rc-accent);}

/* CTA band */
.cta-band{background:var(--rc-primary); color:#fff; text-align:center; padding:60px 0;}
.cta-band h2{color:#fff;}

/* Forms */
.rc-form-wrap{max-width:760px; margin:0 auto; background:#fff; border:1px solid #eceff3; border-radius:var(--rc-radius); padding:36px; box-shadow:var(--rc-shadow);}
.rc-fallback-form label{display:block; font-weight:600; margin:14px 0 6px; font-size:14px;}
.rc-fallback-form input, .rc-fallback-form select, .rc-fallback-form textarea{
  width:100%; padding:12px 14px; border:1px solid #dfe3e8; border-radius:6px; font-size:15px; font-family:inherit;
}
.rc-fallback-form button{margin-top:20px;}
.rc-notice{background:#fff7ee; border:1px solid #ffdcb3; color:#8a5a20; padding:14px 18px; border-radius:8px; font-size:14px; margin-bottom:24px;}

/* Tracking result */
.track-result{margin-top:26px; padding:22px; border-radius:var(--rc-radius); background:var(--rc-light); border:1px dashed #c8d1dc;}

/* Footer */
.site-footer{background:var(--rc-dark); color:#b9c3d1; padding-top:60px;}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:34px; padding-bottom:40px;}
.footer-grid h4{color:#fff; margin-bottom:16px; font-size:16px;}
.footer-grid a{color:#b9c3d1;}
.footer-grid a:hover{color:var(--rc-accent);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); padding:20px 0; text-align:center; font-size:13px;}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}

/* Careers */
.job-card{background:#fff; border:1px solid #eceff3; border-radius:var(--rc-radius); padding:26px; margin-bottom:20px;}
.job-card h3{margin:0 0 6px;}
.job-meta{color:#6b7684; font-size:14px; margin-bottom:12px;}

/* Blog */
.blog-card{margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid #eceff3;}
.blog-card h2{margin-bottom:8px;}
.blog-meta{color:#6b7684; font-size:13px; margin-bottom:14px;}
