/* ============================================================
   PrintPros Inc. — Global Stylesheet v2
   Brand primary: #5372ad | Accent: #ef1e57 / #f7a01f
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,600;0,700;0,800;0,900;1,700&family=Work+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root {
  --blue:        #5372ad;
  --blue-dark:   #3d5590;
  --blue-mid:    #5372ad;
  --blue-light:  #eef1f8;
  --red:         #ef1e57;
  --red-dark:    #d01648;
  --red-light:   #fff0f4;
  --orange:      #f7a01f;
  --orange-dark: #d9880d;
  --teal:        #00a982;
  --magenta:     #c01f8f;
  --lime:        #85c54b;
  --white:       #ffffff;
  --bg:          #f4f6fb;
  --gray-50:     #f8fafc;
  --gray-100:    #f1f5f9;
  --gray-200:    #e2e8f0;
  --gray-300:    #cbd5e1;
  --gray-400:    #94a3b8;
  --gray-500:    #64748b;
  --gray-600:    #475569;
  --gray-700:    #334155;
  --gray-800:    #1e293b;
  --gray-900:    #0f172a;
  --font-heading: 'Montserrat', sans-serif;
  --font-body:    'Work Sans', sans-serif;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.14);
  --shadow-xl: 0 20px 60px rgba(0,0,0,.18);
  --radius:    12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --transition: 0.22s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--bg);color:var(--gray-800);min-height:100vh;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{cursor:pointer;font-family:var(--font-body);border:none;}

/* HEADER */
.site-header{background:var(--blue);position:sticky;top:0;z-index:200;box-shadow:0 2px 16px rgba(61,85,144,.3);}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;gap:16px;}
.logo-link{display:flex;align-items:center;flex-shrink:0;gap:10px;}
.logo-link img{height:54px;width:auto;object-fit:contain;display:block;}
/* keep .logo-icon and .logo-text in case needed elsewhere */
.logo-icon{width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,var(--orange),var(--red),var(--blue-dark));display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:1.4rem;color:#fff;flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;color:var(--white);}
.logo-text strong{font-family:var(--font-heading);font-size:1.25rem;font-weight:800;letter-spacing:-0.02em;line-height:1;}
.logo-text span{font-size:.7rem;opacity:.75;letter-spacing:.02em;}
.search-bar{flex:1;max-width:520px;display:flex;align-items:center;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.25);border-radius:50px;overflow:hidden;transition:background var(--transition),border-color var(--transition);}
.search-bar:focus-within{background:var(--white);border-color:var(--white);}
.search-bar input{flex:1;padding:10px 18px;background:transparent;border:none;outline:none;font-family:var(--font-body);font-size:.95rem;color:var(--white);}
.search-bar:focus-within input{color:var(--gray-800);}
.search-bar input::placeholder{color:rgba(255,255,255,.65);}
.search-bar:focus-within input::placeholder{color:var(--gray-400);}
.search-btn{background:var(--red);border:none;padding:10px 18px;color:var(--white);font-size:1rem;transition:background var(--transition);display:flex;align-items:center;justify-content:center;}
.search-btn:hover{background:var(--red-dark);}
.header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0;}
.btn-outline-white{background:transparent;border:2px solid var(--white);color:var(--white);padding:8px 18px;border-radius:50px;font-size:.88rem;font-weight:600;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px;}
.btn-outline-white:hover{background:var(--white);color:var(--blue);}
.btn-red{background:var(--red);color:var(--white);padding:8px 20px;border-radius:50px;font-size:.88rem;font-weight:700;border:2px solid transparent;transition:all var(--transition);box-shadow:0 2px 10px rgba(239,30,87,.35);}
.btn-red:hover{background:var(--red-dark);}

/* NAV */
.site-nav{background:rgba(40,58,110,.55);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.12);}
.nav-inner{display:flex;align-items:center;padding:0 32px;gap:2px;}
.nav-link{color:rgba(255,255,255,.85);padding:12px 16px;font-size:.9rem;font-weight:500;position:relative;transition:color var(--transition);white-space:nowrap;}
.nav-link:hover{color:var(--white);}
.nav-link.active{color:var(--white);font-weight:700;}
.nav-link.active::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:3px;background:var(--red);border-radius:3px 3px 0 0;}

