/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");


/* ##################################################################
   PSV — TEMA HIJO CONSOLIDADO  ·  2026-06-10
   Fuente ÚNICA de CSS. Recoloreado legacy->marca (salvia/terracota/arena).
   Absorbe: CSS adicional (checkout), #168 global, #158 Woo, #124 globales, #76 checkout.
   Snippets que SIGUEN (llevan JS/HTML/PHP): #159 #167 #82 #80 #81 #155 #156 #136.
   ################################################################## */


/* ===== A) BASE TEMA HIJO (recoloreada) ===== */
/* ============================================
   RESET GLOBAL PARA CONSISTENCIA
   ============================================ */
*, ::before, ::after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   SISTEMA DE COLORES ÓPTIMO SEO + CONVERSIÓN
   plandesaludveterinario.com
   ============================================ */

:root {
  /* PRIMARIOS - Identidad profesional veterinaria */
  --primary: #2E8278;
  --primary-dark: #246A60;
  --primary-light: #EAF3F1;
  --primary-rgb: 46, 130, 120;

  /* SECUNDARIOS - Salud y vitalidad */
  --secondary: #2E8278;
  --secondary-dark: #246A60;
  --secondary-light: #F4EBD8;

  /* ACENTO - CTA y conversión */
  --accent: #E87858;
  --accent-dark: #C8593B;
  --accent-light: #FFF8F4;

  /* TEXTOS - Máximo contraste WCAG AAA */
  --text-primary: #1C1813;      /* 17.2:1 */
  --text-secondary: #4A5D66;    /* 8.4:1 */
  --text-muted: #6B7D87;        /* 5.6:1 */
  --text-white: #FFFFFF;
  --text-on-primary: #FFFFFF;

  /* FONDOS */
  --bg-white: #FFFFFF;
  --bg-light: #FBF7EE;
  --bg-primary: var(--primary);
  --bg-secondary: var(--secondary-light);
  --bg-accent: var(--accent-light);

  /* ENLACES */
  --link: #2E8278;
  --link-hover: #246A60;
  --link-visited: #5A4A8B;

  /* ESTADOS SEMÁNTICOS */
  --success: #2E8278;
  --warning: #E87858;
  --error: #E85D5D;
  --info: #5EADC5;

  /* SOMBRAS (profundidad visual) */
  --shadow-sm: 0 2px 8px rgba(46, 130, 120, 0.08);
  --shadow-md: 0 4px 16px rgba(46, 130, 120, 0.12);
  --shadow-lg: 0 8px 24px rgba(46, 130, 120, 0.16);

  /* OUTLINE FOCUS - compatible Chrome */
  --focus-outline: rgba(46, 130, 120, 0.25);
}

/* ============================================
   ESTILOS GLOBALES
   ============================================ */

body {
  color: var(--text-primary);
  background: var(--bg-white);
}

/* ============================================
   HEADER PROFESIONAL
   ============================================ */

.site-header {
  background: var(--bg-white);
  border-bottom: 3px solid var(--primary);
  box-shadow: var(--shadow-sm);
}

.site-branding img {
  filter: saturate(1.1) brightness(0.95);
}

/* ============================================
   NAVEGACIÓN CON HOVER DISTINTIVO
   ============================================ */

.main-header-menu a {
  color: var(--text-primary);
  font-weight: 500;
  position: relative;
  transition: color 0.3s ease;
}

.main-header-menu a::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--secondary);
  transition: width 0.3s ease;
}

.main-header-menu a:hover {
  color: var(--primary);
}

.main-header-menu a:hover::after {
  width: 100%;
}

/* ============================================
   TÍTULOS - JERARQUÍA VISUAL
   ============================================ */

h1 {
  color: var(--primary-dark);
  font-weight: 800;
}

/* H2 en contenido normal (páginas y posts) */
.entry-content h2,
.page-content h2,
article h2:not(.bdp-post-title) {
  color: var(--text-primary);
  border-left: 5px solid var(--secondary);
  padding: 0.8em 1.2rem;
  background: linear-gradient(90deg, var(--secondary-light) 0%, rgba(var(--primary-rgb), 0) 100%);
  border-radius: 0 4px 4px 0;
  margin-top: 1.5em;
  margin-bottom: 1em;
}

/* H3 - Jerarquía consistente, estilo más sutil que H2 */
.entry-content h3,
.entry-content h3.wp-block-heading,
.page-content h3,
.page-content h3.wp-block-heading,
article h3,
h3.wp-block-heading {
  color: var(--primary) !important;
  font-weight: 700;
  border-left: 5px solid var(--secondary);
  padding: 0.8em 1.2rem;
  background: linear-gradient(90deg, var(--secondary-light) 0%, rgba(var(--primary-rgb), 0) 100%);
  border-radius: 0 4px 4px 0;
  margin-top: 1.5em;
  margin-bottom: 1em;
}

h4, h5, h6 {
  color: var(--text-secondary);
}

@media (max-width: 768px) {
  h3.wp-block-heading {
    padding: 0.4em 0.8rem;
    font-size: clamp(17px, 4.5vw, 20px);
  }
}

/* ============================================
   TÍTULOS DE POSTS EN BLOG (responsive)
   ============================================ */

/* Base: móvil primero */
h2.bdp-post-title {
  font-size: 1rem;
  line-height: 1.4;
}

/* Tablets en vertical */
@media (min-width: 601px) {
  h2.bdp-post-title {
    font-size: 1.2rem;
  }
}

/* Escritorio */
@media (min-width: 1025px) {
  h2.bdp-post-title {
    font-size: 1.25rem;
  }
}

/* ============================================
   IMAGEN DESTACADA EN PÁGINA INDIVIDUAL
   ============================================ */

.custom-featured-header {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
}

.custom-featured-header .custom-featured-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.custom-featured-title {
  position: absolute;
  bottom: 30px;
  left: 30px;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.6);
  margin: 0;
  max-width: 80%;
}

/* Responsive para imagen destacada */
@media (max-width: 768px) {
  .custom-featured-header {
    height: 300px;
  }

  .custom-featured-title {
    font-size: 1.8rem;
    bottom: 20px;
    left: 20px;
  }
}

/* ============================================
   ENLACES DIFERENCIADOS
   ============================================ */

a {
  color: var(--link);
  text-decoration: underline;
  text-decoration-color: rgba(46, 130, 120, 0.3); /* valor directo: compatible Chrome */
  text-underline-offset: 0.25em;
  transition: all 0.25s ease;
}

a:hover {
  color: var(--link-hover);
  text-decoration-color: var(--link-hover);
  text-decoration-thickness: 2px;
}

/* MÓVIL: Enlaces extra visibles */
@media (max-width: 768px) {
  .entry-content a,
  .page-content a {
    font-weight: 500;
    text-decoration-thickness: 2px;
    padding: 2px 4px;
  }

  .entry-content a:hover,
  .entry-content a:focus,
  .page-content a:hover,
  .page-content a:focus {
    background: var(--primary-light);
    border-radius: 3px;
  }
}

/* ============================================
   BOTONES CTA - MÁXIMA CONVERSIÓN
   ============================================ */

