:root{
    --navy:#2f3b47;
    --navy-dark:#1c242b;
    --slate:#5c7085;
    --slate-light:#8fa0ae;
    --tan:#c9a876;
    --tan-light:#ecdfc4;
    --tan-dark:#a9824f;
    --grey:#9aa3ab;
    --offwhite:#f6f4ee;
    --offwhite-dark:#eae5d7;
    --ink:#242a2e;
    --muted:#6c7278;
    --danger:#b3543f;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; color:var(--ink); background:var(--offwhite); line-height:1.6;}
h1,h2,h3,h4{font-family:'Playfair Display',serif; font-weight:700; color:var(--navy);}
a{text-decoration:none; color:inherit;}
img{display:block; max-width:100%;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}
.eyebrow{text-transform:uppercase; letter-spacing:.18em; font-size:.75rem; font-weight:700; color:var(--tan-dark); margin-bottom:12px; display:block;}

/* HEADER */
header{position:sticky; top:0; z-index:100; background:rgba(28,36,43,0.96); backdrop-filter:blur(6px); border-bottom:1px solid rgba(201,168,118,0.25);}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1180px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:44px; width:44px; object-fit:cover; border-radius:50%; border:2px solid var(--tan);}
.brand-text .name{font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:700; line-height:1; color:#fff;}
.brand-text .tag{font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tan); opacity:.9;}
nav ul{list-style:none; display:flex; gap:24px; align-items:center; flex-wrap:wrap;}
nav a{color:#fff; font-size:.88rem; font-weight:500; opacity:.85; transition:opacity .2s;}
nav a:hover{opacity:1; color:var(--tan);}
.nav-cta{background:var(--tan); color:var(--navy-dark) !important; padding:9px 20px; border-radius:30px; font-weight:700; opacity:1 !important; font-size:.82rem;}
.nav-cta:hover{background:var(--tan-light);}

/* HERO */
.hero{position:relative; min-height:86vh; display:flex; align-items:center; overflow:hidden; background:linear-gradient(160deg, var(--navy-dark), var(--navy) 55%, var(--slate));}
#hero-canvas-wrap{position:absolute; inset:0; overflow:hidden;}
#hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero-overlay{position:absolute; inset:0; z-index:1; background:linear-gradient(160deg, rgba(28,36,43,.82), rgba(47,59,71,.62) 55%, rgba(92,112,133,.5));}.hero-content{position:relative; z-index:2; max-width:640px; padding:120px 24px 90px;}
.hero h1{color:#fff; font-size:3.2rem; line-height:1.1; margin-bottom:18px;}
.hero p{font-size:1.15rem; color:#d9dee2; max-width:520px; margin-bottom:32px;}
.btn-row{display:flex; gap:16px; flex-wrap:wrap;}
.btn{display:inline-block; padding:14px 30px; border-radius:32px; font-weight:700; font-size:.95rem; transition:transform .2s, box-shadow .2s; border:none; cursor:pointer; font-family:'Inter',sans-serif;}
.btn-primary{background:var(--tan); color:var(--navy-dark);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,168,118,.35);}
.btn-outline{border:1.5px solid #fff; color:#fff; background:transparent;}
.btn-outline:hover{background:rgba(255,255,255,.1); transform:translateY(-2px);}
.btn-block{width:100%;}
.btn-small{padding:8px 16px; font-size:.8rem; border-radius:20px;}
.btn-danger{background:var(--danger); color:#fff;}
.btn-ghost{background:transparent; border:1.5px solid var(--slate); color:var(--slate);}

.section{padding:88px 0;}
.section-alt{background:var(--offwhite-dark);}
.section-head{max-width:680px; margin:0 auto 56px; text-align:center;}
.section-head h2{font-size:2.2rem; margin-bottom:14px;}
.section-head p{color:var(--muted); font-size:1.05rem;}

/* SERVICES */
.services-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px;}
.service-card{background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 6px 24px rgba(47,59,71,.08); transition:transform .3s, box-shadow .3s; display:flex; flex-direction:column;}
.service-card:hover{transform:translateY(-6px); box-shadow:0 16px 40px rgba(47,59,71,.16);}
.service-img{height:220px; overflow:hidden; position:relative;}
.service-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.service-card:hover .service-img img{transform:scale(1.06);}
.service-num{position:absolute; top:16px; left:16px; background:rgba(28,36,43,.85); color:var(--tan); font-family:'Playfair Display',serif; font-weight:700; font-size:.85rem; padding:6px 14px; border-radius:20px;}
.service-body{padding:24px 26px 28px; display:flex; flex-direction:column; flex:1;}
.service-body h3{font-size:1.3rem; margin-bottom:8px;}
.service-body p{color:var(--muted); font-size:.94rem; flex:1; margin-bottom:16px;}
.service-link{font-weight:700; color:var(--slate); font-size:.88rem; display:inline-flex; align-items:center; gap:6px;}
.service-link:after{content:'→'; transition:transform .2s;}
.service-link:hover:after{transform:translateX(4px);}

/* HORSES FOR SALE (public) */
.horses-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:28px;}
.horse-card{background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 6px 20px rgba(47,59,71,.08); display:flex; flex-direction:column;}
.horse-img{height:200px; overflow:hidden; background:var(--offwhite-dark);}
.horse-img img{width:100%; height:100%; object-fit:cover;}
.horse-body{padding:20px 20px 22px; flex:1; display:flex; flex-direction:column;}
.horse-top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:6px; gap:10px;}
.horse-top h4{font-size:1.15rem; color:var(--navy);}
.horse-price{font-weight:700; color:var(--tan-dark); font-size:1.05rem; white-space:nowrap;}
.horse-meta{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px;}
.tag-pill{background:var(--offwhite-dark); color:var(--slate); font-size:.72rem; font-weight:600; padding:4px 10px; border-radius:20px;}
.tag-pill.level{background:var(--navy); color:var(--tan-light);}
.horse-body p.about{color:var(--muted); font-size:.88rem; flex:1; margin-bottom:14px;}
.horse-cta{font-size:.85rem; font-weight:700; color:var(--slate);}
.empty-note{text-align:center; color:var(--muted); padding:40px 20px; font-size:.95rem;}

/* QUOTE FORM (public) */
.quote-wrap{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start;}
.quote-info h2{font-size:2rem; margin-bottom:16px;}
.quote-info p{color:var(--muted); margin-bottom:20px;}
.quote-info ul{list-style:none;}
.quote-info li{display:flex; gap:12px; margin-bottom:14px; font-size:.94rem; color:var(--ink);}
.quote-info li span.n{background:var(--tan); color:var(--navy-dark); font-weight:700; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.82rem;}
.quote-form{background:#fff; border-radius:20px; padding:36px; box-shadow:0 10px 34px rgba(47,59,71,.1);}
.quote-form label{color:var(--muted); font-weight:600; font-size:.82rem; display:block; margin-bottom:6px;}
.quote-form input, .quote-form select, .quote-form textarea{background:var(--offwhite-dark); border:1px solid #e2ddd0; color:var(--ink); width:100%; padding:11px 14px; border-radius:10px; font-family:'Inter',sans-serif; font-size:.92rem;}
textarea{resize:vertical; min-height:90px;}
.form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.form-grid .full{grid-column:1/-1;}
.quote-confirm{display:none; background:var(--offwhite-dark); border-left:4px solid var(--tan-dark); padding:18px 20px; border-radius:10px; margin-top:20px; font-size:.9rem; color:var(--navy);}

/* TRAINER */
.trainer{background:var(--navy); color:#fff; padding:80px 0;}
.trainer-wrap{display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:center;}
.trainer-imgs{display:flex; gap:16px;}
.trainer-imgs img{border-radius:16px; object-fit:cover; height:320px; width:50%; border:3px solid rgba(201,168,118,.35);}
.trainer h2{color:#fff; font-size:1.9rem; margin-bottom:16px;}
.trainer p{color:#d3d9dd; margin-bottom:12px; font-size:.98rem;}
.trainer-name{color:var(--tan); font-weight:700; letter-spacing:.04em; margin-top:8px;}

/* TESTIMONIALS */
.test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.test-card{background:#fff; border-radius:16px; padding:28px 26px; position:relative; box-shadow:0 6px 20px rgba(47,59,71,.06);}
.test-card:before{content:'"'; font-family:'Playfair Display',serif; font-size:3.6rem; color:var(--tan); position:absolute; top:4px; left:18px; opacity:.5; line-height:1;}
.test-quote{color:var(--ink); font-size:.92rem; margin:22px 0 16px; font-style:italic;}
.test-name{font-weight:700; color:var(--navy); font-size:.88rem;}

/* CTA BANNER */
.cta-banner{background:linear-gradient(120deg, var(--slate), var(--navy)); color:#fff; padding:64px 0; text-align:center;}
.cta-banner h2{color:#fff; font-size:2rem; margin-bottom:12px;}
.cta-banner p{color:#dfe4e7; max-width:520px; margin:0 auto 26px; font-size:1rem;}
.cta-contact{display:flex; gap:30px; justify-content:center; margin-top:28px; flex-wrap:wrap; font-size:.92rem;}
.cta-contact div{color:#fff;}

/* FOOTER */
footer{background:var(--navy-dark); color:#b9c0c5; padding:52px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:36px;}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.footer-brand img{height:40px; width:40px; border-radius:50%; object-fit:cover; border:2px solid var(--tan);}
.footer-brand span{font-family:'Playfair Display',serif; color:#fff; font-size:1.15rem; font-weight:700;}
footer h4{color:var(--tan); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:14px;}
footer ul{list-style:none;}
footer li{margin-bottom:9px; font-size:.9rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem; color:#79808a;}

/* =================== ADMIN =================== */
.admin-body{background:var(--offwhite-dark); min-height:100vh;}
.admin-header{background:var(--navy-dark); color:#fff; padding:16px 0;}
.admin-header .container{display:flex; align-items:center; justify-content:space-between;}
.admin-header .brand-text .name{font-size:1.05rem;}
.admin-header a.logout{color:var(--tan-light); font-size:.85rem; font-weight:600;}
.admin-wrap{max-width:1100px; margin:0 auto; padding:40px 24px 80px;}
.admin-card{background:#fff; border-radius:16px; padding:30px; box-shadow:0 6px 20px rgba(47,59,71,.08); margin-bottom:32px;}
.admin-card h2{font-size:1.4rem; margin-bottom:20px;}
.admin-toprow{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px;}
.badge{display:inline-block; background:var(--tan-dark); color:#fff; font-size:.7rem; font-weight:700; padding:3px 9px; border-radius:12px; margin-left:8px;}
table.admin-table{width:100%; border-collapse:collapse; font-size:.88rem;}
table.admin-table th{text-align:left; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; padding:8px 10px; border-bottom:2px solid var(--offwhite-dark);}
table.admin-table td{padding:12px 10px; border-bottom:1px solid var(--offwhite-dark); vertical-align:middle;}
.status-pill{font-size:.72rem; font-weight:700; padding:4px 10px; border-radius:20px;}
.status-pill.published{background:#dcefe0; color:#2c6e3f;}
.status-pill.draft{background:#f0e6d0; color:var(--tan-dark);}
.row-actions{display:flex; gap:8px; flex-wrap:wrap;}
.lead-row.unread{background:#fbf6ea;}
.lead-detail{font-size:.82rem; color:var(--muted);}
.thumb{width:52px; height:40px; object-fit:cover; border-radius:6px;}
.login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg, var(--navy-dark), var(--navy));}
.login-card{background:#fff; padding:44px; border-radius:18px; width:100%; max-width:380px; box-shadow:0 20px 50px rgba(0,0,0,.25);}
.login-card h1{font-size:1.5rem; margin-bottom:6px;}
.login-card p.sub{color:var(--muted); font-size:.88rem; margin-bottom:26px;}
.login-card label{font-size:.82rem; font-weight:600; color:var(--muted); margin-bottom:6px; display:block;}
.login-card input{width:100%; padding:12px 14px; border-radius:10px; border:1px solid #e2ddd0; margin-bottom:16px; font-size:.94rem;}
.login-error{background:#fbe7e3; color:var(--danger); padding:10px 14px; border-radius:10px; font-size:.85rem; margin-bottom:16px;}
.horse-form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.horse-form-grid .full{grid-column:1/-1;}
.horse-form-grid label{display:block; font-size:.78rem; font-weight:600; color:var(--muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:.04em;}
.horse-form-grid input, .horse-form-grid select, .horse-form-grid textarea{width:100%; padding:11px 14px; border-radius:10px; border:1px solid #e2ddd0; background:var(--offwhite); font-size:.92rem; font-family:'Inter',sans-serif;}
.existing-photos{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}
.existing-photos .ph{position:relative;}
.existing-photos img{width:80px; height:80px; object-fit:cover; border-radius:8px;}
.existing-photos button{position:absolute; top:-6px; right:-6px; background:var(--danger); color:#fff; border:none; border-radius:50%; width:22px; height:22px; font-size:.7rem; cursor:pointer;}
.helper{font-size:.78rem; color:var(--muted); margin-top:6px;}
.pw-form{max-width:420px;}

@media(max-width:900px){
    .services-grid{grid-template-columns:1fr;}
    .trainer-wrap{grid-template-columns:1fr;}
    .test-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr; gap:26px;}
    .quote-wrap{grid-template-columns:1fr;}
    .form-grid, .horse-form-grid{grid-template-columns:1fr;}
    nav ul{display:none;}
    .hero h1{font-size:2.2rem;}
    table.admin-table{font-size:.78rem;}
}
