/* styles.css - Ryf Trades polished */
:root{
  --accent: #4f8cff;
  --accent-2: #00d4ff;

  /* DARK THEME */
  --bg-dark: #0b1117;
  --card-dark: #0f1720;
  --text-dark: #e6eef8;
  --muted-dark: #9aa4b2;

  /* LIGHT THEME */
  --bg-light: #ffffff;
  --card-light: #ffffff;
  --text-light: #0b1220;
  --muted-light: #6b7280;

  --radius: 12px;
  --shadow: 0 10px 30px rgba(2,6,23,0.6);
}

/* DEFAULT THEME = DARK */
:root{ 
  --bg: var(--bg-dark); 
  --card: var(--card-dark); 
  --text: var(--text-dark); 
  --muted: var(--muted-dark); 
}

/* LIGHT MODE */
.light { 
  --bg: var(--bg-light); 
  --card: var(--card-light); 
  --text: var(--text-light); 
  --muted: var(--muted-light); 
}

/* Base resets */
*{box-sizing:border-box}
html,body{height:100%}

/* BODY — FIXED: PURE WHITE LIGHT MODE */
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial;

    /* DARK MODE background uses gradient */
    background:linear-gradient(180deg,var(--bg),#06101a);

    /* LIGHT MODE override — CLEAN PURE WHITE */
}
.light body {
    background: var(--bg); /* Pure white, no gradient */
}

body { 
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    transition:background .25s,color .25s;
    line-height:1.6;
}


/* =======================================
   BANNER
======================================= */
.banner {
    position: relative;
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}


.overlay { 
  position:absolute; 
  inset:0; 
  background:rgba(0,0,0,0.5); 
}

/* Light mode softer overlay */
.light .overlay {
  background: rgba(255,255,255,0.2);
}

.banner-text { position:relative; text-align:center; }

.light .banner-text h1 { color:#0b1220; }
.light .banner-text p { color:#333; }

.btn{
    padding:10px 16px;
    border-radius:10px;
    text-decoration:none;
    font-weight:700
}

.btn-ghost{
    background:transparent;
    border:1px solid rgba(255,255,255,0.06)
}

.btn-primary{
    background:linear-gradient(90deg,var(--accent),var(--accent-2));
    color:#001;
    box-shadow:0 8px 24px rgba(79,140,255,0.12);
}

.light .btn-primary {
    box-shadow:0 6px 20px rgba(79,140,255,0.25);
}

.container{max-width:1150px;margin:0 auto;padding:0 20px}


/* =======================================
   NAV
======================================= */

/* DARK MODE header gradient */
.header{
    backdrop-filter: blur(6px); 
    position:sticky; 
    top:0; 
    z-index:50; 
    background: linear-gradient(180deg, rgba(10,12,16,0.6), rgba(10,12,16,0.12)); 
    border-bottom:1px solid rgba(255,255,255,0.02)
}

/* LIGHT MODE HEADER — CLEAN WHITE */
.light .header {
    background: rgba(255,255,255,0.85);
    border-bottom:1px solid rgba(0,0,0,0.05);
    backdrop-filter: blur(10px);
}

.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.05rem}
.nav-links{display:flex;gap:12px;align-items:center}
.nav-links a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600}
.nav-links a:hover{background: rgba(255,255,255,0.05)}

.light .nav-links a:hover { background: rgba(0,0,0,0.05); }

.actions{display:flex;gap:10px;align-items:center}
.hamburger{display:none;background:transparent;border:0;color:var(--text);font-size:22px}
@media(max-width:860px){ 
  .nav-links{display:none} 
  .hamburger{display:block} 
}


/* =======================================
   HERO & BANNER
======================================= */
.banner1{
    background:linear-gradient(90deg, rgba(79,140,255,0.12), rgba(0,212,255,0.06));
    padding:10px 0;
    text-align:center;
    color:var(--text);
    font-weight:600
}

/* Light mode colorful wrapper */
.light .banner1 {
    background: linear-gradient(
        90deg,
        rgba(79,140,255,0.18),  /* soft accent blue */
        rgba(0,212,255,0.12)    /* turquoise tint */
    );
    color: #0b1220;
    font-weight: 600;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}


.hero{padding:60px 0 30px}
.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:30px;align-items:center}

.hero h1{font-size:2.4rem;margin:0 0 12px;line-height:1.02}
.light .hero h1{color:#0b1220;}

.hero p{color:var(--muted);margin:0 0 20px}
.light .hero p{color:#444}


/* =======================================
   CARDS
======================================= */
.card{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow)}
.light .card{
    box-shadow:0 4px 20px rgba(0,0,0,0.06);
}
/* ERROR BOX */
.error {
    background: rgba(255, 0, 0, 0.12);
    color: #ff6b6b;
    border: 1px solid rgba(255, 0, 0, 0.35);
    padding: 14px 18px;
    border-radius: 10px;
    margin-bottom: 18px;
    font-weight: 500;
    line-height: 1.5;
}

/* Make links inside error message match your theme */
.error a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: underline;
}