.ast-button,
.wp-block-button__link,
button[type="submit"],
.cta-button {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
  color: var(--text-white);
  border: none;
  padding: 16px 32px;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
  border-radius: 8px;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: var(--shadow-md);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ast-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
.cta-button:hover {
  background: linear-gradient(135deg, var(--accent-dark) 0%, #C8593B 100%);
  transform: translateY(-3px) scale(1.02);
  box-shadow: var(--shadow-lg);
  color: var(--text-white);
  text-decoration: none;
}

/* Botón secundario (menos agresivo) */
.button-secondary {
  background: var(--secondary);
  color: var(--text-white);
}

.button-secondary:hover {
  background: var(--secondary-dark);
}

/* ============================================
   ENLACES DE AFILIACIÓN AMAZON
   Estilo sutil y profesional
   ============================================ */

.entry-content a[href*="amzn.to"],
.entry-content a[href*="amazon.es"] {
  background: var(--accent-light);
  color: var(--accent-dark);
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  transition: all 0.3s ease;
  border: 2px solid var(--accent);
  box-shadow: var(--shadow-sm);
}

.entry-content a[href*="amzn.to"]:hover,
.entry-content a[href*="amazon.es"]:hover {
  background: var(--accent);
  color: var(--text-white);
  border-color: var(--accent-dark);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
/* [QUITADO POR REGLA DE PROYECTO — no mezclar Hospital Tucán]
/* ============================================
   ENLACE HOSPITAL TUCÁN - DESTACADO
   ============================================ 

a[href*="hospitaltucan.com"] {
  background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  color: var(--text-white);
  padding: 20px 40px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 800;
  font-size: 20px;
  display: inline-block;
  box-shadow: var(--shadow-lg);
  transition: all 0.3s ease;
  text-align: center;
  margin: 2em 0;
}


/[QUITADO POR REGLA DE PROYECTO — no mezclar Hospital Tucán]
a[href*="hospitaltucan.com"]:hover {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 12px 32px rgba(46, 130, 120, 0.3);
}
*/


/* ============================================
   CAJAS INFORMATIVAS
   ============================================ */

blockquote,
.info-box {
  background: var(--bg-secondary);
  border-left: 5px solid var(--secondary);
  padding: 1.5em 2em;
  border-radius: 0 8px 8px 0;
  margin: 2em 0;
  box-shadow: var(--shadow-sm);
}

.tip-box {
  background: var(--primary-light);
  border-left: 5px solid var(--primary);
}

.warning-box {
  background: #FFF8E6;
  border-left: 5px solid var(--warning);
  color: #8B6914;
}

/* ============================================
   LISTAS CON PERSONALIDAD
   FIX CHROME: ::marker tiene soporte parcial,
   se usa ::before para máxima compatibilidad
   ============================================ */

/* Listas no ordenadas — pseudo-elemento compatible */
.entry-content ul li,
.page-content ul li {
  list-style: none;
  padding-left: 1.5em;
  position: relative;
}

.entry-content ul li::before,
.page-content ul li::before {
  content: "●";
  color: var(--secondary);
  font-size: 0.75em;
  position: absolute;
  left: 0.2em;
  top: 0.2em;
  line-height: 1.6;
}

/* Listas ordenadas — ::marker es fiable para ol en Chrome moderno */
.entry-content ol li::marker,
.page-content ol li::marker {
  color: var(--primary);
  font-weight: 800;
}

/* ============================================
   FORMULARIOS ACCESIBLES
   FIX CHROME: outline sin variable dentro de rgba()
   ============================================ */

input:not([type="radio"]):not([type="checkbox"]),
textarea,
select {
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid #F4EBD8;
  color: var(--text-primary);
  padding: 14px;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 16px;
}

input:not([type="radio"]):not([type="checkbox"]):focus,
textarea:focus,
select:focus {
  border-color: var(--primary);
  outline: 3px solid var(--focus-outline);
  outline-offset: 2px;
  box-shadow: var(--shadow-sm);
}

label {
  color: var(--text-primary);
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 0.6em;
  display: block;
}
/* ============================================
   FOOTER DISTINTIVO
   ============================================ */

.site-footer {
  background: linear-gradient(135deg, var(--primary-dark) 0%, #1B524A 100%);
  color: rgba(255, 255, 255, 0.9);
  padding: 3em 0 2em;
  margin-top: 4em;
  border-top: 5px solid var(--secondary);
}

.site-footer a {
  color: var(--secondary);
  font-weight: 500;
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--text-white);
  text-decoration: underline;
  text-decoration-color: var(--text-white);
}

/* ============================================
   TABLAS PROFESIONALES
   ============================================ */

table {
  border-collapse: collapse;
  width: 100%;
  box-shadow: var(--shadow-sm);
  border-radius: 8px;
  overflow: hidden;
  margin: 2em 0;
}

th {
  background: var(--primary);
  color: var(--text-white);
  padding: 14px;
  font-weight: 700;
  text-align: left;
}

td {
  border-bottom: 1px solid #F4EBD8;
  padding: 12px 14px;
  color: var(--text-primary);
}

tr:hover {
  background: var(--primary-light);
}

/* ============================================
   OPTIMIZACIÓN MÓVIL
   ============================================ */

@media (max-width: 768px) {

  /* CTAs más grandes táctiles */
  .ast-button,
  .wp-block-button__link,
  .cta-button {
    padding: 18px 36px;
    font-size: 18px;
    width: 100%;
    text-align: center;
  }

  /* H3 responsive */
  .entry-content h3,
  .page-content h3,
  article h3 {
    padding: 0.4em 0.8rem;
    font-size: clamp(17px, 4.5vw, 20px);
  }

  /* H2 responsive */
  .entry-content h2,
  .page-content h2,
  article h2:not(.bdp-post-title) {
    padding: 0.6em 1rem;
    font-size: clamp(22px, 5vw, 26px);
  }

  /* Enlaces Amazon responsive */
  .entry-content a[href*="amzn.to"],
  .entry-content a[href*="amazon.es"] {
    display: block;
    text-align: center;
    padding: 12px 20px;
  }



  /* Footer stack */
  .site-footer {
    text-align: center;
  }

  /* Tablas scroll horizontal */
  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}
/* ===== H) Fondo del sitio arena (Astra lo tenía en gris #f5f5f5) ===== */
.ast-separate-container,
body.ast-separate-container{ background-color: var(--psv-bg) !important; }
/* ============================================
   MODO OSCURO (preparado para futuro)
   ============================================ */

@media (prefers-color-scheme: dark) {
  /* Aquí puedes añadir estilos para modo oscuro cuando lo necesites

  :root {
    --bg-white: #1C1813;
    --text-primary: #F4EBD8;
    etc...
  }
  */
}

/* ============================================
   PRINT STYLES (impresión optimizada)
   ============================================ */

@media print {
  .site-header,
  .site-footer,
  .ast-button,
  .cta-button {
    display: none;
  }

  body {
    background: white;
    color: black;
  }

  a {
    text-decoration: underline;
    color: black;
  }
}

/* ============================================
   PÁGINA DE BLOG
   ============================================ */

.blog-intro-text {
  max-width: 1200px;
  margin: 0 auto 40px;
  padding: 0 20px;
}

.blog-intro-text p {
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 20px;
  color: #333;
}

.blog-intro-text p:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .blog-intro-text p {
    font-size: 16px;
    line-height: 1.7;
  }
}

/* =========================================================
   TIPOGRAFÍA Y LEGIBILIDAD GLOBAL
   ========================================================= */

/* Móvil: mejor legibilidad general */
@media (max-width: 767px) {

  body,
  .entry-content p,
  .entry-content li {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  h1,
  .entry-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }

  h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  h3 {
    font-size: 19px !important;
    line-height: 1.3 !important;
  }

  h4 {
    font-size: 17px !important;
  }

  h5,
  h6 {
    font-size: 16px !important;
  }

  .entry-content p {
    margin-bottom: 1.4em !important;
  }

  .entry-content {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}

/* Tablets: escalado de titulares */
@media (min-width: 768px) and (max-width: 1024px) {

  h1,
  .entry-title {
    font-size: 32px !important;
  }

  h2 {
    font-size: 25px !important;
  }

  h3 {
    font-size: 21px !important;
  }
}

/* Desktop: ancho máximo del contenido de posts */
.single .entry-content {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   PRODUCTO INDIVIDUAL Y DESCARGABLES
   ========================================================= */

.single-product .summary .price {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.single-product .summary .single_add_to_cart_button {
  width: 100%;
  min-height: 52px;
  font-size: 1.05rem;
  font-weight: 700;
  border-radius: 10px;
}

.single-product .summary form.cart {
  margin-bottom: 1rem;
}

.single-product .summary .quantity {
  display: none !important;
}

.single-product div.product .product_meta {
  display: none;
}

/* Bloque de confianza/descarga en producto */
.psv-download-trust {
  margin: 1rem 0 1.25rem;
  padding: 1rem 1.1rem;
  background: #FBF7EE;
  border: 1px solid #F4EBD8;
  border-radius: 10px;
}

.psv-download-trust ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.psv-download-trust li {
  margin: 0 0 .5rem;
  line-height: 1.5;
}

.psv-download-trust li:last-child {
  margin-bottom: 0;
}

.psv-download-note {
  margin: .75rem 0 1rem;
  color: #4b5563;
  font-size: .96rem;
}

/* Imagen y resumen del producto */
.woocommerce div.product div.images {
  margin-bottom: 0 !important;
}

.woocommerce div.product div.summary {
  padding-top: 8px !important;
}

/* Galería: sin icono lupa + lightbox agradable */
.woocommerce-product-gallery__trigger {
  display: none !important;
}

.woocommerce-product-gallery__image a {
  cursor: zoom-in;
}

.flex-control-thumbs li img {
  border-radius: 4px;
  opacity: 0.6;
  transition: opacity .2s, border .2s;
  border: 2px solid transparent;
}

.flex-control-thumbs li img:hover,
.flex-control-thumbs li img.flex-active {
  opacity: 1;
  border-color: #2E8278;
}

/* PhotoSwipe (lightbox WooCommerce) */
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background-color: rgba(26, 82, 118, 0.75) !important;
  border-radius: 50%;
  width: 44px !important;
  height: 44px !important;
  opacity: 1 !important;
}

.pswp__button--arrow--left:hover,
.pswp__button--arrow--right:hover {
  background-color: rgba(26, 82, 118, 1) !important;
}

.pswp__counter {
  font-size: 14px;
  opacity: .9;
}

/* =========================================================
   ESTILO GENERAL WOOCOMMERCE
   ========================================================= */

/* Botones principales */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background-color: #2E8278 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 12px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border: none !important;
  transition: background 0.2s ease !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: #1B524A !important;
  color: #ffffff !important;
}

/* Página producto: títulos, precio y breve descripción */
.woocommerce div.product .product_title {
  color: #2E8278;
  font-size: 1.8em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: #e67e22 !important;
  font-size: 2em !important;
  font-weight: 700 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  border-left: 4px solid #2E8278;
  padding-left: 14px;
  color: #444;
}

/* Checkout */
.woocommerce-checkout #customer_details .woocommerce-billing-fields h3,
.woocommerce-checkout h3 {
  color: #2E8278;
  border-bottom: 2px solid #EAF3F1;
  padding-bottom: 8px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border: 1px solid #d5d8dc !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
}

.woocommerce form .form-row input.input-text:focus {
  border-color: #2E8278 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(26, 82, 118, 0.12) !important;
}

.woocommerce-checkout #order_review_heading {
  color: #2E8278;
}

/* Carrito y resumen del pedido */
.woocommerce-checkout-review-order table,
.woocommerce-cart-form table {
  border-radius: 8px;
  overflow: hidden; 
}

.woocommerce table.shop_table thead th {
  background-color: #2E8278;
  color: #ffffff;
  font-weight: 600;
}

.woocommerce table.shop_table tbody tr:nth-child(even) {
  background-color: #EAF3F1;
}

/* Mensajes de estado */
.woocommerce-message,
.woocommerce-info {
  border-top-color: #2E8278 !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: #2E8278 !important;
}

/* Página de gracias / pedido recibido */
.woocommerce-order-received h2,
.woocommerce-order .woocommerce-order-overview {
  color: #2E8278;
}

.woocommerce-order .woocommerce-order-overview li {
  border-right: 1px solid #EAF3F1;
}

/* Descargas en el área de cliente */
.woocommerce-MyAccount-downloads-file {
  background-color: #2E8278 !important;
  color: white !important;
  padding: 8px 18px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
}

/* Responsive checkout*/ 
@media (max-width: 768px) {
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
  } 
} 
/* =========================================================
   CATEGORÍAS DE PRODUCTO: BANNER Y TARJETAS
   ========================================================= */

/* Ocultar H1 duplicado de WooCommerce en categorías */
.woocommerce-products-header__title.page-title {
  display: none !important;
}

.woocommerce-products-header {
  margin-bottom: 0;
  padding-bottom: 0;
}


/* Barra de ordenación */
.woocommerce-result-count {
  font-size: .88rem;
  color: #6b7280;
  margin-top: 6px;
}

.woocommerce-ordering select {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: .88rem;
  color: #374151;
  background: #fff;
}

/* Tarjetas de producto (categoría / shop) */
.tax-product_cat .woocommerce ul.products li.product,
.woocommerce ul.products li.product {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .07);
  transition: box-shadow .25s, transform .25s;
  overflow: hidden;
  padding-bottom: 16px !important;
}

