/* Portal de clientes y página web pública veterinaria */
.vet-client-portal{padding-bottom:34px}.client-hero{display:flex;justify-content:space-between;gap:24px;align-items:stretch;background:linear-gradient(135deg,rgba(34,166,153,.13),rgba(255,170,95,.15));border:1px solid rgba(34,166,153,.16);border-radius:26px;padding:28px;margin:22px 0 20px;box-shadow:0 18px 40px rgba(33,44,62,.08)}.client-hero h1{font-size:34px;margin:12px 0 10px;color:#22223b;font-weight:800}.client-hero p{font-size:17px;color:#667085;max-width:780px;margin:0}.client-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:8px 14px;color:#168778;font-weight:700;box-shadow:0 8px 22px rgba(34,166,153,.12)}.client-hero-card{min-width:280px;background:#fff;border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:8px;color:#667085;border:1px solid rgba(34,166,153,.14)}.client-hero-card strong{color:#22223b;font-size:18px}.client-kpi-row{margin-bottom:10px}.client-kpi{background:#fff;border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:6px;border:1px solid rgba(34,166,153,.14);box-shadow:0 14px 30px rgba(33,44,62,.07);min-height:130px}.client-kpi i{width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:rgba(34,166,153,.12);color:#168778;font-size:22px}.client-kpi span{color:#667085;font-weight:700}.client-kpi strong{font-size:30px;color:#22223b}.client-card{background:#fff;border:1px solid rgba(34,166,153,.13);border-radius:24px;padding:22px;margin:18px 0;box-shadow:0 16px 36px rgba(33,44,62,.07)}.client-card-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.client-card-title i{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#22a699,#7fd8c4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}.client-card-title h3{margin:0;color:#22223b;font-weight:800}.pet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.pet-card{display:flex;gap:14px;align-items:center;border:1px solid rgba(34,166,153,.13);border-radius:20px;padding:14px;background:linear-gradient(180deg,#fff,#f8fffd)}.pet-avatar{width:48px;height:48px;border-radius:18px;background:rgba(255,170,95,.18);display:flex;align-items:center;justify-content:center;color:#e9822f;font-size:22px}.pet-card strong{display:block;color:#22223b;font-size:17px}.pet-card span,.pet-card small{display:block;color:#667085}.client-table thead th{background:#f1fbf9;color:#168778;border-bottom:0!important}.client-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eef4ff;color:#3a63d8}.status-atendida{background:#e8fff6;color:#168778}.status-cancelada,.status-no-asistio{background:#fff1f0;color:#e05d4f}.status-pendiente{background:#fff8e6;color:#b98212}.status-confirmada{background:#ecf8ff;color:#1779aa}.client-timeline{display:flex;flex-direction:column;gap:14px}.timeline-item{border-left:4px solid #22a699;background:#f8fffd;border-radius:16px;padding:14px 16px}.timeline-item span{color:#168778;font-weight:800;font-size:12px}.timeline-item strong{display:block;color:#22223b;margin:4px 0 8px}.timeline-item p{margin:4px 0;color:#667085}.client-empty{padding:20px;border-radius:16px;background:#f8fffd;color:#667085;text-align:center}.vet-client-credentials-panel .panel-body{background:linear-gradient(135deg,#ffffff,#f6fffc)}@media(max-width:768px){.client-hero{flex-direction:column;padding:22px}.client-hero h1{font-size:26px}.client-hero-card{min-width:0}.client-kpi{margin-bottom:12px}.client-card{padding:16px;border-radius:20px}}

.vet-public-body{margin:0;font-family:'Roboto Condensed',Arial,sans-serif;background:#f8fffd;color:#22223b}.vet-public-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 6vw;background:rgba(255,255,255,.90);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(33,44,62,.06)}.vet-public-logo{display:flex;align-items:center;gap:12px;color:#22223b;text-decoration:none;font-weight:900;font-size:20px}.vet-public-logo img{width:52px;height:52px;object-fit:contain}.vet-public-header nav{display:flex;align-items:center;gap:18px}.vet-public-header nav a{color:#5f6c7b;text-decoration:none;font-weight:700}.public-login-btn,.public-primary{background:linear-gradient(135deg,#22a699,#178879);color:#fff!important;padding:11px 18px;border-radius:999px;box-shadow:0 12px 28px rgba(34,166,153,.25)}.vet-public-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:34px;padding:80px 6vw;background:radial-gradient(circle at 20% 10%,rgba(127,216,196,.38),transparent 30%),linear-gradient(135deg,#f8fffd,#fff8ef)}.public-pill{display:inline-flex;gap:8px;align-items:center;background:#fff;color:#168778;border-radius:999px;padding:9px 15px;font-weight:800;box-shadow:0 12px 25px rgba(34,166,153,.12)}.hero-copy h1{font-size:54px;line-height:1.02;margin:18px 0;color:#22223b;font-weight:900;max-width:850px}.hero-copy p{font-size:20px;line-height:1.55;color:#667085;max-width:760px}.public-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.public-actions a{text-decoration:none;font-weight:800}.public-secondary{background:#fff;color:#168778;border:1px solid rgba(34,166,153,.25);padding:11px 18px;border-radius:999px}.hero-card{background:#fff;border:1px solid rgba(34,166,153,.14);border-radius:30px;padding:34px;box-shadow:0 22px 48px rgba(33,44,62,.10);align-self:center}.hero-card i{width:78px;height:78px;border-radius:26px;background:rgba(34,166,153,.12);display:flex;align-items:center;justify-content:center;color:#168778;font-size:38px}.hero-card h3{font-size:28px;margin:20px 0 10px}.hero-card p{color:#667085;font-size:17px}.public-section{padding:70px 6vw}.section-title{text-align:center;margin-bottom:30px}.section-title span,.public-contact span{color:#168778;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.section-title h2,.public-band h2,.public-contact h2{font-size:38px;margin:10px 0;color:#22223b}.public-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.public-services-grid article{background:#fff;border:1px solid rgba(34,166,153,.13);border-radius:24px;padding:25px;box-shadow:0 16px 34px rgba(33,44,62,.06)}.public-services-grid i{font-size:32px;color:#168778}.public-services-grid h3{margin:14px 0 8px}.public-services-grid p{color:#667085}.public-band{margin:0 6vw 70px;background:linear-gradient(135deg,#168778,#22a699);color:#fff;border-radius:34px;padding:42px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.public-band h2{color:#fff}.public-band p,.public-band li{font-size:17px;color:rgba(255,255,255,.90)}.public-band ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.public-contact{padding:0 6vw 70px;display:grid;grid-template-columns:1fr 360px;gap:28px}.contact-card{background:#fff;border-radius:26px;padding:28px;box-shadow:0 18px 40px rgba(33,44,62,.08);border:1px solid rgba(34,166,153,.13)}.contact-card p{color:#667085}.contact-card a{display:inline-block;margin-top:10px;background:#ffaa5f;color:#fff;text-decoration:none;border-radius:999px;padding:11px 18px;font-weight:900}.vet-public-footer{display:flex;justify-content:space-between;align-items:center;padding:24px 6vw;background:#22223b;color:#fff}.vet-public-footer a{color:#7fd8c4;text-decoration:none}@media(max-width:800px){.vet-public-header{align-items:flex-start;gap:12px;flex-direction:column}.vet-public-header nav{flex-wrap:wrap}.vet-public-hero,.public-band,.public-contact{grid-template-columns:1fr}.hero-copy h1{font-size:38px}.public-section{padding:46px 6vw}.public-band{margin-bottom:46px}}
.pet-login-public-link{text-align:center;margin-top:14px}.pet-login-public-link a{display:inline-flex;align-items:center;gap:7px;color:#168778;font-weight:800;text-decoration:none;background:rgba(34,166,153,.09);border:1px solid rgba(34,166,153,.18);border-radius:999px;padding:9px 14px}.pet-login-public-link a:hover{text-decoration:none;background:rgba(34,166,153,.15);color:#0f6d62}

/* Productos públicos desde inventario */
.public-products-section{background:linear-gradient(180deg,#ffffff,#f6fffc)}
.section-title p{max-width:720px;margin:8px auto 0;color:#667085;font-size:17px;line-height:1.5}
.public-products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:26px}
.public-product-card{background:#fff;border:1px solid rgba(34,166,153,.14);border-radius:26px;overflow:hidden;box-shadow:0 16px 34px rgba(33,44,62,.07);display:flex;flex-direction:column;min-height:100%;transition:.18s ease}
.public-product-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(33,44,62,.11)}
.public-product-img{height:175px;background:linear-gradient(135deg,#effaf7,#fff8ef);display:flex;align-items:center;justify-content:center;overflow:hidden}
.public-product-img img{width:100%;height:100%;object-fit:cover;display:block}
.public-product-info{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.public-product-info span{display:inline-flex;align-self:flex-start;background:rgba(34,166,153,.10);color:#168778;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.public-product-info h3{margin:0;color:#22223b;font-size:20px;line-height:1.18}
.public-product-info p{margin:0;color:#667085;line-height:1.45;font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.public-product-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(34,166,153,.12);padding-top:12px}
.public-product-bottom strong{color:#e9822f;font-size:20px}.public-product-bottom small{color:#667085;font-weight:800;background:#f6f8fa;border-radius:999px;padding:5px 9px}.public-empty-products{text-align:center;background:#fff;border:1px dashed rgba(34,166,153,.30);border-radius:24px;padding:34px;color:#667085}.public-empty-products i{font-size:42px;color:#168778;display:block;margin-bottom:10px}.public-contact-actions{display:flex;gap:10px;flex-wrap:wrap}.public-contact-actions a:nth-child(2){background:#22a699!important}
@media(max-width:800px){.public-products-grid{grid-template-columns:1fr}.public-product-img{height:210px}.vet-public-header nav{gap:10px}.vet-public-header nav a{font-size:14px}}

/* ===== V4.1 Portal cliente por módulos independientes ===== */
.client-hero-modern{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(34,166,153,.18),rgba(255,170,95,.20),rgba(255,255,255,.96))}.client-hero-modern:after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:rgba(34,166,153,.10)}.client-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.client-action-primary,.client-action-secondary{display:inline-flex;align-items:center;gap:8px;text-decoration:none!important;border-radius:999px;padding:11px 17px;font-weight:900}.client-action-primary{background:linear-gradient(135deg,#22a699,#168778);color:#fff!important;box-shadow:0 14px 28px rgba(34,166,153,.22)}.client-action-secondary{background:#fff;color:#168778!important;border:1px solid rgba(34,166,153,.22)}.client-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:20px 0}.client-module-card{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid rgba(34,166,153,.14);border-radius:24px;padding:22px;text-decoration:none!important;color:#22223b!important;box-shadow:0 16px 34px rgba(33,44,62,.07);transition:.18s ease;min-height:180px}.client-module-card:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(33,44,62,.11);border-color:rgba(34,166,153,.30)}.client-module-card i{width:48px;height:48px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(34,166,153,.13),rgba(255,170,95,.16));color:#168778;font-size:24px}.client-module-card strong{font-size:19px;font-weight:900}.client-module-card span{color:#667085;line-height:1.42}.client-mini-list{display:grid;gap:10px}.client-mini-item{display:block;text-decoration:none!important;background:#f8fffd;border:1px solid rgba(34,166,153,.13);border-radius:16px;padding:13px 15px;color:#22223b!important}.client-mini-item span{display:block;color:#168778;font-weight:900;font-size:12px}.client-mini-item strong{display:block;margin:4px 0}.client-mini-item small{color:#667085}.client-page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid rgba(34,166,153,.14);border-radius:24px;padding:24px;margin:22px 0 18px;box-shadow:0 14px 32px rgba(33,44,62,.06)}.client-page-head span{display:block;color:#168778;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.client-page-head h1{margin:6px 0 6px;color:#22223b;font-weight:900;font-size:32px}.client-page-head p{margin:0;color:#667085;font-size:16px}.client-back-link{white-space:nowrap;text-decoration:none!important;background:#f1fbf9;color:#168778!important;border:1px solid rgba(34,166,153,.18);border-radius:999px;padding:10px 14px;font-weight:900}.client-pet-list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.client-pet-profile-card{background:#fff;border:1px solid rgba(34,166,153,.14);border-radius:26px;overflow:hidden;box-shadow:0 16px 34px rgba(33,44,62,.07)}.pet-profile-cover{height:170px;background:linear-gradient(135deg,#e9fbf7,#fff4e8);display:flex;align-items:center;justify-content:center;color:#168778;font-size:56px}.pet-profile-cover img{width:100%;height:100%;object-fit:cover}.pet-profile-body{padding:20px}.pet-profile-body h3{margin:0 0 6px;font-size:24px;color:#22223b;font-weight:900}.pet-profile-body>span{display:block;color:#667085;margin-bottom:12px}.pet-profile-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pet-profile-tags small{background:#f1fbf9;color:#168778;border-radius:999px;padding:6px 10px;font-weight:800}.pet-profile-details{list-style:none;margin:0;padding:0;display:grid;gap:7px;color:#667085}.pet-profile-note{margin-top:14px;background:#fff8ef;border-radius:14px;padding:12px;color:#7c5d35}.clinical-timeline-full .timeline-item{padding:18px}.clinical-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 16px}.clinical-timeline-full em{display:inline-flex;margin-top:10px;background:#ecf8ff;color:#1779aa;border-radius:999px;padding:7px 11px;font-style:normal;font-weight:900}.client-empty-state{text-align:center;padding:38px!important}.client-empty-state i{font-size:50px;color:#168778;display:block;margin-bottom:12px}.status-pagada{background:#e8fff6;color:#168778}.status-anulada{background:#fff1f0;color:#e05d4f}@media(max-width:768px){.client-page-head{flex-direction:column;align-items:flex-start}.client-page-head h1{font-size:26px}.client-back-link{width:100%;text-align:center}.client-module-grid{grid-template-columns:1fr}.client-pet-list-grid{grid-template-columns:1fr}}

/* ===== Página pública única y más atractiva ===== */
.public-home-refresh{background:#f8fffd}.public-header-modern{border-bottom:1px solid rgba(34,166,153,.10)}.public-hero-unique{position:relative;min-height:680px;align-items:center;background:radial-gradient(circle at 12% 12%,rgba(127,216,196,.45),transparent 30%),radial-gradient(circle at 90% 22%,rgba(255,170,95,.30),transparent 28%),linear-gradient(135deg,#f6fffc 0%,#fff9f0 100%);overflow:hidden}.public-hero-unique:before{content:"";position:absolute;inset:auto auto -110px -90px;width:280px;height:280px;border-radius:50%;background:rgba(34,166,153,.10)}.public-hero-unique .hero-copy,.public-hero-visual{position:relative;z-index:1}.public-primary i,.public-secondary i{margin-right:6px}.public-trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;max-width:780px}.public-trust-row div{background:rgba(255,255,255,.78);border:1px solid rgba(34,166,153,.12);border-radius:20px;padding:14px;box-shadow:0 12px 28px rgba(33,44,62,.05)}.public-trust-row strong{display:block;color:#22223b;font-weight:900}.public-trust-row span{color:#667085;font-size:14px}.public-hero-visual{min-height:420px;display:flex;align-items:center;justify-content:center}.hero-pet-card{background:rgba(255,255,255,.92);border:1px solid rgba(34,166,153,.14);box-shadow:0 24px 60px rgba(33,44,62,.12);border-radius:34px;padding:34px;max-width:390px}.hero-pet-main i{width:88px;height:88px;border-radius:30px;background:linear-gradient(135deg,#22a699,#7fd8c4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:44px}.hero-pet-main h3{font-size:30px;line-height:1.1;margin:20px 0 10px;color:#22223b}.hero-pet-main p{color:#667085;font-size:17px;line-height:1.45}.hero-floating-card{position:absolute;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid rgba(34,166,153,.14);border-radius:999px;padding:12px 16px;box-shadow:0 18px 35px rgba(33,44,62,.12);font-weight:900;color:#22223b}.hero-floating-card i{color:#168778;font-size:21px}.hero-floating-card.one{top:40px;left:0}.hero-floating-card.two{right:5px;top:160px}.hero-floating-card.three{left:38px;bottom:56px}.public-experience{padding:70px 6vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center;background:#fff}.experience-copy span,.public-band-modern span{color:#168778;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.experience-copy h2{font-size:40px;line-height:1.1;margin:10px 0;color:#22223b}.experience-copy p{color:#667085;font-size:18px;line-height:1.55}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.experience-grid article{background:linear-gradient(180deg,#fff,#f7fffc);border:1px solid rgba(34,166,153,.13);border-radius:24px;padding:22px;box-shadow:0 16px 34px rgba(33,44,62,.06)}.experience-grid i{font-size:32px;color:#168778}.experience-grid h3{margin:13px 0 8px;color:#22223b}.experience-grid p{color:#667085}.public-services-modern{background:linear-gradient(180deg,#f8fffd,#fff)}.public-band-modern{box-shadow:0 22px 55px rgba(34,166,153,.20)}.public-contact-modern .contact-card{border-top:5px solid #22a699}.public-footer-modern{background:linear-gradient(135deg,#22223b,#163b42)}@media(max-width:900px){.public-hero-unique{min-height:auto}.public-trust-row,.public-experience,.experience-grid{grid-template-columns:1fr}.public-hero-visual{min-height:360px}.hero-floating-card{position:static;margin:10px auto 0;max-width:260px}.public-hero-visual{display:block}.hero-pet-card{margin:0 auto}.experience-copy h2{font-size:32px}}

/* Catálogo público con filtros y carrito WhatsApp */
.public-products-catalog{position:relative;overflow:visible;background:linear-gradient(180deg,#ffffff 0%,#f4fffb 100%)}
.public-catalog-title p{max-width:760px;margin:10px auto 0;color:#667085;line-height:1.6}
.public-catalog-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start;margin-top:26px}
.public-catalog-filters{position:sticky;top:92px;background:#fff;border:1px solid rgba(122,96,209,.18);border-radius:28px;padding:20px;box-shadow:0 18px 42px rgba(33,44,62,.08);display:flex;flex-direction:column;gap:10px;z-index:4}
.catalog-filter-head{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,rgba(122,96,209,.12),rgba(34,166,153,.10));border-radius:22px;padding:14px;margin-bottom:4px}
.catalog-filter-head i{width:42px;height:42px;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;color:#7a60d1;font-size:22px;box-shadow:0 10px 22px rgba(122,96,209,.14)}
.catalog-filter-head strong{display:block;color:#2f294a;font-size:18px}.catalog-filter-head small{color:#7c7197;font-weight:700}
.public-catalog-filters label{margin:8px 0 0;color:#2f294a;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.035em}
.public-catalog-filters input,.public-catalog-filters select{width:100%;border:1px solid rgba(122,96,209,.22);border-radius:16px;background:#fff;padding:12px 13px;color:#2f294a;outline:none;box-shadow:none;transition:.18s ease}
.public-catalog-filters input:focus,.public-catalog-filters select:focus{border-color:#7a60d1;box-shadow:0 0 0 4px rgba(122,96,209,.12)}
.catalog-search-box{position:relative}.catalog-search-box i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#7a60d1}.catalog-search-box input{padding-left:40px}
.catalog-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catalog-price-grid label{font-size:12px}
.catalog-clear-btn{border:0;border-radius:999px;background:linear-gradient(135deg,#eef8f6,#f4f0ff);color:#3a3157;font-weight:900;padding:12px 16px;margin-top:8px;cursor:pointer;transition:.18s ease}.catalog-clear-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(33,44,62,.10)}
.public-catalog-main{min-width:0}.public-category-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 4px 12px;margin-bottom:8px;scrollbar-width:thin}.public-category-tabs button{border:1px solid rgba(122,96,209,.18);background:#fff;color:#3a3157;border-radius:999px;padding:10px 14px;font-weight:900;white-space:nowrap;cursor:pointer;box-shadow:0 8px 18px rgba(33,44,62,.05);transition:.18s ease}.public-category-tabs button span{background:rgba(34,166,153,.11);color:#168778;border-radius:999px;padding:2px 7px;margin-left:4px}.public-category-tabs button.active,.public-category-tabs button:hover{background:linear-gradient(135deg,#7a60d1,#22a699);color:#fff;border-color:transparent}.public-category-tabs button.active span,.public-category-tabs button:hover span{background:rgba(255,255,255,.22);color:#fff}
.catalog-result-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid rgba(34,166,153,.12);border-radius:22px;padding:14px 18px;margin-bottom:18px;box-shadow:0 12px 26px rgba(33,44,62,.05)}.catalog-result-bar strong{color:#2f294a}.catalog-result-bar small{color:#7c7197;font-weight:700;text-align:right}
.public-products-grid-catalog{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:stretch}.public-product-item{position:relative}.product-stock-ribbon{position:absolute;top:14px;left:14px;background:#f59e0b;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(245,158,11,.28)}
.public-add-cart{margin-top:12px;width:100%;border:0;border-radius:16px;background:linear-gradient(135deg,#22a699,#168778);color:#fff;font-weight:900;padding:12px 14px;cursor:pointer;transition:.18s ease;box-shadow:0 10px 22px rgba(34,166,153,.22)}.public-add-cart:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(34,166,153,.30)}
.public-empty-filter{margin-top:18px}.public-cart-panel{position:fixed;right:24px;bottom:24px;z-index:999}.public-cart-toggle{border:0;border-radius:999px;background:linear-gradient(135deg,#7a60d1,#22a699);color:#fff;padding:13px 17px;font-weight:900;display:flex;align-items:center;gap:9px;box-shadow:0 18px 40px rgba(67,52,117,.30);cursor:pointer}.public-cart-toggle i{font-size:22px}.public-cart-toggle b{background:#fff;color:#7a60d1;border-radius:999px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.public-cart-box{position:absolute;right:0;bottom:62px;width:380px;max-width:calc(100vw - 32px);background:#fff;border:1px solid rgba(122,96,209,.18);border-radius:28px;box-shadow:0 24px 60px rgba(33,44,62,.24);padding:18px;display:none}.public-cart-panel.open .public-cart-box{display:block;animation:cartIn .18s ease both}@keyframes cartIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.public-cart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid rgba(122,96,209,.12);padding-bottom:12px;margin-bottom:12px}.public-cart-head strong{display:block;color:#2f294a;font-size:18px}.public-cart-head small{color:#7c7197;font-weight:700}.public-cart-head button{border:0;background:#f3f0ff;color:#7a60d1;border-radius:12px;width:34px;height:34px;cursor:pointer}
.public-cart-items{max-height:280px;overflow:auto;padding-right:4px}.cart-empty-text{margin:0;background:#f8f9fb;color:#7c7197;border-radius:18px;padding:16px;text-align:center;font-weight:700}.public-cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid rgba(34,166,153,.10);border-radius:18px;padding:10px;margin-bottom:10px}.public-cart-item strong{display:block;color:#2f294a;font-size:14px;line-height:1.2}.public-cart-item small{display:block;color:#7c7197;margin-top:4px;font-weight:700}.cart-qty{display:flex;align-items:center;gap:7px;background:#f8f9fb;border-radius:999px;padding:4px}.cart-qty button{border:0;background:#fff;color:#7a60d1;width:24px;height:24px;border-radius:50%;font-weight:900;cursor:pointer}.cart-qty b{min-width:18px;text-align:center;color:#2f294a}.cart-remove{border:0;background:#fff1f1;color:#e85959;border-radius:10px;width:30px;height:30px;cursor:pointer}.public-cart-total{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f4f0ff,#eefaf7);border-radius:18px;padding:13px 14px;margin-top:12px}.public-cart-total span{color:#7c7197;font-weight:800}.public-cart-total strong{color:#2f294a;font-size:19px}.public-cart-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:12px}.public-cart-actions button{border:0;border-radius:16px;padding:12px 10px;font-weight:900;cursor:pointer}.cart-clear{background:#f8f9fb;color:#7c7197}.cart-whatsapp{background:#22a699;color:#fff;box-shadow:0 10px 22px rgba(34,166,153,.22)}.cart-whatsapp:disabled{background:#c9d4d0;color:#fff;cursor:not-allowed;box-shadow:none}.cart-wa-warning{display:block;margin-top:10px;color:#e9822f;font-weight:800;text-align:center}
@media(max-width:980px){.public-catalog-shell{grid-template-columns:1fr}.public-catalog-filters{position:relative;top:auto}.catalog-result-bar{align-items:flex-start;flex-direction:column}.catalog-result-bar small{text-align:left}.public-cart-panel{right:14px;bottom:14px}.public-cart-toggle span{display:none}}
@media(max-width:520px){.public-catalog-filters{border-radius:22px;padding:16px}.catalog-price-grid{grid-template-columns:1fr}.public-products-grid-catalog{grid-template-columns:1fr}.public-cart-box{width:calc(100vw - 28px);right:-10px}.public-cart-actions{grid-template-columns:1fr}.public-cart-item{grid-template-columns:1fr auto}.cart-remove{grid-column:2}.public-product-img{height:220px}}

/* V10: catálogo independiente fuera del inicio */
.public-catalog-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);gap:24px;align-items:center;background:linear-gradient(135deg,#ffffff,#f3fffb);border-top:1px solid rgba(34,166,153,.10);border-bottom:1px solid rgba(34,166,153,.10)}
.catalog-teaser-copy span{display:inline-flex;align-items:center;gap:8px;color:#168778;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.catalog-teaser-copy h2{font-size:38px;line-height:1.08;margin:12px 0;color:#22223b}.catalog-teaser-copy p{color:#667085;font-size:18px;line-height:1.55;max-width:740px}.catalog-teaser-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.catalog-teaser-actions a{text-decoration:none;font-weight:900}.catalog-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.catalog-teaser-grid article{background:#fff;border:1px solid rgba(122,96,209,.14);border-radius:24px;padding:20px;box-shadow:0 16px 34px rgba(33,44,62,.06)}.catalog-teaser-grid i{width:48px;height:48px;border-radius:17px;display:flex;align-items:center;justify-content:center;background:rgba(122,96,209,.10);color:#7a60d1;font-size:24px;margin-bottom:10px}.catalog-teaser-grid strong{display:block;color:#2f294a;font-size:17px}.catalog-teaser-grid small{display:block;color:#7c7197;margin-top:4px;font-weight:700}.public-catalog-page .public-catalog-hero{padding-bottom:50px}.public-catalog-page .public-products-catalog{padding-top:36px}.catalog-hero-panel .hero-pet-card{max-width:420px}@media(max-width:860px){.public-catalog-teaser{grid-template-columns:1fr}.catalog-teaser-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.catalog-teaser-grid{grid-template-columns:1fr}.catalog-teaser-copy h2{font-size:30px}}
