/* Index Recovery Phase 2 v1
   Scope: generated city guides, generated city/violation pages, and recently-updated course/section polish.
   Purpose: stronger internal-linking blocks, attention-driving top accents, and tighter course CTA boxes. */

/* Stronger card top accents — matches the cleaner high-attention treatment used on the strongest buyer pages. */
.gcg-section,
.gcv-section,
.ru-section{
  border-top:4px solid rgba(32,223,159,.88) !important;
}
.gcg-section:nth-of-type(even),
.gcv-section:nth-of-type(even),
.ru-section:nth-of-type(even){
  border-top-color:rgba(59,182,255,.92) !important;
}
.gcg-section:focus-within,
.gcv-section:focus-within,
.ru-section:focus-within{
  border-top-color:#ffd76a !important;
}

/* New index-recovery bridge blocks */
.gcg-index-bridge,
.gcv-index-bridge{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(32,223,159,.15), transparent 34%),
    linear-gradient(150deg, rgba(7,48,74,.98), rgba(6,31,52,.98)) !important;
}
.gcg-index-bridge::before,
.gcv-index-bridge::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.gcg-index-grid,
.gcv-index-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:18px !important;
}
.gcg-index-grid a,
.gcv-index-grid a{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  min-height:112px !important;
  padding:16px !important;
  border:1px solid rgba(139,210,239,.26) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.028)) !important;
  color:#effaff !important;
  text-decoration:none !important;
  box-shadow:0 12px 30px rgba(0,0,0,.16) !important;
}
.gcg-index-grid a:hover,
.gcg-index-grid a:focus-visible,
.gcv-index-grid a:hover,
.gcv-index-grid a:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(32,223,159,.58) !important;
  background:linear-gradient(145deg, rgba(32,223,159,.12), rgba(59,182,255,.07)) !important;
}
.gcg-index-grid strong,
.gcv-index-grid strong{
  color:#ffffff !important;
  font-size:1rem !important;
  line-height:1.18 !important;
}
.gcg-index-grid span,
.gcv-index-grid span{
  color:#cfe3ef !important;
  font-size:.9rem !important;
  line-height:1.38 !important;
}

/* Tight, cleaner course CTA area. Reduces dead space around the price card. */
.gcg-course,
.gcv-course,
.ru-course{
  align-items:stretch !important;
  gap:18px !important;
  padding:20px !important;
  border-top:4px solid rgba(32,223,159,.92) !important;
}
.gcg-course-price,
.gcv-course-price,
.ru-course-price{
  justify-content:flex-start !important;
  padding:22px !important;
  min-height:0 !important;
}
.gcg-course-price h2,
.gcv-course-price h2,
.ru-course-price h2{
  margin-top:12px !important;
  margin-bottom:6px !important;
}
.gcg-price-row,
.gcv-price-row,
.ru-price-row{
  margin:12px 0 14px !important;
  gap:10px !important;
}
.gcg-price,
.gcv-price,
.ru-price{
  font-size:clamp(3.05rem, 8vw, 3.75rem) !important;
}
.gcg-course-copy,
.gcv-course-copy,
.ru-course-copy{
  padding:4px 6px !important;
  align-self:center !important;
}
.gcg-benefits,
.gcv-benefits,
.ru-benefits{
  margin:16px 0 18px !important;
  gap:10px 16px !important;
}
.gcg-course-actions,
.gcv-course-actions,
.ru-course-actions{
  margin-top:18px !important;
}

/* Mobile safety */
@media (max-width:900px){
  .gcg-index-grid,
  .gcv-index-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:640px){
  .gcg-index-grid,
  .gcv-index-grid{
    grid-template-columns:1fr !important;
  }
  .gcg-course,
  .gcv-course,
  .ru-course{
    padding:14px !important;
    gap:14px !important;
  }
  .gcg-course-price,
  .gcv-course-price,
  .ru-course-price{
    padding:18px !important;
  }
}