.tax-product_cat .woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 28px rgba(26, 82, 118, .2);
  transform: translateY(-5px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link img {
  border-radius: 10px 10px 0 0;
  transition: transform .35s;
  display: block;
  margin-bottom: 0 !important;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__link img {
  transform: scale(1.04);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #2E8278 !important;
  padding: 14px 16px 4px !important;
  line-height: 1.3 !important;
  margin-top: 12px !important;
}

.woocommerce ul.products li.product .price {
  color: #e67e22 !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  padding: 0 16px 10px !important;
  display: block !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button {
  margin: 4px 16px 0 !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  background-color: #2E8278 !important;
  color: #fff !important;
  border: none !important;
  padding: 11px 0 !important;
  font-size: .95rem !important;
  transition: background .2s !important;
}

.woocommerce ul.products li.product .button:hover {
  background-color: #1B524A !important;
}

/* Compatibilidad con antiguo banner inline de caché */
.ast-container > div[style*="position:relative"][style*="overflow:hidden"] {
  border-radius: 10px !important;
  box-shadow: 0 4px 20px rgba(26, 82, 118, .15) !important;
  margin-bottom: 36px !important;
}

.ast-container > div[style*="position:relative"] img {
  height: 240px !important;
}

.ast-container > div[style*="position:relative"] > div[style*="position:absolute"] {
  background: linear-gradient(to right, rgba(26, 82, 118, .82) 0%, rgba(26, 82, 118, .45) 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 0 40px !important;
}

.ast-container > div[style*="position:relative"] h2 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  margin-bottom: 10px !important;
  line-height: 1.2 !important;
}

/* =========================================================
   LANDING /TIENDA/: HERO, CATEGORÍAS, TRUST, FAQ, ABOUT
   ========================================================= */

/* Hero principal */
.psv-hero {
  background: #EAF3F1;
  border-radius: 14px;
  padding: 48px 40px;
  margin-bottom: 48px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Fix para que el contenedor interno de WordPress no se mueva a la derecha */
.psv-hero .wp-block-cover__inner-container {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 850px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.psv-hero__text,
.psv-hero h1,
.psv-hero h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: #2E8278;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 16px;
  width: 100%;
  /* Reset de estilos globales que causaban el desplazamiento */
  border-left: none !important;
  background: none !important;
  padding: 0 !important;
}

/* Selector corregido para el párrafo descriptivo */
.psv-hero__sub {
  color: #4b5563;
  font-size: 1.02rem;
  line-height: 1.7;
  margin: 0 0 20px;
}

.psv-hero__bullets {
  list-style: none;
  padding: 0;
  margin: 0 auto 28px !important;
  display: table !important; /* Centra el bloque pero mantiene texto a la izquierda */
  text-align: left !important;
}

.psv-hero__bullets li {
  padding: 5px 0 5px 28px;
  position: relative;
  /*color: #374151;*/
  font-size: .99rem;
  line-height: 1.5;
}

.psv-hero__bullets li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #2E8278;
  font-weight: 700;
  font-size: 1rem;
}

.psv-hero__btn {
  display: inline-block;
  background: #2E8278;
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .2s;
}

.psv-hero__btn:hover {
  background: #1B524A;
}

.psv-hero__img img {
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(26, 82, 118, .18);
}

/* Titular de sección reutilizable */
.psv-section-title {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: #246A60 !important;
  margin: 0 0 24px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #EAF3F1 !important;
}

/* Grid de categorías (tarjetas perro/gato) */
.psv-cats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 32px 0 40px;
}

.psv-cats-grid a.psv-cat-card {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(20, 40, 70, .12);
  transition: transform .25s ease, box-shadow .25s ease;
  line-height: 0;
}

.psv-cats-grid a.psv-cat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(20, 40, 70, .20);
}

.psv-cats-grid a.psv-cat-card img {
  display: block;
  width: 100%;
  height: auto;
}

.psv-cats-heading {
  font-size: 1.6rem;
  margin: 8px 0 4px;
  color: #246A60;
}

.psv-cats-sub {
  color: #556275;
  margin-bottom: 16px;
}

/* Bloque de confianza (3 columnas) */
.psv-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 40px 0;
}

