/* ── MyGiftCardMall.net — Main Stylesheet ──────────────────────── */
/* Performance: minify this file before deployment                  */

/* ── HEADER ─────────────────────────────────────────────────────── */
.site-header{
  background:var(--white);
  border-bottom:3px solid var(--red);
  position:sticky;top:0;z-index:100;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px;gap:16px;
}
.logo-link img{height:65px;width:auto}
.main-nav ul{display:flex;list-style:none;gap:4px;flex-wrap:wrap;align-items:center}
.main-nav a{
  font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:.95rem;
  color:var(--gray-dark);padding:7px 12px;border-radius:6px;
  transition:background var(--transition),color var(--transition);
}
.main-nav a:hover,.main-nav a[aria-current="page"]{
  background:var(--red);color:var(--white);
}
.btn-nav{
  background:var(--red)!important;color:var(--white)!important;
  padding:8px 18px!important;border-radius:8px!important;
  font-weight:700!important;letter-spacing:.3px;
  box-shadow:0 2px 8px rgba(204,0,0,.3);
  transition:background var(--transition),transform var(--transition),box-shadow var(--transition)!important;
}
.btn-nav:hover{background:var(--red-dark)!important;transform:translateY(-1px);box-shadow:0 4px 14px rgba(204,0,0,.4)!important;}

/* Mobile nav toggle */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--gray-dark);border-radius:2px;transition:var(--transition)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

@media(max-width:860px){
  .nav-toggle{display:flex}
  .main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--white);border-top:2px solid var(--red);
    box-shadow:0 8px 24px rgba(0,0,0,.12);padding:12px 0;
  }
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:0;padding:0 16px}
  .main-nav a{display:block;padding:10px 12px;border-radius:6px}
}

/* ── HERO ────────────────────────────────────────────────────────── */
.hero{
  background:linear-gradient(135deg,var(--red-dark) 0%,var(--red) 60%,#FF1A1A 100%);
  color:var(--white);padding:72px 20px 64px;text-align:center;
  position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(
    -55deg,transparent,transparent 28px,
    rgba(255,255,255,.04) 28px,rgba(255,255,255,.04) 56px
  );
}
.hero-inner{position:relative;z-index:1;max-width:820px;margin:0 auto}
.hero h1{
  font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.2rem);
  font-weight:900;line-height:1.15;margin-bottom:18px;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.hero h1 span{color:var(--gold)}
.hero p{font-size:clamp(1rem,2.2vw,1.2rem);opacity:.92;margin-bottom:32px;max-width:640px;margin-left:auto;margin-right:auto}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--white);color:var(--red);
  font-weight:700;font-size:1rem;padding:14px 28px;
  border-radius:50px;box-shadow:0 4px 20px rgba(0,0,0,.2);
  transition:transform var(--transition),box-shadow var(--transition);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.28);color:var(--red-dark)}
.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--white);
  font-weight:600;font-size:1rem;padding:13px 26px;
  border:2px solid rgba(255,255,255,.6);border-radius:50px;
  transition:border-color var(--transition),background var(--transition);
}
.btn-secondary:hover{border-color:var(--white);background:rgba(255,255,255,.12);color:var(--white)}
.hero-image{margin-top:40px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.hero-image img{width:100%;height:auto}

/* ── BREADCRUMB ──────────────────────────────────────────────────── */
.breadcrumb{background:var(--gray-light);padding:10px 20px;font-size:.88rem;border-bottom:1px solid #E8E8E8}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;max-width:var(--max-w);margin:0 auto}
.breadcrumb li+li::before{content:' › ';color:var(--gray)}
.breadcrumb a{color:var(--red)}
.breadcrumb [aria-current="page"]{color:var(--gray-dark);font-weight:600}

/* ── SECTIONS ────────────────────────────────────────────────────── */
section{padding:64px 20px}
section:nth-child(even){background:var(--off-white)}
.section-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700;
  color:var(--red-dark);margin-bottom:10px;
}
.section-subtitle{font-size:1.05rem;color:var(--text-muted);margin-bottom:36px;max-width:620px}
.section-header{margin-bottom:36px}

/* ── CARDS GRID ──────────────────────────────────────────────────── */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.card{
  background:var(--white);border-radius:var(--radius-lg);
  padding:28px 24px;box-shadow:var(--shadow);
  border:1px solid rgba(204,0,0,.08);
  transition:transform var(--transition),box-shadow var(--transition);
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card-icon{
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,var(--red),var(--red-light));
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:16px;
}
.card h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:8px;color:var(--gray-dark)}
.card p{font-size:.95rem;color:var(--text-muted);line-height:1.6}

