/* ============================================================
   EasyBoxs v2 – main.css
   Design tokens, reset, typography, layout, components
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700&family=DM+Sans:wght@400;500;600&display=swap');

:root {
  --navy:      #0D1B3E;
  --blue:      #1A4B8E;
  --mid:       #2563C4;
  --accent:    #00B89C;
  --green:     #00D4A0;
  --white:     #FFFFFF;
  --gray:      #5A6A80;
  --softgray:  #EEF2F8;
  --lightblue: #F0F5FF;
  --darktext:  #1A2B4A;
  --border:    #D0DAEA;
  --cardborder:#E0EAF8;
  --warn:      #F59E0B;

  --font-head: 'Sora', sans-serif;
  --font-body: 'DM Sans', sans-serif;

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 24px;

  --shadow: 0 10px 36px rgba(37,99,196,0.10);
  --shadow-nav: 0 2px 12px rgba(13,27,62,0.07);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); color:var(--darktext); background:var(--white); overflow-x:hidden; line-height:1.6; }
img  { max-width:100%; display:block; }
a    { text-decoration:none; color:inherit; }
ul   { list-style:none; }
button { cursor:pointer; font-family:var(--font-body); }

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4,h5 { font-family:var(--font-head); color:var(--navy); line-height:1.2; }
h1 { font-size:2.6rem; font-weight:700; }
h2 { font-size:2rem;   font-weight:700; }
h3 { font-size:1.2rem; font-weight:700; }
h4 { font-size:.95rem; font-weight:700; }
p  { font-size:.95rem; color:var(--gray); line-height:1.75; }

/* ── LAYOUT ── */
.container   { max-width:1100px; margin:0 auto; padding:0 2rem; }
section      { padding:5rem 2rem; }
.section-header { text-align:center; margin-bottom:3rem; }
.section-header h2 { margin-bottom:.75rem; }
.section-header p  { max-width:580px; margin:0 auto; }