.psv-trust-card {
  background: #ffffff;
  border: 1px solid #F4EBD8;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(20, 40, 70, .06);
  text-align: center;
}

.psv-trust-card__icon {
  display: inline-block;
  font-size: 1.8rem;
  margin-bottom: 12px;
}

.psv-trust-card h3 {
  margin: 0 0 10px;
  color: #246A60;
  font-size: 1.05rem;
  font-weight: 700;
}

.psv-trust-card p {
  margin: 0;
  color: #556275;
  font-size: .92rem;
  line-height: 1.55;
}

/* FAQ acordeón */
.psv-faq {
  margin: 48px 0;
}

.psv-faq-item {
  border: 1px solid #F4EBD8;
  border-radius: 12px;
  background: #fff;
  padding: 0;
  margin-bottom: 14px;
  overflow: hidden;
}

.psv-faq-item summary {
  cursor: pointer;
  list-style: none; /* Firefox */
  padding: 18px 20px;
  font-weight: 600;
  color: #246A60;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .97rem;
  background: #ffffff;
}

.psv-faq-item summary::-webkit-details-marker {
  display: none; /* Chrome/Safari */
}

.psv-faq-item summary::-webkit-details-marker {
  display: none;
}

.psv-faq-item summary::after {
  content: "+";
  font-size: 1.3rem;
  color: #246A60;
  font-weight: 300;
  margin-left: 12px;
  flex-shrink: 0;
}

.psv-faq-item[open] summary {
  background: #EAF3F1;
}

.psv-faq-item[open] summary::after {
  content: "−";
}

.psv-faq-item__body {
  padding: 0 20px 18px;
  color: #556275;
  font-size: .94rem;
  line-height: 1.65;
  border-top: 1px solid #F4EBD8;
  background: #ffffff;
}

/* Bloque “Sobre nosotros” */
.psv-about__avatar {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  border-radius: 50%;
  background: #EAF3F1;
  flex-shrink: 0;
}

.psv-about h3 {
  margin: 0 0 10px;
  color: #246A60;
  font-size: 1.05rem;
  font-weight: 700;
}

.psv-about p {
  margin: 0;
  color: #556275;
  font-size: .94rem;
  line-height: 1.65;
}

/* Responsive específico de /tienda/ */
@media (max-width: 768px) {
  .psv-hero {
    gap: 24px;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
  }

  .psv-hero__img {
    display: none;
  }
}

@media (max-width: 680px) {
  .psv-cats-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .psv-trust-grid {
    grid-template-columns: 1fr;
  }
}

/* Explora por especie - versión con Containers */

.psv-species-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin:32px 0 40px;
}

.psv-species-card{
  position:relative;
  min-height:320px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(20,40,70,.12);
  transition:transform .25s ease, box-shadow .25s ease;
}

.psv-species-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(20,40,70,.18);
}

.psv-species-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(16,35,56,.58), rgba(16,35,56,.18));
  z-index:1;
}

.psv-species-card > *{
  position:relative;
  z-index:2;
}

.psv-species-card .uagb-container__inner-wrap,
.psv-species-card .spectra-container,
.psv-species-card .block-editor-block-list__layout{
  height:100%;
}

.psv-species-card h3,
.psv-species-card h4,
.psv-species-card p,
.psv-species-card a{
  color:#fff;
}

.psv-species-card h3,
.psv-species-card h4{
  margin:0;
  font-size:1.35rem;
  line-height:1.2;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}

.psv-species-card p{
  margin:.5rem 0 0;
  font-size:1rem;
}

.psv-species-card a{
  text-decoration:none;
  font-weight:600;
}

.psv-species-card a:hover{
  text-decoration:underline;
}

@media (max-width:680px){
  .psv-species-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .psv-species-card{
    min-height:240px;
  }
}

/* ============================================
   PSV — ELEMENTOS ADICIONALES (PROXIMAMENTE Y MODAL)
   ============================================ */

/* Coming soon */
.psv-coming-soon {
  margin: 3rem 0 2rem;
  padding: 1.75rem 1.5rem;
  border-radius: 16px;
  background: #FBF7EE;
  text-align: left;
}

.psv-coming-soon h3 {
  margin: 0 0 .5rem;
  font-size: 1.25rem;
}

.psv-coming-soon p {
  margin: 0 0 1rem;
  max-width: 40rem;
}

.psv-coming-soon__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1.4rem;
  border-radius: 999px;
  border: none;
  background: #2E8278;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

/* Modal suscripción */
.psv-modal-suscribirse {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.psv-modal-suscribirse__dialog {
  background: #fff;
  border-radius: 12px;
  padding: 36px 32px;
  max-width: 440px;
  width: 92%;
  box-shadow: 0 8px 40px rgba(0,0,0,.25);
  position: relative;
}

.psv-modal-suscribirse__close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  color: #666;
}

.psv-modal-suscribirse__title {
  margin: 0 0 8px;
  color: #2E8278;
  font-size: 1.3em;
}

.psv-modal-suscribirse__text {
  margin: 0 0 20px;
  color: #555;
  font-size: .95em;
}

.psv-modal-suscribirse__input {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #d5d8dc;
  border-radius: 7px;
  font-size: 1em;
  box-sizing: border-box;
  margin-bottom: 10px;
}

