/*
Theme Name: Fox Harper Wholesale Supplies
Theme URI: https://digitalmedianw.co.uk
Author: Digital Media NW
Author URI: https://digitalmedianw.co.uk
Description: Bespoke single-page WordPress theme for Fox Harper Wholesale Supplies - global product sourcing & supply. Fully self-contained, no page builder required.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Text Domain: foxharper
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

:root{
  --navy:#0E2438;
  --teal:#1C5266;
  --brass:#C1892F;
  --brass-light:#D9A24B;
  --paper:#EEF0EF;
  --ink:#1B222B;
  --white:#FFFFFF;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;}
h1,h2,h3{font-family:'Archivo Black',sans-serif;color:var(--navy);letter-spacing:-0.02em;}
.eyebrow{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.25em;font-size:0.75rem;color:var(--brass);font-weight:500;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img,svg{display:block;max-width:100%;}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-weight:700;font-size:0.95rem;padding:15px 30px;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:all 0.25s ease;}
.btn-primary{background:var(--brass);color:var(--white);}
.btn-primary:hover{background:var(--brass-light);transform:translateY(-2px);}
.btn:disabled{opacity:0.6;cursor:not-allowed;transform:none;}

/* Top bar */
.topbar{background:var(--ink);color:#9FB0B8;font-family:'Oswald',sans-serif;font-size:0.78rem;letter-spacing:0.04em;}
.topbar .container{display:flex;justify-content:space-between;padding:8px 24px;flex-wrap:wrap;gap:6px;}
.topbar a{color:#C8D2D8;}
.topbar a:hover{color:var(--brass-light);}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--navy);box-shadow:0 2px 20px rgba(0,0,0,0.15);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
.site-logo{display:flex;align-items:center;gap:12px;}
.site-logo svg{height:38px;width:auto;}
.site-logo .wordmark{font-family:'Archivo Black';color:var(--paper);font-size:1.15rem;letter-spacing:-0.5px;}
.site-nav ul{display:flex;gap:30px;align-items:center;}
.site-nav a{font-family:'Oswald',sans-serif;font-size:0.83rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--paper);opacity:0.85;transition:opacity 0.2s;}
.site-nav a:hover{opacity:1;color:var(--brass-light);}
.nav-cta{background:var(--brass);color:var(--white)!important;padding:11px 20px;border-radius:4px;opacity:1!important;}
.nav-cta:hover{background:var(--brass-light);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;}
.hamburger span{width:26px;height:2px;background:var(--paper);}

