/*
 * Linkopet Core — estilos do front-end.
 * Extraído do PHP na 0.3.13: antes eram ~900 linhas de CSS dentro de uma
 * string PHP, o que impedia realce de sintaxe, cache do navegador e
 * edição segura. O conteúdo é exatamente o mesmo.
 */

/* ================================
   LINKOPET - FONTES PADRONIZADAS
   Títulos e botões: Fredoka
   Textos e subtítulos: Poppins
================================ */

/* Base geral */
.linkopet-box,
.linkopet-box *,
.linkopet-activate-area,
.linkopet-activate-area *,
.linkopet-activate-box,
.linkopet-activate-box *,
.linkopet-login-area,
.linkopet-login-area *,
.linkopet-login-box,
.linkopet-login-box * {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  color: #3F3F3F;
}

/* Títulos */
.linkopet-box h1,
.linkopet-box h2,
.linkopet-box h3,
.linkopet-box h4,
.linkopet-box h5,
.linkopet-box h6,
.linkopet-activate-box h1,
.linkopet-login-box h1,
.linkopet-pet-name {
  font-family: "Fredoka", "Arial Rounded MT Bold", Arial, sans-serif !important;
	font-weight:500;
}

/* Botões */
.linkopet-btn,
.linkopet-btn-secondary,
.linkopet-btn-location,
.linkopet-btn-resend,
.linkopet-delete-account-toggle,
.linkopet-logout-account-link,
.linkopet-delete-account-submit,
.linkopet-delete-account-cancel,
.linkopet-btn-edit-pet,
.linkopet-btn-view-pet,
.linkopet-btn-back,
.linkopet-btn-other-email {
  font-family: "Fredoka", "Arial Rounded MT Bold", Arial, sans-serif !important;
}

/* Textos, subtítulos, labels e campos */
.linkopet-muted,
.linkopet-small,
.linkopet-field label,
.linkopet-field input,
.linkopet-field select,
.linkopet-field textarea,
.linkopet-success,
.linkopet-error,
.linkopet-pet-info-item,
.linkopet-pet-info-label,
.linkopet-pet-info-value,
.linkopet-pet-notes,
.linkopet-pet-found,
.linkopet-crop-controls label {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

/* ================================
   TÍTULOS
================================ */

.linkopet-box h2,
.linkopet-box h3 {
  margin-top: 0;
  color: #643494;
}

.linkopet-activate-box h1,
.linkopet-login-box h1 {
  font-weight: 500;
  margin: 0 0 16px;
  color: #643494;
  text-align: center;
  font-size: 36px;
  line-height: 1;
}

.linkopet-pet-name {
  margin: 18px 0 6px !important;
  color: #643494 !important;
  font-size: 34px !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
}

/* ================================
   FORMULÁRIOS
================================ */

.linkopet-field {
  margin-bottom: 16px;
}

.linkopet-field label {
  display: block;
  font-weight:600;
  font-size:14px;
  margin-bottom: 6px;
}

.linkopet-field input:not([type="checkbox"]):not([type="radio"]),
.linkopet-field select,
.linkopet-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d1d5db;
  border-radius: 20px !important;
  font-size: 16px;
  box-sizing: border-box;
}

.linkopet-field input[type="checkbox"],
.linkopet-field input[type="radio"] {
  width: auto;
  padding: 0;
  border-radius: 4px;
}

/* ================================
   BOTÕES
================================ */

