/* Guardian Rewards — brand: navy #0a2540, electric blue #4a90d9. Gold is promo-only, so not used here. */

/* ===================== Cart / checkout box ===================== */
.gl-loy-box{border:1px solid #d6e2f0;border-left:4px solid #4a90d9;background:#f6f9fd;border-radius:8px;padding:14px 16px;margin:0 0 18px;color:#0a2540;font-size:15px;line-height:1.45}
.gl-loy-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;font-family:"Barlow Condensed",Arial,sans-serif;font-weight:700;font-size:20px;letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}
.gl-loy-bal{font-family:inherit;font-size:15px;font-weight:600;text-transform:none;letter-spacing:0;color:#2f6fb6}
.gl-loy-line{margin:4px 0 !important}
.gl-loy-applied{color:#0a2540}
.gl-loy-muted{color:#5b6b7f;font-size:13px;margin:6px 0 0 !important}
.gl-loy-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 4px}
.gl-loy-form{display:flex;gap:8px;align-items:center;margin:0 !important}
.gl-loy-input{width:140px !important;padding:8px 10px !important;border:1px solid #b9c9dc !important;border-radius:6px !important;background:#fff !important;min-height:0 !important}
a.gl-loy-btn,button.gl-loy-btn,.gl-loy-btn{display:inline-block;background:#0a2540 !important;color:#fff !important;border:1px solid #0a2540 !important;border-radius:6px !important;padding:9px 14px !important;font-weight:600 !important;font-size:14px !important;line-height:1.2 !important;text-decoration:none !important;cursor:pointer}
a.gl-loy-btn:hover,button.gl-loy-btn:hover{background:#4a90d9 !important;border-color:#4a90d9 !important}
.gl-loy-btn--ghost,a.gl-loy-btn--ghost,button.gl-loy-btn--ghost{background:#fff !important;color:#0a2540 !important}
.gl-loy-btn--ghost:hover{color:#fff !important}
.gl-loy-link{color:#2f6fb6 !important;font-weight:600;text-decoration:underline !important;margin-left:6px}
.gl-loy-earn-row th,.gl-loy-earn-row td{color:#2f6fb6;font-weight:600}
.gl-loy-product-msg{display:inline-block;margin:4px 0 12px !important;padding:4px 10px;border-radius:999px;background:#eaf2fb;color:#0a2540;font-size:14px;font-weight:600}
.gl-loy-box .amount,.gl-loy-box .amount bdi{color:inherit !important}

/* ===================== My Account → Rewards ===================== */
.gl-loy-account{color:#0a2540;--gl-navy:#0a2540;--gl-blue:#4a90d9;--gl-blue-2:#2f6fb6;--gl-line:#dbe5f1;--gl-soft:#f4f8fd}
.gl-loy-account *{box-sizing:border-box}
.gl-ico{width:22px;height:22px;display:block}

/* Hero */
.gl-hero{position:relative;overflow:hidden;border-radius:18px;padding:26px 26px 22px;margin:0 0 18px;color:#fff;
  background:linear-gradient(120deg,#071b31 0%,#0a2540 35%,#17487f 70%,#2f6fb6 100%);background-size:200% 200%;
  animation:glPan 14s ease-in-out infinite;box-shadow:0 18px 40px -18px rgba(10,37,64,.55)}
.gl-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;
  -webkit-mask-image:linear-gradient(110deg,transparent 30%,#000 100%);mask-image:linear-gradient(110deg,transparent 30%,#000 100%)}
.gl-hero-glow{position:absolute;width:340px;height:340px;right:-90px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(74,144,217,.55),transparent 65%);animation:glFloat 9s ease-in-out infinite;pointer-events:none}
.gl-hero-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.gl-hero-label{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;color:#a9c8ea}
.gl-hero-points{font-family:"Barlow Condensed",Arial,sans-serif;font-weight:700;font-size:72px;line-height:.95;margin:6px 0 4px;letter-spacing:-.01em;color:#fff;text-shadow:0 0 28px rgba(74,144,217,.55);animation:glRise .7s cubic-bezier(.2,.8,.2,1) both}
.gl-hero-points span{font-size:24px;font-weight:600;margin-left:6px;color:#a9c8ea;letter-spacing:.04em;text-shadow:none}
.gl-hero-worth{font-size:17px;color:#dce9f8}
.gl-hero-worth strong{color:#fff;font-weight:700;font-size:19px}
.gl-hero-badge{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.gl-hero-badge .gl-ico{width:16px;height:16px}

.gl-progress{position:relative;margin-top:22px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.gl-progress-head{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#cfe0f3;margin-bottom:9px}
.gl-progress-head strong{color:#fff}
.gl-progress-track{height:12px;border-radius:999px;background:rgba(0,0,0,.28);overflow:hidden}
.gl-progress-fill{position:relative;height:100%;border-radius:999px;background:linear-gradient(90deg,#4a90d9,#8cc4ff);box-shadow:0 0 14px rgba(140,196,255,.8);transform-origin:left;animation:glGrow 1.1s cubic-bezier(.2,.8,.2,1) .2s both;overflow:hidden}
.gl-progress-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translateX(-100%);animation:glShine 2.8s ease-in-out 1.4s infinite}
.gl-progress-foot{margin-top:9px;font-size:13px;color:#cfe0f3}
.gl-progress-foot strong{color:#fff}

.gl-hero-actions{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:18px}
a.gl-cta{display:inline-block;padding:12px 22px;border-radius:10px;background:#fff;color:#0a2540 !important;font-weight:800;font-size:15px;letter-spacing:.02em;text-decoration:none !important;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
a.gl-cta:hover{transform:translateY(-2px);background:#eaf3ff;box-shadow:0 12px 24px -10px rgba(0,0,0,.6)}
.gl-hero-hint{font-size:13px;color:#a9c8ea}
.gl-hero-note{position:relative;margin-top:12px;font-size:13px;color:#ffd7d7}

/* Stats */
.gl-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.gl-stat{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--gl-line);color:#0a2540 !important;text-decoration:none !important;box-shadow:0 4px 14px -10px rgba(10,37,64,.35);animation:glRise .6s cubic-bezier(.2,.8,.2,1) both}
.gl-stat:nth-child(2){animation-delay:.08s}.gl-stat:nth-child(3){animation-delay:.16s}
a.gl-stat:hover{border-color:var(--gl-blue)}
.gl-stat-ico{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#e6f0fb,#d3e4f7);color:var(--gl-blue-2)}
.gl-stat-val{display:block;font-family:"Barlow Condensed",Arial,sans-serif;font-weight:700;font-size:26px;line-height:1}
.gl-stat-lbl{display:block;font-size:12px;color:#5b6b7f;margin-top:3px}

/* Section titles */
.gl-sec{font-family:"Barlow Condensed",Arial,sans-serif !important;text-transform:uppercase;letter-spacing:.06em;font-size:20px !important;margin:0 0 12px !important;color:#0a2540 !important;display:flex;align-items:center;gap:10px}
.gl-sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gl-line),transparent)}

/* Ways to earn */
.gl-ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 26px}
.gl-way{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:14px;background:linear-gradient(180deg,#fff,var(--gl-soft));border:1px solid var(--gl-line);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.gl-way:hover{transform:translateY(-3px);border-color:var(--gl-blue);box-shadow:0 12px 24px -16px rgba(10,37,64,.5)}
.gl-way-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#0a2540;color:#fff;margin-bottom:6px;box-shadow:0 0 0 4px rgba(74,144,217,.18)}
.gl-way-ico .gl-ico{width:20px;height:20px}
.gl-way-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gl-blue-2)}
.gl-way-big{font-family:"Barlow Condensed",Arial,sans-serif;font-weight:700;font-size:20px;line-height:1.1}
.gl-way-text{font-size:13px;color:#5b6b7f;line-height:1.4}

/* Panels */
.gl-panel{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:14px;border:1px solid var(--gl-line);background:#fff;margin:0 0 26px}
.gl-panel-ico{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0a2540,#2f6fb6);color:#fff}
.gl-panel-body{flex:1;min-width:0}
.gl-bday-panel{background:linear-gradient(120deg,#fff 0%,#f1f7fe 100%)}
.gl-bday-panel .gl-loy-bday{margin:0}
.gl-bday-panel .gl-loy-h3{font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:18px;margin:2px 0 4px;color:#0a2540}
.gl-bday-panel p{margin:0 0 8px}
.gl-bday-panel a{color:var(--gl-blue-2) !important;font-weight:600;text-decoration:none !important}
.gl-loy-bday-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gl-loy-bday-form select{padding:9px 10px;border:1px solid #b9c9dc;border-radius:8px;background:#fff;min-width:110px}
.gl-empty{align-items:center;color:#5b6b7f}
.gl-empty .gl-ico{width:28px;height:28px;color:var(--gl-blue)}

/* Activity feed */
.gl-feed{list-style:none !important;margin:0 0 16px !important;padding:0 !important;border:1px solid var(--gl-line);border-radius:14px;overflow:hidden;background:#fff}
.gl-feed-item{display:flex;align-items:center;gap:14px;padding:13px 16px;margin:0 !important;border-bottom:1px solid #edf2f8;transition:background .15s ease}
.gl-feed-item:last-child{border-bottom:0}
.gl-feed-item:hover{background:var(--gl-soft)}
.gl-feed-ico{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:50%}
.gl-feed-ico .gl-ico{width:19px;height:19px}
.is-plus .gl-feed-ico{background:#e3f4ea;color:#1a7f37}
.is-minus .gl-feed-ico{background:#eef2f7;color:#4a5a6e}
.t-birthday .gl-feed-ico{background:#e6f0fb;color:var(--gl-blue-2)}
.gl-feed-main{flex:1;min-width:0;display:flex;flex-direction:column}
.gl-feed-title{font-weight:700;font-size:15px}
.gl-feed-sub{font-size:13px;color:#6a7a8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gl-feed-sub a{color:var(--gl-blue-2) !important;text-decoration:none !important;font-weight:600}
.gl-feed-pts{font-family:"Barlow Condensed",Arial,sans-serif;font-weight:700;font-size:20px;white-space:nowrap}
.is-plus .gl-feed-pts{color:#1a7f37}
.is-minus .gl-feed-pts{color:#4a5a6e}
.gl-loy-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:12px}

/* Motion */
@keyframes glPan{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes glFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,25px)}}
@keyframes glRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes glGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes glShine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.gl-loy-account *,.gl-hero{animation:none !important;transition:none !important}}

/* Responsive */
@media (max-width:900px){.gl-ways{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
  .gl-hero{padding:22px 18px 18px;border-radius:16px}
  .gl-hero-points{font-size:56px}
  .gl-hero-badge span{display:none}
  .gl-stats{grid-template-columns:1fr}
  .gl-ways{grid-template-columns:1fr 1fr;gap:10px}
  .gl-way{padding:14px}
  .gl-loy-form{width:100%}.gl-loy-input{flex:1}
}