/* FOOTER */
.site-footer{background:var(--gray-900);color:rgba(255,255,255,.75);padding:60px 32px 0;margin-top:80px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand p{font-size:.88rem;line-height:1.7;margin-top:4px;max-width:260px;}
.footer-brand img{height:56px;width:auto;object-fit:contain;display:block;}
.footer-col h4{font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin-bottom:14px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-col ul li a{font-size:.88rem;color:rgba(255,255,255,.6);transition:color var(--transition);}
.footer-col ul li a:hover{color:var(--white);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:.82rem;color:rgba(255,255,255,.4);flex-wrap:wrap;gap:12px;}
.footer-bottom a{color:rgba(255,255,255,.4);transition:color var(--transition);}
.footer-bottom a:hover{color:rgba(255,255,255,.8);}
.staff-login-link{background:none;border:none;color:rgba(255,255,255,.3);font-size:.78rem;cursor:pointer;transition:color var(--transition);font-family:var(--font-body);}
.staff-login-link:hover{color:rgba(255,255,255,.7);}

/* ADMIN BAR */
.admin-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(20,30,60,.96);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;padding:10px 28px;z-index:500;box-shadow:0 -4px 20px rgba(0,0,0,.3);}
.admin-bar-left{display:flex;align-items:center;gap:10px;color:var(--white);font-size:.9rem;font-weight:600;}
.admin-bar-left .dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80;display:inline-block;}
.btn-lock{display:flex;align-items:center;gap:6px;background:transparent;border:1.5px solid rgba(255,255,255,.25);color:rgba(255,255,255,.8);padding:7px 16px;border-radius:50px;font-size:.85rem;font-weight:600;transition:all var(--transition);}
.btn-lock:hover{border-color:var(--white);color:var(--white);}

/* ADMIN LOCK MODAL */
.admin-lock-overlay{position:fixed;inset:0;background:rgba(10,20,50,.75);backdrop-filter:blur(8px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s;}
.admin-lock-overlay.open{opacity:1;pointer-events:all;}
.admin-lock-box{background:var(--white);border-radius:var(--radius-xl);padding:40px 36px;width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-xl);transform:scale(.93) translateY(12px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.admin-lock-overlay.open .admin-lock-box{transform:scale(1) translateY(0);}
.admin-lock-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-dark));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--white);font-size:1.6rem;box-shadow:0 8px 24px rgba(83,114,173,.35);}
.admin-lock-box h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;color:var(--gray-900);margin-bottom:6px;}
.admin-lock-box p{font-size:.88rem;color:var(--gray-500);margin-bottom:24px;}
.admin-lock-input-wrap{position:relative;margin-bottom:16px;}
.admin-lock-input-wrap input{width:100%;padding:12px 42px 12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;outline:none;transition:border-color var(--transition);text-align:center;letter-spacing:.1em;}
.admin-lock-input-wrap input:focus{border-color:var(--blue);}
.admin-lock-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray-400);font-size:.9rem;cursor:pointer;padding:4px;}
.admin-lock-error{background:var(--red-light);border:1px solid #fca5a5;border-radius:8px;padding:8px 12px;margin-bottom:14px;color:var(--red);font-size:.83rem;display:none;}
.admin-lock-error.show{display:flex;align-items:center;gap:6px;}
.btn-admin-submit{width:100%;padding:13px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:var(--white);border:none;border-radius:50px;font-family:var(--font-heading);font-size:1rem;font-weight:700;transition:all var(--transition);box-shadow:0 4px 14px rgba(83,114,173,.35);}
.btn-admin-submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(83,114,173,.45);}
.btn-admin-cancel{margin-top:10px;background:none;border:none;color:var(--gray-500);font-size:.85rem;cursor:pointer;transition:color var(--transition);}
.btn-admin-cancel:hover{color:var(--gray-800);}