.linkopet-btn,
.linkopet-btn-secondary,
.linkopet-btn-location,
.linkopet-btn-resend {
  display: inline-block;
  border-radius: 50px;
  padding: 13px 22px;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none !important;
  text-transform: none;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.linkopet-btn {
  background: #fc7c04;
  color: #fff !important;
  border: none;
}

.linkopet-btn:hover,
.linkopet-btn:focus,
.linkopet-btn:active {
  background: #643494;
  color: #fff !important;
  text-decoration: none !important;
}

.linkopet-btn:visited {
  background: #fc7c04;
  color: #fff !important;
}

.linkopet-btn-secondary {
  background: #643494;
  color: #fff !important;
  border: none;
}

.linkopet-btn-secondary:hover,
.linkopet-btn-secondary:focus,
.linkopet-btn-secondary:active {
  background: #fc7c04;
  color: #fff !important;
}

.linkopet-btn-secondary:visited {
  background: #643494;
  color: #fff !important;
}

.linkopet-btn-location,
.linkopet-btn-resend {
  background: transparent !important;
  color: #643494 !important;
  border: 2px solid #643494 !important;
}

.linkopet-btn-location:hover,
.linkopet-btn-location:focus,
.linkopet-btn-location:active,
.linkopet-btn-resend:hover,
.linkopet-btn-resend:focus,
.linkopet-btn-resend:active,
.linkopet-btn-resend:visited {
  background: #643494 !important;
  color: #fff !important;
  border-color: #643494 !important;
  text-decoration: none !important;
}

/* ================================
   TEXTOS E MENSAGENS
================================ */

.linkopet-muted {
  font-size: 16px;
  line-height: 20px;
  color: #3F3F3F;
}

.linkopet-small {
  font-size: 13px;
  margin-top:10px;
  color: #3F3F3F;
}

.linkopet-success,
.linkopet-error {
  font-size: 15px;
  padding: 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}

.linkopet-success {
  background: #ecfdf5;
  color: #065f46!important;
}

.linkopet-error {
  background: #fef2f2;
  color: #991b1b!important;
}

/* ================================
   CARDS E PERFIL
================================ */

.linkopet-card {
  border-radius: 20px;
  padding: 18px;
  margin: 12px 0;
  background: #fff;
}

.linkopet-profile {
  text-align: center;
}

.linkopet-profile img.pet-photo {
  max-width: 220px;
  border-radius: 20px;
  margin: auto;
  display: block;
  box-shadow: 0 10px 28px rgba(100, 52, 148, .12);
}

.linkopet-qr {
  max-width: 200px !important;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* ================================
   INFORMAÇÕES DO PET
================================ */

.linkopet-pet-info {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 560px;
  margin: 18px auto 0;
  text-align: left;
  align-items: stretch;
  justify-content: center;
}

.linkopet-pet-info-item {
  flex: 1 1 calc(50% - 5px);
  min-width: calc(50% - 5px);
  margin: 0;
  padding: 13px 15px;
  border: 1px solid #efe7f8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(100, 52, 148, .06);
  font-size: 16px !important;
  line-height: 1.35 !important;
  color: #3F3F3F !important;
  box-sizing: border-box;
}

.linkopet-pet-info-label {
  display: block;
  margin-bottom: 3px;
  color: #643494 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 600;
}

.linkopet-pet-info-value {
  display: block;
  color: #3F3F3F !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 400;
}

.linkopet-pet-notes {
  max-width: 560px;
  margin: 14px auto 0 !important;
  text-align: left;
  border: 1px solid #efe7f8;
  box-shadow: 0 8px 20px rgba(100, 52, 148, .06);
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.linkopet-pet-found {
  margin: 20px auto 0;
  max-width: 560px;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #3F3F3F !important;
}

.linkopet-pet-found strong {
  color: #FC7C04 !important;
  font-weight: 600;
}

/* ================================
   LAYOUTS E AÇÕES
================================ */

.linkopet-actions,
.linkopet-dashboard-actions,
.linkopet-edit-form-actions,
.linkopet-login-actions,
.linkopet-activate-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.linkopet-actions {
  margin-top: 18px;
}

.linkopet-dashboard-actions {
  gap: 8px;
  margin-top: 12px;
}

.linkopet-pet-card-actions {
  justify-content: flex-start;
}

.linkopet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

/* ================================
   BOTÕES DE CARD DO PET
================================ */

.linkopet-pet-card-actions .linkopet-btn-edit-pet,
.linkopet-pet-card-actions .linkopet-btn-edit-pet:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #643494 !important;
  color: #fff !important;
  border: none !important;
  text-decoration: none !important;
}

.linkopet-pet-card-actions .linkopet-btn-edit-pet:hover,
.linkopet-pet-card-actions .linkopet-btn-edit-pet:focus,
.linkopet-pet-card-actions .linkopet-btn-edit-pet:active {
  background: #fc7c04 !important;
}

.linkopet-pet-card-actions .linkopet-btn-view-pet,
.linkopet-pet-card-actions .linkopet-btn-view-pet:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #fc7c04 !important;
  color: #fff !important;
  border: none !important;
  text-decoration: none !important;
}

.linkopet-pet-card-actions .linkopet-btn-view-pet:hover,
.linkopet-pet-card-actions .linkopet-btn-view-pet:focus,
.linkopet-pet-card-actions .linkopet-btn-view-pet:active {
  background: #643494 !important;
}

/* ================================
   EXCLUSÃO DE CONTA
================================ */

.linkopet-danger-zone {
  margin-top: 20px;
}

.linkopet-account-exit-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.linkopet-delete-account-toggle,
.linkopet-logout-account-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  background: transparent !important;
  color: #991b1b !important;
  border: 2px solid #991b1b;
  border-radius: 50px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none !important;
  text-transform: none;
  cursor: pointer;
  box-sizing: border-box;
}

