.ta-cat{
    --cat-brown:var(--color-primario,#8c593b);
    --cat-accent:var(--color-acento,#b95135);
    --cat-ink:var(--color-texto,#333);
    --cat-muted:var(--color-texto-suave,#666);
    --cat-line:#e6dbd1;
    --cat-serif:var(--fuente-titulos,Georgia,serif);
    padding:0 0 72px;
    background:#fcfaf8;
    color:var(--cat-ink);
}
.ta-cat *{box-sizing:border-box}
.ta-cat a{color:inherit;text-decoration:none}
.ta-cat img{display:block;max-width:100%}
.ta-cat-container{width:min(100% - 40px,1200px);margin:auto}

.ta-cat-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:25px 0;
    color:var(--cat-muted);
    font-size:.88rem;
}
.ta-cat-breadcrumb a:hover{color:var(--cat-brown)}
.ta-cat-breadcrumb [aria-current]{color:var(--cat-ink)}

.ta-cat-hero{
    overflow:hidden;
    background:#eee3d8;
}
.ta-cat-hero.has-image{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:420px;
}
.ta-cat-hero-copy{
    align-self:center;
    padding:clamp(32px,5vw,70px);
}
.ta-cat-kicker{
    margin:0 0 12px;
    color:var(--cat-accent);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.ta-cat h1,
.ta-cat h2,
.ta-cat h3{
    font-family:var(--cat-serif);
    font-weight:400;
}
.ta-cat-hero h1{
    max-width:650px;
    margin:0 0 18px;
    font-size:clamp(2.3rem,4.5vw,4.1rem);
    line-height:1.13;
}
.ta-cat-lead{
    max-width:580px;
    margin:0 0 25px;
    color:#5d544d;
    font-size:1.05rem;
    line-height:1.8;
}
.ta-cat-button{
    display:inline-block;
    padding:13px 22px;
    background:var(--cat-brown);
    color:#fff!important;
    font-weight:700;
}
.ta-cat-button:hover{background:var(--cat-accent)}
.ta-cat-hero-image{min-height:350px}
.ta-cat-hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ta-cat-subcategories{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding:24px 0;
    border-bottom:1px solid var(--cat-line);
}
.ta-cat-subcategories>span{
    margin-right:7px;
    color:var(--cat-muted);
    font-size:.88rem;
}
.ta-cat-subcategories a{
    padding:9px 15px;
    border:1px solid var(--cat-line);
    background:#fff;
    font-size:.9rem;
}
.ta-cat-subcategories a:hover{
    border-color:var(--cat-brown);
    color:var(--cat-brown);
}

.ta-cat-products{padding:65px 0 75px}
.ta-cat-section-heading{margin-bottom:29px}
.ta-cat h2{
    margin:0;
    color:var(--cat-brown);
    font-size:clamp(1.9rem,3vw,2.7rem);
    line-height:1.25;
}
.ta-cat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
    margin:0;
    padding:0;
    list-style:none;
}
.ta-cat-card{
    min-width:0;
    border:1px solid var(--cat-line);
    background:#fff;
}
.ta-cat-card>a{
    display:flex;
    flex-direction:column;
    height:100%;
}
.ta-cat-card-image{
    overflow:hidden;
    aspect-ratio:1;
    background:#f0e8df;
}
.ta-cat-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s ease;
}
.ta-cat-card a:hover img{transform:scale(1.035)}
.ta-cat-no-image{
    display:grid;
    place-items:center;
    height:100%;
    color:var(--cat-muted);
    font-size:.9rem;
}
.ta-cat-card-content{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:18px;
}
.ta-cat-card h3{
    margin:0 0 10px;
    font-size:1.3rem;
    line-height:1.3;
}
.ta-cat-card a:hover h3{color:var(--cat-accent)}
.ta-cat-card-content>p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    margin:0 0 14px;
    color:var(--cat-muted);
    font-size:.88rem;
    line-height:1.55;
}
.ta-cat-price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:9px;
    margin-top:auto;
}
.ta-cat-price strong{
    color:var(--cat-brown);
    font-size:1.12rem;
}
.ta-cat-price del{
    color:var(--cat-muted);
    font-size:.86rem;
}
.ta-cat-empty{padding:35px 0;color:var(--cat-muted)}

.ta-cat .navigation.pagination{margin-top:38px}
.ta-cat .nav-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.ta-cat .page-numbers{
    display:inline-block;
    min-width:40px;
    padding:9px 12px;
    border:1px solid var(--cat-line);
    background:#fff;
    text-align:center;
}
.ta-cat .page-numbers.current{
    border-color:var(--cat-brown);
    background:var(--cat-brown);
    color:#fff;
}
.ta-cat .page-numbers:hover:not(.current){
    border-color:var(--cat-brown);
}

