/* =====================================================================
   Karns "My Rewards" — integrated account pages (main-site chrome)
   Scoped to .wc-account. Modern 2026 token language, unmistakably Karns.
   Built from the 2026-08-15 UI/UX committee spec.
   ===================================================================== */

/* padding inside the white block (replaces the container's 15px) */
.wc-account { padding:28px 28px 48px; }
@media (max-width:767px){ .wc-account { padding:20px 16px 36px; } }
.wc-account .row { margin-left:0; margin-right:0; }
.wc-account .row > [class*="col-"] { padding-left:12px; padding-right:12px; }

/* headings / greeting */
.wc-account .greet { font-family:'Caveat Brush',cursive; color:#ad1f34; font-size:34px; line-height:1; margin:0 0 2px; }
.wc-account .subhead { font-family:'Oswald',sans-serif; color:#114a96; font-size:22px; margin:0 0 16px; }
.wc-account .page-h1 { font-family:'Oswald',sans-serif; font-weight:700; color:#222; font-size:28px; margin:0 0 14px; }
.wc-account .sect { font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  font-size:16px; color:#114a96; border-bottom:2px solid #ad1f34; display:inline-block; padding-bottom:5px; margin:0 0 14px; }

/* subnav pills */
.wc-account .wc-subnav { display:flex; gap:8px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 24px; padding-bottom:4px; }
.wc-account .wc-subnav a { flex:0 0 auto; font-family:'Oswald',sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:.4px;
  color:#114a96; background:#eef3fb; border-radius:999px; padding:9px 18px; min-height:44px; display:inline-flex; align-items:center;
  white-space:nowrap; text-decoration:none; }
.wc-account .wc-subnav a:hover { background:#dbe6f7; }
.wc-account .wc-subnav a.active { background:#114a96; color:#fff; }
.wc-account .wc-subnav a:focus-visible { outline:3px solid #114a96; outline-offset:2px; }
.wc-account .wc-subnav a.active:focus-visible { outline-color:#ffd200; }

/* cards */
.wc-account .card { background:#fff; border:1px solid #eceff3; border-radius:16px; box-shadow:0 2px 10px rgba(16,24,40,.06); padding:24px; margin-bottom:24px; }

/* expiring alert */
.wc-account .exp { background:#fdecee; border:1px solid #ad1f34; border-left:4px solid #ad1f34; color:#7a1526; border-radius:12px; padding:14px 16px; margin-bottom:16px; }
.wc-account .exp .glyphicon { margin-right:6px; }

/* points hero — logo beside the number */
.wc-account .hero { display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; text-align:center;
  padding:28px 20px; border:1px solid #dce6f5; background:linear-gradient(180deg,#f7faff,#fff); }
.wc-account .hero-logo { width:140px; max-width:55%; height:auto; }
.wc-account .hero .num { font-family:'Oswald',sans-serif; font-weight:700; color:#114a96; font-size:clamp(3rem,15vw,4.5rem); line-height:1; margin:0; }
.wc-account .hero .num .unit { font-size:.32em; color:#595959; font-weight:400; }
.wc-account .hero .rule { height:3px; width:120px; margin:12px auto 0; border-radius:2px; background:linear-gradient(90deg,#ad1f34,#e63048,#ad1f34); }
.wc-account .hero .note { color:#595959; font-size:14px; margin:8px 0 0; }
@media (max-width:600px){ .wc-account .hero { flex-direction:column; gap:12px; } }

/* reward progress + tier grid */
.wc-account .rp-lead { color:#333; margin:0 0 10px; }
.wc-account .rp-bar { height:14px; background:#eef1f5; border-radius:999px; overflow:hidden; }
.wc-account .rp-fill { height:100%; background:linear-gradient(90deg,#ad1f34,#e63048); }
.wc-account .tier-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:16px; }
.wc-account .tier { border:1px solid #e6e6e6; border-radius:12px; padding:14px 8px; text-align:center; background:#fff; }
.wc-account .tier .tier-ic { display:block; font-size:14px; margin-bottom:4px; color:#9aa7b8; }
.wc-account .tier .tier-amt { display:block; font-family:'Oswald',sans-serif; font-weight:700; font-size:20px; color:#114a96; line-height:1; }
.wc-account .tier .tier-pts { display:block; font-size:11px; color:#6b7280; margin-top:3px; text-transform:uppercase; letter-spacing:.4px; }
.wc-account .tier.is-unlocked { background:#eef4ff; border-color:#114a96; }
.wc-account .tier.is-unlocked .tier-ic { color:#1a7f37; }
.wc-account .tier.is-next { border-color:#ad1f34; box-shadow:inset 0 0 0 1px #ad1f34; }
.wc-account .tier.is-locked { opacity:.55; }
.wc-account .tier.is-locked .tier-amt { color:#9aa7b8; }
@media (max-width:600px){ .wc-account .tier-grid { grid-template-columns:repeat(2,1fr); } }

/* buy-again + product tiles */
.wc-account .buy-again-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wc-account .tile { background:#fff; border:1px solid #eee; border-radius:12px; padding:12px; text-align:center; height:100%; display:flex; flex-direction:column; }
.wc-account .tile img, .wc-account .tile .ph { width:100%; height:80px; object-fit:contain; background:#f2f4f7; border-radius:8px; margin-bottom:8px; }
.wc-account .tile .ph { line-height:80px; color:#9aa7b8; font-size:30px; }
.wc-account .tile .nm { font-size:13px; color:#222; font-weight:600; margin-top:auto; }
.wc-account .tile .price { font-family:'Oswald',sans-serif; font-weight:700; color:#222; margin-top:6px; }
.wc-account .tile .price.deal { color:#ad1f34; }

/* offers */
.wc-account .offer { padding:8px 0 8px 12px; border-left:3px solid #ad1f34; margin-bottom:10px; }
.wc-account .offer .name { font-family:'Oswald',sans-serif; font-weight:700; color:#114a96; }
.wc-account .offer .exp { background:none; border:0; color:#595959; font-size:12px; padding:0; margin:2px 0 0; }

/* recent trips table */
.wc-account .wc-table { width:100%; margin:0; }
.wc-account .wc-table th { font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:12px; letter-spacing:.5px; color:#595959; background:#f5f7fa; border:0; padding:12px; text-align:left; }
.wc-account .wc-table td { border:0; border-bottom:1px solid #f0f2f5; padding:12px; }
.wc-account .wc-table td.total { text-align:right; font-weight:700; color:#222; }
@media (max-width:767px){
  .wc-account .wc-table thead { display:none; }
  .wc-account .wc-table tr { display:block; border-bottom:1px solid #ddd; padding:8px 0; }
  .wc-account .wc-table td { display:block; text-align:left; padding:2px 4px; border:0; }
  .wc-account .wc-table td::before { content:attr(data-label) ": "; color:#595959; font-weight:700; font-family:'Oswald',sans-serif; }
  .wc-account .wc-table td.total { color:#ad1f34; }
}

/* shopping list */
.wc-account .list-card { text-align:center; }
.wc-account .list-card .glyphicon { font-size:26px; color:#114a96; display:block; margin-bottom:6px; }
.wc-account .list-card .glyphicon-heart { color:#ad1f34; }
.wc-account .list-card .list-name { font-family:'Oswald',sans-serif; font-weight:700; font-size:16px; display:block; }
.wc-account .list-card .list-meta { color:#595959; font-size:13px; margin:2px 0 10px; }
.wc-account .list-items { list-style:none; padding:0; margin:0; }
.wc-account .list-item { display:flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid #f0f2f5; min-height:52px; }
.wc-account .list-items .list-item:last-child { border-bottom:0; }
.wc-account .li-check { background:none; border:0; cursor:pointer; color:#ad1f34; font-size:19px; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:11px; margin:-11px 0 -11px -11px; }
.wc-account .li-check .glyphicon-unchecked { color:#bbb; }
.wc-account .li-img, .wc-account .li-img-ph { flex:0 0 40px; width:40px; height:40px; object-fit:contain; background:#f7f7f7; border-radius:6px; }
.wc-account .li-name { flex:1; font-size:15px; color:#222; }
.wc-account .list-item.checked .li-name { text-decoration:line-through; color:#999; }
.wc-account .li-remove .btn { color:#9a9a9a; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:11px; }
.wc-account .li-remove .btn:hover { color:#ad1f34; }

/* profile */
.wc-account .profile-dl dt { color:#595959; font-family:'Oswald',sans-serif; font-size:.82em; text-transform:uppercase; letter-spacing:.5px; margin-bottom:2px; }
.wc-account .profile-dl dd { margin-bottom:14px; font-size:1.1em; color:#222; }
.wc-account label { font-family:'Oswald',sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.3px; color:#595959; }
.wc-account .form-control { border-radius:8px; }
.wc-account .form-control.input-lg { height:46px; }

/* buttons + CTAs */
.wc-account .btn-danger, .wc-account .btn-success { background:#ad1f34; border:1px solid #8a1829; }
.wc-account .btn-danger:hover, .wc-account .btn-success:hover, .wc-account .btn-danger:focus, .wc-account .btn-success:focus { background:#8a1829; border-color:#8a1829; }
.wc-account .btn { border-radius:999px; font-family:'Oswald',sans-serif; }
.wc-account .wc-cta-row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
@media (max-width:480px){ .wc-account .wc-cta-row .btn { flex:1 1 100%; } }

/* helpers */
.wc-account .peek-more { font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.5px; font-size:13px; }
.wc-account .last-trip strong { color:#114a96; }
.wc-account .wc-empty { text-align:center; padding:40px 20px; }
.wc-account .wc-empty .glyphicon { font-size:40px; color:#ccc; display:block; margin-bottom:10px; }
.wc-account a:focus-visible, .wc-account .btn:focus-visible { outline:3px solid #114a96; outline-offset:2px; }