/* ── TAGS / BADGES ── */
.tag { display:inline-block; background:#E0EAF8; color:var(--blue); font-size:11px; font-weight:700; padding:4px 14px; border-radius:20px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.8rem; }
.badge-teal { display:inline-flex; align-items:center; gap:6px; background:rgba(0,184,156,0.18); border:1px solid rgba(0,184,156,0.4); padding:5px 14px; border-radius:20px; font-size:11px; font-weight:700; color:#00E8BE; }

/* ── BUTTONS ── */
.btn-primary { background:var(--accent); color:#FFF; border:none; padding:13px 28px; border-radius:10px; font-size:14px; font-weight:700; transition:all .2s; display:inline-block; }
.btn-primary:hover { background:var(--green); transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,184,156,0.35); }
.btn-secondary { background:var(--mid); color:#FFF; border:none; padding:13px 28px; border-radius:10px; font-size:14px; font-weight:700; transition:all .2s; display:inline-block; }
.btn-secondary:hover { background:var(--navy); }
.btn-outline { background:transparent; color:#FFF; border:2px solid rgba(255,255,255,0.4); padding:13px 28px; border-radius:10px; font-size:14px; font-weight:600; transition:all .2s; display:inline-block; }
.btn-outline:hover { border-color:#FFF; background:rgba(255,255,255,0.08); }
.btn-ghost { background:transparent; color:var(--mid); border:2px solid var(--cardborder); padding:11px 24px; border-radius:10px; font-size:13px; font-weight:600; transition:all .2s; display:inline-block; }
.btn-ghost:hover { border-color:var(--mid); background:var(--lightblue); }
.btn-submit { width:100%; background:var(--mid); color:#FFF; border:none; padding:14px; border-radius:10px; font-size:.95rem; font-weight:700; transition:background .2s; }
.btn-submit:hover { background:var(--navy); }
.btn-submit:disabled { opacity:.6; cursor:not-allowed; }

/* ── CARDS ── */
.card { background:var(--white); border:2px solid var(--cardborder); border-radius:var(--r-lg); padding:1.75rem; transition:all .25s; position:relative; overflow:hidden; }
.card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--mid); transform:scaleX(0); transition:transform .3s; transform-origin:left; }
.card:hover { border-color:var(--mid); box-shadow:var(--shadow); transform:translateY(-4px); }
.card:hover::before { transform:scaleX(1); }

.highlight-box { background:var(--lightblue); border-radius:var(--r-md); padding:1.75rem; border-left:4px solid var(--accent); }
.highlight-box h3 { margin-bottom:.85rem; }
.highlight-box li { font-size:.875rem; color:#3D5270; padding:5px 0; display:flex; align-items:start; gap:9px; line-height:1.55; }
.highlight-box li::before { content:'✓'; color:var(--accent); font-weight:700; flex-shrink:0; margin-top:1px; }

.feat-card { background:#F7F9FD; border-radius:var(--r-sm); padding:1.25rem; border-left:4px solid var(--mid); }
.feat-card h4 { margin-bottom:.4rem; }
.feat-card p  { font-size:.82rem; line-height:1.55; }

.info-box { background:var(--lightblue); border-radius:var(--r-md); padding:1.75rem; border-left:4px solid var(--mid); margin-bottom:2rem; }
.info-box h3 { margin-bottom:.75rem; }
.info-box p  { font-size:.875rem; color:#3D5270; line-height:1.75; }

/* ── GRIDS ── */
.grid-2    { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:start; }
.grid-3    { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.grid-4    { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.grid-5    { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1.5rem; }

/* ── PILLS ── */
.pill-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:.85rem; }
.pill { background:#E8F0FB; color:var(--blue); font-size:.78rem; font-weight:700; padding:5px 13px; border-radius:20px; }

/* ── CTA STRIP ── */
.cta-strip { background:linear-gradient(135deg,var(--navy) 0%,#1A3A6E 100%); color:white; padding:3.5rem 2rem; border-radius:var(--r-xl); text-align:center; margin:3rem 0; }
.cta-strip h2 { color:#FFF; margin-bottom:.75rem; }
.cta-strip p  { color:rgba(255,255,255,.78); margin-bottom:1.75rem; }

/* ── PRICING TABLE ── */
.table-wrap { overflow-x:auto; }
.pricing-table { width:100%; border-collapse:collapse; margin:1.5rem 0; font-size:.875rem; }
.pricing-table th { background:var(--navy); color:#FFF; padding:12px 16px; text-align:left; font-weight:700; font-family:var(--font-head); font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }
.pricing-table td { padding:12px 16px; border-bottom:1.5px solid var(--cardborder); color:#2D3E55; }
.pricing-table tr:hover td { background:var(--lightblue); }
.check { color:var(--accent); font-weight:700; font-size:16px; }
.featured-row td { background:#F0F5FF; font-weight:600; }

/* ── FORMS ── */
.form-group { margin-bottom:1rem; }
.form-group label { display:block; font-size:11px; font-weight:700; color:#3D5270; margin-bottom:5px; text-transform:uppercase; letter-spacing:.05em; }
.form-group input,
.form-group select,
.form-group textarea { width:100%; padding:11px 13px; border:2px solid var(--cardborder); border-radius:9px; font-size:.875rem; font-family:var(--font-body); color:var(--navy); background:white; transition:border .2s; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { outline:none; border-color:var(--mid); }
.form-group textarea { height:90px; resize:vertical; }
.form-msg { margin-top:.75rem; font-size:.85rem; font-weight:600; padding:10px 14px; border-radius:8px; }
.form-msg.success { background:#E6F9F5; color:#0F6E56; }
.form-msg.error   { background:#FCEBEB; color:#A32D2D; }

/* ── SERVICE PAGE HERO ── */
.service-hero { background:var(--navy); color:white; padding:3.5rem 2rem; }
.service-hero h1 { color:#FFF; margin:.75rem 0 .6rem; }
.service-hero p  { color:rgba(255,255,255,.80); max-width:620px; }
.back-btn { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:#FFF; background:none; border:none; opacity:.75; transition:opacity .2s; margin-bottom:1.5rem; cursor:pointer; }
.back-btn:hover { opacity:1; }

/* ── SERVICE ICON ── */
.service-icon { width:52px; height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:1rem; }
.icon-blue   { background:#EEF5FF; }
.icon-teal   { background:#E6F9F5; }
.icon-purple { background:#F0EEFF; }
.icon-orange { background:#FFF3E6; }

/* ── STAT CARD (hero) ── */
.stat-card { background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.15); border-radius:14px; padding:16px 20px; display:flex; align-items:center; gap:14px; }
.stat-icon-wrap { width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.si-teal  { background:rgba(0,184,156,0.25); }
.si-blue  { background:rgba(37,99,196,0.25); }
.si-green { background:rgba(0,212,160,0.18); }
.stat-text p      { font-size:11px; color:rgba(255,255,255,.55); margin-bottom:3px; }
.stat-text strong { font-size:14px; font-weight:600; color:#FFF; }

/* ── TESTIMONIALS ── */
.testimonial { background:var(--white); border:2px solid var(--cardborder); border-radius:var(--r-lg); padding:1.75rem; }
.testimonial-stars { color:var(--warn); font-size:1rem; margin-bottom:.75rem; letter-spacing:2px; }
.testimonial-text { font-size:.9rem; color:#3D5270; line-height:1.7; margin-bottom:1rem; font-style:italic; }
.testimonial-author { display:flex; align-items:center; gap:10px; }
.author-avatar { width:38px; height:38px; border-radius:50%; background:var(--mid); display:flex; align-items:center; justify-content:center; color:white; font-size:13px; font-weight:700; flex-shrink:0; }
.author-name  { font-size:.875rem; font-weight:700; color:var(--navy); }
.author-role  { font-size:.78rem; color:var(--gray); }

/* ── PRICING CARDS ── */
.price-card { background:var(--white); border:2px solid var(--cardborder); border-radius:var(--r-lg); padding:2rem; position:relative; transition:all .25s; }
.price-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.price-card.featured { border-color:var(--mid); box-shadow:var(--shadow); }
.price-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--mid); color:#FFF; font-size:11px; font-weight:700; padding:4px 16px; border-radius:20px; white-space:nowrap; }
.price-name  { font-size:.85rem; font-weight:700; color:var(--gray); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; }
.price-amount { font-family:var(--font-head); font-size:2.5rem; font-weight:700; color:var(--navy); line-height:1; }
.price-amount span { font-size:1rem; font-weight:400; color:var(--gray); }
.price-desc { font-size:.82rem; color:var(--gray); margin:.5rem 0 1.25rem; }
.price-features { list-style:none; margin-bottom:1.5rem; }
.price-features li { font-size:.85rem; color:#3D5270; padding:5px 0; display:flex; align-items:start; gap:8px; border-bottom:1px solid var(--cardborder); }
.price-features li:last-child { border:none; }
.price-features li::before { content:'✓'; color:var(--accent); font-weight:700; flex-shrink:0; }

/* ── CALCULATOR ── */
.calc-card { background:var(--lightblue); border-radius:var(--r-xl); padding:2.5rem; border:2px solid var(--cardborder); }
.calc-result { background:var(--navy); color:white; border-radius:var(--r-md); padding:1.5rem; text-align:center; margin-top:1.5rem; }
.calc-result .amount { font-family:var(--font-head); font-size:2.5rem; font-weight:700; color:#00D4A0; }
.calc-result p { color:rgba(255,255,255,.75); font-size:.85rem; margin-top:.25rem; }
.calc-slider { width:100%; margin:.5rem 0; accent-color:var(--mid); }
.calc-label { display:flex; justify-content:space-between; font-size:.78rem; color:var(--gray); margin-top:.25rem; }

/* ── BLOG CARD ── */
.blog-card { background:var(--white); border:2px solid var(--cardborder); border-radius:var(--r-lg); overflow:hidden; transition:all .25s; }
.blog-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.blog-thumb { height:160px; background:var(--navy); display:flex; align-items:center; justify-content:center; font-size:3rem; }
.blog-body { padding:1.25rem; }
.blog-tag  { font-size:11px; font-weight:700; color:var(--mid); text-transform:uppercase; letter-spacing:.05em; margin-bottom:.5rem; }
.blog-card h3 { font-size:1rem; margin-bottom:.5rem; line-height:1.4; }
.blog-card p  { font-size:.82rem; }
.blog-meta { font-size:.75rem; color:var(--gray); margin-top:.75rem; }

/* ── INDUSTRIES ── */
.industry-card { background:var(--white); border:2px solid var(--cardborder); border-radius:var(--r-md); padding:1.25rem; display:flex; align-items:center; gap:12px; transition:all .2s; cursor:default; }
.industry-card:hover { border-color:var(--mid); background:var(--lightblue); }
.ind-icon { font-size:1.75rem; flex-shrink:0; }
.ind-name { font-size:.9rem; font-weight:700; color:var(--navy); }
.ind-desc { font-size:.78rem; color:var(--gray); margin-top:2px; }

/* ── GUARANTEE ── */
.guarantee-box { background:linear-gradient(135deg,#E6F9F5,#F0F5FF); border:2px solid rgba(0,184,156,.25); border-radius:var(--r-xl); padding:2.5rem; text-align:center; }
.guarantee-icon { font-size:3rem; margin-bottom:1rem; }
.guarantee-box h3 { font-size:1.3rem; margin-bottom:.75rem; }
.guarantee-box p  { max-width:500px; margin:0 auto; }

/* ── WHATSAPP FLOAT ── */
.wa-float { position:fixed; bottom:24px; right:24px; z-index:999; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.wa-btn { width:56px; height:56px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,.4); transition:all .25s; text-decoration:none; }
.wa-btn:hover { background:#1ebe5d; transform:scale(1.08); }
.wa-btn svg { width:28px; height:28px; fill:white; }
.wa-tooltip { background:var(--navy); color:white; font-size:12px; font-weight:600; padding:6px 12px; border-radius:8px; white-space:nowrap; opacity:0; transform:translateX(10px); transition:all .25s; pointer-events:none; }
.wa-float:hover .wa-tooltip { opacity:1; transform:translateX(0); }
.wa-pulse { position:absolute; top:0; right:0; width:14px; height:14px; background:#FF4444; border-radius:50%; border:2px solid white; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.3);opacity:.7} }

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .5s ease, transform .5s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  h1 { font-size:2rem; }
  h2 { font-size:1.65rem; }
  .grid-2 { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  h1 { font-size:1.75rem; }
  section { padding:3.5rem 1.25rem; }
  .grid-3,.grid-4,.grid-5 { grid-template-columns:1fr; }
  .hero-btns { flex-direction:column; }
  .price-card { padding:1.5rem; }
}
