/* ============================================================
   High Road Flannel Co – Wholesale Portal
   ============================================================ */

:root {
  --dark:     #1a2329;
  --accent:   #b5451b;
  --accent2:  #8b1a1a;
  --bg:       #f5f3f0;
  --white:    #ffffff;
  --border:   #e0dbd6;
  --text:     #222018;
  --muted:    #736b62;
  --rep:      #1565c0;
  --dealer:   #2e7d32;
  --radius:   8px;
  --shadow:   0 2px 8px rgba(0,0,0,.09);
  --shadow-lg:0 6px 24px rgba(0,0,0,.13);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

.container{max-width:1240px;margin:0 auto;padding:0 1.25rem;width:100%}

/* Header */
.site-header{background:var(--dark);color:#fff;padding:.85rem 0;position:sticky;top:0;z-index:200;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.site-header .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.site-logo{color:#fff;font-size:1.2rem;font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.site-logo span{color:var(--accent)}
.site-nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.site-nav a{color:rgba(255,255,255,.82);font-size:.875rem;transition:color .15s;text-decoration:none}
.site-nav a:hover{color:#fff}
.site-nav .nav-cart{background:var(--accent);color:#fff;padding:.3rem .85rem;border-radius:20px;font-weight:600}
.site-nav .nav-cart:hover{background:var(--accent2)}

/* Footer */
.site-footer{background:var(--dark);color:rgba(255,255,255,.5);text-align:center;padding:2rem 1rem;font-size:.82rem;margin-top:auto}
.site-footer a{color:rgba(255,255,255,.7)}

/* Main */
main{flex:1;padding:1.75rem 0 3rem}

/* Hero */
.hero{background:linear-gradient(135deg,var(--dark) 0%,#2c3e35 100%);color:#fff;padding:5rem 0;text-align:center}
.hero h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;margin-bottom:.9rem;letter-spacing:-.02em}
.hero h1 span{color:var(--accent)}
.hero p{font-size:1.1rem;color:rgba(255,255,255,.75);max-width:500px;margin:0 auto 2rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.5rem;padding:3rem 0}
.feature-card{background:var(--white);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);text-align:center}
.feature-card .icon{font-size:2.5rem;margin-bottom:.75rem;display:block}
.feature-card h3{font-size:1rem;font-weight:700;margin-bottom:.4rem}
.feature-card p{font-size:.875rem;color:var(--muted)}

/* Page header */
.page-header{padding:1.5rem 0 1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.page-header h1{font-size:1.65rem;font-weight:700}
.page-header p{color:var(--muted);font-size:.875rem;margin-top:.2rem}

/* Badges */
.badge{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.badge-rep{background:#dbeafe;color:var(--rep)}
.badge-dealer{background:#dcfce7;color:var(--dealer)}
.badge-pending{background:#fef3c7;color:#92400e}
.badge-processing{background:#dbeafe;color:#1e40af}
.badge-shipped{background:#ede9fe;color:#5b21b6}
.badge-completed{background:#dcfce7;color:#166534}
.badge-cancelled{background:#fee2e2;color:#991b1b}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.35rem;border-radius:var(--radius);border:none;cursor:pointer;font-size:.9rem;font-weight:600;text-decoration:none;transition:filter .15s,transform .1s;white-space:nowrap;line-height:1.2}
.btn:hover{filter:brightness(.88);text-decoration:none}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--accent);color:#fff}
.btn-secondary{background:#4b5563;color:#fff}
.btn-success{background:#16a34a;color:#fff}
.btn-danger{background:#dc2626;color:#fff}
.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.btn-outline:hover{background:var(--accent);color:#fff}
.btn-white{background:#fff;color:var(--dark)}
.btn-sm{padding:.32rem .75rem;font-size:.8rem}
.btn-lg{padding:.85rem 2rem;font-size:1rem}
.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}

/* Forms */
.form-group{margin-bottom:1.1rem}
.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:.3rem}
.form-group input[type=text],
.form-group input[type=email],
.form-group input[type=password],
.form-group input[type=number],
.form-group input[type=file],
.form-group textarea,
.form-group select{width:100%;padding:.6rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.95rem;background:var(--white);color:var(--text);transition:border-color .15s,box-shadow .15s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(181,69,27,.12)}
.form-group textarea{resize:vertical;min-height:90px}
.form-group .hint{font-size:.78rem;color:var(--muted);margin-top:.3rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.inline-input{width:auto}

/* Card */
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem;margin-bottom:1.5rem}
.card h2{font-size:1.15rem;font-weight:700;margin-bottom:1rem}

/* Alerts */
.alert{padding:.75rem 1.1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem;border-left:4px solid}
.alert-success{background:#f0fdf4;color:#166534;border-color:#16a34a}
.alert-error{background:#fef2f2;color:#991b1b;border-color:#dc2626}
.alert-info{background:#eff6ff;color:#1e40af;border-color:#2563eb}
.alert-warning{background:#fffbeb;color:#92400e;border-color:#d97706}

/* Product Grid */
.catalog-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.5rem}
.catalog-count{color:var(--muted);font-size:.875rem}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1.5rem}
.product-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.product-card .card-img{display:block;width:100%;height:210px;object-fit:cover}
.product-card .card-placeholder{width:100%;height:210px;background:linear-gradient(135deg,#e8e5e0,#d4cfc9);display:flex;align-items:center;justify-content:center;color:#aaa;font-size:3.5rem}
.product-card .card-body{padding:1rem 1rem 1.2rem;flex:1;display:flex;flex-direction:column}
.product-card .card-name{font-size:.95rem;font-weight:600;margin-bottom:.3rem;line-height:1.3}
.product-card .card-material{font-size:.75rem;color:var(--muted);margin-bottom:auto;padding-bottom:.1rem}
.product-card .card-price{font-size:1.3rem;font-weight:800;color:var(--accent);margin:.6rem 0 .85rem}

/* Product Detail */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;padding:1.5rem 0 2rem}
.detail-img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg);display:block}
.detail-placeholder{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#e8e5e0,#d4cfc9);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:6rem;color:#bbb}
.detail-info h1{font-size:1.8rem;font-weight:800;margin-bottom:.3rem}
.detail-material{font-size:.85rem;color:var(--muted);margin-bottom:.75rem}
.detail-price{font-size:2.2rem;font-weight:800;color:var(--accent);margin:.4rem 0 .2rem}
.detail-price-label{font-size:.8rem;color:var(--muted);margin-bottom:1.25rem}
.detail-features{list-style:none;padding:0;margin-bottom:1.5rem}
.detail-features li{padding:.35rem 0;font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}
.detail-features li::before{content:'✓';color:var(--accent);font-weight:700}
.size-selector{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 1.25rem}
.size-btn{padding:.4rem .85rem;border:2px solid var(--border);border-radius:6px;background:var(--white);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text);transition:all .15s}
.size-btn:hover,.size-btn.active{border-color:var(--accent);background:var(--accent);color:var(--white)}

/* Table */
.table-wrap{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;overflow-x:auto;margin-bottom:1.5rem}
table{width:100%;border-collapse:collapse;font-size:.9rem}
thead th{background:#f8f6f3;color:var(--muted);font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.7rem 1rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
td{padding:.75rem 1rem;border-bottom:1px solid #f3f0ec;vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:#faf9f7}
tfoot td{font-weight:700;background:#f8f6f3;border-top:2px solid var(--border)}

/* Cart */
.qty-input{width:68px;padding:.35rem .5rem;border:1.5px solid var(--border);border-radius:6px;font-size:.9rem;text-align:center}

/* Auth pages */
.auth-wrap{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}
.auth-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:2.5rem 2.25rem;width:100%;max-width:420px}
.auth-card h1{font-size:1.5rem;font-weight:800;margin-bottom:.3rem}
.auth-card .subtitle{color:var(--muted);font-size:.875rem;margin-bottom:1.75rem}
.auth-logo{text-align:center;margin-bottom:1.75rem}
.auth-logo .brand{font-size:1.1rem;font-weight:700;color:var(--dark)}
.auth-logo .brand span{color:var(--accent)}
.auth-links{display:flex;justify-content:space-between;margin-top:1rem;font-size:.82rem}

/* Admin */
.admin-wrap{display:flex;flex:1;min-height:calc(100vh - 64px)}
.admin-sidebar{width:200px;flex-shrink:0;background:var(--white);border-right:1px solid var(--border);padding:1.25rem 0}
.admin-sidebar a{display:block;padding:.65rem 1.5rem;font-size:.875rem;color:#4b5563;border-left:3px solid transparent;transition:background .12s;text-decoration:none}
.admin-sidebar a:hover{background:#f5f3f0;color:var(--text)}
.admin-sidebar a.active{background:#fef3ed;color:var(--accent);border-left-color:var(--accent);font-weight:600}
.admin-sidebar .sidebar-header{padding:.5rem 1.5rem 1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.admin-content{flex:1;padding:2rem 2.25rem;overflow-x:auto;min-width:0}

/* Static pages */
.prose{max-width:720px}
.prose h2{font-size:1.35rem;margin:2rem 0 .75rem;color:var(--dark)}
.prose p{margin-bottom:1rem;color:var(--muted);line-height:1.7}
.prose ul{margin:.75rem 0 1rem 1.25rem}
.prose li{margin-bottom:.4rem;color:var(--muted)}
.prose .cta-box{background:var(--dark);color:#fff;border-radius:var(--radius);padding:2rem;margin:2rem 0}
.prose .cta-box h3{font-size:1.15rem;margin-bottom:.5rem}
.prose .cta-box p{color:rgba(255,255,255,.75);margin-bottom:1rem}

/* Misc */
.text-muted{color:var(--muted)}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}
.text-right{text-align:right}.text-center{text-align:center}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
.mb-0{margin-bottom:0}.mb-2{margin-bottom:1rem}
.flex{display:flex}.items-center{align-items:center}
.justify-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}
.gap-1{gap:.5rem}.gap-2{gap:1rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}

@media(max-width:900px){
  .product-detail{grid-template-columns:1fr;gap:1.5rem}
  .admin-wrap{flex-direction:column}
  .admin-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:0;display:flex;overflow-x:auto}
  .admin-sidebar a{white-space:nowrap;border-left:none;border-bottom:3px solid transparent;padding:.65rem 1.1rem}
  .admin-sidebar a.active{border-left-color:transparent;border-bottom-color:var(--accent)}
  .admin-sidebar .sidebar-header{display:none}
  .admin-content{padding:1.25rem 1rem}
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:640px){
  .product-grid{grid-template-columns:1fr 1fr}
  .product-card .card-img,.product-card .card-placeholder{height:160px}
  .hero{padding:3rem 0}
  .auth-card{padding:1.75rem 1.25rem}
  .grid-3{grid-template-columns:1fr}
}
@media(max-width:400px){
  .product-grid{grid-template-columns:1fr}
}

/* Category tabs */
.cat-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;border-bottom:2px solid var(--border);padding-bottom:.75rem}
.cat-tab{padding:.4rem .95rem;border-radius:20px;font-size:.875rem;font-weight:500;color:var(--muted);text-decoration:none;transition:all .15s}
.cat-tab:hover{background:var(--border);color:var(--text);text-decoration:none}
.cat-tab.active{background:var(--accent);color:#fff}

/* Card image link */
.card-img-link{display:block;overflow:hidden}
.card-img-link .card-img,.card-img-link .card-placeholder{transition:transform .2s}
.card-img-link:hover .card-img,.card-img-link:hover .card-placeholder{transform:scale(1.04)}

/* Card size grid */
.card-sizes{display:flex;flex-wrap:wrap;gap:.2rem;margin:.4rem 0 .55rem}
.card-size{font-size:.68rem;font-weight:600;padding:.15rem .42rem;border:1px solid var(--border);border-radius:4px;color:var(--text);background:var(--white);line-height:1.4}
.card-size.oos{color:#c8c0b8;border-color:#ece8e4;text-decoration:line-through}

/* Size button OOS */
.size-btn.oos{color:#c8c0b8;border-color:#ece8e4;text-decoration:line-through;cursor:not-allowed;background:#fafaf9}
.size-btn.oos:hover{border-color:#ece8e4;background:#fafaf9;color:#c8c0b8;filter:none}

/* ── Quick Order Grid ──────────────────────────────────────── */
.order-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}
.order-grid-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:900px}
.order-grid-table thead th{background:#f8f6f3;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.6rem .5rem;border-bottom:2px solid var(--border);white-space:nowrap;text-align:center}
.order-grid-table thead th.col-product{text-align:left;padding-left:1rem;min-width:220px;position:sticky;left:0;background:#f8f6f3;z-index:2}
.order-grid-table thead th.col-sku{text-align:left;min-width:90px}
.order-grid-table thead th.col-price{text-align:left;min-width:70px}
.order-grid-table thead th.col-size{min-width:68px}
.order-grid-table tbody tr:hover td{background:#faf9f7}
.order-grid-table td{padding:.55rem .4rem;border-bottom:1px solid #f3f0ec;vertical-align:middle}
.order-grid-table tr:last-child td{border-bottom:none}
.order-grid-table td.col-product{padding-left:1rem;position:sticky;left:0;background:var(--white);z-index:1;box-shadow:2px 0 6px rgba(0,0,0,.04)}
.order-grid-table tr:hover td.col-product{background:#faf9f7}

/* Product cell */
.order-product-cell{display:flex;align-items:center;gap:.6rem}
.order-thumb{width:52px;height:52px;object-fit:cover;border-radius:5px;flex-shrink:0}
.order-thumb-placeholder{width:52px;height:52px;background:linear-gradient(135deg,#e8e5e0,#d4cfc9);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.order-product-name{font-weight:600;font-size:.85rem;line-height:1.3}
.order-sku{font-size:.8rem;color:var(--muted);font-family:monospace}

/* Size input cells */
.col-size{text-align:center}
.col-size-oos{background:#fdfcfb}
.order-qty-input{width:54px;text-align:center;padding:.3rem .25rem;border:1.5px solid var(--border);border-radius:5px;font-size:.875rem;display:block;margin:0 auto}
.order-qty-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(181,69,27,.1)}
.size-stock-label{font-size:.68rem;color:var(--muted);margin-top:.2rem;text-align:center;white-space:nowrap}
.size-stock-label.oos{color:#d0c8c0}
.size-oos-marker{font-size:1.1rem;color:#ddd;text-align:center;line-height:1}

/* Hero logo */
.hero-logo{display:block;max-width:520px;width:90%;margin:0 auto 2.5rem;height:auto}

/* Light header override */
.site-header{background:#f8f8f8;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.site-logo{color:var(--dark)}
.site-logo span{color:var(--accent)}
.site-nav a{color:#444}
.site-nav a:hover{color:var(--dark)}
.site-nav .nav-cart{background:var(--accent);color:#fff}
