/*
Theme Name: PeekCare
Theme URI: https://peekcare.com.mx
Author: PeekCare
Author URI: https://peekcare.com.mx
Description: Tema personalizado para PeekCare - Snacks naturales para mascotas. Incluye homepage personalizado, archive de categorias, single post, y shortcode de blog dinamico. CSS integrado fijo sin necesidad de personalizacion adicional.
Version: 3.12.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: peekcare
Tags: one-column, custom-colors, custom-menu, featured-images, theme-options, translation-ready, blog
*/

/* ===================================================================
   PeekCare Styles v12.1 — TEMA STANDALONE
   Todo el CSS necesario para el sitio PeekCare.
   Incluye estilos para homepage, single producto, archive producto,
   taxonomia de categorias de producto, y contenido del editor
   de productos (single-product, nutrition-charts, pie charts).
   Restaurado desde v3.10.0 funcional.
   =================================================================== */

/* ===================================================================
   CSS RESET
   =================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{line-height:1.6;-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;}
body{margin:0;padding:0;font-family:'Inter',sans-serif;color:#111318;background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;}
img,video,svg{display:block;max-width:100%;height:auto;}
iframe{max-width:100%;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5,h6{margin:0;}
p{margin:0;}
button,input,select,textarea{font:inherit;margin:0;}
table{border-collapse:collapse;}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden;}
.skip-link{position:absolute;top:-1000em;left:-1000em;}
.skip-link:focus{top:5px;left:5px;z-index:100000;}

/* ===================================================================
   SITE LAYOUT
   =================================================================== */
.site{display:flex;flex-direction:column;min-height:100vh;max-width:1920px;margin:0 auto;overflow-x:hidden;width:100%;}
.site-content{flex:1;overflow-x:hidden;}
.container{width:min(960px,calc(100% - 32px));margin-inline:auto;}

/* ===================================================================
   HEADER
   =================================================================== */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,0.06);padding:10px 0;}