/* EDIT MODAL */
.edit-modal-overlay{position:fixed;inset:0;background:rgba(10,20,50,.6);backdrop-filter:blur(6px);z-index:8000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s;}
.edit-modal-overlay.open{opacity:1;pointer-events:all;}
.edit-modal{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:660px;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-xl);transform:scale(.94) translateY(16px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.edit-modal-overlay.open .edit-modal{transform:scale(1) translateY(0);}
.edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 16px;border-bottom:1px solid var(--gray-100);position:sticky;top:0;background:var(--white);z-index:2;}
.edit-modal-title{display:flex;align-items:center;gap:8px;font-family:var(--font-heading);font-size:1.1rem;font-weight:800;color:var(--blue);}
.edit-modal-close{width:32px;height:32px;border-radius:50%;background:var(--gray-100);border:none;color:var(--gray-500);display:flex;align-items:center;justify-content:center;transition:all var(--transition);}
.edit-modal-close:hover{background:var(--gray-200);color:var(--gray-800);}
.edit-modal-body{padding:22px 28px;display:flex;flex-direction:column;gap:16px;}
.edit-field{display:flex;flex-direction:column;gap:5px;}
.edit-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.edit-field label{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-700);}
.edit-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--gray-400);font-size:.75rem;}
.edit-field input,.edit-field textarea,.edit-field select{font-family:var(--font-body);font-size:.92rem;color:var(--gray-800);background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:10px;padding:10px 14px;outline:none;width:100%;transition:border-color var(--transition),box-shadow var(--transition);}
.edit-field input:focus,.edit-field textarea:focus,.edit-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(83,114,173,.12);background:var(--white);}
.edit-field textarea{resize:vertical;min-height:78px;line-height:1.55;}
.edit-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;}
.img-upload-tabs{display:flex;gap:6px;margin-bottom:10px;}
.img-tab{padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;background:var(--gray-100);color:var(--gray-500);border:none;transition:all var(--transition);cursor:pointer;}
.img-tab.active{background:var(--blue);color:var(--white);}
.img-tab-panel{display:none;}
.img-tab-panel.active{display:block;}
.img-drop-zone{border:2px dashed var(--gray-300);border-radius:var(--radius);padding:24px;text-align:center;background:var(--gray-50);cursor:pointer;transition:all var(--transition);position:relative;}
.img-drop-zone:hover,.img-drop-zone.drag-over{border-color:var(--blue);background:var(--blue-light);}
.img-drop-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.img-drop-zone .drop-icon{font-size:1.8rem;margin-bottom:6px;}
.img-drop-zone p{font-size:.83rem;color:var(--gray-500);}
.img-drop-zone p strong{color:var(--blue);}
.img-preview-box{border:1.5px solid var(--gray-200);border-radius:var(--radius);height:150px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--gray-50);margin-top:10px;}
.img-preview-box img{width:100%;height:100%;object-fit:cover;display:none;}
.img-preview-box.has-image img{display:block;}
.img-preview-box .no-img{color:var(--gray-300);font-size:.82rem;}
.img-preview-box.has-image .no-img{display:none;}
.edit-modal-footer{display:flex;gap:10px;align-items:center;padding:14px 28px 22px;border-top:1px solid var(--gray-100);}
.btn-save-changes{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:var(--white);border:none;border-radius:50px;padding:11px 24px;font-family:var(--font-heading);font-size:.92rem;font-weight:700;transition:all var(--transition);box-shadow:0 4px 14px rgba(83,114,173,.3);}
.btn-save-changes:hover{background:var(--blue-dark);transform:translateY(-1px);}
.btn-cancel-edit{padding:11px 20px;border-radius:50px;background:var(--gray-100);color:var(--gray-700);border:none;font-weight:600;font-size:.88rem;transition:all var(--transition);}
.btn-cancel-edit:hover{background:var(--gray-200);}
.btn-remove-product{display:flex;align-items:center;gap:6px;padding:11px 18px;border-radius:50px;background:var(--red-light);color:var(--red);border:1.5px solid #fca5a5;font-weight:600;font-size:.88rem;transition:all var(--transition);}
.btn-remove-product:hover{background:#ffe4e6;border-color:var(--red);}

/* TOAST */
.toast{position:fixed;bottom:70px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--gray-900);color:var(--white);padding:12px 24px;border-radius:50px;font-size:.88rem;font-weight:600;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;opacity:0;pointer-events:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);z-index:9999;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast-success{border-left:3px solid #4ade80;}
.toast-error{border-left:3px solid var(--red);}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:var(--white);padding:12px 28px;border-radius:50px;font-family:var(--font-heading);font-weight:700;font-size:.95rem;border:none;transition:all var(--transition);box-shadow:0 4px 14px rgba(83,114,173,.3);}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--blue);padding:11px 26px;border-radius:50px;border:2px solid var(--blue);font-family:var(--font-heading);font-weight:700;font-size:.95rem;transition:all var(--transition);}
.btn-secondary:hover{background:var(--blue);color:var(--white);}
.btn-orange{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:var(--white);padding:12px 28px;border-radius:50px;font-family:var(--font-heading);font-weight:700;font-size:.95rem;border:none;transition:all var(--transition);box-shadow:0 4px 14px rgba(247,160,31,.3);}
.btn-orange:hover{background:var(--orange-dark);transform:translateY(-1px);}

.page-wrap{padding:48px 32px 120px;max-width:1280px;margin:0 auto;}
.section-title{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--gray-900);line-height:1.2;}
.section-title span{color:var(--red);}
.section-sub{font-size:.95rem;color:var(--gray-500);margin-top:8px;line-height:1.6;}

@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}.header-top{padding:10px 16px;}.nav-inner{padding:0 16px;overflow-x:auto;}.page-wrap{padding:32px 16px 100px;}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;}.edit-field-row{grid-template-columns:1fr;}.search-bar{display:none;}}
