/* Combined and Cleaned CSS for system/file-uploader/index.php */

/* Root Variables (Consolidated) */
:root{
  --text:#1f2937;
  --muted:#6b7280;
  --accent-start: #ff7eb3;
  --accent-end: #7c3aed;
  --accent:#2563eb;
  --card:#ffffff;
  --ring:#e5e7eb;
  --good:#10b981;
  --warn:#f59e0b;
  --error:#ef4444;
}
*{box-sizing:border-box}

body{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin:0;
  padding:0;
  background:#f3f4f6; 
  color:var(--text);
  font-family:'Nunito',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.page-shell {
  max-width: 1100px;
  margin: 0 auto 16px;
  padding: 0 16px 16px;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  flex-grow: 1;
  width: 95%;
}

.main-content{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px 40px;
}

/* Headings with animated blue gradient (match home style family) */
.main-content h1,.main-content h2{
  font-family:'Poppins','Nunito',sans-serif;
  font-weight:800;
  letter-spacing:.4px;
  background-image: linear-gradient(90deg,#6495ED,#1e3a8a,#6495ED);
  background-size: 200% 100%;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  text-fill-color:transparent;
  margin:0 0 8px 0;
}
.main-content h1{font-size:clamp(1.4rem,2.8vw,1.9rem)}
.main-content h2{font-size:clamp(1.1rem,2.2vw,1.4rem); margin-top:26px}
@keyframes flow{from{background-position:0 0} to{background-position:-100% 0}}

.intro{
  color:var(--muted);
  font-size:clamp(1rem,1.1vw,1.1rem);
  line-height:1.7;
  max-width:65ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.divider{
  width: 300px;
  height: 2px;
  background: linear-gradient(90deg,var(--accent-start),var(--accent-end),var(--accent-start));
  background-size:200% 100%;
  animation: flow 4s linear infinite;
  border-radius:4px;
  margin: 24px 0;
  box-shadow: 0 2px 10px rgba(124,58,237,.15);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
}

.banner-image-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: -8px auto 0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 768px) {
    .banner-image-container { border-radius: 0; }
}
.banner-image {
    width: auto;
    height: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    object-fit: contain;
}
#particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.layout{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:22px;
  margin-top: 14px;
}
@media (max-width: 900px){
  .layout{ grid-template-columns: 1fr; }
}

.card{
  background:var(--card);
  border:1px solid var(--ring);
  border-radius:12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  padding:18px;
}
.card h3{
  margin:0 auto 10px auto;
  font-family:'Poppins','Nunito',sans-serif;
  font-weight:700;
  font-size:clamp(1rem,2vw,1.15rem);
  color:var(--text);
  text-align: center;
}
.card p{
  margin:0 auto 10px auto;
  max-width: 65ch;
  color:var(--muted);
  line-height:1.7;
  text-align: center;
}

.pay-grid{
  display:grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:center;
}
.pay-grid .logo{
  border:1px solid var(--ring);
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  height:70px;
  overflow: hidden;
  opacity: 0.7;
  animation: float 3s ease-in-out infinite;
  transition: opacity 0.3s ease-in-out;
}
.pay-grid .logo:hover { opacity: 1; }
.pay-grid .logo img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease-in-out;
}
.pay-grid .logo:hover img { transform: scale(1.1); }

@media (max-width: 700px){
  .pay-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .pay-grid { grid-template-columns: 1fr; }
  .pay-grid .logo { height: 80px; }
  .pay-grid img { max-height: 50px; }
}

@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-5px); }
  100% { transform: translateY(0px); }
}

form .row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
@media (max-width: 600px){
  form .row{ grid-template-columns: 1fr; }
}

label{
  display:block;
  font-weight:700;
  font-size:.9rem;
  margin-bottom:6px;
  color:#111827;
  font-family:'Nunito',sans-serif;
}
input[type="text"],
input[type="email"],
input[type="number"]{
  width:100%;
  padding:12px 12px;
  border:1px solid var(--ring);
  border-radius:10px;
  outline:none;
  font: 600 14px/1 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  transition: box-shadow .15s ease, border-color .15s ease;
}
input:focus{
  border-color:#93c5fd;
  box-shadow: 0 0 0 3px rgba(147,197,253,.35);
}
.help{
  font-size:.85rem;
  color:var(--muted);
  margin-top:6px;
}

.actions{
  display:flex;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}
.btn{
  border:none;
  outline:none;
  cursor:pointer;
  padding:11px 16px;
  border-radius:999px;
  font: 800 14px/1 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition: filter .15s ease, transform .1s ease;
}
.btn:active{ transform: translateY(1px) }
.btn-primary{ background:var(--accent); color:#fff }
.btn-primary:hover{ filter:brightness(.96) }
.btn-ghost{ background:#fff; color:var(--accent); border:1px solid #bfdbfe }
.note{
  margin-top:10px;
  font-size:.92rem;
  color:#374151;
  background:#f9fafb;
  border:1px dashed #d1d5db;
  padding:10px 12px;
  border-radius:10px;
}
.status{
  margin-top:10px;
  display:none;
  font-size:.92rem;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid transparent;
}
.status.ok{display:block; color:#065f46; background:#ecfdf5; border-color:#a7f3d0}
.status.warn{display:block; color:#78350f; background:#fffbeb; border-color:#fde68a}
.status.err{display:block; color:#7f1d1d; background:#fef2f2; border-color:#fecaca}
/* Allow HTML in status messages */
.status.warn b, .status.warn strong { color: #9a3412; }

.center{ text-align:center; }
.center .divider{ margin-left:auto; margin-right:auto }

.list{ margin:0; padding-left: 18px; color:var(--muted) }
.list li{ margin: 6px 0 }

/* Promo banner for Free Sample Kit */
.promo-sample-kit img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  border:1px solid var(--ring);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.banner-link{ display:block; line-height:0; margin-bottom:10px }

/* Particles fade-in (Kept for external JS usage) */
.particles-hidden {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

/* FAQ Section Styles */
.faq-list {
  margin-top: 16px;
}
.faq-entry {
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ring);
}
.faq-entry:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.faq-entry h4 {
  font-family: 'Poppins', 'Nunito', sans-serif;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.8vw, 1.05rem);
  color: var(--text);
  margin: 0 0 8px 0;
  text-align: left;
}
.faq-entry p {
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
  font-size: 0.95rem;
  text-align: left;
  max-width: 100%;
}