/* Phase 2 v2 — CTA box balance + stronger click affordance */
.gcg-course,
.gcv-course,
.ru-course{
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr) !important;
  align-items:stretch !important;
}
.gcg-course-price,
.gcv-course-price,
.ru-course-price{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  text-align:center !important;
  padding:24px 24px 20px !important;
}
.gcg-course-badge,
.gcv-course-badge,
.ru-course-badge{
  align-self:center !important;
  font-size:.72rem !important;
}
.gcg-course-price h2,
.gcv-course-price h2,
.ru-course-price h2{
  margin:14px auto 8px !important;
  max-width:290px !important;
  font-size:clamp(1.3rem,2vw,1.75rem) !important;
  line-height:1.15 !important;
}
.gcg-price-row,
.gcv-price-row,
.ru-price-row{
  margin:14px 0 16px !important;
  align-items:flex-end !important;
}
.gcg-price,
.gcv-price,
.ru-price{
  font-size:clamp(3.45rem,8vw,4.25rem) !important;
  line-height:.88 !important;
}
.gcg-fee,
.gcv-fee,
.ru-fee{
  max-width:210px !important;
  font-size:.92rem !important;
  line-height:1.18 !important;
}
.gcg-fee small,
.gcv-fee small,
.ru-fee small{
  margin-top:5px !important;
  font-size:.74rem !important;
  line-height:1.22 !important;
}
.gcg-course-btn,
.gcv-course-btn,
.ru-course-price > .ru-btn.ru-btn-primary{
  width:100% !important;
  min-height:50px !important;
  padding:13px 16px !important;
  border-radius:12px !important;
  font-size:1rem !important;
  font-weight:950 !important;
  box-shadow:0 10px 22px rgba(255,61,53,.24) !important;
}
.gcg-course-identity,
.gcv-course-identity,
.ru-course-identity{
  margin-top:auto !important;
  padding-top:16px !important;
  font-size:.82rem !important;
  line-height:1.5 !important;
}
.gcg-course-copy,
.gcv-course-copy,
.ru-course-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.gcg-course-copy > p,
.gcv-course-copy > p,
.ru-course-copy > p{
  font-size:1rem !important;
  line-height:1.6 !important;
}
.gcg-benefits,
.gcv-benefits,
.ru-benefits{
  gap:12px 20px !important;
  margin:18px 0 16px !important;
}
.gcg-benefits li:nth-child(n+7),
.gcv-benefits li:nth-child(n+7),
.ru-benefits li:nth-child(n+7){
  display:none !important;
}
.gcg-course-actions,
.gcv-course-actions,
.ru-course-actions{
  margin-top:16px !important;
}
.gcg-course-actions .gcg-btn,
.gcv-course-actions .gcv-btn,
.ru-course-actions .ru-btn{
  min-height:48px !important;
}

/* Stronger clickable-card treatment */
.gcv-link-card,
.gcv-resource-grid a,
.gcv-related-grid a,
.gcv-nearby-grid a,
.gcv-index-grid a,
.gcg-resource-grid a,
.gcg-local-grid a,
.gcg-nearby-grid a,
.gcg-index-grid a{
  position:relative !important;
  cursor:pointer !important;
  border:1px solid rgba(114,203,241,.28) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.gcv-link-card::after,
.gcv-resource-grid a::after,
.gcv-related-grid a::after,
.gcv-nearby-grid a::after,
.gcv-index-grid a::after,
.gcg-resource-grid a::after,
.gcg-local-grid a::after,
.gcg-nearby-grid a::after,
.gcg-index-grid a::after{
  content:"↗" !important;
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  border:1px solid rgba(32,223,159,.5) !important;
  background:rgba(32,223,159,.12) !important;
  color:#e8fff7 !important;
  font-size:.96rem !important;
  font-weight:900 !important;
  box-shadow:0 6px 14px rgba(0,0,0,.12) !important;
}
.gcv-link-card:hover,
.gcv-link-card:focus-visible,
.gcv-resource-grid a:hover,
.gcv-resource-grid a:focus-visible,
.gcv-related-grid a:hover,
.gcv-related-grid a:focus-visible,
.gcv-nearby-grid a:hover,
.gcv-nearby-grid a:focus-visible,
.gcv-index-grid a:hover,
.gcv-index-grid a:focus-visible,
.gcg-resource-grid a:hover,
.gcg-resource-grid a:focus-visible,
.gcg-local-grid a:hover,
.gcg-local-grid a:focus-visible,
.gcg-nearby-grid a:hover,
.gcg-nearby-grid a:focus-visible,
.gcg-index-grid a:hover,
.gcg-index-grid a:focus-visible{
  transform:translateY(-2px) !important;
  border-color:rgba(32,223,159,.62) !important;
  background:linear-gradient(145deg, rgba(32,223,159,.13), rgba(59,182,255,.08)) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.22) !important;
}
.gcv-link-card strong,
.gcv-resource-grid a strong,
.gcv-related-grid a strong,
.gcv-index-grid a strong,
.gcg-resource-grid a span,
.gcg-local-grid a span,
.gcg-index-grid a strong{
  padding-right:38px !important;
}
.gcv-link-card span,
.gcv-resource-grid a span,
.gcv-related-grid a span,
.gcv-nearby-grid a small,
.gcv-index-grid a span,
.gcg-resource-grid a small,
.gcg-local-grid a p,
.gcg-nearby-grid a small,
.gcg-index-grid a span{
  color:#d7eaf3 !important;
}
.gcg-resource-grid a strong{
  display:none !important;
}

