/* =========================================================================
   Lexington SC Location. From final_html/Lexington SC Location.dc.html.
   ========================================================================= */

.loc-visit-h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 32px; font-weight: 700; color: #2C2218; margin: 0 0 24px;
}
.loc-visit {
  display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 20px; align-items: stretch;
}
.loc-nap {
  background: #2D5441; border: 1px solid #234135; border-radius: 12px;
  padding: 30px 32px; display: flex; flex-direction: column; gap: 18px;
}
.loc-nap__label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: #C8E6D8;
}
.loc-nap__value {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 20px; font-weight: 600; color: #FFFBE6; margin-top: 6px; line-height: 1.35;
}
a.loc-nap__phone { color: #F7B51C; display: inline-block; }
a.loc-nap__phone:hover { color: #FFFBE6; }
.loc-nap__hours { font-size: 14.5px; color: #FFFBE6; margin-top: 6px; line-height: 1.6; }
.loc-nap__rating { font-size: 15px; font-weight: 700; color: #F7B51C; margin-top: 6px; display: inline-block; }
.loc-nap__rating:hover { color: #FFFBE6; }
.loc-nap__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: auto; padding-top: 8px; }

.loc-map { border-radius: 12px; overflow: hidden; border: 1px solid #C8E6D8; }
.loc-map iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }

.loc-story {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 48px;
  align-items: center; margin-top: 52px;
}
.loc-story h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 28px; font-weight: 700; color: #2C2218; margin: 0;
}
.loc-story p {
  font-size: 16px; line-height: 1.75; color: #3A4A40; margin: 14px 0 0 !important;
  text-wrap: pretty;
}
.loc-story strong { color: #2C2218; }
.loc-story__photo { min-height: 280px; border-radius: 12px; overflow: hidden; }
.loc-story__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.loc-carry {
  background: #EAF3EC; border: 1px solid #C8E6D8; border-radius: 12px;
  padding: 34px 38px; margin-top: 52px; text-align: center;
}
.loc-carry h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 26px; font-weight: 700; color: #2C2218; margin: 0;
}
.loc-carry__pills {
  display: flex; gap: 10px 12px; flex-wrap: wrap; justify-content: center; margin-top: 20px;
}
.loc-carry__pill {
  background: #2D5441; color: #C8E6D8;
  font-size: 13.5px; font-weight: 600; padding: 8px 16px; border-radius: 99px;
}
.loc-carry__cta { margin-top: 22px; }

.loc-cards {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 52px;
}
.loc-card {
  background: #2D5441; border: 1px solid #234135; border-radius: 12px;
  padding: 30px 32px;
}
.loc-card h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 22px; font-weight: 700; color: #FFFBE6; margin: 0;
}
.loc-card p { font-size: 15px; line-height: 1.75; color: #C8E6D8; margin: 12px 0 0 !important; }
.loc-card strong { color: #F7B51C; }
.loc-card a { color: #F7B51C; font-weight: 700; }

@media (max-width: 1024px) {
  .loc-visit { grid-template-columns: 1fr; }
  .loc-story { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
  .loc-visit-h2, .loc-story h2 { font-size: 25px; }
  .loc-cards { grid-template-columns: 1fr; margin-top: 40px; }
  .loc-nap { padding: 24px 20px; }
  .loc-carry { padding: 26px 20px; margin-top: 40px; }
  .loc-nap__ctas a { width: 100%; text-align: center; }
}