/* Hero */
.hero{position:relative;background:var(--navy);color:var(--paper);padding:110px 0 0;overflow:hidden;}
.hero-routes{position:absolute;inset:0;opacity:0.35;}
.hero-routes path{stroke-dasharray:6 8;animation:dash 30s linear infinite;}
@keyframes dash{to{stroke-dashoffset:-400;}}
.hero-content{position:relative;z-index:2;max-width:680px;padding-bottom:90px;}
.hero h1{font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.15;margin:18px 0 22px;color:var(--white);}
.hero .lead{font-size:1.15rem;color:var(--brass-light);font-weight:600;margin-bottom:14px;}
.hero p.body{font-size:1.05rem;color:#C8D2D8;margin-bottom:34px;max-width:560px;}

/* Stats */
.stats{position:relative;z-index:2;background:var(--white);margin:0 24px;border-radius:8px;transform:translateY(50%);box-shadow:0 16px 40px rgba(14,36,56,0.18);}
.stats-inner{max-width:1132px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:30px 20px;text-align:center;border-right:1px solid #E1E5E3;}
.stat:last-child{border-right:none;}
.stat b{display:block;font-family:'Archivo Black',sans-serif;font-size:1.9rem;color:var(--navy);}
.stat span{font-family:'Oswald',sans-serif;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--teal);}
.stats-note{text-align:center;font-size:0.72rem;color:#8B98A0;padding-top:12px;}

section{padding:100px 0;}
section.tight-top{padding-top:130px;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-top:10px;}
.section-head p{margin-top:14px;color:var(--teal);font-size:1.02rem;max-width:560px;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* About */
.about{background:var(--white);}
.about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:center;}
.about p{margin-bottom:18px;color:var(--teal);font-size:1.05rem;}
.about strong{color:var(--navy);}
.manifest-card{background:var(--paper);border:1px solid #D7DCDA;border-radius:6px;padding:32px;position:relative;}
.manifest-card::before{content:'';position:absolute;top:20px;right:20px;width:64px;height:64px;border:2px solid var(--brass);border-radius:50%;opacity:0.5;}
.manifest-card .row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px dashed #C3CBC8;font-family:'Oswald',sans-serif;font-size:0.85rem;letter-spacing:0.03em;color:var(--teal);}
.manifest-card .row:last-child{border-bottom:none;}
.manifest-card .row span:last-child{color:var(--navy);font-weight:600;}

/* Industries */
.industries{background:var(--paper);}
.ind-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.ind-card{background:var(--white);border:1px solid #DDE2E0;border-radius:6px;padding:26px 16px;text-align:center;transition:transform 0.2s ease,box-shadow 0.2s ease;}
.ind-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(14,36,56,0.08);}
.ind-icon{width:44px;height:44px;margin:0 auto 14px;color:var(--navy);}
.ind-card p{font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.03em;text-transform:uppercase;color:var(--navy);margin-bottom:8px;}
.ind-card span{display:block;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0;font-size:0.82rem;color:var(--teal);line-height:1.5;}

/* Categories */
.cats{background:var(--white);}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cat-card{border-top:3px solid var(--brass);background:var(--paper);padding:22px 20px;border-radius:0 0 6px 6px;}
.cat-card h3{font-family:'Inter',sans-serif;font-weight:700;font-size:1rem;color:var(--navy);}
.cat-card p{font-size:0.85rem;color:var(--teal);margin-top:6px;}
.cats-note{margin-top:24px;font-size:0.85rem;color:#8B98A0;}

/* How it works */
.how{background:var(--navy);color:var(--paper);}
.how .section-head h2{color:var(--white);}
.how .section-head p{color:#C8D2D8;}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:56px;}
.step-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:6px;padding:26px 20px;}
.step-num{font-family:'Archivo Black',sans-serif;font-size:1.8rem;color:var(--brass);margin-bottom:12px;}
.step-card h3{color:var(--white);font-size:1rem;margin-bottom:8px;font-family:'Inter',sans-serif;font-weight:700;}
.step-card p{color:#C8D2D8;font-size:0.88rem;}
.how-note{max-width:640px;color:#C8D2D8;border-left:3px solid var(--brass);padding-left:20px;}

/* Why choose us */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.why-item{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid #DDE2E0;border-radius:6px;padding:22px 24px;}
.why-item .stamp{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:2px solid var(--brass);display:flex;align-items:center;justify-content:center;color:var(--brass);font-weight:700;}
.why-item p{font-weight:400;color:var(--teal);font-size:0.95rem;}
.why-item p strong{display:block;font-weight:700;color:var(--navy);font-size:1.02rem;margin-bottom:4px;}

/* FAQ */
.faq{background:var(--paper);}
.faq-list{max-width:800px;}
details{background:var(--white);border:1px solid #DDE2E0;border-radius:6px;margin-bottom:12px;overflow:hidden;}
summary{cursor:pointer;padding:20px 24px;font-family:'Inter',sans-serif;font-weight:700;color:var(--navy);list-style:none;display:flex;justify-content:space-between;align-items:center;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+';font-family:'Archivo Black',sans-serif;color:var(--brass);font-size:1.2rem;}
details[open] summary::after{content:'\2013';}
details p{padding:0 24px 20px;color:var(--teal);font-size:0.95rem;}

/* Quote / contact */
.quote{background:var(--teal);color:var(--paper);}
.quote-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;}
.quote .eyebrow{color:var(--brass-light);}
.quote h2{color:var(--white);}
.quote p{color:#D4E0E3;margin-top:16px;margin-bottom:20px;}
.quote-note{font-size:0.9rem;color:var(--brass-light);font-weight:600;}
form.quote-form{background:var(--white);border-radius:8px;padding:40px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group.full{grid-column:1/-1;}
label{font-family:'Oswald',sans-serif;font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);}
input,textarea{border:1px solid #D3D9D7;border-radius:4px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:0.95rem;color:var(--ink);background:var(--paper);width:100%;}
input:focus,textarea:focus{outline:2px solid var(--brass);outline-offset:1px;background:var(--white);}
textarea{resize:vertical;min-height:90px;}
form .btn{width:100%;justify-content:center;margin-top:6px;}
#formStatus{margin-top:14px;font-size:0.9rem;font-weight:600;min-height:1.2em;}

/* Footer */
.site-footer{background:var(--navy);color:#9FB0B8;padding:64px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-logo{margin-bottom:16px;}
.footer-col h4{font-family:'Oswald',sans-serif;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--brass-light);margin-bottom:16px;}
.footer-col p,.footer-col a{font-size:0.88rem;color:#9FB0B8;display:block;margin-bottom:10px;}
.footer-col a:hover{color:var(--brass-light);}
.footer-bottom{padding-top:24px;font-size:0.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* Fallback content styling (non one-page templates, e.g. Privacy Policy) */
.entry-content{padding:60px 24px;max-width:800px;margin:0 auto;}
.entry-content p{margin-bottom:1.2em;}

@media(max-width:900px){
  .about-grid,.quote-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .ind-grid{grid-template-columns:repeat(3,1fr);}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .stats-inner{grid-template-columns:repeat(2,1fr);}
  .stat{border-bottom:1px solid #E1E5E3;}
}
@media(max-width:760px){
  .site-nav ul{position:fixed;top:70px;left:0;right:0;background:var(--navy);flex-direction:column;padding:24px;gap:20px;transform:translateY(-150%);transition:transform 0.3s ease;border-bottom:1px solid rgba(255,255,255,0.1);}
  .site-nav ul.open{transform:translateY(0);}
  .hamburger{display:flex;}
  .hero{padding-top:70px;}
  section{padding:64px 0;}
  section.tight-top{padding-top:110px;}
  .steps{grid-template-columns:1fr;}
  .ind-grid{grid-template-columns:repeat(2,1fr);}
  .topbar .container{justify-content:center;text-align:center;}
}
