.page-hero { position: relative; overflow: hidden; }
.page-hero__bg { width: 100%; height: 200px; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }
.page-hero__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; background: var(--clr-overlay); display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.page-hero__overlay h1 { font-size: var(--fs-h1); color: var(--clr-white); margin-bottom: var(--space-sm); }
.page-hero .breadcrumb { background: none; padding: 0; margin: 0; }
.page-hero .breadcrumb-item a { color: rgba(255,255,255,0.8); }
.page-hero .breadcrumb-item a:hover { color: var(--clr-secondary); }
.page-hero .breadcrumb-item.active { color: var(--clr-secondary); }
.page-hero .breadcrumb-item+.breadcrumb-item::before { color: rgba(255,255,255,0.5); }
@media (max-width:767px) { .page-hero__bg { height: 110px; } .page-hero__overlay h1 { font-size: 1.4rem; margin-bottom: 0.3rem; } .page-hero .breadcrumb { font-size: 0.85rem; } }
@media (min-width:768px) { .page-hero__bg { height: 200px; } }
@media (min-width:1200px) { .page-hero__bg { height: 200px; } }

.contact-info { background-color: var(--clr-bg); }

.contact-card {
  background-color: var(--clr-white);
  padding: var(--space-xl) var(--space-lg);
  -webkit-border-radius: var(--radius-lg);
          border-radius: var(--radius-lg);
  -webkit-box-shadow: var(--shadow-sm);
          box-shadow: var(--shadow-sm);
  -webkit-transition: all var(--transition);
       -o-transition: all var(--transition);
          transition: all var(--transition);
  height: 100%;
}

.contact-card:hover {
  -webkit-transform: translateY(-4px);
      -ms-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: var(--shadow-md);
          box-shadow: var(--shadow-md);
}

.contact-card__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--space-md);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: rgba(125,63,95,0.1);
  -webkit-border-radius: var(--radius-full);
          border-radius: var(--radius-full);
  -webkit-transition: all var(--transition);
       -o-transition: all var(--transition);
          transition: all var(--transition);
}

.contact-card__icon i {
  font-size: 1.5rem;
  color: var(--clr-primary);
}

.contact-card__icon--whatsapp {
  background-color: rgba(37,211,102,0.1);
}

.contact-card__icon--whatsapp i {
  color: #25d366;
}

.contact-card:hover .contact-card__icon {
  background-color: var(--clr-primary);
}

.contact-card:hover .contact-card__icon i {
  color: var(--clr-white);
}

.contact-card:hover .contact-card__icon--whatsapp {
  background-color: #25d366;
}

.contact-card h3 {
  font-size: var(--fs-h4);
  margin-bottom: var(--space-sm);
}

.contact-card p {
  font-size: var(--fs-small);
  color: var(--clr-text-light);
  margin-bottom: var(--space-md);
  line-height: 1.7;
}

.contact-card__link {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-xs);
  color: var(--clr-secondary);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-small);
  -webkit-transition: gap var(--transition-fast);
       -o-transition: gap var(--transition-fast);
          transition: gap var(--transition-fast);
}

.contact-card__link:hover {
  color: var(--clr-secondary-dark);
  gap: var(--space-sm);
}

.contact-card__hours {
  display: inline-block;
  background-color: var(--clr-bg-alt);
  padding: var(--space-sm) var(--space-md);
  -webkit-border-radius: var(--radius);
          border-radius: var(--radius);
  font-weight: var(--fw-semibold);
  color: var(--clr-primary);
  font-size: var(--fs-small);
}

.hours-section { background-color: var(--clr-bg-alt); }

.hours-section h2 {
  font-size: var(--fs-h2);
  margin-bottom: var(--space-sm);
}

.hours-section > .container > .row > .col-lg-6:first-child p {
  color: var(--clr-text-light);
  margin-bottom: var(--space-lg);
}

.hours-table-wrapper {
  overflow-x: auto;
}

.hours-table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--clr-white);
  -webkit-border-radius: var(--radius);
          border-radius: var(--radius);
  overflow: hidden;
  -webkit-box-shadow: var(--shadow-sm);
          box-shadow: var(--shadow-sm);
}

.hours-table th {
  background-color: var(--clr-primary);
  color: var(--clr-white);
  padding: var(--space-sm) var(--space-md);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-small);
  text-align: left;
}

.hours-table td {
  padding: var(--space-sm) var(--space-md);
  font-size: var(--fs-small);
  border-bottom: 1px solid var(--clr-border-light);
  color: var(--clr-text);
}

.hours-table tr:last-child td {
  border-bottom: none;
}

.hours-table tr:hover td {
  background-color: var(--clr-bg-alt);
}

.hours-cta {
  background: -webkit-linear-gradient(315deg, var(--clr-primary-dark), var(--clr-primary));
  background: -o-linear-gradient(315deg, var(--clr-primary-dark), var(--clr-primary));
  background: linear-gradient(135deg, var(--clr-primary-dark), var(--clr-primary));
  padding: var(--space-2xl);
  -webkit-border-radius: var(--radius-lg);
          border-radius: var(--radius-lg);
  text-align: center;
  color: var(--clr-text-on-dark);
}

.hours-cta h3 {
  font-size: var(--fs-h3);
  color: var(--clr-white);
  margin-bottom: var(--space-sm);
}

.hours-cta p {
  color: rgba(255,255,255,0.8);
  margin-bottom: var(--space-xl);
  font-size: var(--fs-body);
}

.hours-cta__buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-sm);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.hours-cta__buttons > a {
  width: 100%;
  max-width: 360px;
  white-space: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(0.85rem, 2.5vw, 1rem);
}

.hours-cta__buttons .btn-primary-custom {
  background-color: var(--clr-secondary);
  border-color: var(--clr-secondary);
}

.hours-cta__buttons .btn-primary-custom:hover {
  background-color: var(--clr-secondary-dark);
  border-color: var(--clr-secondary-dark);
}

@media (max-width: 400px) {
  .hours-cta__buttons > a {
    white-space: normal;
  }
}

.map-section {
  line-height: 0;
}

.map-section iframe {
  width: 100%;
  height: 350px;
}

@media (min-width: 768px) {
  .map-section iframe {
    height: 450px;
  }
}
