/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.18.1766784518
Updated: 2025-12-26 21:28:38

*/



:root{
  --ds-blue:#1e73be;
  --ds-blue-soft:#e9f2ff;
  --ds-bg:#f5f7fb;
  --ds-text:#222;
  --ds-muted:#666;
  --ds-border:#e6e6e6;
  --ds-radius:14px;
}

body.single-mascota,
body.single-emergencia{
  background: var(--ds-bg);
}

/* ==========================
   Wrapper perfiles
   ========================== */
.ds-profile-wrapper{
  max-width: 900px;
  margin: 28px auto 50px;
  padding: 26px 18px 30px;
  background:#fff;
  border-radius: var(--ds-radius);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  color: var(--ds-text);
  line-height: 1.55;
}

body.single-mascota .ds-mascota-wrapper::before{
  content:"PERFIL DE MASCOTA";
}
body.single-emergencia .ds-emergencia-wrapper::before{
  content:"PERFIL DE EMERGENCIA";
}

body.single-mascota .ds-mascota-wrapper::before,
body.single-emergencia .ds-emergencia-wrapper::before{
  display:block;
  margin: 0 0 14px;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--ds-blue-soft);
  color: var(--ds-blue);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .05em;
  text-align:center;
  font-size: 13px;
}

/* Foto */
.ds-profile-photo img{
  width: 210px;
  height: 210px;
  border-radius: 50%;
  object-fit: cover;
  display:block;
  margin: 0 auto 16px;
}

/* Titulares */
.ds-profile-title{
  text-align:center;
  font-size: 26px;
  margin: 0 0 6px;
  font-weight: 800;
}
.ds-profile-subtitle{
  text-align:center;
  color: #555;
  margin: 0 0 8px;
}
.ds-profile-hello{
  text-align:center;
  margin: 0 0 18px;
}
.ds-profile-hello strong{
  color: var(--ds-blue);
}

/* ==========================
   Accordion (<details>)
   ========================== */
.ds-accordion{
  margin-top: 16px;
  border-top: 1px solid var(--ds-border);
}
.ds-acc-item{
  border-bottom: 1px solid var(--ds-border);
}
.ds-acc-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 14px 14px;
  background: #f9fafc;
  font-weight: 700;
}
.ds-acc-item summary::-webkit-details-marker{ display:none; }
.ds-acc-item summary::after{
  content:"▾";
  margin-left:auto;
  transition: transform .2s ease;
}
.ds-acc-item[open] summary{
  background: var(--ds-blue-soft);
  color: var(--ds-blue);
}
.ds-acc-item[open] summary::after{
  transform: rotate(180deg);
}
.ds-acc-body{
  padding: 12px 14px 16px;
}
.ds-list{
  list-style:none;
  padding:0;
  margin:0;
}
.ds-list li{ margin: 6px 0; }

/* ==========================
   Botón ubicación
   ========================== */
.ds-btn-ubicacion{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--ds-blue);
  color: #fff !important;
  text-decoration:none;
  border-radius: 10px;
  font-weight: 700;
}
.ds-btn-ubicacion:hover{ opacity:.92; }
.ds-icono-ubicacion-img{
  width: 22px;
  height: 22px;
  display:inline-block;
}
.ds-help{
  color: var(--ds-muted);
  font-size: 13px;
  margin-top: 6px;
}

/* ==========================
   QR
   ========================== */
.ds-qr-block{
  margin-top: 22px;
  text-align:center;
}
.ds-qr-block img{
  width: 180px;
  height:auto;
  border: 1px solid var(--ds-border);
  padding: 6px;
  background:#fff;
  border-radius: 10px;
}

/* Legal */
.ds-legal{
  margin-top: 18px;
  text-align:center;
  font-size: 13px;
  color: #777;
}

/* ==========================
   PIN Card
   ========================== */
.ds-profile-wrapper-pin{
  max-width: 640px;
}
.ds-pin-card{
  padding: 10px 0 0;
}
.ds-pin-label{
  text-align:center;
  color: var(--ds-blue);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing:.05em;
  margin: 0 0 12px;
}
.ds-form-pin{
  margin-top: 14px;
  display:flex;
  flex-direction:column;
  gap: 10px;
  align-items:center;
}
.ds-form-pin label{ font-weight:700; }
.ds-form-pin input{
  width: 100%;
  max-width: 320px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--ds-border);
  font-size: 16px;
}
.ds-btn-primary{
  background: var(--ds-blue);
  color:#fff;
  border:none;
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 800;
  cursor:pointer;
}
.ds-btn-primary:hover{ opacity:.92; }

.ds-alert{
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  max-width: 520px;
  margin: 10px auto;
}
.ds-alert-error{
  background:#fdecea;
  border:1px solid #f44336;
  color:#b71c1c;
}

/* ==========================
   Panel (Mascotas / Emergencia)
   ========================== */
.ds-panel-wrapper{
  max-width: 900px;
  margin: 30px auto 60px;
  padding: 22px 18px;
  background:#fff;
  border-radius: var(--ds-radius);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}

.ds-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.ds-panel-header h2{
  margin:0;
}
.ds-panel-logout{
  text-decoration:none;
  font-weight:700;
  color: var(--ds-blue);
}

.ds-panel-msg{
  padding: 10px 12px;
  border-radius: 10px;
  margin: 14px 0;
  font-size: 14px;
}
.ds-panel-msg.ok{
  background:#e6f6ea;
  border:1px solid #4caf50;
  color:#256029;
}
.ds-panel-msg.error{
  background:#fdecea;
  border:1px solid #f44336;
  color:#b71c1c;
}

.ds-panel-form label{
  display:block;
  margin-top: 12px;
  margin-bottom: 6px;
  font-weight: 800;
}
.ds-panel-form input,
.ds-panel-form textarea{
  width:100%;
  border: 1px solid var(--ds-border);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 15px;
}
.ds-panel-form textarea{
  min-height: 90px;
  resize: vertical;
}
.ds-panel-form button{
  margin-top: 14px;
  background: var(--ds-blue);
  color:#fff;
  border:none;
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 800;
  cursor:pointer;
}
.ds-panel-form button:hover{ opacity:.92; }
.ds-panel-separator{
  border: none;
  border-top: 1px solid var(--ds-border);
  margin: 18px 0;
}
.ds-panel-note{
  font-size: 13px;
  color: #777;
  margin-top: 8px;
}

/* Redes */
.ds-social-wrap{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.ds-social-btn{
  display:inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--ds-blue-soft);
  color: var(--ds-blue);
  text-decoration:none;
  font-weight: 800;
  border: 1px solid #d0e3ff;
}

/* Responsive */
@media (max-width: 767px){
  .ds-profile-wrapper{ padding: 18px 12px 22px; }
  .ds-profile-title{ font-size: 22px; }
  .ds-profile-photo img{ width: 180px; height: 180px; }
}

