/*****************************
** Custom site styles can be added to this file - EDIT AT YOUR OWN RISK!!!
*****************************/
@keyframes breathing-glow {
  0%, 100% {
    box-shadow: 0 0 4px rgba(255, 0, 0, 0.3);
  }
  50% {
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.6);
  }
}

@keyframes soft-pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.01);
  }
}

.sales-pitch.alert.alert-success {
  background-color: #000;
  border-radius: 10px;
  border: 2px solid red;
  padding: 12px 20px;
  margin: 15px auto 0 auto;
  text-align: center;
  color: #ff3c3c;
  font-weight: 700; /* Bold */
  font-size: 15px;
  font-style: italic;
  animation: 
    breathing-glow 4s ease-in-out infinite,
    soft-pulse 10s ease-in-out infinite;
  transition: all 0.3s ease-in-out;
  display: inline-block;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* Force default list styling */
.library-detail-link-list ul {
  list-style: disc !important;
  padding-left: 20px !important;
  margin: 1em 0 !important;
}

/* Strip away all box behavior and interaction */
.library-detail-link-list ul li {
  all: revert !important;
  display: list-item !important;
  list-style-type: disc !important;
  margin-left: 1.25em !important;
  margin-bottom: 0.5em !important;
  cursor: default !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  background: none !important;
}

/* Core red color */
:root {
  --priceright-red: #bc252c;
}

/* Primary Button Style */
.btn-primary {
  background-color: var(--priceright-red);
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 0.375rem;
  font-weight: 600;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.btn-primary:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.btn-primary:active {
  transform: scale(0.95);
}

/* Outline Button Style */
.btn-outline {
  border: 2px solid var(--priceright-red);
  color: var(--priceright-red);
  background-color: transparent;
  padding: 0.75rem 1.5rem;
  border-radius: 0.375rem;
  font-weight: 600;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-color 0.3s;
}
.btn-outline:hover {
  background-color: var(--priceright-red);
  color: white;
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.btn-outline:active {
  transform: scale(0.95);
}

/* ===== HERO PROMISE: base utilities ===== */
.pm-link { text-decoration: underline; }
.sr-only { position: absolute; left: -9999px; }

/* Shared badge typography */
.hero-promises{ margin:0; padding:0; list-style:none; }
.badge{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.badge-top{ font-weight:800; font-size:1rem; letter-spacing:.02em; opacity:.95; }
.badge-main{ font-weight:800; font-size:1.15rem; margin-top:.12rem; white-space:nowrap; }
.badge-sub a{ font-weight:800; text-decoration:underline; }

/* Container */
.home-hero-tow .hero-promises--stack { margin-top: 8px; }
.home-hero-tow .hero-promises--stack ul{ list-style:none; margin:0; padding:0; }
.home-hero-tow .hero-promises--stack li{ margin:0; padding:0; }

/* === ROW 1: TEXT WITH RED DIVIDERS === */
.home-hero-tow .hero-promises--stack .row-1{
  display:flex; justify-content:center; align-items:flex-end;
  gap:0; margin:0; padding:0;
}
.home-hero-tow .hero-promises--stack .row-1 .badge{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  border-radius:0 !important; padding:0 !important; min-width:auto !important;
  margin:0 18px 0 0; display:flex; flex-direction:column; align-items:center; text-align:center;
  border-right:2px solid #d22; padding-right:18px;
}
.home-hero-tow .hero-promises--stack .row-1 .badge:last-child{
  border-right:0; padding-right:0; margin-right:0;
}
.home-hero-tow .hero-promises--stack .row-1 .badge .badge-top{
  font-weight:800; font-size:1.05rem; letter-spacing:.02em;
}
.home-hero-tow .hero-promises--stack .row-1 .badge .badge-main{
  font-weight:800; font-size:1.25rem; margin-top:.08rem; white-space:nowrap;
}

/* === ROW 2: PRICE MATCH PILL === */
.home-hero-tow .hero-promises--stack .row-2{
  display:flex; justify-content:center; align-items:stretch; margin-top:14px;
}
.home-hero-tow .hero-promises--stack .row-2 .badge{
  background: var(--primary-bg-color);
  background-image: linear-gradient(to bottom, rgba(255,255,255,.06), rgba(0,0,0,.06));
  color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:14px;
  padding:.9rem 1.25rem; min-width:19rem; box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.home-hero-tow .hero-promises--stack .badge--pm .badge-main--xl{ font-size:1.32rem; }
.home-hero-tow .hero-promises--stack .badge--pm .badge-sub--xl a{
  font-size:1.2rem; font-weight:800; color:#fff !important; text-decoration:underline;
}

/* Microcopy under pills */
.home-hero-tow .pm-microcopy--lg{
  font-size:1.3rem; line-height:1.55; margin-top:16px; text-align:center; color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}

/* Ensure links in hero stay white */
.home-hero-tow a, .home-hero-tow a:visited { color:#fff !important; }

/* Mobile */
@media (max-width:640px){
  .home-hero-tow .hero-promises--stack .row-1{ flex-wrap:wrap; }
  .home-hero-tow .hero-promises--stack .row-1 .badge{ margin:0 14px 0 0; padding-right:14px; }
  .home-hero-tow .hero-promises--stack .row-2 .badge{ min-width:16rem; padding:.75rem 1rem; }
  .badge-main{ font-size:1.08rem; }
  .home-hero-tow .hero-promises--stack .badge--pm .badge-main--xl{ font-size:1.2rem; }
  .home-hero-tow .hero-promises--stack .badge--pm .badge-sub--xl a{ font-size:1.08rem; }
}