@media (max-width:900px){
  .gcg-course,
  .gcv-course,
  .ru-course{
    grid-template-columns:1fr !important;
  }
  .gcg-course-price,
  .gcv-course-price,
  .ru-course-price{
    max-width:560px !important;
    margin-inline:auto !important;
    width:100% !important;
  }
}

/* Phase 2 v3 — tighten price-card identity text and keep course pill text-width */
.gcg-course-price,
.gcv-course-price,
.ru-course-price{
  justify-content:center !important;
}
.gcg-course-identity,
.gcv-course-identity,
.ru-course-identity{
  margin-top:12px !important;
  padding-top:0 !important;
  font-size:.78rem !important;
  line-height:1.36 !important;
}
.gcg-course-identity strong,
.gcv-course-identity strong,
.ru-course-identity strong{
  margin-bottom:2px !important;
}
.gcg-course-copy > .gcg-eyebrow,
.gcv-course-copy > .gcv-eyebrow,
.ru-course-copy > .ru-eyebrow{
  display:inline-flex !important;
  width:auto !important;
  max-width:max-content !important;
  align-self:flex-start !important;
  flex:0 0 auto !important;
  white-space:normal !important;
}
.gcg-course-copy,
.gcv-course-copy,
.ru-course-copy{
  justify-content:center !important;
}
.gcg-course-copy > h2,
.gcv-course-copy > h2,
.ru-course-copy > h2{
  margin-top:12px !important;
}
.gcg-course-actions,
.gcv-course-actions,
.ru-course-actions{
  margin-top:14px !important;
}
@media (max-width:640px){
  .gcg-course-copy > .gcg-eyebrow,
  .gcv-course-copy > .gcv-eyebrow,
  .ru-course-copy > .ru-eyebrow{
    max-width:100% !important;
  }
}

/* Phase 2 v4 — final left price-card spacing and emphasis */
.gcg-course-price,
.gcv-course-price,
.ru-course-price{
  justify-content:center !important;
  gap:12px !important;
  padding:28px 24px 24px !important;
}
.gcg-course-badge,
.gcv-course-badge,
.ru-course-badge{
  padding:8px 13px !important;
  font-size:.82rem !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  margin:0 0 4px !important;
}
.gcg-course-price h2,
.gcv-course-price h2,
.ru-course-price h2{
  margin:0 auto 2px !important;
  max-width:310px !important;
  font-size:clamp(1.38rem,2.05vw,1.82rem) !important;
  line-height:1.16 !important;
}
.gcg-price-row,
.gcv-price-row,
.ru-price-row{
  margin:2px 0 4px !important;
  gap:12px !important;
  align-items:center !important;
}
.gcg-price,
.gcv-price,
.ru-price{
  color:#168ff0 !important;
  font-weight:1000 !important;
  font-size:clamp(3.75rem,8.4vw,4.55rem) !important;
  line-height:.86 !important;
  letter-spacing:-.065em !important;
  text-shadow:0 1px 0 rgba(255,255,255,.08) !important;
}
.gcg-fee,
.gcv-fee,
.ru-fee{
  font-size:.94rem !important;
  line-height:1.18 !important;
  font-weight:950 !important;
}
.gcg-fee small,
.gcv-fee small,
.ru-fee small{
  font-size:.75rem !important;
  line-height:1.25 !important;
}
.gcg-course-btn,
.gcv-course-btn,
.ru-course-price > .ru-btn.ru-btn-primary{
  margin:6px 0 0 !important;
  min-height:52px !important;
}
.gcg-course-identity,
.gcv-course-identity,
.ru-course-identity{
  margin:6px 0 0 !important;
  padding-top:0 !important;
  font-size:.8rem !important;
  line-height:1.42 !important;
}
.gcg-course-identity strong,
.gcv-course-identity strong,
.ru-course-identity strong{
  display:block !important;
  margin-bottom:3px !important;
}
@media (max-width:640px){
  .gcg-course-price,
  .gcv-course-price,
  .ru-course-price{
    padding:24px 20px 22px !important;
    gap:10px !important;
  }
  .gcg-price-row,
  .gcv-price-row,
  .ru-price-row{
    flex-wrap:wrap !important;
    justify-content:center !important;
  }
}