.ta-cat-editorial,
.ta-cat-care,
.ta-cat-faq{
    margin-bottom:24px;
    padding:clamp(26px,4vw,48px);
    border-radius:12px;
}
.ta-cat-editorial{background:#f4ece6}
.ta-cat-editorial-intro{
    max-width:770px;
    margin:15px 0 25px;
}
.ta-cat-reading{
    max-width:850px;
    color:#544e48;
    line-height:1.85;
}
.ta-cat-reading>:first-child{margin-top:0}
.ta-cat-reading>:last-child{margin-bottom:0}
.ta-cat-reading a{
    color:var(--cat-brown);
    text-decoration:underline;
}

.ta-cat-points{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:27px;
}
.ta-cat-point,
.ta-cat-care-card{
    min-width:0;
    padding:24px;
    border-radius:7px;
    background:#fff;
}
.ta-cat-point-icon{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    margin-bottom:17px;
    border-radius:7px;
    background:#dce8d4;
    color:#48623d;
    font-size:1.1rem;
}
.ta-cat-point:nth-child(2) .ta-cat-point-icon{
    background:#f8dfd6;
    color:#a9492d;
}
.ta-cat-point:nth-child(3) .ta-cat-point-icon{
    background:#f3dccb;
    color:#865438;
}
.ta-cat-point h3,
.ta-cat-care-card h3{
    margin:0 0 9px;
    color:#302821;
    font-size:1.2rem;
    line-height:1.35;
}
.ta-cat-point p,
.ta-cat-care-card p{
    margin:0;
    color:#605852;
    font-size:.91rem;
    line-height:1.7;
}

.ta-cat-care{background:#efe8e3}
.ta-cat-care.has-tips{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    align-items:start;
    gap:25px;
}
.ta-cat-care-intro h2{max-width:330px}
.ta-cat-care-intro .ta-cat-reading{margin-top:15px}
.ta-cat-care-note{
    margin:22px 0 0;
    padding:17px 19px;
    border-left:3px solid var(--cat-accent);
    border-radius:5px;
    background:#fff;
    color:#544b45;
    line-height:1.65;
}
.ta-cat-care-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.ta-cat-care-card h3{
    font-family:inherit;
    font-size:.9rem;
    font-weight:700;
}

.ta-cat-faq{
    border:1px solid var(--cat-line);
    background:#fff;
}
.ta-cat-faq h2{margin-bottom:23px}
.ta-cat-faq-list{display:grid;gap:8px}
.ta-cat-faq details{
    border-radius:6px;
    background:#f8f2ee;
}
.ta-cat-faq summary{
    padding:16px 19px;
    color:#352b25;
    cursor:pointer;
    font-family:var(--cat-serif);
    font-size:1.1rem;
    line-height:1.4;
}
.ta-cat-faq details[open] summary{color:var(--cat-brown)}
.ta-cat-faq details p{
    margin:0;
    padding:0 19px 19px;
    color:#605852;
    line-height:1.75;
    white-space:pre-line;
}

.ta-cat-more{
    padding:26px;
    border-radius:8px;
    background:#f1e9e3;
}
.ta-cat-more-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.ta-cat-more h2{
    margin:0 0 5px;
    font-size:1.55rem;
}
.ta-cat-more-heading p{
    margin:0;
    color:var(--cat-muted);
    font-size:.9rem;
}
.ta-cat-more-all{
    flex-shrink:0;
    color:var(--cat-brown)!important;
    font-size:.9rem;
    font-weight:700;
}
.ta-cat-more ul{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}
.ta-cat-more li a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 13px;
    border:1px solid var(--cat-line);
    border-radius:4px;
    background:#fff;
    font-size:.87rem;
}
.ta-cat-more li a:hover{
    border-color:var(--cat-brown);
    color:var(--cat-brown);
}

.ta-cat a:focus-visible,
.ta-cat summary:focus-visible{
    outline:3px solid var(--cat-accent);
    outline-offset:3px;
}

@media(max-width:900px){
    .ta-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
    .ta-cat-care.has-tips{grid-template-columns:1fr}
    .ta-cat-care-intro h2{max-width:none}
}
@media(max-width:680px){
    .ta-cat-hero.has-image,
    .ta-cat-points{grid-template-columns:1fr}
    .ta-cat-hero-image{min-height:270px;max-height:380px}
    .ta-cat-products{padding:48px 0}
    .ta-cat-more-heading{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:480px){
    .ta-cat-container{width:calc(100% - 28px)}
    .ta-cat-grid,
    .ta-cat-care-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
    .ta-cat-card-image img{transition:none}
}