.site-header .container{width:min(960px,calc(100% - 32px));margin-inline:auto;}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.site-header .custom-logo-link{display:flex;align-items:center;}
.site-header .custom-logo-link img{max-height:60px;width:auto;transition:max-height 0.2s ease;}
.site-title{font-family:'Poppins',sans-serif;font-weight:900;font-size:1.4rem;color:#111318;text-decoration:none;letter-spacing:-0.3px;}
.main-navigation{display:flex;align-items:center;}
.nav-menu{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none;}
.nav-menu li{margin:0;padding:0;}
.nav-menu a{display:block;padding:8px 14px;color:#4b4b4b;font-weight:700;font-size:0.85rem;text-decoration:none;border-radius:999px;transition:background 0.15s ease,color 0.15s ease;}
.nav-menu a:hover,.nav-menu a:focus{background:rgba(233,75,60,0.08);color:var(--pc-primary,#E94B3C);}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:#111318;font-size:1.5rem;line-height:1;}

/* ===================================================================
   FOOTER  (v3.11.0 — Configurable desde el Personalizador)
   =================================================================== */
.site-footer{
  background:var(--pc-ink,#111318);
  color:#c7ccd6;
  font-size:0.92rem;
  line-height:1.6;
  margin-top:auto;
  padding-top:48px;
  padding-bottom:48px;
  width:100%;
}
.site-footer .footer-container{width:min(960px,calc(100% - 32px));margin-inline:auto;}
.site-footer *,
.site-footer *::before,
.site-footer *::after{box-sizing:border-box;}
.site-footer a{color:#fff;text-decoration:none;transition:color .2s ease;}
.site-footer a:hover,
.site-footer a:focus{color:var(--pc-accent,#f6a21a);}
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .widget-title{
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  margin:0 0 14px 0;
  font-size:1rem;
  letter-spacing:0.2px;
}
.site-footer p{margin:0 0 10px 0;}
.site-footer ul{margin:0;padding:0;list-style:none;}
.site-footer img{max-width:100%;height:auto;}

/* ----- Barra superior de contacto ----- */
.footer-top-bar{
  background:rgba(0,0,0,0.18);
  padding:10px 0;
  margin:-48px 0 32px 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.footer-contact-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px 26px;
  margin:0;
  padding:0;
  list-style:none;
}
.footer-contact-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:0.85rem;
  color:rgba(255,255,255,0.78);
}
.footer-contact-item a{
  color:rgba(255,255,255,0.78);
  text-decoration:none;
  transition:color .2s ease;
}
.footer-contact-item a:hover,
.footer-contact-item a:focus{color:#fff;}
.footer-contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  color:var(--pc-accent,#f6a21a);
}
.footer-contact-icon svg{display:block;width:16px;height:16px;}

/* ----- Cuerpo principal: widgets ----- */
.footer-main{padding:0 0 24px 0;}
.footer-widgets{display:grid;gap:32px;margin:0 0 24px 0;}
.footer-widgets-cols-1{grid-template-columns:1fr;}
.footer-widgets-cols-2{grid-template-columns:repeat(2,1fr);}
.footer-widgets-cols-3{grid-template-columns:repeat(3,1fr);}
.footer-widgets-cols-4{grid-template-columns:repeat(4,1fr);}

.site-footer .widget{margin:0 0 24px 0;}
.site-footer .widget:last-child{margin-bottom:0;}
.site-footer .widget ul{
  list-style:none;
  padding:0;
  margin:0;
}
.site-footer .widget ul li{
  padding:4px 0;
  font-size:0.88rem;
}
.site-footer .widget ul li a{color:#c7ccd6;}
.site-footer .widget ul li a:hover,
.site-footer .widget ul li a:focus{color:#fff;}
.site-footer .widget input[type="text"],
.site-footer .widget input[type="email"],
.site-footer .widget input[type="url"],
.site-footer .widget input[type="search"],
.site-footer .widget textarea{
  width:100%;
  padding:8px 10px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  color:#fff;
  border-radius:6px;
  font-size:0.85rem;
}
.site-footer .widget input[type="submit"],
.site-footer .widget button{
  background:var(--pc-primary,#E94B3C);
  color:#fff;
  border:none;
  padding:8px 16px;
  border-radius:6px;
  cursor:pointer;
  font-weight:600;
  transition:background .2s ease;
}
.site-footer .widget input[type="submit"]:hover,
.site-footer .widget button:hover{background:var(--pc-accent,#f6a21a);}

/* Placeholder en customizer */
.footer-widget-placeholder{
  background:rgba(255,255,255,0.04);
  border:1px dashed rgba(255,255,255,0.2);
  border-radius:8px;
  padding:18px;
  min-height:120px;
}
.footer-widget-placeholder p{color:rgba(255,255,255,0.5);font-style:italic;}

/* ----- Redes sociales ----- */
.footer-social-wrap{margin:24px 0 0 0;}
.footer-social-icons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.footer-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:rgba(255,255,255,0.08);
  transition:all .25s ease;
  text-decoration:none;
  line-height:0;
}
.footer-social-link svg{
  display:block;
  width:18px;
  height:18px;
  pointer-events:none;
}
.footer-social-link:hover,
.footer-social-link:focus{
  color:var(--pc-accent,#f6a21a);
  background:rgba(255,255,255,0.16);
  transform:translateY(-2px);
}

/* Estilos de iconos sociales */
.footer-social-style-rounded .footer-social-link{border-radius:8px;}
.footer-social-style-circle  .footer-social-link{border-radius:50%;}
.footer-social-style-square  .footer-social-link{border-radius:0;}

/* Tamanos de iconos sociales */
.footer-social-size-small  .footer-social-link{width:30px;height:30px;}
.footer-social-size-small  .footer-social-link svg{width:14px;height:14px;}
.footer-social-size-medium .footer-social-link{width:38px;height:38px;}
.footer-social-size-medium .footer-social-link svg{width:18px;height:18px;}
.footer-social-size-large  .footer-social-link{width:46px;height:46px;}
.footer-social-size-large  .footer-social-link svg{width:22px;height:22px;}

/* ----- Menu del footer ----- */
.footer-menu-wrap{
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:14px 0;
  margin:0 0 16px 0;
}
.footer-menu{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px 22px;
  list-style:none;
  margin:0;
  padding:0;
}
.footer-menu li{margin:0;padding:0;}
.footer-menu a{
  color:rgba(255,255,255,0.78);
  font-size:0.85rem;
  text-decoration:none;
  transition:color .2s ease;
}
.footer-menu a:hover,
.footer-menu a:focus{color:#fff;}

/* ----- Barra inferior (copyright) ----- */
.footer-bottom{
  background:#0a0c10;
  color:#9aa3b2;
  padding:16px 0;
  margin:0;
  border-top:1px solid rgba(255,255,255,0.06);
}
.footer-bottom .footer-container{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 16px;
}
.footer-bottom .site-info{
  color:#9aa3b2;
  font-size:0.82rem;
  margin:0;
  text-align:center;
  flex:1 1 auto;
}
.footer-bottom .site-info a{
  color:#c7ccd6;
  text-decoration:none;
  transition:color .2s ease;
}
.footer-bottom .site-info a:hover,
.footer-bottom .site-info a:focus{color:#fff;}

/* ----- Responsive ----- */
@media (max-width: 900px){
  .footer-widgets-cols-3,
  .footer-widgets-cols-4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 600px){
  .footer-widgets-cols-2,
  .footer-widgets-cols-3,
  .footer-widgets-cols-4{grid-template-columns:1fr;}
  .footer-contact-list{
    flex-direction:column;
    align-items:flex-start;
    gap:6px 0;
  }
  .footer-contact-item{width:100%;}
  .footer-menu{flex-direction:column;gap:6px 0;}
  .footer-bottom .footer-container{flex-direction:column;}
}

/* ----- Compatibilidad con la version anterior ----- */
.site-footer .site-info{color:rgba(255,255,255,0.7);font-size:0.82rem;}
.site-footer .site-info a{color:rgba(255,255,255,0.9);text-decoration:none;}
.site-footer .site-info a:hover{color:#fff;}

/* ===================================================================
   WORDPRESS DEFAULTS
   =================================================================== */
.alignleft{float:left;margin-right:1.5em;margin-bottom:1em;}
.alignright{float:right;margin-left:1.5em;margin-bottom:1em;}
.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto;margin-bottom:1em;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:0.82rem;color:#5b6472;text-align:center;margin:8px 0 0;}
.gallery{display:flex;flex-wrap:wrap;gap:4px;}
.gallery-item{flex:0 0 auto;margin:0;}
.gallery-caption{font-size:0.78rem;color:#5b6472;padding:4px;}
.sticky{position:relative;}
.bypostauthor .fn{font-weight:800;}
.search-form{display:flex;gap:8px;max-width:480px;margin:16px auto;}
.search-form .search-field{flex:1;padding:10px 16px;border:2px solid rgba(0,0,0,0.12);border-radius:999px;font-size:0.88rem;font-family:'Inter',sans-serif;outline:none;transition:border-color 0.15s ease;}
.search-form .search-field:focus{border-color:var(--pc-primary,#E94B3C);}
.search-form .search-submit{padding:10px 20px;background:var(--pc-accent,#f6a21a);color:#1a1206;border:none;border-radius:999px;font-weight:800;font-size:0.85rem;cursor:pointer;transition:transform 0.15s ease,box-shadow 0.15s ease;}
.search-form .search-submit:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(246,162,26,0.22);}
.nav-links{display:flex;justify-content:center;align-items:center;gap:8px;list-style:none;padding:0;margin:0;}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:999px;background:#f5f7fb;color:#111318;font-weight:700;font-size:0.85rem;text-decoration:none;transition:all 0.15s ease;}
.page-numbers:hover,.page-numbers.current{background:#E94B3C;color:#fff;}
.page-numbers.dots{background:transparent;color:#5b6472;pointer-events:none;}
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea{width:100%;padding:12px 16px;border:2px solid rgba(0,0,0,0.10);border-radius:18px;font-size:0.88rem;font-family:'Inter',sans-serif;outline:none;transition:border-color 0.15s ease;}
.comment-form input:focus,
.comment-form textarea:focus{border-color:var(--pc-primary,#E94B3C);}
.comment-form .comment-form-cookies-consent{display:flex;align-items:center;gap:8px;}
.comment-form .submit{padding:12px 24px;background:var(--pc-accent,#f6a21a);color:#1a1206;border:none;border-radius:999px;font-weight:800;font-size:0.88rem;cursor:pointer;transition:transform 0.15s ease;}
.comment-form .submit:hover{transform:translateY(-1px);}
.comment-list{list-style:none;padding:0;margin:0;}
.comment-list .comment{padding:20px 0;border-bottom:1px solid rgba(0,0,0,0.06);}
.comment-list .comment-author{font-weight:700;color:#111318;}
.comment-list .comment-meta{font-size:0.78rem;color:#5b6472;margin-bottom:8px;}
.comment-list .comment-content p{margin:0 0 12px;color:#333;}

/* ===================================================================
   RESPONSIVE HEADER (mobile)
   =================================================================== */
@media (max-width: 768px) {
  .menu-toggle{display:block;}
  .main-navigation .nav-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.99);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:16px;box-shadow:0 8px 24px rgba(0,0,0,0.08);border-radius:0 0 18px 18px;gap:4px;}
  .main-navigation .nav-menu.toggled{display:flex;}
  .nav-menu a{padding:12px 16px;border-radius:14px;font-size:0.92rem;}
  .site-header{padding:12px 0;}
  .site-header .custom-logo-link img{max-height:48px;}
}

/* ===================================================================
   CUSTOM PROPERTIES (globales)
   =================================================================== */
:root {
  --pc-primary: #E94B3C;
  --pc-primary-light: rgba(233,75,60,0.10);
  --pc-accent: #f6a21a;
  --pc-accent-light: rgba(246,162,26,0.14);
  --pc-ink: #111318;
  --pc-muted: #5b6472;
  --pc-bg: #ffffff;
  --pc-bg-light: #fbfcff;
  --pc-card: #f5f7fb;
  --pc-radius: 28px;
  --pc-radius-sm: 18px;
  --pc-radius-pill: 999px;
  --pc-font: 'Inter', sans-serif;
  --pc-heading: 'Poppins', sans-serif;
  --pc-container: 960px;
  --pc-shadow-card: 0 2px 12px rgba(0,0,0,0.06);
  --pc-shadow-btn: 0 14px 30px rgba(246,162,26,0.22);
  --pc-transition: 0.15s ease;
  --color-blue: #4A90D9;
  --color-primary: #E94B3C;
  --color-accent: #f6a21a;
}

/* ===================================================================
   OCULTAR BREADCRUMBS DE WORDPRESS (solo en homepage)
   =================================================================== */
.peekcare-home .breadcrumbs,
.peekcare-home .breadcrumb,
.peekcare-home #breadcrumbs,
.peekcare-home nav.breadcrumbs,
.peekcare-home .breadcrumb-trail,
.peekcare-home nav.woocommerce-breadcrumb,
.peekcare-home .woocommerce-breadcrumb,
.peekcare-home .yoast-breadcrumb,
.peekcare-home .yoast_breadcrumb,
.peekcare-home .site-content .breadcrumb,
.peekcare-home .site-content .breadcrumbs,
.peekcare-home .front-page-content .breadcrumb,
.peekcare-home .front-page-content .breadcrumbs,
.peekcare-home .content-area .breadcrumbs,
.peekcare-home .content-area .breadcrumb,
.peekcare-home .entry-content .breadcrumbs,
.peekcare-home .entry-content .breadcrumb {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ===================================================================
   ELIMINAR ESPACIO ENTRE HEADER Y CONTENIDO (homepage)
   =================================================================== */
.peekcare-home { padding-top: 0 !important; }
.front-page-content { margin-top: 0 !important; padding-top: 0 !important; }
.site-content { padding-top: 0 !important; margin-top: 0 !important; }
.content-area { margin-top: 0 !important; padding-top: 0 !important; }
.entry-content { margin-top: 0 !important; padding-top: 0 !important; }
main.peekcare-home { margin-top: 0 !important; padding-top: 0 !important; }
main.peekcare-product { margin-top: 0 !important; padding-top: 0 !important; max-width: 1920px; overflow-x: hidden; overflow-y: visible; width: 100%; }
.peekcare-product .entry-content,
.single-producto-page .entry-content { margin: 0 !important; padding: 0 !important; max-width: 100% !important; overflow: visible !important; width: 100%; }
.peekcare-product .entry-content > *,
.single-producto-page .entry-content > * { max-width: 100%; box-sizing: border-box; }
.site-content > .container,
.site-content .content-area > .container { margin-top: 0 !important; padding-top: 0 !important; }
.front-page-content > p { display: none !important; }

/* ===================================================================
   HEADER MENU — Color de texto #4b4b4b
   =================================================================== */
.site-header .main-navigation a,
.main-navigation ul li a,
.nav-menu a { color: #4b4b4b !important; }

/* ===================================================================
   BOTONES (globales)
   =================================================================== */
.btn { display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 18px;border-radius:var(--pc-radius-pill);text-decoration:none;font-weight:800;font-family:var(--pc-font);font-size:0.88rem;letter-spacing:0.2px;cursor:pointer;border:none;transition:transform var(--pc-transition),box-shadow var(--pc-transition),background var(--pc-transition),color var(--pc-transition);line-height:1.3; }
.btn:focus-visible { outline:3px solid rgba(246,162,26,0.6);outline-offset:3px; }
.btn-lg { padding:13px 20px;font-size:0.92rem; }
.btn-sm { padding:9px 14px;font-size:0.82rem; }
.btn-primary { background:var(--pc-accent);color:#1a1206;box-shadow:var(--pc-shadow-btn); }
.btn-primary:hover { transform:translateY(-1px);box-shadow:0 18px 34px rgba(246,162,26,0.28); }
.btn-outline { background:transparent;color:var(--pc-ink);border:2px solid rgba(17,19,24,0.18); }
.btn-outline:hover { transform:translateY(-1px);border-color:rgba(17,19,24,0.32); }
.btn-white { background:#ffffff;color:#1A1A1A; }
.btn-white:hover { transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,0.15); }
.btn-accent-outline { background:var(--pc-accent);color:var(--pc-primary); }

/* ===================================================================
   CONTAINER (scoping)
   =================================================================== */
.peekcare-home .container,
.peekcare-archive .container,
.peekcare-single .container,
.peekcare-product .container,
.single-producto-page .container,
.archive-producto .container,
.tax-categoria-producto .container,
.related-posts .container { width:min(var(--pc-container),calc(100% - 32px));margin-inline:auto; }
/* Product page inner container — full bleed for gallery + details */
.peekcare-product .single-product .container,
.single-producto-page .peekcare-product .container { width:min(1200px,calc(100% - 32px));margin-inline:auto; }

/* ===================================================================
   BASE HOMEPAGE
   =================================================================== */
.peekcare-home { font-family:var(--pc-font);color:var(--pc-ink);line-height:1.6;-webkit-font-smoothing:antialiased; }
.peekcare-home *,.peekcare-home *::before,.peekcare-home *::after { box-sizing:border-box; }
.peekcare-home img { border-radius:12px; }
.peekcare-home .banner-full { border-radius:var(--pc-radius); }
.peekcare-home .distributor-logo { border-radius:8px; }

/* ===================================================================
   1. HERO
   =================================================================== */
.peekcare-home .peekcare-hero { display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:480px;max-height:600px;background:var(--pc-bg);margin-top:0;overflow:hidden; }
.peekcare-home .hero-text { padding:48px 32px 48px 48px; }
.peekcare-home .hero-photo { position:relative;min-height:480px;max-height:600px;background-size:cover;background-position:center;border-radius:18px;margin:16px 16px 16px 0;overflow:hidden; }
.peekcare-home .hero-badge { display:inline-flex;gap:10px;align-items:center;padding:10px 22px;border-radius:var(--pc-radius-pill);background:var(--pc-accent);border:1px solid rgba(246,162,26,0.45);font-weight:800;font-size:1rem;color:#1a1206;margin-bottom:18px;letter-spacing:0.3px; }
.peekcare-home .hero-text h1 { font-family:var(--pc-heading);font-size:clamp(28px,3.5vw,44px);line-height:1.12;margin:0 0 14px;font-weight:900;color:var(--pc-ink); }
.peekcare-home .hero-text h1 .highlight { color:var(--pc-primary); }
.peekcare-home .hero-description { color:var(--pc-muted);font-size:clamp(13px,1.3vw,16px);line-height:1.6;max-width:48ch;margin:0; }
.peekcare-home .hero-buttons { display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap;margin-top:24px; }

/* Banner */
.peekcare-home .peekcare-banner-strip { width:100%;text-align:center;line-height:0;padding:0 8px;max-width:1920px;margin:0 auto;overflow:hidden; }
.peekcare-home .banner-full { display:block;width:100%;max-height:280px;object-fit:cover;object-position:center;margin:0 auto; }

/* ===================================================================
   2. BENEFITS
   =================================================================== */
.peekcare-home .section { padding:48px 0; }
.peekcare-home .section-light { background:var(--pc-bg-light); }
.peekcare-home .section-dark { background:var(--pc-ink); }
.peekcare-home .section-header { text-align:center;margin-bottom:28px; }
.peekcare-home .section-header h2 { color:var(--pc-primary);letter-spacing:1.2px;font-weight:900;font-family:var(--pc-heading);margin:0;font-size:clamp(14px,1.6vw,18px);text-transform:uppercase; }
.peekcare-home .section-header h3 { margin:6px 0 6px;font-size:clamp(18px,2.2vw,24px);font-weight:800;font-family:var(--pc-heading);color:var(--pc-ink); }
.peekcare-home .section-subtitle { color:var(--pc-muted);max-width:60ch;margin:0 auto;line-height:1.5;font-size:clamp(13px,1.1vw,14px); }
.peekcare-home .benefits-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:720px;margin:0 auto; }
.peekcare-home .benefit-item { display:flex;align-items:flex-start;gap:12px;text-decoration:none;color:inherit; }
.peekcare-home .benefit-icon { width:44px;height:44px;min-width:44px;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--pc-card);font-size:1.3rem; }
.peekcare-home .benefit-icon img { display:block;width:100%;height:100%;object-fit:contain;padding:4px; }
.peekcare-home .benefit-text h4 { margin:0 0 2px;font-family:var(--pc-heading);font-size:0.88rem;font-weight:800;line-height:1.3;color:var(--pc-ink); }
.peekcare-home .benefit-text p { margin:0;color:var(--pc-muted);font-size:0.8rem;line-height:1.45; }

/* ===================================================================
   3. ALL BREEDS
   =================================================================== */
.peekcare-home .all-breeds { position:relative;max-width:1920px;margin:0 auto;overflow:hidden;background:#111;padding:0!important; }
.peekcare-home .all-breeds-img { display:block;width:100%;height:auto;object-fit:contain; }
.peekcare-home .all-breeds-overlay { position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center; }
.peekcare-home .all-breeds-content { text-align:center; }
.peekcare-home .all-breeds-content h2 { color:var(--pc-primary);font-size:clamp(28px,4vw,48px);font-weight:900;letter-spacing:3px;font-family:var(--pc-heading);margin:0;text-shadow:0 2px 12px rgba(0,0,0,0.35); }

/* ===================================================================
   4. PRODUCTS (homepage)
   =================================================================== */
.peekcare-home .products-section .section-header h2 { color:var(--pc-ink);text-decoration:none;text-transform:none;font-size:clamp(18px,2vw,24px);letter-spacing:0;display:inline-block; }
.peekcare-home .need-filter { position:relative;display:flex;justify-content:center;gap:8px;margin-bottom:24px;flex-wrap:wrap;align-items:center; }
.peekcare-home .need-btn { display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:var(--pc-radius-pill);border:2px solid transparent;font-weight:700;font-size:0.82rem;cursor:pointer;transition:all var(--pc-transition);font-family:var(--pc-font); }
.peekcare-home .need-btn[for="pc-filter-all"] { background:rgba(246,162,26,0.12);border-color:rgba(246,162,26,0.35);color:#b37a14; }
.peekcare-home .need-btn[for="pc-filter-mimar"] { background:rgba(233,75,125,0.12);border-color:rgba(233,75,125,0.35);color:#c4406d; }
.peekcare-home .need-btn[for="pc-filter-entrenar"] { background:rgba(74,144,217,0.12);border-color:rgba(74,144,217,0.35);color:#3572b0; }
.peekcare-home .need-btn[for="pc-filter-calmar"] { background:rgba(76,175,80,0.12);border-color:rgba(76,175,80,0.35);color:#3d8b40; }
.peekcare-home .need-btn[for="pc-filter-all"]:hover { background:rgba(246,162,26,0.22);border-color:#f6a21a; }
.peekcare-home .need-btn[for="pc-filter-mimar"]:hover { background:rgba(233,75,125,0.22);border-color:#e94b7d; }
.peekcare-home .need-btn[for="pc-filter-entrenar"]:hover { background:rgba(74,144,217,0.22);border-color:#4a90d9; }
.peekcare-home .need-btn[for="pc-filter-calmar"]:hover { background:rgba(76,175,80,0.22);border-color:#4caf50; }
.peekcare-home .need-radio { position:absolute;opacity:0;pointer-events:none;width:0;height:0; }
.peekcare-home #pc-filter-all:checked ~ .need-filter .need-btn[for="pc-filter-all"] { background:#f6a21a;border-color:#f6a21a;color:#fff; }
.peekcare-home #pc-filter-mimar:checked ~ .need-filter .need-btn[for="pc-filter-mimar"] { background:#e94b7d;border-color:#e94b7d;color:#fff; }
.peekcare-home #pc-filter-entrenar:checked ~ .need-filter .need-btn[for="pc-filter-entrenar"] { background:#4a90d9;border-color:#4a90d9;color:#fff; }
.peekcare-home #pc-filter-calmar:checked ~ .need-filter .need-btn[for="pc-filter-calmar"] { background:#4caf50;border-color:#4caf50;color:#fff; }
.peekcare-home #pc-filter-all:checked ~ .products-grid .product-card { display:block;opacity:1;transform:translateY(0);pointer-events:auto; }
.peekcare-home #pc-filter-mimar:checked ~ .products-grid .product-card:not([data-need*="mimar"]) { display:none;opacity:0;pointer-events:none; }
.peekcare-home #pc-filter-mimar:checked ~ .products-grid .product-card[data-need*="mimar"] { display:block;opacity:1;pointer-events:auto; }
.peekcare-home #pc-filter-entrenar:checked ~ .products-grid .product-card:not([data-need*="entrenar"]) { display:none;opacity:0;pointer-events:none; }
.peekcare-home #pc-filter-entrenar:checked ~ .products-grid .product-card[data-need*="entrenar"] { display:block;opacity:1;pointer-events:auto; }
.peekcare-home #pc-filter-calmar:checked ~ .products-grid .product-card:not([data-need*="calmar"]) { display:none;opacity:0;pointer-events:none; }
.peekcare-home #pc-filter-calmar:checked ~ .products-grid .product-card[data-need*="calmar"] { display:block;opacity:1;pointer-events:auto; }
.peekcare-home .products-grid .product-card { transition:opacity 0.25s ease,transform 0.25s ease; }
.peekcare-home .products-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.peekcare-home .product-card { background:var(--pc-bg);border-radius:var(--pc-radius-sm);overflow:hidden;box-shadow:var(--pc-shadow-card);transition:transform var(--pc-transition),box-shadow var(--pc-transition),opacity 0.3s ease;text-decoration:none;color:inherit;display:block;cursor:pointer; }
.peekcare-home .product-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.10); }
.peekcare-home .product-image { position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--pc-card); }
.peekcare-home .product-image img { display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;border-radius:var(--pc-radius-sm); }
.peekcare-home .product-card:hover .product-image img { transform:scale(1.03); }
.peekcare-home .product-need-tag { position:absolute;bottom:10px;left:10px;display:inline-block;padding:3px 10px;border-radius:var(--pc-radius-pill);background:var(--pc-accent-light);color:var(--pc-ink);font-weight:700;font-size:0.65rem;letter-spacing:0.3px;z-index:2; }
.peekcare-home .product-card .product-info { padding:14px 16px 18px; }
.peekcare-home .product-card h4 { margin:0 0 6px;font-family:var(--pc-heading);font-size:0.95rem;font-weight:800;color:var(--pc-ink); }
.peekcare-home .product-card p { margin:0 0 10px;color:var(--pc-muted);font-size:0.82rem;line-height:1.45; }
.peekcare-home .product-link { color:var(--pc-primary);font-weight:700;font-size:0.82rem;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color var(--pc-transition); }
.peekcare-home .product-card:hover .product-link { color:var(--pc-accent); }

/* ===================================================================
   5. PROCESS
   =================================================================== */
.peekcare-home .peekcare-process { padding:48px 0;color:var(--pc-ink); }
.peekcare-home .process-container { display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;width:min(var(--pc-container),calc(100% - 32px));margin-inline:auto; }
.peekcare-home .process-content { text-align:left; }
.peekcare-home .process-content h2 { font-family:var(--pc-heading);font-size:clamp(18px,2.2vw,26px);font-weight:900;line-height:1.2;margin:8px 0 6px;color:var(--pc-ink);white-space:normal; }
.peekcare-home .process-content h2 .highlight { color:var(--pc-primary); }
.peekcare-home .process-tagline { font-family:var(--pc-heading);font-size:0.9rem;font-style:italic;color:var(--pc-muted);margin:0 0 10px; }
.peekcare-home .process-description { color:var(--pc-muted);line-height:1.55;margin:0;max-width:48ch;font-size:0.88rem; }
.peekcare-home .process-cta { margin-top:16px; }
.peekcare-home .section-badge { display:inline-block;padding:5px 12px;border-radius:var(--pc-radius-pill);background:var(--pc-primary-light);color:var(--pc-primary);font-weight:800;font-size:0.72rem;letter-spacing:1px;text-transform:uppercase;white-space:nowrap; }
.peekcare-home .process-steps { margin-top:24px;display:flex;flex-direction:column;gap:16px; }
.peekcare-home .process-step { text-align:left; }
.peekcare-home .process-step h4 { font-family:var(--pc-heading);font-weight:800;font-size:0.9rem;margin:0;color:var(--pc-ink); }
.peekcare-home .process-step p { margin:4px 0 0;color:var(--pc-muted);font-size:0.82rem;line-height:1.5;text-align:left; }
.peekcare-home .step-number { display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--pc-primary);color:#fff;font-weight:900;font-size:0.78rem;flex-shrink:0; }
.peekcare-home .step-header { display:flex;align-items:center;gap:10px;margin-bottom:0; }
.peekcare-home .process-media { display:flex;flex-direction:column;gap:12px;max-width:420px; }
.peekcare-home .video-container { border-radius:14px;overflow:hidden;background:#000; }
.peekcare-home .video-header { padding:14px;background:var(--pc-ink);text-align:center; }
.peekcare-home .video-header h3 { color:#fff;margin:0 0 3px;font-family:var(--pc-heading);font-size:0.88rem;font-weight:800;letter-spacing:0.4px; }
.peekcare-home .video-header p { color:rgba(255,255,255,0.9);margin:0;font-size:0.82rem; }
.peekcare-home .video-container video { display:block;width:100%;height:auto; }
.peekcare-home .process-badges { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.peekcare-home .process-badge { display:flex;align-items:center;gap:6px;padding:10px 10px;background:var(--pc-card);border-radius:10px;font-weight:700;font-size:0.75rem;color:var(--pc-ink); }
.peekcare-home .process-badge-icon { font-size:1rem;flex-shrink:0; }

/* ===================================================================
   6. TIPS / BLOG
   =================================================================== */
.peekcare-home .peekcare-blog,.peekcare-archive .archive-posts { padding:48px 0; }
.blog-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.blog-card { background:var(--pc-bg);border-radius:var(--pc-radius-sm);overflow:hidden;box-shadow:var(--pc-shadow-card);transition:transform var(--pc-transition),box-shadow var(--pc-transition); }
.blog-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.10); }
.blog-card-link { display:block;text-decoration:none; }
.blog-image { aspect-ratio:16/9;overflow:hidden; }
.blog-image img { display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;border-radius:0; }
.blog-card:hover .blog-image img { transform:scale(1.03); }
.blog-content { padding:14px; }
.blog-category { display:inline-block;padding:2px 8px;border-radius:var(--pc-radius-pill);background:var(--pc-primary-light);color:var(--pc-primary);font-weight:700;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.5px;text-decoration:none; }
.blog-category:hover { color:var(--pc-accent); }
.blog-card h3 { margin:8px 0 6px;font-family:var(--pc-heading);font-size:0.92rem;font-weight:800;color:var(--pc-ink);line-height:1.3; }
.blog-card h3 a { text-decoration:none;color:inherit; }
.blog-card h3 a:hover { color:var(--pc-primary); }
.blog-excerpt { margin:0 0 8px;color:var(--pc-muted);font-size:0.82rem;line-height:1.45; }
.blog-meta { color:var(--pc-muted);font-size:0.78rem;display:block;margin-bottom:6px; }
.blog-read-more { color:var(--pc-primary);font-weight:700;font-size:0.82rem;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color var(--pc-transition); }
.blog-read-more:hover { color:var(--pc-accent); }
.blog-cta { text-align:center;margin-top:28px; }

/* ===================================================================
   7. TESTIMONIALS
   =================================================================== */
.peekcare-home .section-dark .section-header h2 { color:#fff; }
.peekcare-home .section-dark .section-subtitle { color:rgba(255,255,255,0.8); }
.peekcare-home .testimonials-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.peekcare-home .testimonial-card { background:var(--pc-ink);border:1px solid rgba(255,255,255,0.1);border-radius:14px;padding:22px;color:#fff; }
.peekcare-home .testimonial-rating { color:var(--pc-accent);font-size:1rem;letter-spacing:2px;margin-bottom:10px; }
.peekcare-home .testimonial-text { font-size:0.88rem;line-height:1.55;margin:0 0 14px;color:rgba(255,255,255,0.9);font-style:italic; }
.peekcare-home .testimonial-author { display:flex;align-items:center;gap:10px; }
.peekcare-home .author-avatar { display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--pc-primary);color:#fff;font-weight:800;font-size:0.78rem;flex-shrink:0; }
.peekcare-home .author-name { display:block;color:#fff;font-weight:700;font-size:0.88rem; }
.peekcare-home .author-location { color:rgba(255,255,255,0.6);font-size:0.8rem; }

/* ===================================================================
   8. SOCIAL
   =================================================================== */
.peekcare-home .social-icons { display:flex;justify-content:center;gap:14px;flex-wrap:wrap; }
.peekcare-home .social-icon { display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--pc-card);color:var(--pc-ink);text-decoration:none;transition:all var(--pc-transition); }
.peekcare-home .social-icon:hover { background:var(--pc-primary);color:#fff;transform:translateY(-2px); }
.peekcare-home .social-icon:focus-visible { outline:3px solid rgba(246,162,26,0.6);outline-offset:3px; }

/* ===================================================================
   9. DISTRIBUTORS
   =================================================================== */
.peekcare-home .peekcare-distributors { padding:48px 0;background:var(--pc-ink);color:#fff;text-align:center;max-width:1920px;margin:0 auto;overflow:hidden; }
.peekcare-home .distributors-content { width:min(var(--pc-container),calc(100% - 32px));margin-inline:auto; }
.peekcare-home .distributors-content h2 { font-family:var(--pc-heading);font-size:clamp(18px,2.4vw,26px);font-weight:900;letter-spacing:2px;margin:0;color:#fff; }
.peekcare-home .distributors-subheading { color:rgba(255,255,255,0.95);font-weight:400;margin:4px 0 2px;font-size:clamp(13px,1.3vw,15px); }
.peekcare-home .distributors-text { color:rgba(255,255,255,0.8);margin:0;font-size:0.88rem; }
.peekcare-home .distributor-cards { display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:620px;margin:24px auto;text-align:left; }
.peekcare-home .distributor-card { background:rgba(255,255,255,0.12);padding:20px;border-radius:12px;transition:background var(--pc-transition); }
.peekcare-home .distributor-card:hover { background:rgba(255,255,255,0.18); }
.peekcare-home .distributor-card-title { color:#fff;font-weight:600;margin:0 0 12px;font-size:0.88rem;line-height:1.45; }
.peekcare-home .distributors-current { margin-top:36px;text-align:center; }
.peekcare-home .distributors-current-header { text-align:center;margin-bottom:24px; }
.peekcare-home .distributors-current h3 { color:rgba(255,255,255,0.9);font-size:1.05rem;margin:0 0 8px;font-family:var(--pc-heading);font-weight:800;text-align:center; }
.peekcare-home .distributors-current h4 { color:#fff;margin:0 0 6px;font-weight:700;font-size:0.92rem;text-align:center; }
.peekcare-home .distributors-current-header p { color:rgba(255,255,255,0.85);margin:0;font-size:0.88rem;text-align:center; }
.peekcare-home .distributor-links { display:flex;justify-content:center;gap:24px;flex-wrap:wrap;align-items:center; }
.peekcare-home .distributor-link { display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 28px;background:rgba(255,255,255,0.08);border-radius:14px;text-decoration:none;transition:background var(--pc-transition),transform var(--pc-transition); }
.peekcare-home .distributor-link:hover { background:rgba(255,255,255,0.16);transform:translateY(-2px); }
.peekcare-home .distributor-logo { height:40px;width:auto;filter:brightness(10);transition:filter var(--pc-transition); }
.peekcare-home .distributor-link:hover .distributor-logo { filter:brightness(8); }
.peekcare-home .distributor-link-label { color:rgba(255,255,255,0.75);font-size:0.75rem;font-weight:700;letter-spacing:0.4px; }

/* ===================================================================
   BACK TO TOP
   =================================================================== */
.peekcare-home .peekcare-back-top { text-align:center;padding:16px 0 32px; }
.peekcare-home .back-top-btn { display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--pc-card);color:var(--pc-ink);font-size:1.2rem;text-decoration:none;transition:all var(--pc-transition);border:2px solid rgba(17,19,24,0.12); }
.peekcare-home .back-top-btn:hover { background:var(--pc-primary);color:#fff;border-color:var(--pc-primary);transform:translateY(-2px); }

/* ===================================================================
   ARCHIVE PAGE (blog categorias, tags, busqueda)
   =================================================================== */
.peekcare-archive .archive-header { padding:48px 0 24px;text-align:center;background:var(--pc-bg-light); }
.peekcare-archive .archive-title { font-family:var(--pc-heading);font-size:clamp(22px,3vw,32px);font-weight:900;color:var(--pc-ink);margin:0 0 8px;text-transform:uppercase;letter-spacing:1px; }
.peekcare-archive .archive-description { color:var(--pc-muted);font-size:0.92rem;max-width:50ch;margin:0 auto;line-height:1.5; }
.archive-empty { text-align:center;padding:60px 0; }
.archive-empty p { color:var(--pc-muted);font-size:1rem;margin:0 0 20px; }
.archive-pagination { margin-top:40px;text-align:center; }
.archive-pagination .pagination-links,
.archive-pagination .nav-links { display:flex;justify-content:center;align-items:center;gap:8px;list-style:none;padding:0;margin:0; }
.archive-pagination .page-numbers { display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--pc-radius-pill);background:var(--pc-card);color:var(--pc-ink);font-weight:700;font-size:0.85rem;text-decoration:none;transition:all var(--pc-transition); }
.archive-pagination .page-numbers:hover { background:var(--pc-primary);color:#fff; }
.archive-pagination .page-numbers.current { background:var(--pc-primary);color:#fff; }

/* ===================================================================
   SINGLE PRODUCTO PAGE
   Template: single-producto.php
   =================================================================== */
.single-producto-page {
  font-family: var(--pc-font);
  color: var(--pc-ink);
  padding: 0;
  max-width: 1920px;
  margin: 0 auto;
  overflow: visible;
  width: 100%;
}
/* Aggressive overflow containment — prevent any child from exceeding viewport */
.single-producto-page > *,
.single-producto-page > * > *,
.single-producto-page > * > * > * {
  max-width: 100%;
  box-sizing: border-box;
}
.single-producto-page main,
.single-producto-page .peekcare-product,
.single-producto-page .single-product,
.single-producto-page .entry-content {
  overflow: visible;
  max-width: 100%;
  width: 100%;
}

.single-producto-page .product-breadcrumbs {
  padding: 12px 0;
  background: var(--pc-bg-light);
  margin-bottom: 30px;
  border-radius: var(--pc-radius-sm);
}
.single-producto-page .product-breadcrumbs .breadcrumbs {
  font-size: 14px;
  color: var(--pc-muted);
  display: flex !important;
  visibility: visible !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  border: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.single-producto-page .product-breadcrumbs .breadcrumbs a {
  color: var(--pc-muted);
  text-decoration: none;
  transition: color 0.15s;
}
.single-producto-page .product-breadcrumbs .breadcrumbs a:hover {
  color: var(--pc-primary);
}
.single-producto-page .product-breadcrumbs .separator {
  margin: 0 8px;
  color: #bbb;
}
.single-producto-page .product-breadcrumbs .current {
  color: var(--pc-primary);
  font-weight: 600;
}

/* Layout 50/50 */
.single-producto-page .product-main-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-bottom: 50px;
}
@media (max-width: 900px) {
  .single-producto-page .product-main-layout { grid-template-columns: 1fr; gap: 30px; }
}

/* Gallery */
.single-producto-page .product-gallery-section {
  position: sticky;
  top: 100px;
  align-self: start;
}
.single-producto-page .gallery-main-image {
  background: var(--pc-card);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 15px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.single-producto-page .gallery-main-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
}
.single-producto-page .placeholder-image {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f5f5f5, #e0e0e0);
  color: #999;
  font-size: 24px;
  border-radius: 16px;
}
.single-producto-page .gallery-thumbnails {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.single-producto-page .gallery-thumbnails .thumb {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  border: 3px solid #ddd;
  cursor: pointer;
  padding: 0;
  background: #fff;
  transition: all 0.2s;
}
.single-producto-page .gallery-thumbnails .thumb:hover,
.single-producto-page .gallery-thumbnails .thumb.active {
  border-color: var(--pc-primary);
  transform: scale(1.05);
}
.single-producto-page .gallery-thumbnails .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Video */
.single-producto-page .product-video-preview {
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  margin-top: 20px;
}
.single-producto-page .product-video-preview video {
  width: 100%;
  display: block;
}

/* Info Section */
.single-producto-page .product-info-section {
  padding: 20px 0;
}
.single-producto-page .product-category-label {
  display: inline-block;
  padding: 8px 20px;
  border-radius: var(--pc-radius-pill);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 20px;
}
.single-producto-page .product-main-title {
  font-family: var(--pc-heading);
  font-size: 42px;
  line-height: 1.2;
  color: var(--pc-ink);
  margin-bottom: 20px;
  font-weight: 800;
}
@media (max-width: 600px) {
  .single-producto-page .product-main-title { font-size: 28px; }
}
.single-producto-page .product-description-text {
  font-size: 16px;
  line-height: 1.8;
  color: var(--pc-muted);
  margin-bottom: 30px;
}

/* Benefits Box */
.single-producto-page .product-benefits-box {
  background: linear-gradient(135deg, #f9f9f9, #fff);
  border: 2px solid var(--pc-primary);
  border-radius: 16px;
  padding: 25px;
  margin-bottom: 30px;
}
.single-producto-page .benefits-title {
  font-family: var(--pc-heading);
  font-size: 18px;
  color: var(--pc-primary);
  margin-bottom: 15px;
}
.single-producto-page .benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.single-producto-page .benefits-list li {
  padding: 10px 0;
  padding-left: 30px;
  position: relative;
  font-weight: 500;
  color: #333;
  font-size: 15px;
}
.single-producto-page .benefits-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--pc-primary);
  font-weight: bold;
}

/* Benefits Image */
.single-producto-page .product-benefits-image-section {
  margin-bottom: 50px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}
.single-producto-page .benefits-full-image {
  width: 100%;
  height: auto;
  display: block;
}

/* Additional Content */
.single-producto-page .product-additional-content {
  margin-bottom: 50px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--pc-ink);
}
.single-producto-page .product-additional-content img {
  border-radius: 12px;
  max-width: 100%;
}

/* Related Products */
.single-producto-page .related-products-section {
  padding-top: 30px;
  border-top: 1px solid #eee;
}
.single-producto-page .section-title {
  font-family: var(--pc-heading);
  font-size: 28px;
  color: var(--pc-ink);
  margin-bottom: 30px;
  font-weight: 700;
}
.single-producto-page .related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .single-producto-page .related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .single-producto-page .related-grid { grid-template-columns: 1fr; } }
.single-producto-page .related-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #eee;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s;
}
.single-producto-page .related-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.1);
  border-color: var(--pc-primary);
}
.single-producto-page .related-image {
  aspect-ratio: 1;
  background: var(--pc-card);
  overflow: hidden;
}
.single-producto-page .related-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.single-producto-page .related-card:hover .related-image img {
  transform: scale(1.1);
}
.single-producto-page .related-image .no-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
}
.single-producto-page .related-info {
  padding: 15px;
}
.single-producto-page .related-info h3 {
  font-family: var(--pc-heading);
  font-size: 15px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

@media (max-width: 768px) {
  .single-producto-page { padding-top: 90px; }
  .single-producto-page .product-gallery-section { position: static; }
}

/* ===================================================================
   ARCHIVE PRODUCTO PAGE
   Template: archive-producto.php
   =================================================================== */
.archive-producto {
  font-family: var(--pc-font);
  color: var(--pc-ink);
  padding: 30px 0 80px;
  padding-top: 100px;
  max-width: 1920px;
  margin: 0 auto;
  overflow-x: hidden;
}

.archive-producto .archive-header {
  text-align: center;
  margin-bottom: 40px;
}
.archive-producto .archive-title {
  font-family: var(--pc-heading);
  font-size: 36px;
  margin-bottom: 15px;
  color: var(--pc-ink);
  font-weight: 800;
}
.archive-producto .archive-description {
  font-size: 18px;
  color: var(--pc-muted);
  max-width: 600px;
  margin: 0 auto;
}

/* Filtros */
.archive-producto .product-filters {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.archive-producto .filter-btn {
  padding: 12px 28px;
  border: 2px solid #eee;
  border-radius: 30px;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
  font-family: var(--pc-font);
}
.archive-producto .filter-btn:hover {
  border-color: var(--pc-primary);
  color: var(--pc-primary);
}
.archive-producto .filter-btn.active {
  background: var(--pc-primary);
  border-color: var(--pc-primary);
  color: #fff;
}
.archive-producto .filter-btn[data-category]:not([data-category="all"]).active {
  background: var(--cat-color, var(--pc-primary));
  border-color: var(--cat-color, var(--pc-primary));
}

/* Grid */
.archive-producto .products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
@media (max-width: 1200px) { .archive-producto .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .archive-producto .products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .archive-producto .products-grid { grid-template-columns: 1fr; } }

/* Product Card (archive) */
.archive-producto .product-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: transform 0.3s, box-shadow 0.3s;
}
.archive-producto .product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
.archive-producto .product-card a {
  text-decoration: none;
  color: inherit;
  display: block;
}
.archive-producto .product-card .product-image {
  position: relative;
  aspect-ratio: 1;
  background: var(--pc-card);
  overflow: hidden;
}
.archive-producto .product-card .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.archive-producto .product-card:hover .product-image img {
  transform: scale(1.05);
}
.archive-producto .product-category {
  position: absolute;
  top: 15px;
  left: 15px;
  padding: 6px 14px;
  border-radius: 20px;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.archive-producto .product-card .product-content {
  padding: 20px;
}
.archive-producto .product-card .product-title {
  font-family: var(--pc-heading);
  font-size: 18px;
  margin-bottom: 8px;
  color: var(--pc-ink);
  font-weight: 700;
}
.archive-producto .product-excerpt {
  font-size: 14px;
  color: var(--pc-muted);
  line-height: 1.5;
  margin-bottom: 15px;
}
.archive-producto .view-more {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: var(--pc-primary);
  transition: transform 0.2s;
}
.archive-producto .product-card:hover .view-more {
  transform: translateX(5px);
}

/* No Products */
.archive-producto .no-products {
  text-align: center;
  padding: 60px 20px;
  background: var(--pc-card);
  border-radius: 12px;
}
.archive-producto .no-products p {
  font-size: 16px;
  color: #666;
  margin-bottom: 10px;
}

/* Pagination (archive-producto) */
.archive-producto .pagination {
  margin-top: 50px;
  text-align: center;
}

@media (max-width: 768px) {
  .archive-producto { padding-top: 90px; }
}

/* ===================================================================
   ARCHIVE PRODUCTO v3.12.0 — Mejoras (CSS-only filter, breadcrumbs, etc.)
   =================================================================== */

/* Filtro CSS-only (radio inputs ocultos + labels) */
.archive-producto .need-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.archive-producto .need-filter {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 32px;
  flex-wrap: wrap;
  align-items: center;
}

.archive-producto .need-btn.filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 22px;
  border-radius: 30px;
  border: 2px solid #eee;
  background: #fff;
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 700;
  font-family: var(--pc-font);
  color: var(--pc-ink);
  transition: all 0.2s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.archive-producto .need-btn.filter-btn:hover {
  border-color: var(--pc-primary);
  color: var(--pc-primary);
  transform: translateY(-1px);
}

/* Estado activo del filtro (CSS-only, sin JS) */
.archive-producto #pc-filter-all:checked ~ .need-filter .need-btn[for="pc-filter-all"] {
  background: var(--pc-primary);
  border-color: var(--pc-primary);
  color: #fff;
}
.archive-producto #pc-filter-mimar:checked ~ .need-filter .need-btn[for="pc-filter-mimar"] {
  background: var(--cat-color, #F4A698);
  border-color: var(--cat-color, #F4A698);
  color: #fff;
}
.archive-producto #pc-filter-entrenar:checked ~ .need-filter .need-btn[for="pc-filter-entrenar"] {
  background: var(--cat-color, #4A90A4);
  border-color: var(--cat-color, #4A90A4);
  color: #fff;
}
.archive-producto #pc-filter-calmar:checked ~ .need-filter .need-btn[for="pc-filter-calmar"] {
  background: var(--cat-color, #F5B84C);
  border-color: var(--cat-color, #F5B84C);
  color: #fff;
}

/* Filtrado de tarjetas (CSS-only) */
.archive-producto .products-grid .product-card {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.archive-producto #pc-filter-all:checked ~ .products-grid .product-card {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.archive-producto #pc-filter-mimar:checked ~ .products-grid .product-card:not([data-need*="mimar"]) {
  display: none;
}
.archive-producto #pc-filter-mimar:checked ~ .products-grid .product-card[data-need*="mimar"] {
  display: block;
  opacity: 1;
  animation: pcFadeIn 0.3s ease;
}
.archive-producto #pc-filter-entrenar:checked ~ .products-grid .product-card:not([data-need*="entrenar"]) {
  display: none;
}
.archive-producto #pc-filter-entrenar:checked ~ .products-grid .product-card[data-need*="entrenar"] {
  display: block;
  opacity: 1;
  animation: pcFadeIn 0.3s ease;
}
.archive-producto #pc-filter-calmar:checked ~ .products-grid .product-card:not([data-need*="calmar"]) {
  display: none;
}
.archive-producto #pc-filter-calmar:checked ~ .products-grid .product-card[data-need*="calmar"] {
  display: block;
  opacity: 1;
  animation: pcFadeIn 0.3s ease;
}

@keyframes pcFadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Breadcrumbs en archive */
.archive-producto .peekcare-breadcrumbs {
  background: var(--pc-card, #fbfcff);
  border-bottom: 1px solid #eee;
  padding: 12px 0;
  margin-bottom: 24px;
}
.archive-producto .breadcrumbs-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  font-size: 0.82rem;
}
.archive-producto .breadcrumbs-list li {
  display: inline-flex;
  align-items: center;
  color: var(--pc-muted);
}
.archive-producto .breadcrumbs-list li::after {
  content: "/";
  margin: 0 10px;
  color: #ccc;
}
.archive-producto .breadcrumbs-list li:last-child::after {
  display: none;
}
.archive-producto .breadcrumbs-list li a {
  color: var(--pc-muted);
  text-decoration: none;
  transition: color 0.2s ease;
}
.archive-producto .breadcrumbs-list li a:hover,
.archive-producto .breadcrumbs-list li a:focus {
  color: var(--pc-primary);
}
.archive-producto .breadcrumbs-list li .current {
  color: var(--pc-ink);
  font-weight: 600;
}

/* Contador de resultados */
.archive-producto .archive-results-count {
  text-align: center;
  font-size: 0.85rem;
  color: var(--pc-muted);
  margin-bottom: 24px;
  font-weight: 500;
}
.archive-producto .archive-results-count .results-filtered {
  color: var(--pc-primary);
  font-weight: 600;
}

/* Contenido introductorio de la pagina (Page Template) */
.archive-producto .page-content-intro {
  max-width: 760px;
  margin: 0 auto 32px;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--pc-ink);
}
.archive-producto .page-content-intro p { margin: 0 0 12px; }
.archive-producto .page-content-intro h2,
.archive-producto .page-content-intro h3 {
  margin: 20px 0 10px;
  font-family: var(--pc-heading);
  color: var(--pc-ink);
}

/* Estado vacio mejorado */
.archive-producto .no-products {
  text-align: center;
  padding: 60px 30px;
  background: var(--pc-card, #fbfcff);
  border-radius: 16px;
  max-width: 560px;
  margin: 40px auto;
}
.archive-producto .no-products svg {
  color: var(--pc-muted);
  margin-bottom: 16px;
  opacity: 0.5;
}
.archive-producto .no-products h2 {
  font-family: var(--pc-heading);
  font-size: 1.4rem;
  color: var(--pc-ink);
  margin: 0 0 12px;
}
.archive-producto .no-products p {
  font-size: 0.95rem;
  color: var(--pc-muted);
  line-height: 1.6;
  margin: 0 0 24px;
}
.archive-producto .no-products-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.archive-producto .no-products-cta .btn {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 0.85rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.archive-producto .no-products-cta .btn-primary {
  background: var(--pc-primary, #E94B3C);
  color: #fff;
}
.archive-producto .no-products-cta .btn-primary:hover {
  background: var(--pc-accent, #f6a21a);
  transform: translateY(-1px);
}
.archive-producto .no-products-cta .btn-outline {
  background: transparent;
  color: var(--pc-ink);
  border: 2px solid #ddd;
}
.archive-producto .no-products-cta .btn-outline:hover {
  border-color: var(--pc-primary);
  color: var(--pc-primary);
}

/* Paginacion mejorada (formato lista) */
.archive-producto .pagination {
  margin-top: 50px;
  text-align: center;
}
.archive-producto .pagination ul.page-numbers {
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.archive-producto .pagination ul.page-numbers li {
  list-style: none;
}
.archive-producto .pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #eee;
  background: #fff;
  color: var(--pc-ink);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.archive-producto .pagination .page-numbers:hover,
.archive-producto .pagination .page-numbers:focus {
  border-color: var(--pc-primary);
  color: var(--pc-primary);
  transform: translateY(-1px);
}
.archive-producto .pagination .page-numbers.current {
  background: var(--pc-primary);
  border-color: var(--pc-primary);
  color: #fff;
}
.archive-producto .pagination .page-numbers.current:hover {
  color: #fff;
}
.archive-producto .pagination .page-numbers.prev,
.archive-producto .pagination .page-numbers.next {
  padding: 0 18px;
}
.archive-producto .pagination .page-numbers.dots {
  border: none;
  background: transparent;
  color: var(--pc-muted);
}

/* Ajuste responsive del filtro en movil */
@media (max-width: 600px) {
  .archive-producto .need-filter {
    gap: 6px;
  }
  .archive-producto .need-btn.filter-btn {
    padding: 8px 16px;
    font-size: 0.8rem;
  }
  .archive-producto .pagination .page-numbers {
    min-width: 38px;
    height: 38px;
    font-size: 0.85rem;
  }
}

/* ===================================================================
   TAXONOMY CATEGORIA-PRODUCTO PAGE
   Template: taxonomy-categoria-producto.php
   =================================================================== */
.tax-categoria-producto {
  font-family: var(--pc-font);
  color: var(--pc-ink);
  padding: 30px 0 80px;
  padding-top: 100px;
  max-width: 1920px;
  margin: 0 auto;
  overflow-x: hidden;
}
.tax-categoria-producto .tax-header {
  text-align: center;
  margin-bottom: 40px;
}
.tax-categoria-producto .tax-title {
  font-family: var(--pc-heading);
  font-size: 36px;
  margin-bottom: 15px;
  color: var(--pc-ink);
  font-weight: 800;
}
.tax-categoria-producto .tax-description {
  font-size: 18px;
  color: var(--pc-muted);
  max-width: 600px;
  margin: 0 auto;
}
.tax-categoria-producto .tax-nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.tax-categoria-producto .tax-nav-link {
  display: inline-block;
  padding: 10px 24px;
  border: 2px solid #eee;
  border-radius: var(--pc-radius-pill);
  background: #fff;
  color: var(--pc-ink);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.2s;
}
.tax-categoria-producto .tax-nav-link:hover,
.tax-categoria-producto .tax-nav-link.active {
  background: var(--pc-primary);
  border-color: var(--pc-primary);
  color: #fff;
}

/* Grid y cards: reutilizar estilos de archive-producto */
.tax-categoria-producto .products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
@media (max-width: 1200px) { .tax-categoria-producto .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .tax-categoria-producto .products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .tax-categoria-producto .products-grid { grid-template-columns: 1fr; } }

.tax-categoria-producto .product-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: transform 0.3s, box-shadow 0.3s;
}
.tax-categoria-producto .product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
.tax-categoria-producto .product-card a {
  text-decoration: none;
  color: inherit;
  display: block;
}
.tax-categoria-producto .product-card .product-image {
  position: relative;
  aspect-ratio: 1;
  background: var(--pc-card);
  overflow: hidden;
}
.tax-categoria-producto .product-card .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.tax-categoria-producto .product-card:hover .product-image img {
  transform: scale(1.05);
}
.tax-categoria-producto .product-category {
  position: absolute;
  top: 15px;
  left: 15px;
  padding: 6px 14px;
  border-radius: 20px;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.tax-categoria-producto .product-card .product-content {
  padding: 20px;
}
.tax-categoria-producto .product-card .product-title {
  font-family: var(--pc-heading);
  font-size: 18px;
  margin-bottom: 8px;
  color: var(--pc-ink);
  font-weight: 700;
}
.tax-categoria-producto .product-excerpt {
  font-size: 14px;
  color: var(--pc-muted);
  line-height: 1.5;
  margin-bottom: 15px;
}
.tax-categoria-producto .view-more {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: var(--pc-primary);
}
.tax-categoria-producto .no-products {
  text-align: center;
  padding: 60px 20px;
  background: var(--pc-card);
  border-radius: 12px;
}
.tax-categoria-producto .no-products p {
  font-size: 16px;
  color: #666;
}

@media (max-width: 768px) {
  .tax-categoria-producto { padding-top: 90px; }
}

/* ===================================================================
   PRODUCT PAGE CONTENT (editor content)
   Clases usadas dentro del contenido de los posts del CPT producto.
   Funciona dentro de single-producto-page, peekcare-home, peekcare-product.
   =================================================================== */

/* --- Contenedor principal del producto --- */
.peekcare-product,
.single-producto-page .single-product {
  font-family: var(--pc-font);
  color: var(--pc-ink);
  padding: 30px 0 60px;
  line-height: 1.6;
  max-width: 1920px;
  margin: 0 auto;
  overflow-x: hidden;
  width: 100%;
}

/* --- Layout 50/50: galeria + detalles --- */
.single-producto-page .product-layout,
.peekcare-product .product-layout,
.single-product .product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
  align-items: start;
}
@media (max-width: 768px) {
  .single-producto-page .product-layout,
  .peekcare-product .product-layout,
  .single-product .product-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* --- Galeria de producto --- */
.single-producto-page .product-gallery,
.peekcare-product .product-gallery,
.single-product .product-gallery {
  position: sticky;
  top: 90px;
  align-self: start;
}
@media (max-width: 768px) {
  .single-producto-page .product-gallery,
  .peekcare-product .product-gallery,
  .single-product .product-gallery {
    position: static;
  }
}

/* Imagen principal */
.single-producto-page .product-gallery > .main-product-image,
.peekcare-product .product-gallery > .main-product-image,
.single-product .product-gallery > .main-product-image {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  background: var(--pc-card);
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
  margin-bottom: 16px;
}
.single-producto-page .main-product-image img,
.peekcare-product .main-product-image img,
.single-product .main-product-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
}

/* Thumbnails horizontal scrollable */
.single-producto-page .gallery-thumbnails,
.peekcare-product .gallery-thumbnails,
.single-product .gallery-thumbnails {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
  margin-bottom: 20px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.single-producto-page .gallery-thumbnails::-webkit-scrollbar,
.peekcare-product .gallery-thumbnails::-webkit-scrollbar,
.single-product .gallery-thumbnails::-webkit-scrollbar {
  height: 4px;
}
.single-producto-page .gallery-thumbnails::-webkit-scrollbar-track,
.peekcare-product .gallery-thumbnails::-webkit-scrollbar-track,
.single-product .gallery-thumbnails::-webkit-scrollbar-track {
  background: var(--pc-card);
  border-radius: 4px;
}
.single-producto-page .gallery-thumbnails::-webkit-scrollbar-thumb,
.peekcare-product .gallery-thumbnails::-webkit-scrollbar-thumb,
.single-product .gallery-thumbnails::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
}

/* Cada thumbnail */
.single-producto-page .gallery-thumb,
.peekcare-product .gallery-thumb,
.single-product .gallery-thumb {
  flex: 0 0 80px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
  border: 3px solid transparent;
  cursor: pointer;
  padding: 0;
  background: #fff;
  transition: all 0.2s ease;
  scroll-snap-align: start;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.single-producto-page .gallery-thumb:hover,
.peekcare-product .gallery-thumb:hover,
.single-product .gallery-thumb:hover {
  border-color: var(--pc-accent);
  transform: scale(1.05);
}
.single-producto-page .gallery-thumb.active,
.peekcare-product .gallery-thumb.active,
.single-product .gallery-thumb.active {
  border-color: var(--pc-primary);
  transform: scale(1.05);
  box-shadow: 0 2px 12px rgba(233,75,60,0.2);
}
.single-producto-page .gallery-thumb img,
.peekcare-product .gallery-thumb img,
.single-product .gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- Labels / Etiquetas del producto --- */
.single-producto-page .product-labels,
.peekcare-product .product-labels,
.single-product .product-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.single-producto-page .product-label,
.peekcare-product .product-label,
.single-product .product-label {
  display: inline-block;
  padding: 6px 16px;
  border-radius: var(--pc-radius-pill);
  background: var(--pc-accent-light);
  color: var(--pc-ink);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

/* --- Seccion de detalles --- */
.single-producto-page .product-details,
.peekcare-product .product-details,
.single-product .product-details {
  padding: 10px 0;
}

/* Categoria badge */
.single-producto-page .product-category,
.peekcare-product .product-category,
.single-product .product-category {
  display: inline-block;
  padding: 8px 22px;
  border-radius: var(--pc-radius-pill);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 18px;
  background: var(--pc-primary);
}

/* Titulo */
.single-producto-page .product-title,
.peekcare-product .product-title,
.single-product .product-title {
  font-family: var(--pc-heading);
  font-size: clamp(28px, 3.5vw, 42px);
  line-height: 1.15;
  color: var(--pc-ink);
  margin-bottom: 10px;
  font-weight: 800;
}
@media (max-width: 600px) {
  .single-producto-page .product-title,
  .peekcare-product .product-title,
  .single-product .product-title {
    font-size: 26px;
  }
}

/* Subtitulo */
.single-producto-page .product-subtitle,
.peekcare-product .product-subtitle,
.single-product .product-subtitle {
  font-size: 17px;
  color: var(--pc-muted);
  font-weight: 400;
  margin-bottom: 24px;
  line-height: 1.5;
}

/* --- Meta: miniatura + descripcion lado a lado --- */
.single-producto-page .product-meta,
.peekcare-product .product-meta,
.single-product .product-meta {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 30px;
  padding: 20px;
  background: var(--pc-bg-light);
  border-radius: 16px;
}
@media (max-width: 600px) {
  .single-producto-page .product-meta,
  .peekcare-product .product-meta,
  .single-product .product-meta {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
.single-producto-page .product-miniature,
.peekcare-product .product-miniature,
.single-product .product-miniature {
  flex: 0 0 120px;
  height: 120px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
@media (max-width: 600px) {
  .single-producto-page .product-miniature,
  .peekcare-product .product-miniature,
  .single-product .product-miniature {
    flex: 0 0 160px;
    height: 160px;
  }
}
.single-producto-page .product-miniature img,
.peekcare-product .product-miniature img,
.single-product .product-miniature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.single-producto-page .product-description,
.peekcare-product .product-description,
.single-product .product-description {
  flex: 1;
  font-size: 15px;
  line-height: 1.8;
  color: var(--pc-muted);
}
.single-producto-page .product-description p,
.peekcare-product .product-description p,
.single-product .product-description p {
  margin-bottom: 12px;
}

/* ===================================================================
   NUTRITION CHARTS - Graficos de Pie (circulares)
   Usa conic-gradient para crear graficos tipo pie chart.
   =================================================================== */
.single-producto-page .nutrition-charts,
.peekcare-product .nutrition-charts,
.single-product .nutrition-charts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 30px 0;
  padding: 24px;
  background: var(--pc-bg-light);
  border-radius: 20px;
}
@media (max-width: 600px) {
  .single-producto-page .nutrition-charts,
  .peekcare-product .nutrition-charts,
  .single-product .nutrition-charts {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 18px;
  }
}

/* Cada item del chart */
.single-producto-page .chart-item,
.peekcare-product .chart-item,
.single-product .chart-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

/* Circulo del pie chart */
.single-producto-page .chart-circle,
.peekcare-product .chart-circle,
.single-product .chart-circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}
.single-producto-page .chart-circle:hover,
.peekcare-product .chart-circle:hover,
.single-product .chart-circle:hover {
  transform: scale(1.08);
}

/* SVG inside chart circle */
.single-producto-page .chart-circle svg,
.peekcare-product .chart-circle svg,
.single-product .chart-circle svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  overflow: visible;
}
.single-producto-page .chart-circle .bg,
.peekcare-product .chart-circle .bg,
.single-product .chart-circle .bg {
  fill: none;
  stroke: #e8ecf1;
  stroke-width: 8;
}
.single-producto-page .chart-circle .progress,
.peekcare-product .chart-circle .progress,
.single-product .chart-circle .progress {
  fill: none;
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.8s ease;
}

/* Centro blanco del donut chart */
.single-producto-page .chart-circle::before,
.peekcare-product .chart-circle::before,
.single-product .chart-circle::before {
  content: '';
  position: absolute;
  width: 70%;
  height: 70%;
  background: var(--pc-bg-light);
  border-radius: 50%;
  z-index: 1;
}
@media (max-width: 600px) {
  .single-producto-page .chart-circle,
  .peekcare-product .chart-circle,
  .single-product .chart-circle {
    width: 80px;
    height: 80px;
  }
}

/* Valor del porcentaje */
.single-producto-page .chart-value,
.peekcare-product .chart-value,
.single-product .chart-value {
  font-family: var(--pc-heading);
  font-size: 16px;
  font-weight: 800;
  color: var(--pc-ink);
  position: relative;
  z-index: 2;
  line-height: 1;
}
@media (max-width: 600px) {
  .single-producto-page .chart-value,
  .peekcare-product .chart-value,
  .single-product .chart-value {
    font-size: 13px;
  }
}

/* Label debajo */
.single-producto-page .chart-label,
.peekcare-product .chart-label,
.single-product .chart-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--pc-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  line-height: 1.3;
}

/* Colores especificos por posicion para los charts */
.single-producto-page .chart-item:nth-child(1) .chart-circle,
.peekcare-product .chart-item:nth-child(1) .chart-circle,
.single-product .chart-item:nth-child(1) .chart-circle {
  --chart-color: #E94B3C;
}
.single-producto-page .chart-item:nth-child(2) .chart-circle,
.peekcare-product .chart-item:nth-child(2) .chart-circle,
.single-product .chart-item:nth-child(2) .chart-circle {
  --chart-color: #f6a21a;
}
.single-producto-page .chart-item:nth-child(3) .chart-circle,
.peekcare-product .chart-item:nth-child(3) .chart-circle,
.single-product .chart-item:nth-child(3) .chart-circle {
  --chart-color: #4A90D9;
}
.single-producto-page .chart-item:nth-child(4) .chart-circle,
.peekcare-product .chart-item:nth-child(4) .chart-circle,
.single-product .chart-item:nth-child(4) .chart-circle {
  --chart-color: #4caf50;
}

/* --- Ingredientes --- */
.single-producto-page .ingredients-section,
.peekcare-product .ingredients-section,
.single-product .ingredients-section {
  margin: 30px 0;
  padding: 24px;
  background: linear-gradient(135deg, #fff9f0, #fff);
  border: 2px solid var(--pc-accent);
  border-radius: 16px;
}
.single-producto-page .ingredients-section h4,
.peekcare-product .ingredients-section h4,
.single-product .ingredients-section h4 {
  font-family: var(--pc-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--pc-ink);
  margin-bottom: 12px;
}
.single-producto-page .ingredients-list,
.peekcare-product .ingredients-list,
.single-product .ingredients-list {
  font-size: 14px;
  line-height: 1.8;
  color: var(--pc-muted);
}

/* --- Boton Comprar (full width) --- */
.single-producto-page .btn-full,
.peekcare-product .btn-full,
.single-product .btn-full {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 16px 24px;
  font-size: 1rem;
  margin-top: 24px;
  text-decoration: none;
}

/* --- Grid de imagenes de detalle --- */
.single-producto-page .product-detail-grid,
.peekcare-product .product-detail-grid,
.single-product .product-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 40px 0;
}
@media (max-width: 600px) {
  .single-producto-page .product-detail-grid,
  .peekcare-product .product-detail-grid,
  .single-product .product-detail-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.single-producto-page .product-detail-grid > .main-product-image,
.peekcare-product .product-detail-grid > .main-product-image,
.single-product .product-detail-grid > .main-product-image {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.single-producto-page .product-detail-grid > .main-product-image img,
.peekcare-product .product-detail-grid > .main-product-image img,
.single-product .product-detail-grid > .main-product-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  transition: transform 0.3s ease;
}
.single-producto-page .product-detail-grid > .main-product-image:hover img,
.peekcare-product .product-detail-grid > .main-product-image:hover img,
.single-product .product-detail-grid > .main-product-image:hover img {
  transform: scale(1.02);
}

/* --- Video de producto --- */
.single-producto-page .product-video,
.peekcare-product .product-video,
.single-product .product-video {
  text-align: center;
  margin: 40px 0;
}
.single-producto-page .product-video video,
.peekcare-product .product-video video,
.single-product .product-video video {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  cursor: pointer;
}
@media (max-width: 768px) {
  .single-producto-page .product-video,
  .peekcare-product .product-video,
  .single-product .product-video {
    margin: 24px 0;
  }
}

/* --- Fix: espaciado en contenido del editor --- */
.single-producto-page .entry-content > .single-product,
.peekcare-product .container,
.single-product .container {
  padding: 0;
  margin: 0 auto;
  max-width: 100%;
  overflow-x: hidden;
}

/* ===================================================================
   PRODUCT PAGE — RESPONSIVE MOBILE ENHANCEMENTS
   =================================================================== */
@media (max-width: 768px) {
  .peekcare-product,
  .single-product {
    padding: 16px 0 40px;
  }
  .peekcare-product .single-product,
  .single-producto-page .single-product {
    padding: 0;
  }
  .peekcare-product .product-gallery,
  .single-product .product-gallery {
    position: static;
    width: 100%;
  }
  .peekcare-product .product-gallery > .main-product-image,
  .single-product .product-gallery > .main-product-image {
    border-radius: 12px;
    margin-bottom: 12px;
  }
  .peekcare-product .main-product-image img,
  .single-product .main-product-image img {
    border-radius: 12px;
  }
  .peekcare-product .gallery-thumb,
  .single-product .gallery-thumb {
    flex: 0 0 60px;
    height: 60px;
    border-radius: 10px;
  }
  .peekcare-product .product-details,
  .single-product .product-details {
    padding: 0;
  }
  .peekcare-product .product-title,
  .single-product .product-title {
    font-size: 24px;
    line-height: 1.2;
  }
  .peekcare-product .product-subtitle,
  .single-product .product-subtitle {
    font-size: 14px;
    margin-bottom: 16px;
  }
  .peekcare-product .product-meta,
  .single-product .product-meta {
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
    gap: 12px;
    margin-bottom: 20px;
  }
  .peekcare-product .product-miniature,
  .single-product .product-miniature {
    flex: 0 0 auto;
    height: auto;
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
  }
  .peekcare-product .product-labels,
  .single-product .product-labels {
    gap: 6px;
    margin-bottom: 12px;
  }
  .peekcare-product .product-label,
  .single-product .product-label {
    padding: 4px 10px;
    font-size: 0.7rem;
  }
  .peekcare-product .ingredients-section,
  .single-product .ingredients-section {
    padding: 16px;
    margin: 20px 0;
  }
  .peekcare-product .ingredients-section h4,
  .single-product .ingredients-section h4 {
    font-size: 14px;
  }
  .peekcare-product .ingredients-list,
  .single-product .ingredients-list {
    font-size: 13px;
  }
  .peekcare-product .btn-full,
  .single-product .btn-full {
    padding: 14px 20px;
    font-size: 0.92rem;
    margin-top: 16px;
  }
  .peekcare-product .product-detail-grid,
  .single-product .product-detail-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 24px 0;
  }
  .peekcare-product .product-detail-grid > .main-product-image img,
  .single-product .product-detail-grid > .main-product-image img {
    border-radius: 12px;
  }
}

@media (max-width: 480px) {
  .peekcare-product .product-category,
  .single-product .product-category {
    font-size: 11px;
    padding: 6px 14px;
    margin-bottom: 12px;
  }
  .peekcare-product .product-title,
  .single-product .product-title {
    font-size: 20px;
  }
  .peekcare-product .product-subtitle,
  .single-product .product-subtitle {
    font-size: 13px;
  }
  .peekcare-product .product-description,
  .single-product .product-description {
    font-size: 13px;
    line-height: 1.6;
  }
  .peekcare-product .gallery-thumb,
  .single-product .gallery-thumb {
    flex: 0 0 50px;
    height: 50px;
    border-width: 2px;
  }
  .peekcare-product .chart-circle,
  .single-product .chart-circle {
    width: 70px;
    height: 70px;
  }
  .peekcare-product .chart-value,
  .single-product .chart-value {
    font-size: 11px;
  }
  .peekcare-product .chart-label,
  .single-product .chart-label {
    font-size: 10px;
  }
  .peekcare-product .nutrition-charts,
  .single-product .nutrition-charts {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 14px;
    margin: 20px 0;
  }
}

/* ===================================================================
   PRODUCT PAGE — DEFINITIVE OVERRIDE (v3.9.0)
   Ultima capa: resuelve conflictos de especificidad CSS.
   Usa !important donde sea critico para garantizar aplicacion.
   =================================================================== */

/* --- Contenedor: forzar ancho dentro de producto --- */
.single-producto-page .peekcare-product .single-product .container,
.single-producto-page .peekcare-home.peekcare-product .single-product .container {
  width: min(1200px, calc(100% - 32px)) !important;
  margin-inline: auto !important;
  max-width: 100% !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  overflow: visible !important;
}

/* --- Layout: grid 50/50 con min-width:0 para prevenir blowout --- */
.single-producto-page .product-layout,
.single-producto-page .peekcare-product .product-layout,
.single-producto-page .peekcare-home.peekcare-product .product-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  margin-bottom: 40px !important;
  align-items: start !important;
  overflow: visible !important;
}
.single-producto-page .product-layout > *,
.single-producto-page .product-layout > * > * {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* --- Gallery: sticky en desktop, static en mobile --- */
.single-producto-page .product-gallery,
.single-producto-page .peekcare-product .product-gallery,
.single-producto-page .peekcare-home.peekcare-product .product-gallery {
  position: sticky !important;
  top: 80px !important;
  align-self: start !important;
  overflow: hidden !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* --- Main product image --- */
.single-producto-page .product-gallery > .main-product-image,
.single-producto-page .peekcare-product .product-gallery > .main-product-image,
.single-producto-page .peekcare-home.peekcare-product .product-gallery > .main-product-image {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: var(--pc-card) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  margin-bottom: 14px !important;
}
.single-producto-page .main-product-image img,
.single-producto-page .peekcare-product .main-product-image img,
.single-producto-page .peekcare-home.peekcare-product .main-product-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}

/* --- Thumbnails --- */
.single-producto-page .gallery-thumbnails,
.single-producto-page .peekcare-product .gallery-thumbnails,
.single-producto-page .peekcare-home.peekcare-product .gallery-thumbnails {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  overflow: visible !important;
  margin-bottom: 18px !important;
  max-width: 100% !important;
}
.single-producto-page .gallery-thumb,
.single-producto-page .peekcare-product .gallery-thumb,
.single-producto-page .peekcare-home.peekcare-product .gallery-thumb {
  flex: 0 0 70px !important;
  height: 70px !important;
  min-width: 0 !important;
  max-width: 70px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 3px solid transparent !important;
  cursor: pointer !important;
  background: #fff !important;
  transition: all 0.2s ease !important;
}
.single-producto-page .gallery-thumb img,
.single-producto-page .peekcare-product .gallery-thumb img,
.single-producto-page .peekcare-home.peekcare-product .gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.single-producto-page .gallery-thumb:hover,
.single-producto-page .peekcare-product .gallery-thumb:hover,
.single-producto-page .peekcare-home.peekcare-product .gallery-thumb:hover {
  border-color: var(--pc-accent) !important;
  transform: scale(1.05) !important;
}
.single-producto-page .gallery-thumb.active,
.single-producto-page .peekcare-product .gallery-thumb.active,
.single-producto-page .peekcare-home.peekcare-product .gallery-thumb.active {
  border-color: var(--pc-primary) !important;
  transform: scale(1.05) !important;
  box-shadow: 0 2px 12px rgba(233,75,60,0.2) !important;
}

/* --- Labels --- */
.single-producto-page .product-labels,
.single-producto-page .peekcare-product .product-labels,
.single-producto-page .peekcare-home.peekcare-product .product-labels {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 18px !important;
}
.single-producto-page .product-label,
.single-producto-page .peekcare-product .product-label,
.single-producto-page .peekcare-home.peekcare-product .product-label {
  display: inline-block !important;
  padding: 6px 14px !important;
  border-radius: var(--pc-radius-pill) !important;
  background: var(--pc-accent-light) !important;
  color: var(--pc-ink) !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
}

/* --- Details column --- */
.single-producto-page .product-details,
.single-producto-page .peekcare-product .product-details,
.single-producto-page .peekcare-home.peekcare-product .product-details {
  padding: 8px 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* --- Category badge --- */
.single-producto-page .product-category,
.single-producto-page .peekcare-product .product-category,
.single-producto-page .peekcare-home.peekcare-product .product-category {
  display: inline-block !important;
  padding: 7px 18px !important;
  border-radius: var(--pc-radius-pill) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 14px !important;
  background: var(--pc-primary) !important;
}

/* --- Title --- */
.single-producto-page .product-title,
.single-producto-page .peekcare-product .product-title,
.single-producto-page .peekcare-home.peekcare-product .product-title {
  font-family: var(--pc-heading) !important;
  font-size: clamp(24px, 3vw, 38px) !important;
  line-height: 1.15 !important;
  color: var(--pc-ink) !important;
  margin-bottom: 8px !important;
  font-weight: 800 !important;
}

/* --- Subtitle --- */
.single-producto-page .product-subtitle,
.single-producto-page .peekcare-product .product-subtitle,
.single-producto-page .peekcare-home.peekcare-product .product-subtitle {
  font-size: 15px !important;
  color: var(--pc-muted) !important;
  font-weight: 400 !important;
  margin-bottom: 20px !important;
  line-height: 1.5 !important;
}

/* --- Meta: mini + description --- */
.single-producto-page .product-meta,
.single-producto-page .peekcare-product .product-meta,
.single-producto-page .peekcare-home.peekcare-product .product-meta {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  margin-bottom: 24px !important;
  padding: 16px !important;
  background: var(--pc-bg-light) !important;
  border-radius: 14px !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.single-producto-page .product-miniature,
.single-producto-page .peekcare-product .product-miniature,
.single-producto-page .peekcare-home.peekcare-product .product-miniature {
  flex: 0 0 100px !important;
  height: 100px !important;
  min-width: 0 !important;
  max-width: 100px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08) !important;
}
.single-producto-page .product-miniature img,
.single-producto-page .peekcare-product .product-miniature img,
.single-producto-page .peekcare-home.peekcare-product .product-miniature img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.single-producto-page .product-description,
.single-producto-page .peekcare-product .product-description,
.single-producto-page .peekcare-home.peekcare-product .product-description {
  flex: 1 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--pc-muted) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.single-producto-page .product-description p,
.single-producto-page .peekcare-product .product-description p,
.single-producto-page .peekcare-home.peekcare-product .product-description p {
  margin-bottom: 8px !important;
}

/* --- Nutrition Charts --- */
.single-producto-page .nutrition-charts,
.single-producto-page .peekcare-product .nutrition-charts,
.single-producto-page .peekcare-home.peekcare-product .nutrition-charts {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin: 24px 0 !important;
  padding: 20px !important;
  background: var(--pc-bg-light) !important;
  border-radius: 16px !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.single-producto-page .chart-item,
.single-producto-page .peekcare-product .chart-item,
.single-producto-page .peekcare-home.peekcare-product .chart-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 8px !important;
}

/* --- Chart circles (SVG) --- */
.single-producto-page .chart-circle,
.single-producto-page .peekcare-product .chart-circle,
.single-producto-page .peekcare-home.peekcare-product .chart-circle {
  width: 90px !important;
  height: 90px !important;
  min-width: 0 !important;
  max-width: 90px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08) !important;
}
.single-producto-page .chart-circle svg,
.single-producto-page .peekcare-product .chart-circle svg,
.single-producto-page .peekcare-home.peekcare-product .chart-circle svg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: rotate(-90deg) !important;
}
.single-producto-page .chart-circle .bg,
.single-producto-page .peekcare-product .chart-circle .bg,
.single-producto-page .peekcare-home.peekcare-product .chart-circle .bg {
  fill: none !important;
  stroke: #e8ecf1 !important;
  stroke-width: 7 !important;
}
.single-producto-page .chart-circle .progress,
.single-producto-page .peekcare-product .chart-circle .progress,
.single-producto-page .peekcare-home.peekcare-product .chart-circle .progress {
  fill: none !important;
  stroke-width: 7 !important;
  stroke-linecap: round !important;
}
.single-producto-page .chart-circle::before,
.single-producto-page .peekcare-product .chart-circle::before,
.single-producto-page .peekcare-home.peekcare-product .chart-circle::before {
  content: '' !important;
  position: absolute !important;
  width: 68% !important;
  height: 68% !important;
  background: var(--pc-bg-light) !important;
  border-radius: 50% !important;
  z-index: 1 !important;
}
.single-producto-page .chart-value,
.single-producto-page .peekcare-product .chart-value,
.single-producto-page .peekcare-home.peekcare-product .chart-value {
  font-family: var(--pc-heading) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--pc-ink) !important;
  position: relative !important;
  z-index: 2 !important;
  line-height: 1 !important;
}
.single-producto-page .chart-label,
.single-producto-page .peekcare-product .chart-label,
.single-producto-page .peekcare-home.peekcare-product .chart-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--pc-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  line-height: 1.3 !important;
}

/* --- Ingredients --- */
.single-producto-page .ingredients-section,
.single-producto-page .peekcare-product .ingredients-section,
.single-producto-page .peekcare-home.peekcare-product .ingredients-section {
  margin: 24px 0 !important;
  padding: 20px !important;
  background: linear-gradient(135deg, #fff9f0, #fff) !important;
  border: 2px solid var(--pc-accent) !important;
  border-radius: 14px !important;
  max-width: 100% !important;
}
.single-producto-page .ingredients-section h4,
.single-producto-page .peekcare-product .ingredients-section h4,
.single-producto-page .peekcare-home.peekcare-product .ingredients-section h4 {
  font-family: var(--pc-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--pc-ink) !important;
  margin-bottom: 10px !important;
}
.single-producto-page .ingredients-list,
.single-producto-page .peekcare-product .ingredients-list,
.single-producto-page .peekcare-home.peekcare-product .ingredients-list {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: var(--pc-muted) !important;
}

/* --- Buy button --- */
.single-producto-page .btn-full,
.single-producto-page .peekcare-product .btn-full,
.single-producto-page .peekcare-home.peekcare-product .btn-full {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-content: center !important;
  padding: 14px 20px !important;
  font-size: 0.95rem !important;
  margin-top: 20px !important;
  text-decoration: none !important;
}

/* --- Detail grid --- */
.single-producto-page .product-detail-grid,
.single-producto-page .peekcare-product .product-detail-grid,
.single-producto-page .peekcare-home.peekcare-product .product-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
  margin: 32px 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.single-producto-page .product-detail-grid > .main-product-image,
.single-producto-page .peekcare-product .product-detail-grid > .main-product-image,
.single-producto-page .peekcare-home.peekcare-product .product-detail-grid > .main-product-image {
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.single-producto-page .product-detail-grid > .main-product-image img,
.single-producto-page .peekcare-product .product-detail-grid > .main-product-image img,
.single-producto-page .peekcare-home.peekcare-product .product-detail-grid > .main-product-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 14px !important;
  object-fit: cover !important;
}

/* --- Video --- */
.single-producto-page .product-video,
.single-producto-page .peekcare-product .product-video,
.single-producto-page .peekcare-home.peekcare-product .product-video {
  text-align: center !important;
  margin: 32px 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.single-producto-page .product-video video,
.single-producto-page .peekcare-product .product-video video,
.single-producto-page .peekcare-home.peekcare-product .product-video video {
  display: block !important;
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.12) !important;
  cursor: pointer !important;
}

/* ===================================================================
   PRODUCT PAGE — DEFINITIVE MOBILE RESPONSIVE
   =================================================================== */
@media (max-width: 768px) {
  .single-producto-page .peekcare-product .single-product .container,
  .single-producto-page .peekcare-home.peekcare-product .single-product .container {
    width: calc(100% - 24px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .single-producto-page .product-layout,
  .single-producto-page .peekcare-product .product-layout,
  .single-producto-page .peekcare-home.peekcare-product .product-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .single-producto-page .product-gallery,
  .single-producto-page .peekcare-product .product-gallery,
  .single-producto-page .peekcare-home.peekcare-product .product-gallery {
    position: static !important;
  }
  .single-producto-page .gallery-thumb,
  .single-producto-page .peekcare-product .gallery-thumb,
  .single-producto-page .peekcare-home.peekcare-product .gallery-thumb {
    flex: 0 0 55px !important;
    height: 55px !important;
    max-width: 55px !important;
  }
  .single-producto-page .product-meta,
  .single-producto-page .peekcare-product .product-meta,
  .single-producto-page .peekcare-home.peekcare-product .product-meta {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 14px !important;
    gap: 12px !important;
  }
  .single-producto-page .product-miniature,
  .single-producto-page .peekcare-product .product-miniature,
  .single-producto-page .peekcare-home.peekcare-product .product-miniature {
    flex: 0 0 auto !important;
    height: auto !important;
    width: 100% !important;
    max-width: 180px !important;
  }
  .single-producto-page .product-detail-grid,
  .single-producto-page .peekcare-product .product-detail-grid,
  .single-producto-page .peekcare-home.peekcare-product .product-detail-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .single-producto-page .nutrition-charts,
  .single-producto-page .peekcare-product .nutrition-charts,
  .single-producto-page .peekcare-home.peekcare-product .nutrition-charts {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 14px !important;
    margin: 18px 0 !important;
  }
  .single-producto-page .chart-circle,
  .single-producto-page .peekcare-product .chart-circle,
  .single-producto-page .peekcare-home.peekcare-product .chart-circle {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
  }
  .single-producto-page .chart-value,
  .single-producto-page .peekcare-product .chart-value,
  .single-producto-page .peekcare-home.peekcare-product .chart-value {
    font-size: 12px !important;
  }
  .single-producto-page .product-video video,
  .single-producto-page .peekcare-product .product-video video,
  .single-producto-page .peekcare-home.peekcare-product .product-video video {
    max-width: 100% !important;
  }
  .single-producto-page .product-title,
  .single-producto-page .peekcare-product .product-title,
  .single-producto-page .peekcare-home.peekcare-product .product-title {
    font-size: 22px !important;
  }
}

@media (max-width: 480px) {
  .single-producto-page .peekcare-product .single-product .container,
  .single-producto-page .peekcare-home.peekcare-product .single-product .container {
    width: calc(100% - 16px) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .single-producto-page .gallery-thumb,
  .single-producto-page .peekcare-product .gallery-thumb,
  .single-producto-page .peekcare-home.peekcare-product .gallery-thumb {
    flex: 0 0 48px !important;
    height: 48px !important;
    max-width: 48px !important;
  }
  .single-producto-page .chart-circle,
  .single-producto-page .peekcare-product .chart-circle,
  .single-producto-page .peekcare-home.peekcare-product .chart-circle {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
  }
  .single-producto-page .chart-value,
  .single-producto-page .peekcare-product .chart-value,
  .single-producto-page .peekcare-home.peekcare-product .chart-value {
    font-size: 11px !important;
  }
  .single-producto-page .chart-label,
  .single-producto-page .peekcare-product .chart-label,
  .single-producto-page .peekcare-home.peekcare-product .chart-label {
    font-size: 9px !important;
  }
  .single-producto-page .product-title,
  .single-producto-page .peekcare-product .product-title,
  .single-producto-page .peekcare-home.peekcare-product .product-title {
    font-size: 19px !important;
  }
  .single-producto-page .product-subtitle,
  .single-producto-page .peekcare-product .product-subtitle,
  .single-producto-page .peekcare-home.peekcare-product .product-subtitle {
    font-size: 13px !important;
    }
  .single-producto-page .product-description,
  .single-producto-page .peekcare-product .product-description,
  .single-producto-page .peekcare-home.peekcare-product .product-description {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .single-producto-page .ingredients-section,
  .single-producto-page .peekcare-product .ingredients-section,
  .single-producto-page .peekcare-home.peekcare-product .ingredients-section {
    padding: 14px !important;
    margin: 16px 0 !important;
  }
  .single-producto-page .product-label,
  .single-producto-page .peekcare-product .product-label,
  .single-producto-page .peekcare-home.peekcare-product .product-label {
    padding: 4px 10px !important;
    font-size: 0.68rem !important;
  }
  .single-producto-page .btn-full,
  .single-producto-page .peekcare-product .btn-full,
  .single-producto-page .peekcare-home.peekcare-product .btn-full {
    padding: 12px 16px !important;
    font-size: 0.85rem !important;
  }
}

/* ===================================================================
   SINGLE POST (Blog)
   Template: single.php — class: .peekcare-single
   =================================================================== */
.peekcare-single {
  font-family: var(--pc-font);
  color: var(--pc-ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  max-width: 1920px;
  margin: 0 auto;
  overflow-x: hidden;
  width: 100%;
}
.peekcare-single *, .peekcare-single *::before, .peekcare-single *::after { box-sizing: border-box; }

/* --- Images: rounded corners like homepage --- */
.peekcare-single img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
  display: block;
}

/* --- Featured Image as Hero --- */
.single-featured-image {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
  line-height: 0;
  max-height: 520px;
}
.single-featured-image img {
  width: 100%;
  max-width: 1920px;
  height: auto;
  min-height: 280px;
  max-height: 520px;
  object-fit: cover;
  object-position: center top;
  border-radius: 0;
  display: block;
  margin: 0 auto;
}

/* --- Content Wrapper --- */
.single-content-wrapper {
  padding: 0;
}

/* --- Categories --- */
.single-categories {
  margin-bottom: 12px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.single-categories a {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--pc-radius-pill);
  background: var(--pc-primary-light);
  color: var(--pc-primary);
  font-weight: 700;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: color var(--pc-transition);
}
.single-categories a:hover {
  color: var(--pc-accent);
}

/* --- Title --- */
.single-title {
  font-family: var(--pc-heading);
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 900;
  line-height: 1.15;
  color: var(--pc-ink);
  margin: 12px 0 16px;
}

/* --- Meta --- */
.single-meta {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  flex-wrap: wrap;
}
.single-date,
.single-author {
  color: var(--pc-muted);
  font-size: 0.85rem;
  font-weight: 500;
}
.single-date::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background: var(--pc-primary-light);
  border-radius: 4px;
  margin-right: 6px;
  vertical-align: middle;
}
.single-author {
  font-weight: 600;
}

/* --- Post Body Content --- */
.single-body {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--pc-ink);
  margin-bottom: 36px;
}
.single-body p {
  margin-bottom: 1.2em;
}
.single-body h2 {
  font-family: var(--pc-heading);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 800;
  color: var(--pc-ink);
  margin: 2em 0 0.6em;
  line-height: 1.3;
}
.single-body h3 {
  font-family: var(--pc-heading);
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 800;
  color: var(--pc-ink);
  margin: 1.6em 0 0.5em;
  line-height: 1.35;
}
.single-body h4,
.single-body h5,
.single-body h6 {
  font-family: var(--pc-heading);
  font-weight: 700;
  margin: 1.4em 0 0.4em;
  line-height: 1.4;
}
.single-body ul,
.single-body ol {
  margin-bottom: 1.2em;
  padding-left: 1.5em;
}
.single-body ul { list-style: disc; }
.single-body ol { list-style: decimal; }
.single-body li {
  margin-bottom: 0.5em;
  line-height: 1.7;
}
.single-body a {
  color: var(--pc-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color var(--pc-transition);
}
.single-body a:hover { color: var(--pc-accent); }
.single-body blockquote {
  border-left: 4px solid var(--pc-primary);
  padding: 16px 20px;
  margin: 1.5em 0;
  background: var(--pc-bg-light);
  border-radius: 0 var(--pc-radius-sm) var(--pc-radius-sm) 0;
  font-style: italic;
  color: var(--pc-muted);
}
.single-body blockquote p:last-child { margin-bottom: 0; }
.single-body pre {
  background: var(--pc-ink);
  color: #e0e0e0;
  padding: 20px;
  border-radius: var(--pc-radius-sm);
  overflow-x: auto;
  font-size: 0.88rem;
  margin: 1.5em 0;
}
.single-body code {
  background: var(--pc-card);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.88em;
}
.single-body pre code {
  background: none;
  padding: 0;
}

/* --- Content images inside single-body --- */
.single-body img {
  border-radius: 12px;
  margin: 1.5em 0;
  max-width: 100%;
  height: auto;
}
.single-body .wp-caption img {
  margin-bottom: 8px;
}
.single-body .wp-caption-text {
  font-size: 0.82rem;
  color: var(--pc-muted);
  text-align: center;
  margin: 0;
}
.single-body .alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
  max-width: 50%;
}
.single-body .alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
  max-width: 50%;
}
.single-body .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}
.single-body .alignfull {
  width: calc(100vw - 32px);
  max-width: calc(100vw - 32px);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.single-body .alignwide {
  width: calc(100% + 80px);
  max-width: calc(100% + 80px);
  margin-left: -40px;
  margin-right: -40px;
}

/* --- Tags --- */
.single-tags {
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0,0.08);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.single-tags strong {
  font-size: 0.82rem;
  color: var(--pc-muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.single-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--pc-radius-pill);
  background: var(--pc-card);
  color: var(--pc-ink);
  font-weight: 600;
  font-size: 0.78rem;
  text-decoration: none;
  transition: all var(--pc-transition);
}
.single-tag:hover {
  background: var(--pc-primary);
  color: #fff;
}

/* --- Post Navigation --- */
.single-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 24px 0;
  margin-bottom: 12px;
  border-top: 1px solid rgba(0,0,0,0.08);
  flex-wrap: wrap;
}
.single-nav-prev,
.single-nav-next {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: var(--pc-radius-pill);
  background: var(--pc-card);
  color: var(--pc-ink);
  font-weight: 700;
  font-size: 0.82rem;
  text-decoration: none;
  transition: all var(--pc-transition);
  max-width: 48%;
}
.single-nav-prev:hover,
.single-nav-next:hover {
  background: var(--pc-primary);
  color: #fff;
  transform: translateY(-1px);
}

/* --- Related Posts Section --- */
.related-posts {
  padding: 48px 0;
  background: var(--pc-bg-light);
}
.related-title {
  font-family: var(--pc-heading);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 900;
  color: var(--pc-ink);
  text-align: center;
  margin-bottom: 28px;
}
.related-posts .blog-grid {
  margin-top: 0;
}

/* --- Responsive Single Post --- */
@media (max-width: 768px) {
  .single-featured-image {
    max-height: 320px;
    min-height: 180px;
  }
  .single-title {
    font-size: clamp(22px, 5vw, 32px);
  }
  .single-body .alignleft,
  .single-body .alignright {
    float: none;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
  }
  .single-body .alignwide {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .single-body .alignfull {
    width: calc(100vw - 32px);
    margin-left: -16px;
    margin-right: -16px;
  }
  .single-nav {
    flex-direction: column;
    gap: 12px;
  }
  .single-nav-prev,
  .single-nav-next {
    max-width: 100%;
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .related-posts .blog-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .single-featured-image {
    max-height: 240px;
    min-height: 160px;
  }
  .single-meta {
    gap: 8px;
    font-size: 0.78rem;
  }
}
