.btn {
  min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  padding: 0 24px; border: 1px solid transparent; border-radius: var(--radius-sm);
  font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  transition: transform var(--ease), background-color var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--coap-blue); box-shadow: var(--shadow-sm); }
.btn-primary:hover { background: var(--coap-navy); box-shadow: var(--shadow-md); }
.btn-secondary { color: var(--coap-navy); background: var(--coap-surface); border-color: var(--coap-border); }
.btn-secondary:hover { color: var(--coap-blue); border-color: var(--coap-light-blue); }
.btn img { width: 22px; height: 22px; object-fit: contain; }
.btn img[src$=".png"] { width: 28px; height: 28px; filter: none; }
.btn-primary img:not([src$=".png"]) { filter: brightness(0) invert(1); }
.btn-primary img[src$=".png"] { padding: 3px; border-radius: 8px; background: #fff; }
.icon-shell {
  width: 64px; height: 64px; flex: 0 0 64px; display: grid; place-items: center;
  border-radius: 20px; background: var(--coap-icon-background);
}
.icon-shell img { width: 40px; height: 40px; }
.card { background: var(--coap-surface); border: 1px solid var(--coap-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.pill {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px;
  border: 1px solid var(--coap-border); border-radius: 999px; background: rgba(255,255,255,.82);
  color: var(--coap-blue); font-size: 12px; font-weight: 800; letter-spacing: .12em;
}
.social-link {
  width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.34); transition: background-color var(--ease), border-color var(--ease), transform var(--ease);
}
.social-link:hover { background: var(--coap-light-blue); border-color: var(--coap-light-blue); transform: translateY(-2px); }
.social-link img { width: 24px; height: 24px; filter: brightness(0) invert(1); }
.social-link img[src$=".png"] { width: 30px; height: 30px; object-fit: contain; filter: none; }

/* PNG específicos de los botones principales */
.btn-primary img[src$="calendarblanco.png"] {
  width: 26px;
  height: 26px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.btn-secondary img[src$="whatsappazul.png"] {
  width: 28px;
  height: 28px;
}