.psv-modal-suscribirse__button {
  width: 100%;
  padding: 12px;
  background: #2E8278;
  color: #fff;
  border: none;
  border-radius: 7px;
  font-size: 1em;
  font-weight: 600;
  cursor: pointer;
}

.psv-modal-suscribirse__msg {
  margin: 12px 0 0;
  text-align: center;
  color: #2E8278;
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
 * PSV — HERO DE CATEGORÍAS DE PRODUCTO + FIX "SOBRE EL AUTOR"
 * Pegar al FINAL de astra-child/style.css
 * Última actualización: 2026-04-19
 * ═══════════════════════════════════════════════════════════════ */

/* 1) Ocultar header WooCommerce duplicado y banner antiguo en categorías */
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .psv-cat-banner {
  display: none !important;
}

/* 2) Hero base — se inserta con snippet PHP #70 (woocommerce_before_main_content) */
body.tax-product_cat .psv-cat-hero {
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 1.5rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 24px;
  overflow: hidden;
  margin: 0 0 2.5rem;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

/* Parche full-width por si el template limita el ancho del hero */
body.tax-product_cat .ast-container > .psv-cat-hero {
  flex: 0 0 100% !important;
  width: 100% !important;
  margin-left: 0;
  margin-right: 0;
  order: -1;
}
body.tax-product_cat .ast-container {
  flex-wrap: wrap !important;
}
/* 3) Imágenes de fondo por slug (WEBP sin texto) */
body.tax-product_cat .psv-cat-hero--perros {
  background-image:
    linear-gradient(rgba(20, 45, 80, .55), rgba(20, 45, 80, .55)),
    url('https://plandesaludveterinario.com/wp-content/uploads/2026/04/tienda-card-perros.webp');
}

body.tax-product_cat .psv-cat-hero--gatos {
  background-image:
    linear-gradient(rgba(20, 45, 80, .55), rgba(20, 45, 80, .55)),
    url('https://plandesaludveterinario.com/wp-content/uploads/2026/04/tienda-card-gatos.webp');
}

/* 4) Contenido del hero (título + descripción) */
.psv-cat-hero__inner {
  max-width: 860px;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 2;
}

.psv-cat-hero__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
}

.psv-cat-hero__text {
  margin: 0 auto;
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.6;
  max-width: 60ch;
  color: #fff;
}

@media (max-width: 600px) {
  body.tax-product_cat .psv-cat-hero {
    min-height: 260px;
    padding: 2.5rem 1rem;
    border-radius: 16px;
  }
}

/* ═══════════════════════════════════════════════════════════════
 * FIX /tienda/ — BLOQUE "SOBRE EL AUTOR"
 * UAGB/Spectra envuelve los hijos en .uagb-container-inner-blocks-wrap,
 * por eso el grid 72px + 1fr del .psv-about colapsaba todo a 72px.
 * Neutralizamos el grid del padre y lo reaplicamos al wrapper real.
 * ═══════════════════════════════════════════════════════════════ */
.psv-about {
  display: block !important;
}

.psv-about .uagb-container-inner-blocks-wrap {
  display: grid !important;
  grid-template-columns: 72px 1fr !important;
  gap: 8px 24px !important;
  align-items: start !important;
}

.psv-about .psv-about__avatar {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  margin: 0 !important;
  font-size: 2.8rem !important;
  line-height: 1 !important;
}

.psv-about h2.wp-block-heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
}

.psv-about p:not(.psv-about__avatar) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
}