.linkopet-delete-account-toggle:hover,
.linkopet-delete-account-toggle:focus {
  background: #991b1b !important;
  color: #fff !important;
}

.linkopet-logout-account-link,
.linkopet-logout-account-link:visited {
  background: #643494 !important;
  color: #fff !important;
  border-color: #643494 !important;
}

.linkopet-logout-account-link:hover,
.linkopet-logout-account-link:focus,
.linkopet-logout-account-link:active {
  background: #fc7c04 !important;
  color: #fff !important;
  border-color: #fc7c04 !important;
  text-decoration: none !important;
}

.linkopet-delete-account-panel {
  text-align: center;
  display: none;
  margin-top: 12px;
  padding: 14px;
  border-radius: 16px;
}

.linkopet-delete-account-submit {
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5;
}

.linkopet-delete-account-submit:hover,
.linkopet-delete-account-submit:focus {
  background: #fef2f2 !important;
  color: #7f1d1d !important;
  border-color: #f87171;
}

.linkopet-delete-account-cancel {
  background: #643494 !important;
  color: #fff !important;
  border: 1px solid #643494;
}

.linkopet-delete-account-cancel:hover,
.linkopet-delete-account-cancel:focus {
  background: #fc7c04 !important;
  border-color: #fc7c04;
}

/* ================================
   FORMULÁRIO DE EDIÇÃO
================================ */

.linkopet-box form > button.linkopet-btn,
.linkopet-box form > button.linkopet-btn-secondary {
  display: block;
  margin: 18px auto 0;
}

.linkopet-edit-form-actions {
  margin-top: 18px;
}

.linkopet-edit-form-actions .linkopet-btn,
.linkopet-edit-form-actions .linkopet-btn-secondary,
.linkopet-login-actions .linkopet-btn,
.linkopet-login-actions .linkopet-btn-secondary,
.linkopet-login-actions .linkopet-btn-resend,
.linkopet-activate-actions .linkopet-btn,
.linkopet-activate-actions .linkopet-btn-secondary,
.linkopet-activate-actions .linkopet-btn-resend {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  min-height: 50px;
  padding: 13px 22px;
  line-height: 1.2;
  box-sizing: border-box;
  vertical-align: middle;
}

.linkopet-edit-form-actions .linkopet-btn-back,
.linkopet-edit-form-actions a.linkopet-btn-back:link,
.linkopet-edit-form-actions a.linkopet-btn-back:visited {
  background: #643494 !important;
  color: #fff !important;
  border: none !important;
  text-decoration: none !important;
}

