:root{
  --bg:#f4f7fb;
  --bg-2:#ffffff;
  --panel:#ffffff;
  --panel-2:#f8fbff;
  --card:#ffffff;
  --card-2:#eef6ff;
  --text:#0f172a;
  --muted:#64748b;
  --soft:#475569;
  --line:rgba(37,99,235,.14);
  --primary:#2563eb;
  --primary-2:#06b6d4;
  --purple:#7c3aed;
  --green:#10b981;
  --pink:#ec4899;
  --warning:#f59e0b;
  --shadow:0 22px 65px rgba(15,23,42,.12);
  --radius:24px;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  background:var(--bg);
}

body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 0%,rgba(37,99,235,.13),transparent 28rem),
    radial-gradient(circle at 95% 4%,rgba(6,182,212,.12),transparent 26rem),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 48%,#eef4fb 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(rgba(37,99,235,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.04) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 75%);
}

a{color:inherit}
button,input{font:inherit}

.app-shell{
  width:min(1180px,calc(100% - 26px));
  margin:0 auto 32px;
}

.hero{
  position:relative;
  overflow:hidden;
  margin-top:18px;
  border:1px solid rgba(37,99,235,.12);
  border-radius:28px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 45%,#eaf4ff 100%);
  box-shadow:var(--shadow),inset 0 0 0 1px rgba(255,255,255,.60);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 88% 0%,rgba(37,99,235,.16),transparent 24rem),
    radial-gradient(circle at 72% 80%,rgba(6,182,212,.13),transparent 28rem);
  pointer-events:none;
}

.hero::after{
  content:"";
  position:absolute;
  right:-130px;
  top:-140px;
  width:360px;
  height:360px;
  border-radius:999px;
  background:rgba(37,99,235,.10);
  filter:blur(16px);
  pointer-events:none;
}

.nav-bar{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px clamp(16px,4vw,34px);
  border-bottom:1px solid rgba(37,99,235,.10);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-width:0;
}

.brand-mark{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:15px;
  color:#ffffff;
  font-weight:1000;
  font-size:24px;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 14px 34px rgba(37,99,235,.24);
}

.brand strong{
  display:block;
  font-size:18px;
  letter-spacing:.2px;
  color:#0f172a;
}

.brand small{
  display:block;
  color:var(--soft);
  margin-top:2px;
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.admin-link,.install-btn{
  border:1px solid rgba(37,99,235,.18);
  background:#ffffff;
  color:#1d4ed8;
  text-decoration:none;
  border-radius:14px;
  padding:10px 15px;
  cursor:pointer;
  font-weight:800;
  backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(37,99,235,.10);
  transition:.2s ease;
}

.admin-link:hover,.install-btn:hover{
  background:#eff6ff;
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(37,99,235,.14);
}

.hero-content{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  align-items:end;
  gap:22px;
  padding:30px clamp(16px,4vw,34px) 34px;
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  color:#2563eb;
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:12px;
  font-weight:900;
}

.eyebrow::before{
  content:"";
  width:7px;
  height:26px;
  border-radius:999px;
  background:var(--primary);
  box-shadow:0 0 18px rgba(37,99,235,.35);
}

.eyebrow.dark{color:#2563eb}

h1,h2,h3,p{margin-top:0}

h1{
  max-width:780px;
  font-size:clamp(34px,5.4vw,66px);
  line-height:.97;
  margin-bottom:16px;
  letter-spacing:-.06em;
  color:#0f172a;
  text-shadow:none;
}

.hero-text{
  max-width:690px;
  color:#475569;
  font-size:clamp(15px,2vw,18px);
  line-height:1.65;
  margin-bottom:22px;
}

.search-card{
  display:flex;
  align-items:center;
  gap:10px;
  width:min(680px,100%);
  padding:10px 13px;
  background:#ffffff;
  color:#2563eb;
  border:1px solid rgba(37,99,235,.14);
  border-radius:16px;
  box-shadow:0 16px 42px rgba(15,23,42,.10);
}

.search-card span{
  font-size:24px;
  color:var(--primary);
  line-height:1;
}

.search-card input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#0f172a;
  padding:10px 4px;
  font-size:16px;
}

.search-card input::placeholder{color:#94a3b8}

.hero-panel{
  display:grid;
  align-content:center;
  min-height:168px;
  border:1px solid rgba(37,99,235,.16);
  background:linear-gradient(135deg,#e0f2fe,#dbeafe);
  border-radius:24px;
  padding:22px;
  backdrop-filter:blur(16px);
  box-shadow:inset 0 0 26px rgba(37,99,235,.06);
}

.status-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 8px rgba(34,197,94,.12),0 0 22px rgba(34,197,94,.35);
  margin-bottom:18px;
}

.hero-panel strong{
  font-size:54px;
  line-height:1;
  letter-spacing:-.05em;
  color:#0f172a;
}

.hero-panel small{
  color:#475569;
  margin-top:8px;
  font-weight:800;
}

.main-content{padding:28px 0 0}

.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.section-head h2{
  font-size:clamp(25px,3vw,38px);
  letter-spacing:-.04em;
  margin:0;
  color:#0f172a;
}

.count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(37,99,235,.12);
  background:#ffffff;
  color:#475569;
  padding:10px 14px;
  border-radius:999px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 10px 28px rgba(15,23,42,.07);
}

.grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:14px;
  min-height:238px;
  border:1px solid rgba(37,99,235,.10);
  background:linear-gradient(145deg,#ffffff,#eef6ff);
  border-radius:24px;
  padding:17px;
  box-shadow:0 18px 45px rgba(15,23,42,.10);
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
  outline:0;
}

.card::before{
  content:"";
  position:absolute;
  inset:-1px;
  opacity:.85;
  background:
    radial-gradient(circle at 0 0,rgba(37,99,235,.16),transparent 44%),
    radial-gradient(circle at 100% 100%,rgba(6,182,212,.14),transparent 44%);
  pointer-events:none;
}

.card::after{
  content:"";
  position:absolute;
  left:18px;
  top:16px;
  width:44px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary),transparent);
  opacity:.55;
}