@media (max-width: 600px) {
  .psv-about .uagb-container-inner-blocks-wrap {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .psv-about .psv-about__avatar,
  .psv-about h2.wp-block-heading,
  .psv-about p:not(.psv-about__avatar) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
 * FIX /tienda/ — TARJETAS "EXPLORA POR ESPECIE"
 * Mismo problema que .psv-about: UAGB envuelve los hijos en
 * .uagb-container-inner-blocks-wrap, así que el grid del padre
 * no afecta a las tarjetas. Reaplicamos el grid al wrapper real.
 * ═══════════════════════════════════════════════════════════════ */
.psv-species-grid {
  display: block !important;
}

.psv-species-grid > .uagb-container-inner-blocks-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
}

.psv-species-grid .psv-species-card {
  max-width: 100% !important;
  width: 100% !important;
}

.psv-species-card > .wp-block-cover {
  width: 100% !important;
  flex: 1 1 100% !important;
}

@media (max-width: 600px) {
  .psv-species-grid > .uagb-container-inner-blocks-wrap {
    grid-template-columns: 1fr !important;
  }
}


/* ===== B) MARCA GLOBAL (ex-#168) ===== */
400;500;600;700;800&display=swap");

/* ===================================================================
   PSV #168 — Marca global (fuente de verdad del reskin)
   Aplica salvia / terracota / arena + Poppins en TODO el sitio.
   - La TIENDA la detalla #158 (no se duplica aquí).
   - Aquí va lo GLOBAL: home, blog, header, enlaces, botones genéricos,
     newsletter #82 y CTA de posts #141.
   - Poppins por @import (sobrevive al stripper de Google Fonts de #123).
   Generado: 2026-06-10
   =================================================================== */

/* 1 · Tokens + override de la paleta global de Astra (azul #046bd2 -> salvia) */
:root{
  --psv-salvia:#2E8278; --psv-salvia-7:#246A60; --psv-salvia-8:#1B524A;
  --psv-terra:#E87858;  --psv-terra-6:#C8593B;
  --psv-arena:#EDE0CC;  --psv-arena-1:#F4EBD8;  --psv-bg:#FBF7EE;
  --psv-tierra:#1C1813; --psv-tierra-6:#2E2823; --psv-line:#E4D7BE;
  --ast-global-color-0:#2E8278 !important;
  --ast-global-color-1:#246A60 !important;
  --ast-global-color-2:#1C1813 !important;
  --ast-global-color-3:#4A413A !important;
  --ast-global-color-5:#FBF7EE !important;
  --ast-global-color-8:#1C1813 !important;
  --ast-border-color:#E4D7BE !important;
}

/* 2 · Tipografía + base */
body,button,input,select,textarea,.ast-container,.entry-content{font-family:"Poppins",system-ui,sans-serif;}
body{color:var(--psv-tierra-6);background:var(--psv-bg);}
h1,h2,h3,h4,h5,h6,.entry-title,.site-title{font-family:"Poppins",sans-serif;letter-spacing:-.02em;color:var(--psv-tierra);}
a{color:var(--psv-salvia-7);}
a:hover{color:var(--psv-salvia-8);}

/* 3 · Header */
.site-header,.ast-primary-header-bar,header.site-header{background:rgba(251,247,238,.96)!important;border-bottom:1px solid var(--psv-line)!important;}
.site-title a{color:var(--psv-salvia-7)!important;font-weight:800;}
.main-header-menu a,.ast-header-break-point .main-header-menu a{color:var(--psv-tierra)!important;}
.main-header-menu a:hover,.main-header-menu .current-menu-item>a{color:var(--psv-salvia-7)!important;}
.ast-header-search .astra-search-icon,.ast-cart-menu-wrap .ast-cart-icon,.ast-site-header-cart a{color:var(--psv-salvia-7)!important;}
.ast-cart-menu-wrap .count,.ast-site-header-cart .ast-cart-menu-wrap .count{background:var(--psv-terra)!important;border-color:var(--psv-terra)!important;color:#fff!important;}

/* 4 · Botones genéricos (NO Woo; la tienda la pinta #158, mismos tokens) */
.wp-block-button__link,.ast-button,.ast-custom-button,.entry-content .wp-block-button__link,input[type=submit]{
  background:var(--psv-salvia)!important;color:#fff!important;border:0!important;border-radius:14px!important;
  font-weight:600!important;font-family:"Poppins",sans-serif!important;
}
.wp-block-button__link:hover,.ast-button:hover,.ast-custom-button:hover,input[type=submit]:hover{background:var(--psv-salvia-7)!important;}

/* 5 · Newsletter #82 (azul #1B3A6B / naranja #F39C12 -> salvia / terracota) */
.psv-nl-form input[type=email]:focus{border-color:var(--psv-salvia)!important;}
.psv-nl-form button[type=submit]{background:var(--psv-salvia)!important;}
.psv-nl-form button[type=submit]:hover{background:var(--psv-salvia-8)!important;}
.psv-nl-prominent{background:#EAF3F1!important;border-left-color:var(--psv-salvia)!important;}
.psv-nl-prominent .psv-nl-h,.psv-nl-incontent .psv-nl-h{color:var(--psv-salvia-7)!important;}
.psv-nl-incontent{border-top-color:var(--psv-terra)!important;}
#psv-nl-bar{background:var(--psv-salvia-8)!important;}
#psv-nl-bar .psv-nl-form button{background:var(--psv-terra)!important;color:#fff!important;}
#psv-nl-bar .psv-nl-form button:hover{background:var(--psv-terra-6)!important;}
#psv-nl-bar .psv-nl-form input[type=email]:focus{border-color:var(--psv-terra)!important;}

/* 6 · CTA de posts #141 (estilo inline azul -> salvia/arena, vía selector de atributo) */
div[style*="0073aa"]{border-left-color:var(--psv-salvia)!important;background:var(--psv-arena-1)!important;}
div[style*="0073aa"] a{color:var(--psv-salvia-7)!important;}



/* 7  AJUSTE LAYOUT — quitar caja blanca (arena de borde a borde) ===== */
.ast-separate-container .ast-article-inner,
.ast-separate-container .ast-article-single,
.ast-separate-container .comments-area .comment-respond,
.ast-separate-container .ast-comment-list li .comment-body{
  background-color: transparent !important;
  box-shadow: none !important;
}
.ast-separate-container{padding-top:0 !important;}







/* ===== C) WOOCOMMERCE (ex-#158) ===== */
/* ============================================================
   Plan de Salud Veterinario — Estilos WooCommerce sobre Astra
   ------------------------------------------------------------
   Pega este CSS en: Apariencia → Personalizar → CSS adicional
   (o, mejor, en el style.css de un tema hijo de Astra).

   Reproduce la identidad de la maqueta (salvia / terracota /
   arena / Poppins) sobre el marcado por defecto de WooCommerce.
   No toca el HTML: solo estiliza las clases que genera Woo.
   ============================================================ */

/* 1 · Tokens de marca -------------------------------------- */
:root {
  --psv-salvia:   #2E8278;
  --psv-salvia-7: #246A60;
  --psv-terra:    #E87858;
  --psv-terra-6:  #C8593B;
  --psv-arena:    #EDE0CC;
  --psv-arena-1:  #F4EBD8;
  --psv-bg:       #FBF7EE;
  --psv-tierra:   #1C1813;   /* texto (casi-negro cálido) */
  --psv-tierra-6: #2E2823;
  --psv-tierra-5: #4A413A;
  --psv-line:     #E4D7BE;
  --psv-radius:   18px;
  --psv-shadow:   0 6px 24px rgba(44,36,22,0.08);
}

/* 2 · Tipografía Poppins (cárgala en Astra → Tipografía, o aquí) */
body.woocommerce, body.woocommerce-page,
.woocommerce, .woocommerce-page { font-family: "Poppins", system-ui, sans-serif; color: var(--psv-tierra); }
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce .product_title { font-family: "Poppins", sans-serif; font-weight: 700; letter-spacing: -0.02em; color: var(--psv-tierra); }

/* 3 · Rejilla de productos (archive / shop) ---------------- */
.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid var(--psv-line);
  border-radius: var(--psv-radius);
  box-shadow: 0 1px 2px rgba(44,36,22,0.05);
  overflow: hidden;
  padding: 0 0 18px;
  transition: box-shadow .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--psv-shadow); transform: translateY(-2px); }
.woocommerce ul.products li.product a img { margin: 0 0 14px; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Poppins", sans-serif; font-weight: 700; font-size: 17px; line-height: 1.25;
  padding: 0 18px; color: var(--psv-tierra);
}
.woocommerce ul.products li.product .price { padding: 0 18px; display: block; margin-top: 8px; }

/* 4 · Precios (convención española) ------------------------ */
.woocommerce .price, .woocommerce div.product p.price {
  font-family: "Poppins", sans-serif; font-weight: 700; color: var(--psv-tierra);
}
.woocommerce .price del { color: #9C8F7A; font-weight: 500; opacity: 1; }
.woocommerce .price ins { color: var(--psv-terra-6); text-decoration: none; font-weight: 700; }

/* 5 · Badge de oferta -------------------------------------- */
.woocommerce span.onsale {
  background: var(--psv-terra); color: #fff;
  font-family: "Poppins", sans-serif; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; border-radius: 999px; min-height: 0; min-width: 0;
  padding: 4px 11px; top: 14px; right: 14px; left: auto; line-height: 1.4;
}

/* 6 · Botones (Comprar / Añadir) --------------------------- */
.woocommerce a.button, .woocommerce button.button,
.woocommerce #respond input#submit, .woocommerce .button.alt,
.woocommerce ul.products li.product .button {
  background: var(--psv-salvia); color: #fff;
  font-family: "Poppins", sans-serif; font-weight: 600; font-size: 15px;
  border-radius: 14px; padding: 12px 20px; border: 1px solid transparent;
  transition: background .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce .button.alt:hover { background: var(--psv-salvia-7); color: #fff; }
.woocommerce ul.products li.product .button { margin: 12px 18px 0; display: block; text-align: center; }

/* Botón secundario / fantasma */
.woocommerce a.button.psv-ghost {
  background: transparent; color: var(--psv-salvia-7);
  border: 1px solid #9CC6BE;
}

/* 7 · Ficha de producto (single) --------------------------- */
.woocommerce div.product .woocommerce-product-gallery { border-radius: 22px; overflow: hidden; box-shadow: var(--psv-shadow); }
.woocommerce div.product .product_title { font-size: clamp(28px,3.6vw,40px); line-height: 1.12; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 34px; }
.woocommerce .woocommerce-tabs ul.tabs li { background: transparent; border: 0; }
.woocommerce .woocommerce-tabs ul.tabs li.active a { color: var(--psv-salvia-7); }
.woocommerce .woocommerce-tabs ul.tabs::before { border-color: var(--psv-line); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--psv-salvia); }

/* 8 · Cantidad / inputs ------------------------------------ */
.woocommerce .quantity .qty { border: 1px solid var(--psv-line); border-radius: 12px; font-family: "Poppins", sans-serif; }

/* 9 · Migas y cabecera de tienda --------------------------- */
.woocommerce .woocommerce-breadcrumb { color: #786E5E; font-size: 13px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--psv-salvia-7); }
.woocommerce-products-header__title, .woocommerce .page-title { font-family: "Poppins", sans-serif; }

/* 10 · Categorías como “chips” en la barra de orden -------- */
.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--psv-line); border-radius: 12px; padding: 9px 14px;
  font-family: "Poppins", sans-serif; background: #fff;
}

/* 11 · Aviso legal (insertable como bloque) ---------------- */
.psv-aviso {
  background: #FBF3E2; border: 1px solid #EBD5A2; border-radius: var(--psv-radius);
  padding: 18px 22px; color: #5A3F0E; font-size: 14px; line-height: 1.6;
}
.psv-aviso strong { display: block; margin-bottom: 6px; font-weight: 700; }


/* ===== D) GLOBALES no-capitalize + columnas (ex-#124) ===== */
h1,h2,h3,h4,h5,h6,.entry-content :where(h1,h2,h3,h4,h5,h6),.site-title,.site-title a,.wp-block-heading{text-transform:none !important;}
@media (min-width:782px){
 .wp-block-columns>.wp-block-column{display:flex !important;flex-direction:column !important;}
 .wp-block-columns>.wp-block-column>.wp-block-group{flex:1 !important;display:flex !important;flex-direction:column !important;}
 .wp-block-columns>.wp-block-column>.wp-block-group>.wp-block-buttons:last-child{margin-top:auto !important;}
}


/* ===== E) CHECKOUT móvil/engine (ex-#76) ===== */
/*==================================================
0) CORE SAFE RESET
==================================================*/

body.woocommerce-cart #main *,
body.woocommerce-checkout #main *,
body.woocommerce-order-received #main *{
    box-sizing:border-box;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
    width:100%!important;
    max-width:100%!important;
}

body.woocommerce-cart .ast-container,
body.woocommerce-checkout .ast-container,
body.woocommerce-order-received .ast-container{
    max-width:100%!important;
    padding:0!important;
}

/*==================================================
1) LAYOUT ENGINE — single column, full width
==================================================*/

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #order_review{
    width:100%!important;
    float:none!important;
    padding:0 16px!important;
    box-sizing:border-box;
}

