/* Shared Elementor category/carousel skin. Duplicate the pv-category container
   and change its title/query; keep these classes and the existing loop template. */
body.portavida .pv-category {
 --pv-ink:#173f2d; --pv-cta:#528737; --pv-border:#dce3d7;
 --content-width:1140px; background:#f7f5ef!important;
 padding:44px 28px 48px!important;
}
body.portavida .pv-category > .e-con-inner {
 width:100%!important; max-width:1140px!important; padding:0!important; gap:24px!important;
}
body.portavida .pv-category .pv-category-title { width:100%!important; margin:0!important; }
body.portavida .pv-category .pv-category-title .elementor-heading-title {
 font-family:Georgia,serif!important; font-size:clamp(28px,3.3vw,40px)!important;
 line-height:1.2!important; font-weight:500!important; color:#173f2d!important;
 text-shadow:none!important; text-align:center; letter-spacing:-.6px;
}
body.portavida .pv-product-carousel { width:100%!important; max-width:100%!important; min-width:0; }
body.portavida .pv-product-carousel .swiper { padding-bottom:22px!important; }
body.portavida .pv-product-carousel .swiper-wrapper { align-items:stretch; }
body.portavida .pv-product-carousel .swiper-slide {
 height:auto!important; padding:8px!important; margin-top:0!important; margin-bottom:0!important;
 border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;
 box-sizing:border-box;
}
body.portavida .pv-product-carousel .swiper-slide > .e-con {
 width:100%!important; max-width:100%!important; min-width:0!important;
 height:100%!important; min-height:0!important; padding:28px 24px!important;
 margin:0!important; display:flex!important; flex-direction:column!important;
 align-items:stretch!important; justify-content:flex-start!important; gap:18px!important;
 background:#fff!important; border:1px solid #dce3d7!important; border-radius:22px!important;
 box-shadow:0 5px 14px #173f2d08!important;
}
body.portavida .pv-product-carousel .pv-product-title,
body.portavida .pv-product-carousel .pv-product-price,
body.portavida .pv-product-carousel .pv-flavor-button { width:100%!important; max-width:100%!important; margin:0!important; padding:0!important; }
body.portavida .pv-product-carousel .pv-product-title .elementor-heading-title {
 color:#173f2d!important; font-family:Georgia,serif!important; font-weight:500!important;
 font-size:25px!important; line-height:1.2!important; letter-spacing:-.4px;
 min-height:60px; text-align:center; text-shadow:none!important; overflow-wrap:normal!important; word-break:normal!important;
}
body.portavida .pv-product-carousel .pv-product-price .price {
 color:#528737!important; font-family:Arial,sans-serif!important; font-size:27px!important;
 font-weight:700!important; line-height:1.25!important; margin:0!important; text-align:center;
}
body.portavida .pv-product-carousel .pv-size-selector {
 display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:8px!important; width:100%!important; max-width:100%!important;
 padding:0!important; margin:0!important; min-height:0!important;
}
body.portavida .pv-product-carousel .pv-size-selector .pv-size-option {
 width:100%!important; min-width:0!important; margin:0!important; padding:0!important;
}
body.portavida .pv-product-carousel .pv-size-selector .elementor-button {
 display:flex!important; justify-content:center; align-items:center; width:100%!important;
 min-height:46px; padding:10px 4px!important; border:1px solid #c7d3bc!important;
 border-radius:10px!important; background:#f7f8f3!important; color:#173f2d!important;
 font-family:Arial,sans-serif!important; font-size:16px!important; line-height:1.3!important; font-weight:600!important;
}
body.portavida .pv-product-carousel .pv-size-option.is-selected .elementor-button {
 background:#173f2d!important; border-color:#173f2d!important; color:#fff!important;
}
body.portavida .pv-product-carousel .pv-size-selector .elementor-button:hover { background:#e8efdf!important; color:#173f2d!important; }
body.portavida .pv-product-carousel .pv-flavor-button { margin-top:auto!important; padding-top:6px!important; }
body.portavida .pv-product-carousel .pv-flavor-button .elementor-button {
 display:flex!important; align-items:center; justify-content:center; width:100%!important;
 min-height:50px; padding:13px 10px!important; border:1px solid #528737!important;
 border-radius:12px!important; background:#528737!important; color:#fff!important;
 font-family:Arial,sans-serif!important; font-size:15px!important; line-height:1.4!important;
 font-weight:600!important; text-transform:none!important; letter-spacing:0!important;
}
body.portavida .pv-product-carousel .pv-flavor-button .elementor-button:hover { background:#173f2d!important; border-color:#173f2d!important; }
body.portavida .pv-product-carousel .elementor-button-text { word-break:normal!important; overflow-wrap:normal!important; white-space:normal!important; }
body.portavida .pv-product-carousel a:focus-visible { outline:3px solid #528737; outline-offset:3px; }
body.portavida .pv-product-carousel .elementor-swiper-button {
 width:42px!important; height:42px!important; padding:11px!important; border-radius:50%!important;
 background:#fff!important; color:#173f2d!important; border:1px solid #dce3d7!important;
 box-shadow:0 3px 10px #173f2d12!important;
}
body.portavida .pv-product-carousel .elementor-swiper-button svg { fill:#173f2d!important; width:18px; height:18px; }
body.portavida .pv-product-carousel .swiper-pagination-bullet { background:#b4c3a8!important; opacity:1!important; }
body.portavida .pv-product-carousel .swiper-pagination-bullet-active { background:#173f2d!important; }
@media(max-width:767px) {
 body.portavida .pv-category { padding:28px 12px 32px!important; }
 body.portavida .pv-category > .e-con-inner { gap:18px!important; }
 body.portavida .pv-product-carousel .swiper-slide { padding:6px!important; }
 body.portavida .pv-product-carousel .swiper-slide > .e-con { padding:24px 24px!important; gap:16px!important; border-radius:20px!important; }
 body.portavida .pv-product-carousel .pv-product-title .elementor-heading-title { font-size:25px!important; min-height:60px; }
}