.linkopet-edit-form-actions .linkopet-btn-back:hover,
.linkopet-edit-form-actions .linkopet-btn-back:focus,
.linkopet-edit-form-actions .linkopet-btn-back:active {
  background: #fc7c04 !important;
}

/* ================================
   CROP DE FOTO
================================ */

.linkopet-photo-crop {
  display: none;
  margin-top: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  padding: 14px;
  background: #fafafa;
}

.linkopet-photo-crop canvas {
  width: 100%;
  max-width: 320px;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  border: 1px solid #d1d5db;
  background: #fff;
  display: block;
  margin: 0 auto 10px;
  touch-action: none;
  cursor: grab;
}

.linkopet-photo-crop canvas:active {
  cursor: grabbing;
}

.linkopet-crop-controls {
  display: grid;
  gap: 8px;
  max-width: 320px;
  margin: 0 auto;
}

.linkopet-crop-controls label {
  font-size: 13px;
  color: #3F3F3F;
}

.linkopet-choice {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 12px;
}

/* ================================
   LOGIN E ATIVAÇÃO
================================ */

.linkopet-activate-area,
.linkopet-login-area {
  line-height: 100%;
  padding: 80px 20px;
}

.linkopet-activate-box,
.linkopet-login-box {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.linkopet-login-box form,
.linkopet-activate-box form {
  text-align: center;
}

.linkopet-login-box .linkopet-field,
.linkopet-activate-box .linkopet-field {
  text-align: left;
}

.linkopet-login-box .linkopet-success,
.linkopet-login-box .linkopet-error,
.linkopet-login-box .linkopet-muted,
.linkopet-activate-box .linkopet-success,
.linkopet-activate-box .linkopet-error,
.linkopet-activate-box .linkopet-muted {
  text-align: center;
}

.linkopet-activate-logo,
.linkopet-login-logo {
  display: block;
  max-width: 210px;
  width: 100%;
  height: auto;
  margin: 0 auto 28px;
}

.linkopet-activate-box .linkopet-muted,
.linkopet-login-box .linkopet-muted {
  text-align: center;
  margin-bottom: 20px;
}

.linkopet-login-actions .linkopet-btn-other-email {
  background: #643494 !important;
  color: #fff !important;
  border: none !important;
}

.linkopet-login-actions .linkopet-btn-other-email:hover,
.linkopet-login-actions .linkopet-btn-other-email:focus,
.linkopet-login-actions .linkopet-btn-other-email:active {
  background: #fc7c04 !important;
  color: #fff !important;
  border: none !important;
  text-decoration: none !important;
}

.linkopet-login-resend-form,
.linkopet-activate-resend-form {
  margin: 0 !important;
  display: inline-block;
}


.linkopet-tag-ready-card {
  position: relative;
  max-width: 620px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.linkopet-tag-ready-icon {
  width: 74px;
  height: 74px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #fff4e8;
  color: #fc7c04 !important;
  font-family: "Fredoka", Arial, sans-serif !important;
  font-size: 38px;
  line-height: 1;
  box-shadow: 0 10px 28px rgba(252, 124, 4, .14);
}

.linkopet-tag-ready-card .linkopet-success {
  display: inline-block;
  margin: 0 auto 18px;
  padding: 12px 18px;
}

.linkopet-tag-ready-card h1 {
  font-weight: 500;
  margin: 0 0 16px;
  color: #643494;
  text-align: center;
  font-size: 36px;
  line-height: 1;
}

.linkopet-tag-ready-card .linkopet-muted {
  max-width: 520px;
  margin: 0 auto 22px;
  text-align: center;
}

.linkopet-tag-ready-card .linkopet-actions {
  margin-top: 0;
}



/* ================================
   GARANTIA FINAL DE FONTES
   Use este bloco por último para vencer estilos do tema/Elementor
================================ */

.linkopet-box,
.linkopet-activate-area,
.linkopet-activate-box,
.linkopet-login-area,
.linkopet-login-box,
.linkopet-profile,
.linkopet-card,
.linkopet-grid,
.linkopet-pet-info,
.linkopet-photo-crop,
.linkopet-danger-zone,
.linkopet-delete-account-panel,
.linkopet-choice,
.linkopet-actions,
.linkopet-dashboard-actions,
.linkopet-edit-form-actions,
.linkopet-login-actions,
.linkopet-activate-actions,
.linkopet-admin-wrap,
.linkopet-box p,
.linkopet-box span,
.linkopet-box div,
.linkopet-box label,
.linkopet-box input,
.linkopet-box select,
.linkopet-box textarea,
.linkopet-box li,
.linkopet-box td,
.linkopet-box th,
.linkopet-activate-area p,
.linkopet-activate-area span,
.linkopet-activate-area div,
.linkopet-activate-area label,
.linkopet-activate-area input,
.linkopet-activate-area select,
.linkopet-activate-area textarea,
.linkopet-login-area p,
.linkopet-login-area span,
.linkopet-login-area div,
.linkopet-login-area label,
.linkopet-login-area input,
.linkopet-login-area select,
.linkopet-login-area textarea {
  font-family: "Poppins", Arial, sans-serif !important;
}

.linkopet-box h1,
.linkopet-box h2,
.linkopet-box h3,
.linkopet-box h4,
.linkopet-box h5,
.linkopet-box h6,
.linkopet-activate-area h1,
.linkopet-activate-area h2,
.linkopet-activate-area h3,
.linkopet-activate-area h4,
.linkopet-activate-area h5,
.linkopet-activate-area h6,
.linkopet-login-area h1,
.linkopet-login-area h2,
.linkopet-login-area h3,
.linkopet-login-area h4,
.linkopet-login-area h5,
.linkopet-login-area h6,
.linkopet-pet-name,
.linkopet-card-title,
.linkopet-section-title {
  font-family: "Fredoka", Arial, sans-serif !important;
}

.linkopet-box button,
.linkopet-box input[type="submit"],
.linkopet-box input[type="button"],
.linkopet-box a[class*="linkopet-btn"],
.linkopet-activate-area button,
.linkopet-activate-area input[type="submit"],
.linkopet-activate-area input[type="button"],
.linkopet-activate-area a[class*="linkopet-btn"],
.linkopet-login-area button,
.linkopet-login-area input[type="submit"],
.linkopet-login-area input[type="button"],
.linkopet-login-area a[class*="linkopet-btn"],
.linkopet-btn,
.linkopet-btn-secondary,
.linkopet-btn-location,
.linkopet-btn-resend,
.linkopet-delete-account-toggle,
.linkopet-logout-account-link,
.linkopet-delete-account-submit,
.linkopet-delete-account-cancel,
.linkopet-btn-edit-pet,
.linkopet-btn-view-pet,
.linkopet-btn-back,
.linkopet-btn-other-email {
  font-family: "Fredoka", Arial, sans-serif !important;
}

/* ================================
   RESPONSIVO
================================ */

@media (max-width: 1024px) {
  .linkopet-activate-area,
  .linkopet-login-area {
    padding: 80px 20px;
  }

  .linkopet-activate-box h1,
  .linkopet-login-box h1 {
    font-size: 32px;
  }
}

@media (max-width: 640px) {
  .linkopet-pet-name {
    font-size: 30px !important;
  }

  .linkopet-pet-info {
    justify-content: stretch;
    gap: 8px;
  }

  .linkopet-pet-info-item {
    flex: 1 1 calc(50% - 4px);
    min-width: calc(50% - 4px);
    padding: 12px 11px;
  }

  .linkopet-pet-info-label,
  .linkopet-pet-info-value {
    font-size: 15px !important;
  }

  .linkopet-pet-notes {
    width: 100%;
    max-width: 560px;
  }
}