/* Phase 2 v5 — final price-card fill and badge contrast */
.gcg-course-price,
.gcv-course-price,
.ru-course-price{
  justify-content:center !important;
  gap:16px !important;
  padding:24px 24px 22px !important;
}
.gcg-course-badge,
.gcv-course-badge,
.ru-course-badge{
  padding:9px 17px !important;
  font-size:.9rem !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  color:#ffffff !important;
  background:linear-gradient(180deg, rgba(53,178,255,.42), rgba(15,104,171,.44)) !important;
  border-color:rgba(155,226,255,.72) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.gcg-course-price h2,
.gcv-course-price h2,
.ru-course-price h2{
  margin:0 auto !important;
}
.gcg-price-row,
.gcv-price-row,
.ru-price-row{
  margin:0 !important;
  gap:14px !important;
}
.gcg-price,
.gcv-price,
.ru-price{
  color:#0d86e8 !important;
  font-weight:1000 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.08), 0 6px 16px rgba(13,134,232,.12) !important;
}
.gcg-course-btn,
.gcv-course-btn,
.ru-course-price > .ru-btn.ru-btn-primary{
  margin:0 !important;
}
.gcg-course-identity,
.gcv-course-identity,
.ru-course-identity{
  margin:0 !important;
  font-size:.82rem !important;
  line-height:1.46 !important;
}
@media (min-width:901px){
  .gcg-course-price,
  .gcv-course-price,
  .ru-course-price{
    min-height:340px !important;
  }
}
@media (max-width:640px){
  .gcg-course-price,
  .gcv-course-price,
  .ru-course-price{
    gap:13px !important;
    padding:22px 18px 20px !important;
  }
  .gcg-course-badge,
  .gcv-course-badge,
  .ru-course-badge{
    font-size:.82rem !important;
    padding:8px 13px !important;
  }
}

/* Phase 2 v6 — left price-card vertical rhythm polish */
.gcg-course-price,
.gcv-course-price,
.ru-course-price{
  justify-content:flex-start !important;
  gap:18px !important;
  padding:30px 24px 22px !important;
}
.gcg-course-badge,
.gcv-course-badge,
.ru-course-badge{
  margin:0 auto 2px !important;
  padding:10px 18px !important;
  min-height:30px !important;
  font-size:.96rem !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  color:#ffffff !important;
  background:linear-gradient(180deg,#217fc4 0%,#125f9f 100%) !important;
  border-color:rgba(185,235,255,.82) !important;
  box-shadow:0 9px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.gcg-course-price h2,
.gcv-course-price h2,
.ru-course-price h2{
  margin:0 auto 2px !important;
  max-width:315px !important;
}
.gcg-price-row,
.gcv-price-row,
.ru-price-row{
  margin:0 0 2px !important;
  gap:14px !important;
}
.gcg-course-btn,
.gcv-course-btn,
.ru-course-price > .ru-btn.ru-btn-primary{
  margin:4px 0 4px !important;
}
.gcg-course-identity,
.gcv-course-identity,
.ru-course-identity{
  margin:2px 0 0 !important;
  line-height:1.5 !important;
}
@media(min-width:901px){
  .gcg-course-price,
  .gcv-course-price,
  .ru-course-price{
    min-height:340px !important;
  }
}
@media(max-width:640px){
  .gcg-course-price,
  .gcv-course-price,
  .ru-course-price{
    gap:15px !important;
    padding:24px 18px 21px !important;
  }
  .gcg-course-badge,
  .gcv-course-badge,
  .ru-course-badge{
    font-size:.86rem !important;
    padding:9px 14px !important;
  }
}