/* Recortar elementos Select2 ocultos que desbordan en móvil */
body.woocommerce-checkout form.checkout{
    overflow-x:hidden!important;
}

/* Select2 oculto accesible — no debe expandir el layout */
body.woocommerce-checkout .select2-hidden-accessible{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
}

/* Span display-name de Select2 */
body.woocommerce-checkout .select2-container{
    max-width:100%!important;
    overflow:hidden!important;
}

/*==================================================
2) CART ENGINE
==================================================*/

body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    width:100%!important;
    border-collapse:collapse!important;
}

body.woocommerce-cart .woocommerce-cart-form tr.cart_item{
    background:transparent!important;
    box-shadow:none!important;
}

body.woocommerce-cart .woocommerce-cart-form tbody td{
    padding:12px 8px!important;
}

body.woocommerce-cart tr.cart_item td::before,
body.woocommerce-cart tr.cart_item th::before{
    content:none!important;
    display:none!important;
}

/*==================================================
3) SECCION TU PEDIDO
==================================================*/

body.woocommerce-checkout #order_review_heading{
    display:none!important;
}

body.woocommerce-checkout .psv-section-heading{
    font-size:17px!important;
    font-weight:700!important;
    color:#154363!important;
    margin:20px 0 10px!important;
    padding:0 16px!important;
    border-left:4px solid #1B3A6B;
    line-height:1.3;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table{
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    overflow:hidden!important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead{
    display:none!important;
}

/* tbody como bloque para que tr pueda ser block */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody{
    display:block!important;
    width:100%!important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    background:#fff;
    border:1px solid #e6e6e6;
    border-radius:14px;
    padding:14px;
    margin-bottom:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    padding:5px 0!important;
    border:none!important;
}

body.woocommerce-checkout .product-name{
    word-break:break-word!important;
    overflow-wrap:break-word!important;
    white-space:normal!important;
    line-height:1.35;
    font-weight:600;
    color:#154363;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td[data-title]::before{
    content:attr(data-title);
    font-weight:700;
    color:#154363;
    margin-right:6px;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot{
    display:block;
    margin-top:10px;
    background:#f6fbff;
    border:1px solid #d6e6f2;
    border-radius:14px;
    padding:14px;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr{
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    padding:10px 0;
    border-bottom:1px solid #e3edf5;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child{
    border-bottom:none;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{
    background:transparent!important;
    color:#154363!important;
    padding:0!important;
    border:none!important;
    font-weight:600;
}

body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td{
    font-size:18px!important;
    font-weight:800!important;
    color:#154363!important;
}

body.woocommerce-checkout .order-total td bdi,
body.woocommerce-checkout .order-total td .woocommerce-Price-amount{
    color:#28a745!important;
}

/*==================================================
4) FORMULARIO FACTURACION
==================================================*/

body.woocommerce-cart input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
body.woocommerce-cart select,
body.woocommerce-cart textarea,
body.woocommerce-checkout input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
body.woocommerce-checkout select,
body.woocommerce-checkout textarea{
    width:100%!important;
    font-size:16px!important;
    padding:12px!important;
    border-radius:10px!important;
    border:1px solid #ddd!important;
}

body.woocommerce-checkout #payment input[type="radio"],
body.woocommerce-checkout .wc_payment_method input[type="radio"]{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    padding:0!important;
    margin:0 8px 0 0!important;
    border:none!important;
    border-radius:50%!important;
    flex-shrink:0;
    accent-color:#1B3A6B;
    cursor:pointer;
}

.select2-container .select2-selection--single{
    height:48px!important;
    padding:10px!important;
    border-radius:10px!important;
    border:1px solid #ddd!important;
    box-sizing:border-box!important;
}

/*==================================================
5) SECCION DE PAGO
==================================================*/

#payment{
    margin-top:8px!important;
    margin-bottom:22px!important;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:14px;
    padding:18px!important;
}

body.woocommerce-checkout #order_review::before{
    content:"Metodo de pago";
    display:block;
    font-size:17px;
    font-weight:700;
    color:#154363;
    margin-bottom:10px;
    padding-left:12px;
    border-left:4px solid #1B3A6B;
    line-height:1.3;
}

/*==================================================
6) BOTON PAGAR
==================================================*/

#place_order{
    width:100%!important;
    padding:18px!important;
    font-size:18px!important;
    font-weight:800!important;
    background:#28a745!important;
    color:#fff!important;
    border:none!important;
    border-radius:14px!important;
    margin-top:18px!important;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
}

/*==================================================
7) ORDER RECEIVED
==================================================*/

body.woocommerce-order-received .woocommerce{
    width:100%!important;
    max-width:100%!important;
    padding:0 14px!important;
}

/*==================================================
8) PERFORMANCE
==================================================*/

body.woocommerce-cart *,
body.woocommerce-checkout *,
body.woocommerce-order-received *{
    -webkit-tap-highlight-color:transparent;
}


/* ===== F) CHECKOUT — arreglos pago (ex-CSS adicional) ===== */
/* Checkbox de términos */
input#terms {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  padding: 1px !important;
  margin-right: 8px;
}
/* CHECKOUT MÓVIL - mostrar siempre resumen y precios */
@media (max-width: 921px) {
  /* Astra Modern Checkout: evita que el resumen quede colapsado */
  .ast-modern-checkout .woocommerce #ast-order-review-content,
  #ast-order-review-content {
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  /* Oculta el toggle si Astra lo está usando para plegar el resumen */
  .ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle,
  .ast-mobile-order-review-wrap #ast-order-review-toggle {
    display: none !important;
  }
  /* Mantiene visible y alineada la columna de precios */
  .woocommerce-checkout-review-order-table td.product-total,
  .woocommerce-checkout-review-order-table th.product-total {
    visibility: visible !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
  /* El importe dentro de la celda sigue como inline, sin forzarlo a table-cell */
  .woocommerce-checkout-review-order-table td.product-total .woocommerce-Price-amount,
  .woocommerce-checkout-review-order-table th.product-total .woocommerce-Price-amount {
    white-space: nowrap !important;
  }
  /* Evita recortes raros del wrapper */
  .woocommerce-checkout-review-order,
  .woocommerce-checkout-review-order-table,
  .shop_table.woocommerce-checkout-review-order-table {
    overflow: visible !important;
    width: 100% !important;
    table-layout: auto !important;
  }
  /* Si Astra convierte filas en bloques, mantiene legible el precio */
  .woocommerce-checkout-review-order-table tr.cart_item td {
    vertical-align: top !important;
  }
  /* Un poco más de aire para que no se pise texto/precio */
  .woocommerce-checkout-review-order-table td.product-name {
    padding-right: 12px !important;
    word-break: break-word;
  }
}
/* CHECKOUT - métodos de pago */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
  display: inline-block !important;
  line-height: 1.3 !important;
  font-size: 16px !important;
  text-indent: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  vertical-align: middle !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
  margin-right: 8px;
  vertical-align: middle;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-left: 6px !important;
  max-height: 20px !important;
  width: auto !important;
  height: auto !important;
}
/* ============================================
   FIX CHECKOUT - MÉTODOS DE PAGO WOOCOMMERCE
   ============================================ */