/* ── STEPS ───────────────────────────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;counter-reset:step}
.step{
  position:relative;padding:28px 24px 28px 72px;
  border-left:3px solid var(--gray-light);
}
.step:first-child{border-left:none}
.step::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:-20px;top:24px;
  width:40px;height:40px;border-radius:50%;
  background:var(--red);color:var(--white);
  font-weight:700;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(204,0,0,.3);
}
.step:first-child::before{left:16px}
.step h3{font-weight:700;margin-bottom:8px;color:var(--gray-dark)}
.step p{font-size:.95rem;color:var(--text-muted)}

/* ── FAQ ─────────────────────────────────────────────────────────── */
.faq-list{max-width:820px}
.faq-item{
  border:1px solid rgba(204,0,0,.12);border-radius:var(--radius);
  margin-bottom:12px;overflow:hidden;
}
.faq-question{
  width:100%;background:none;border:none;cursor:pointer;
  padding:18px 20px;text-align:left;font-family:'Source Sans 3',sans-serif;
  font-weight:600;font-size:1rem;color:var(--text);
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  transition:background var(--transition);
}
.faq-question:hover{background:var(--off-white)}
.faq-question[aria-expanded="true"]{background:var(--red);color:var(--white)}
.faq-chevron{font-size:1.2rem;transition:transform var(--transition);flex-shrink:0}
.faq-question[aria-expanded="true"] .faq-chevron{transform:rotate(180deg)}
.faq-answer{
  max-height:0;overflow:hidden;
  transition:max-height .35s ease,padding .25s ease;
  padding:0 20px;font-size:.97rem;color:var(--text-muted);line-height:1.7;
}
.faq-answer.open{max-height:400px;padding:16px 20px}

/* ── TRUST BAR ───────────────────────────────────────────────────── */
.trust-bar{
  background:var(--red);color:var(--white);
  padding:20px;text-align:center;
}
.trust-bar-inner{
  display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:28px;max-width:var(--max-w);margin:0 auto;
}
.trust-item{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}
.trust-item .icon{font-size:1.3rem}

/* ── CTA BANNER ─────────────────────────────────────────────────── */
.cta-banner{
  background:linear-gradient(135deg,var(--red-dark),var(--red));
  color:var(--white);text-align:center;padding:60px 20px;
}
.cta-banner h2{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:12px}
.cta-banner p{font-size:1.05rem;opacity:.9;margin-bottom:28px}
.btn-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--white);color:var(--red);
  font-weight:700;font-size:1.05rem;padding:15px 32px;
  border-radius:50px;box-shadow:0 4px 20px rgba(0,0,0,.2);
  transition:transform var(--transition),box-shadow var(--transition);
}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.28);color:var(--red-dark)}