.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px}
.feature{padding:16px;border-radius:10px;background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);display:flex;gap:12px;align-items:flex-start}
.light .feature{background:#fafafa;border:1px solid rgba(0,0,0,0.05);}
.feature svg{flex-shrink:0}


/* =======================================
   STATS
======================================= */
.stats{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.stat{background:var(--card);padding:14px;border-radius:10px;flex:1;min-width:150px;text-align:center}


/* =======================================
   SERVICES
======================================= */
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:18px}
.service{background:var(--card);border-radius:12px;padding:12px;display:flex;gap:12px;align-items:flex-start}


/* =======================================
   TEAM
======================================= */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px}
.member{background:var(--card);padding:16px;border-radius:12px;text-align:center}


/* =======================================
   CONTACT
======================================= */
.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:24px;margin-top:18px}
.input, textarea{width:100%;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:var(--text)}
textarea{min-height:140px;resize:vertical}


/* =======================================
   FOOTER
======================================= */
footer{padding:40px 0;margin-top:40px;background:transparent;color:var(--muted)}
.light footer{color:#555}


/* icons list */
.icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);margin-right:10px}


/* reveal animations */
.fade-up{opacity:0;transform:translateY(14px);transition:all .6s cubic-bezier(.2,.9,.3,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}


/* testimonial card design */
.testimonial-card {
    padding: 24px;
    text-align: center;
}
.testimonial-img {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 12px;
}
.role {
    color: var(--muted);
    font-size: 0.9rem;
}

/* PRICING */
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:50px 0}
.price-card{background:var(--card);padding:22px;border-radius:12px;border:1px solid rgba(255,255,255,0.02);display:flex;flex-direction:column;gap:12px}
.light .price-card{border-color:rgba(0,0,0,0.06)}
.price-card .price{font-size:1.8rem;font-weight:800}


/* =======================================
   MOBILE SIDEBAR
======================================= */

#mobileSidebar {
    position: fixed;
    top: 0;
    right: -280px;
    width: 280px;
    height: 100vh;
    background: var(--card);
    transition: right .35s ease;
    padding: 20px;
    z-index: 200;
    display: flex;
    flex-direction: column;
}

#mobileSidebar.open { right: 0; }

/* Overlay */
#sidebarOverlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    display: none;
    z-index: 150;
}

#sidebarOverlay.show { display: block; }

/* Header */
.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.sidebar-title {
    font-size: 1.2rem;
    font-weight: 700;
}

.close-btn {
    background: transparent;
    border: 0;
    font-size: 28px;
    color: var(--text);
    cursor: pointer;
}

/* Links */
.sidebar-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: auto;
}

.sidebar-link {
    display: block;
    padding: 12px 14px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    color: var(--text);
    background: rgba(255,255,255,0.03);
    transition: background .25s, transform .25s;
}

.sidebar-link:hover {
    background: rgba(255,255,255,0.08);
    transform: translateX(4px);
}

/* Footer buttons */
.sidebar-footer {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sidebar-action {
    text-align: center;
    padding: 12px;
    border-radius: 10px;
    background: rgba(255,255,255,0.06);
    color: var(--text);
    font-weight: 700;
    text-decoration: none;
}

.sidebar-action.primary {
    background: linear-gradient(90deg, var(--accent), var(--accent-2));
    color: #001;
}

/* Fix footer logo size */
.footer-logo {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    display: block;
    flex-shrink: 0;
}
footer svg {
    flex-shrink: 0;
}
/* Footer links – remove default blue color */
.footer-links a {
    color: var(--muted);
    text-decoration: none;
    font-weight: 500;
}

.footer-links a:hover {
    color: var(--text);  /* slight brighten on hover */
    text-decoration: none;
}

/* Fix visited links also turning purple */
.footer-links a:visited {
    color: var(--muted);
}

/* Desktop default */
.actions .btn-ghost,
.actions .btn-primary {
    display: inline-flex;
}

.sidebar-footer {
    display: none;
}

/* Mobile view */
@media (max-width: 768px) {
    .actions .btn-ghost,
    .actions .btn-primary {
        display: none;
    }

    .sidebar-footer {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
}




/* responsiveness */
@media(max-width:860px){
    .hero-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .nav-inner{padding:10px 0}
    .hero h1{font-size:1.6rem}
}