.card:nth-child(4n+1){
  background:linear-gradient(145deg,#ffffff,#eaf3ff);
  border-color:rgba(37,99,235,.16);
}

.card:nth-child(4n+2){
  background:linear-gradient(145deg,#ffffff,#e9fff7);
  border-color:rgba(16,185,129,.18);
}

.card:nth-child(4n+2)::before{
  background:
    radial-gradient(circle at 0 0,rgba(16,185,129,.16),transparent 44%),
    radial-gradient(circle at 100% 100%,rgba(6,182,212,.10),transparent 44%);
}

.card:nth-child(4n+3){
  background:linear-gradient(145deg,#ffffff,#f3e8ff);
  border-color:rgba(124,58,237,.18);
}

.card:nth-child(4n+3)::before{
  background:
    radial-gradient(circle at 0 0,rgba(124,58,237,.15),transparent 44%),
    radial-gradient(circle at 100% 100%,rgba(37,99,235,.10),transparent 44%);
}

.card:nth-child(4n+4){
  background:linear-gradient(145deg,#ffffff,#fff1f8);
  border-color:rgba(236,72,153,.18);
}

.card:nth-child(4n+4)::before{
  background:
    radial-gradient(circle at 0 0,rgba(236,72,153,.14),transparent 44%),
    radial-gradient(circle at 100% 100%,rgba(245,158,11,.10),transparent 44%);
}

.card:hover,.card:focus-visible{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(15,23,42,.16);
  border-color:rgba(37,99,235,.34);
}

.card[hidden]{display:none!important}

.card-icon-wrap{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:20px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(37,99,235,.12);
  box-shadow:inset 0 0 22px rgba(37,99,235,.05),0 12px 28px rgba(15,23,42,.08);
}

.card-icon{
  width:54px;
  height:54px;
  object-fit:contain;
  border-radius:15px;
  background:#ffffff;
  padding:4px;
}

.card-body{
  position:relative;
  z-index:1;
  min-width:0;
}

.card-title{
  font-size:18px;
  line-height:1.18;
  margin-bottom:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0f172a;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.card-desc{
  color:#64748b;
  line-height:1.48;
  font-size:14px;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.card-action{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:end;
  justify-self:start;
  margin-top:auto;
  background:#2563eb;
  border:1px solid rgba(37,99,235,.18);
  color:#ffffff;
  font-weight:1000;
  border-radius:999px;
  padding:9px 13px;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:12px;
  box-shadow:0 10px 24px rgba(37,99,235,.20);
}

.card:nth-child(4n+2) .card-action{background:#059669}
.card:nth-child(4n+3) .card-action{background:#7c3aed}
.card:nth-child(4n+4) .card-action{background:#db2777}

.fixed-badge{
  position:absolute;
  right:14px;
  top:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(245,158,11,.35);
  background:#fff7ed;
  color:#b45309;
  border-radius:999px;
  padding:6px 9px;
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 8px 22px rgba(245,158,11,.12);
}

.empty-state{
  text-align:center;
  background:#ffffff;
  border:1px solid rgba(37,99,235,.12);
  border-radius:var(--radius);
  padding:46px 24px;
  box-shadow:0 16px 45px rgba(15,23,42,.08);
}

.empty-state p{color:#64748b}

.empty-state a{
  display:inline-flex;
  margin-top:8px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#ffffff;
  text-decoration:none;
  border-radius:999px;
  padding:12px 16px;
  font-weight:1000;
}

.modal{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(15,23,42,.38);
  opacity:0;
  pointer-events:none;
  transition:.2s ease;
  z-index:50;
  backdrop-filter:blur(10px);
}

.modal.open{
  opacity:1;
  pointer-events:auto;
}

.modal-card{
  position:relative;
  width:min(480px,100%);
  background:linear-gradient(145deg,#ffffff,#f8fbff);
  border:1px solid rgba(37,99,235,.14);
  border-radius:26px;
  padding:28px;
  box-shadow:0 35px 100px rgba(15,23,42,.22);
  transform:translateY(16px) scale(.98);
  transition:.2s ease;
  color:#0f172a;
}

.modal.open .modal-card{
  transform:translateY(0) scale(1);
}

.modal-close{
  position:absolute;
  right:16px;
  top:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.modal-badge{
  display:inline-flex;
  background:#eff6ff;
  border:1px solid rgba(37,99,235,.14);
  color:#2563eb;
  border-radius:999px;
  padding:8px 12px;
  font-weight:1000;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:16px;
}

.modal-card h2{
  font-size:28px;
  letter-spacing:-.04em;
  margin-bottom:10px;
  padding-right:28px;
  color:#0f172a;
}

.modal-card p{
  color:#64748b;
  line-height:1.6;
  margin-bottom:22px;
}

.modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.modal-actions a,.modal-actions button{
  flex:1;
  min-width:140px;
  text-align:center;
  border:0;
  border-radius:15px;
  padding:13px 16px;
  text-decoration:none;
  font-weight:1000;
  cursor:pointer;
}

.modal-actions a{
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  color:#ffffff;
}

.modal-actions button{
  background:#f1f5f9;
  color:#334155;
  border:1px solid rgba(15,23,42,.08);
}

.footer{
  width:min(1180px,calc(100% - 26px));
  margin:0 auto 24px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  color:#64748b;
  font-size:14px;
}

.install-btn:disabled{
  opacity:.65;
  cursor:not-allowed;
  transform:none;
}

.pwa-status{
  display:block;
  width:100%;
  max-width:240px;
  text-align:right;
  color:#475569;
  font-size:11px;
  line-height:1.25;
  opacity:.95;
}

.pwa-status[data-type="ok"]{color:#15803d}
.pwa-status[data-type="bad"]{color:#dc2626}
.pwa-status[data-type="wait"]{color:#b45309}

@media(max-width:1020px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-content{grid-template-columns:1fr}
  .hero-panel{
    min-height:auto;
    grid-template-columns:auto 1fr;
    gap:14px;
    align-items:center;
  }
  .status-dot{margin:0}
  .hero-panel strong{font-size:38px}
  .hero-panel small{grid-column:2}
}

@media(max-width:760px){
  .app-shell{width:min(100% - 20px,1180px)}
  .hero{
    margin-top:10px;
    border-radius:22px;
  }
  .nav-bar{align-items:flex-start}
  .hero-content{padding-top:18px}
  .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .card{
    min-height:224px;
    padding:14px;
    border-radius:20px;
  }
  .card-icon-wrap{
    width:64px;
    height:64px;
    border-radius:18px;
  }
  .card-icon{
    width:48px;
    height:48px;
  }
  .card-title{
    font-size:15px;
    letter-spacing:.10em;
  }
  .card-desc{
    font-size:12.5px;
    -webkit-line-clamp:3;
  }
  .card-action{
    font-size:11px;
    padding:8px 11px;
  }
  .section-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .count-pill{width:100%}
  .modal-card{padding:24px 18px}
  .footer{width:min(100% - 20px,1180px)}
}

@media(max-width:480px){
  .app-shell{width:min(100% - 16px,1180px)}
  .nav-bar{
    flex-direction:column;
    padding:16px;
  }
  .nav-actions{
    width:100%;
    justify-content:space-between;
  }
  .admin-link,.install-btn{
    flex:1;
    text-align:center;
  }
  .hero-content{
    padding:18px 16px 22px;
  }
  h1{font-size:34px}
  .hero-text{
    font-size:14px;
    margin-bottom:16px;
  }
  .search-card{border-radius:15px}
  .hero-panel{display:none}
  .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .card{
    min-height:205px;
    padding:12px;
    border-radius:18px;
  }
  .card-icon-wrap{
    width:58px;
    height:58px;
  }
  .card-icon{
    width:43px;
    height:43px;
  }
  .fixed-badge{
    right:10px;
    top:10px;
    padding:5px 7px;
    font-size:10px;
  }
  .modal-actions{flex-direction:column}
  .modal-actions a,.modal-actions button{width:100%}
  .pwa-status{
    text-align:center;
    max-width:none;
    flex-basis:100%;
  }
}

@media(max-width:340px){
  .grid{gap:8px}
  .card{
    padding:10px;
    min-height:196px;
  }
  .card-title{font-size:13px}
  .card-desc{font-size:11.5px}
  .card-action{padding:7px 9px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* Ajuste anti-estouro horizontal para celular/Chrome */
body{overflow-x:hidden}

.hero-content>div,.nav-bar,.section-head,.card{min-width:0}

@media(max-width:760px){
  .nav-bar{
    flex-direction:column;
    align-items:stretch;
    padding:16px;
  }
  .nav-actions{
    width:100%;
    justify-content:stretch;
  }
  .admin-link,.install-btn{
    flex:1;
    text-align:center;
    justify-content:center;
  }
  .hero-panel{display:none}
  h1{
    max-width:100%;
    font-size:clamp(30px,8.8vw,44px);
    overflow-wrap:break-word;
  }
  .hero-text{
    max-width:100%;
    font-size:14px;
  }
}

/* Pedido: catálogo sempre em grade de 2 por linha */
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ===== AJUSTE CARDS ESTILO NETFLIX - RESTO DO TEMA CONTINUA BRANCO ===== */

.card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:14px;
  min-height:238px;
  border:2px solid rgba(229,9,20,.70);
  background:
    linear-gradient(#ffffff,#ffffff) padding-box,
    linear-gradient(135deg,#e50914 0%,#111827 38%,#e50914 72%,#7f1d1d 100%) border-box;
  border-radius:24px;
  padding:17px;
  box-shadow:
    0 18px 45px rgba(15,23,42,.10),
    0 0 0 1px rgba(229,9,20,.08),
    0 0 26px rgba(229,9,20,.10);
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
  outline:0;
}

.card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.95;
  background:
    linear-gradient(180deg,rgba(229,9,20,.10),transparent 34%),
    radial-gradient(circle at 0 0,rgba(229,9,20,.18),transparent 42%),
    radial-gradient(circle at 100% 100%,rgba(17,24,39,.10),transparent 44%);
  pointer-events:none;
}

.card::after{
  content:"";
  position:absolute;
  left:18px;
  top:16px;
  width:54px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#e50914,#ff3b3b,transparent);
  opacity:1;
  box-shadow:0 0 16px rgba(229,9,20,.34);
}

.card:nth-child(4n+1),
.card:nth-child(4n+2),
.card:nth-child(4n+3),
.card:nth-child(4n+4){
  border-color:rgba(229,9,20,.70);
  background:
    linear-gradient(#ffffff,#ffffff) padding-box,
    linear-gradient(135deg,#e50914 0%,#111827 38%,#e50914 72%,#7f1d1d 100%) border-box;
}

.card:nth-child(4n+1)::before,
.card:nth-child(4n+2)::before,
.card:nth-child(4n+3)::before,
.card:nth-child(4n+4)::before{
  background:
    linear-gradient(180deg,rgba(229,9,20,.10),transparent 34%),
    radial-gradient(circle at 0 0,rgba(229,9,20,.18),transparent 42%),
    radial-gradient(circle at 100% 100%,rgba(17,24,39,.10),transparent 44%);
}

.card:hover,
.card:focus-visible{
  transform:translateY(-6px) scale(1.01);
  border-color:rgba(229,9,20,.95);
  box-shadow:
    0 30px 75px rgba(15,23,42,.18),
    0 0 0 1px rgba(229,9,20,.30),
    0 0 36px rgba(229,9,20,.28);
}

.card-icon-wrap{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:20px;
  background:linear-gradient(145deg,#111827,#020617);
  border:1px solid rgba(229,9,20,.45);
  box-shadow:
    inset 0 0 20px rgba(229,9,20,.12),
    0 12px 28px rgba(15,23,42,.14);
}

.card-icon{
  width:54px;
  height:54px;
  object-fit:contain;
  border-radius:15px;
  background:#ffffff;
  padding:4px;
}

.card-title{
  color:#111827;
}

.card-desc{
  color:#64748b;
}

.card-action,
.card:nth-child(4n+2) .card-action,
.card:nth-child(4n+3) .card-action,
.card:nth-child(4n+4) .card-action{
  background:linear-gradient(135deg,#111827,#e50914);
  border:1px solid rgba(229,9,20,.32);
  color:#ffffff;
  box-shadow:0 10px 24px rgba(229,9,20,.24);
}

.card-action:hover{
  filter:brightness(1.05);
}

.fixed-badge{
  border:1px solid rgba(229,9,20,.38);
  background:#fff1f2;
  color:#b91c1c;
  box-shadow:0 8px 22px rgba(229,9,20,.12);
}

@media(max-width:760px){
  .card{
    min-height:224px;
    padding:14px;
    border-radius:20px;
  }
  .card-icon-wrap{
    width:64px;
    height:64px;
    border-radius:18px;
  }
  .card-icon{
    width:48px;
    height:48px;
  }
}

@media(max-width:480px){
  .card{
    min-height:205px;
    padding:12px;
    border-radius:18px;
  }
  .card-icon-wrap{
    width:58px;
    height:58px;
  }
  .card-icon{
    width:43px;
    height:43px;
  }
}

/* ===== EFEITO PULSANDO ESCOLHIDO NO ADMIN ===== */
/* A index deve aplicar a classe "pulse-card" somente nos cards marcados no admin */

.card.pulse-card{
  border-color:rgba(229,9,20,.98);
  animation:inforcustoPulseCard 1.45s ease-in-out infinite;
  box-shadow:
    0 22px 55px rgba(15,23,42,.14),
    0 0 0 1px rgba(229,9,20,.35),
    0 0 28px rgba(229,9,20,.32);
}

.card.pulse-card::after{
  width:68px;
  background:linear-gradient(90deg,#e50914,#ff3b3b,#ffffff00);
  box-shadow:0 0 22px rgba(229,9,20,.55);
}

.card.pulse-card .card-icon-wrap{
  border-color:rgba(229,9,20,.75);
  animation:inforcustoPulseIcon 1.45s ease-in-out infinite;
}

.card.pulse-card .card-action{
  background:linear-gradient(135deg,#e50914,#111827);
  box-shadow:0 10px 26px rgba(229,9,20,.34);
}

.card.pulse-card .fixed-badge{
  animation:inforcustoPulseBadge 1.45s ease-in-out infinite;
}

@keyframes inforcustoPulseCard{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:
      0 22px 55px rgba(15,23,42,.14),
      0 0 0 1px rgba(229,9,20,.25),
      0 0 18px rgba(229,9,20,.20);
  }
  50%{
    transform:translateY(-3px) scale(1.012);
    box-shadow:
      0 30px 72px rgba(15,23,42,.18),
      0 0 0 2px rgba(229,9,20,.52),
      0 0 38px rgba(229,9,20,.42);
  }
}

@keyframes inforcustoPulseIcon{
  0%,100%{
    box-shadow:
      inset 0 0 20px rgba(229,9,20,.12),
      0 12px 28px rgba(15,23,42,.14);
  }
  50%{
    box-shadow:
      inset 0 0 24px rgba(229,9,20,.25),
      0 0 26px rgba(229,9,20,.35);
  }
}

@keyframes inforcustoPulseBadge{
  0%,100%{
    box-shadow:0 8px 22px rgba(229,9,20,.12);
  }
  50%{
    box-shadow:0 0 22px rgba(229,9,20,.34);
  }
}

@media(prefers-reduced-motion:reduce){
  .card.pulse-card,
  .card.pulse-card .card-icon-wrap,
  .card.pulse-card .fixed-badge{
    animation:none!important;
  }
}