/* ── FORM ────────────────────────────────────────────────────────── */
.form-group{margin-bottom:20px}
.form-label{display:block;font-weight:600;margin-bottom:6px;color:var(--gray-dark)}
.form-input,.form-textarea{
  width:100%;padding:12px 16px;
  border:2px solid #DDD;border-radius:var(--radius);
  font-family:'Source Sans 3',sans-serif;font-size:1rem;
  transition:border-color var(--transition),box-shadow var(--transition);
  background:var(--white);
}
.form-input:focus,.form-textarea:focus{
  outline:none;border-color:var(--red);
  box-shadow:0 0 0 3px rgba(204,0,0,.12);
}
.form-textarea{min-height:140px;resize:vertical}
.btn-submit{
  background:var(--red);color:var(--white);
  border:none;cursor:pointer;
  font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:1rem;
  padding:13px 32px;border-radius:50px;
  transition:background var(--transition),transform var(--transition);
}
.btn-submit:hover{background:var(--red-dark);transform:translateY(-1px)}

/* ── ALERT / NOTICE ──────────────────────────────────────────────── */
.alert{
  padding:16px 20px;border-radius:var(--radius);
  border-left:4px solid var(--red);
  background:rgba(204,0,0,.06);margin-bottom:24px;
}
.alert p{font-size:.97rem;color:var(--gray-dark);margin:0}

/* ── TABLE ───────────────────────────────────────────────────────── */
.data-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.97rem}
.data-table th{background:var(--red);color:var(--white);padding:12px 16px;text-align:left;font-weight:700}
.data-table td{padding:11px 16px;border-bottom:1px solid #EEE}
.data-table tr:hover td{background:var(--off-white)}

/* ── FOOTER ──────────────────────────────────────────────────────── */
.site-footer{background:var(--gray-dark);color:#CCC;margin-top:0}
.footer-inner{
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;
  padding:56px 20px 40px;
}
.footer-brand p.footer-tagline{font-size:.92rem;margin-top:12px;opacity:.75;line-height:1.6}
.footer-nav h3,.footer-trust h3{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--gold);margin-bottom:14px}
.footer-nav ul,.footer-trust ul{list-style:none}
.footer-nav li,.footer-trust li{margin-bottom:8px}
.footer-nav a,.footer-trust a{color:#BBB;font-size:.93rem;transition:color var(--transition)}
.footer-nav a:hover,.footer-trust a:hover{color:var(--white)}
.trust-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.badge{
  background:rgba(255,255,255,.08);color:#CCC;
  padding:5px 10px;border-radius:20px;font-size:.82rem;border:1px solid rgba(255,255,255,.12);
}
.footer-bottom{
  background:#111;padding:16px 20px;
  border-top:1px solid rgba(255,255,255,.06);
}
.disclaimer{font-size:.8rem;color:#888;margin-bottom:10px;line-height:1.6}
.disclaimer strong{color:#AAA}
.copyright{font-size:.82rem;color:#666}
.copyright a{color:#888}
.copyright a:hover{color:#CCC}

@media(max-width:760px){
  .footer-inner{grid-template-columns:1fr;gap:28px;padding:36px 20px 28px}
  .steps{grid-template-columns:1fr}
  .step{border-left:none;padding:20px 16px 20px 60px}
  .step::before{left:8px;top:18px}
}

/* ── UTILITY ─────────────────────────────────────────────────────── */
.text-center{text-align:center}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
.highlight{color:var(--red);font-weight:700}
.tag{display:inline-block;background:rgba(204,0,0,.1);color:var(--red);padding:3px 10px;border-radius:20px;font-size:.83rem;font-weight:600}

/* ── BALANCE PAGE ────────────────────────────────────────────────── */
.balance-iframe-wrap{
  border:3px solid var(--red);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-lg);background:var(--white);
}
.balance-iframe-wrap iframe{width:100%;min-height:460px;border:none;display:block}
.balance-alternatives{margin-top:28px}
.method-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px}
.method-item{
  background:var(--white);border:1px solid rgba(204,0,0,.12);
  border-radius:var(--radius);padding:20px;
  display:flex;align-items:flex-start;gap:12px;
}
.method-icon{font-size:1.6rem;flex-shrink:0}
.method-item h4{font-weight:700;margin-bottom:4px;font-size:.97rem}
.method-item p{font-size:.88rem;color:var(--text-muted)}