/* No romper radios/checkboxes nativos del checkout */
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"],
#payment input[type="radio"],
#payment input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  min-width: 0 !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
/* El checkbox de términos mantiene apariencia de checkbox */
.woocommerce-checkout input[type="checkbox"],
#payment input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
}
/* Restaurar layout normal de etiquetas de métodos de pago */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 0 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  text-indent: 0 !important;
  overflow: visible !important;
  color: #1a2b32 !important;
  font-weight: 600 !important;
}
/* Logos e iconos visibles */
/* Logos e iconos del método de pago — solo label children, NO iframes de pago */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label svg,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label span {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  max-height: 24px !important;
}
/* ============================================
   PAYMENT BOX — estilo cuando está visible (WC JS gestiona show/hide)
   ============================================ */
/* Estilo base cuando WC JS muestra la caja */
.woocommerce-checkout #payment .payment_box {
  overflow: visible !important;
  padding: 18px 16px !important;
  margin-top: 8px !important;
}
/* ============================================
   FIX TARJETA - PAYPAL PPCP HOSTED FIELDS
   ============================================ */
/* Wrapper general de campos PPCP */
.woocommerce-checkout #payment .payment_method_ppcp-gateway .payment_box,
.woocommerce-checkout #payment [class*="ppcp"] .payment_box {
  padding: 18px 16px !important;
}
/* Contenedores de hosted fields PPCP */
#ppcp-hosted-field-cc-number-container,
#ppcp-hosted-field-expiry-container,
#ppcp-hosted-field-cc-csc-container,
.ppcp-hosted-fields,
[id^="ppcp-hosted-field-"],
[class*="ppcp-hosted-field"] {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid #d5d8dc !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  margin-bottom: 12px !important;
  overflow: visible !important;
}
/* Iframes PPCP dentro de hosted fields */
#ppcp-hosted-field-cc-number-container iframe,
#ppcp-hosted-field-expiry-container iframe,
#ppcp-hosted-field-cc-csc-container iframe,
[id^="ppcp-hosted-field-"] iframe,
[class*="ppcp"] iframe,
.woocommerce-checkout #payment .payment_method_ppcp-gateway iframe {
  display: block !important;
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  border: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}
/* Labels de campos tarjeta */
.woocommerce-checkout #payment .payment_method_ppcp-gateway label,
.woocommerce-checkout #payment [class*="ppcp"] label {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 14px !important;
  color: #444 !important;
}
/* Botón PayPal (alternativa al lugar_order) */
#ppcp-hosted-fields-wrapper,
.ppcp-button-wrapper {
  margin-top: 14px !important;
}
/* ============================================
   FIX WOOPAYMENTS / STRIPE (mantenido por compatibilidad)
   ============================================ */
.woocommerce-checkout #payment .payment_method_woocommerce_payments .wc-payment-form,
.woocommerce-checkout #payment .payment_method_woocommerce_payments .wc-credit-card-form,
.woocommerce-checkout #payment .payment_method_woocommerce_payments .payment_box > div,
.woocommerce-checkout #payment .payment_method_stripe .wc-payment-form,
.woocommerce-checkout #payment .payment_method_stripe .wc-credit-card-form {
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
}
.woocommerce-checkout #payment .payment_method_woocommerce_payments .form-row,
.woocommerce-checkout #payment .payment_method_stripe .form-row {
  display: block !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  clear: both !important;
}
.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .StripeElement,
.woocommerce-checkout #payment .p-PaymentMethodForm,
.woocommerce-checkout #payment .p-CardElement,
.woocommerce-checkout #payment div[id*="wc-stripe"],
.woocommerce-checkout #payment div[id*="wcpay"],
.woocommerce-checkout #payment div[class*="CardField"],
.woocommerce-checkout #payment div[class*="card-field"] {
  display: block !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 16px !important;
  border: 1px solid #d5d8dc !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.woocommerce-checkout #payment iframe[name*="__privateStripeFrame"],
.woocommerce-checkout #payment iframe[src*="stripe"],
.woocommerce-checkout #payment .payment_method_woocommerce_payments iframe,
.woocommerce-checkout #payment .payment_method_stripe iframe {
  display: block !important;
  width: 100% !important;
  min-height: 24px !important;
  opacity: 1 !important;
  visibility: visible !important;
  border: 0 !important;
  background: transparent !important;
}
.woocommerce-checkout #payment .payment_method_woocommerce_payments label,
.woocommerce-checkout #payment .payment_method_stripe label {
  margin-bottom: 8px !important;
}
.woocommerce-checkout #payment .payment_method_woocommerce_payments input[type="checkbox"] {
  margin-right: 8px !important;
  vertical-align: middle !important;
}


/* ===== I) Botón fantasma (outline) en hero/CTAs ===== */
.wp-block-button.is-style-outline > .wp-block-button__link{
  background:transparent !important;
  color:var(--psv-salvia-7) !important;
  border:1.5px solid #9CC6BE !important;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover{
  background:var(--psv-salvia) !important;
  color:#fff !important;
}

/* ===== J) Hero con marco sutil ===== */
.home .wp-block-cover:first-of-type,
.page-id-62187 .wp-block-cover:first-of-type{
  border:1px solid var(--psv-line);
  border-radius:18px;
  box-shadow:0 8px 30px rgba(44,36,22,.07);
  overflow:hidden;
  margin-top:18px;
}

/* ===== L) FAQ (Spectra) + Sobre el autor: centradas y enmarcadas ===== */
.wp-block-uagb-faq{
  max-width:760px !important;
  margin-left:auto !important; margin-right:auto !important;
  background:var(--psv-bg) !important;
  border:1px solid var(--psv-line) !important;
  border-radius:18px !important;
  padding:18px 22px !important;
  box-shadow:0 6px 24px rgba(44,36,22,.06) !important;
}
.wp-block-uagb-faq .uagb-faq-child__outer-wrap,
.wp-block-uagb-faq .uagb-faq-child__wrapper,
.wp-block-uagb-faq .uagb-question{
  border-color:var(--psv-line) !important;
}
.psv-section-title{ text-align:center !important; }
.psv-about{
  max-width:760px !important;
  margin-left:auto !important; margin-right:auto !important;
}