.cpp-catalog{--cpp-ink:#1c2b30;--cpp-accent:#126449;color:var(--cpp-ink);font-family:inherit}.cpp-catalog h2{margin:0 0 .5rem;font-size:clamp(1.7rem,3vw,2.5rem)}.cpp-catalog .cpp-intro{color:#627171;margin:0 0 1.8rem}.cpp-catalog .cpp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cpp-catalog .cpp-card{background:#fff;border:1px solid #e3e9e6;border-radius:14px;overflow:hidden;box-shadow:0 7px 24px rgba(25,55,46,.06);transition:transform .2s,box-shadow .2s}.cpp-catalog .cpp-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(25,55,46,.12)}.cpp-catalog .cpp-photo{aspect-ratio:4/3;background:#f0f4f1;position:relative;display:flex;align-items:center;justify-content:center;color:#75837d}.cpp-catalog .cpp-photo img{width:100%;height:100%;object-fit:cover}.cpp-catalog .cpp-badge{position:absolute;left:12px;top:12px;background:#b44829;color:white;border-radius:30px;padding:5px 11px;font-size:12px}.cpp-catalog .cpp-card-body{padding:18px;display:flex;flex-direction:column;gap:10px}.cpp-catalog h3{font-size:1.08rem;line-height:1.3;margin:0}.cpp-catalog .cpp-description{color:#61716c;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.cpp-catalog .cpp-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.cpp-catalog .cpp-price del{color:#7b8781}.cpp-catalog .cpp-price strong{font-size:1.2rem;color:#126449}.cpp-catalog .cpp-contact,.cpp-catalog button{display:inline-block;background:#126449;color:#fff;border:0;border-radius:8px;padding:11px 14px;text-decoration:none;text-align:center;cursor:pointer;font-weight:600}.cpp-catalog .cpp-contact:hover,.cpp-catalog button:hover{background:#0d4d38;color:#fff}.cpp-catalog .cpp-actions{text-align:center;margin:26px 0}.cpp-catalog .cpp-less{background:transparent;color:#126449;margin-left:10px}.cpp-catalog [hidden]{display:none!important}.cpp-catalog .cpp-empty{padding:25px;background:#f5f8f6;border-radius:10px}.cpp-catalog .cpp-error{color:#a33}@media(max-width:760px){.cpp-catalog .cpp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cpp-catalog .cpp-card-body{padding:13px}}@media(max-width:360px){.cpp-catalog .cpp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.cpp-catalog .cpp-card{transition:none}}

.cpp-catalog .cpp-card h3{font-size:2.16rem;line-height:1.16;overflow-wrap:anywhere}.cpp-catalog .cpp-price strong{font-size:1.8rem;color:var(--cpp-price-color,#126449)}
.cpp-catalog .cpp-description{display:block;overflow:visible;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.cpp-catalog .cpp-description summary{list-style:none;cursor:pointer}.cpp-catalog .cpp-description summary::-webkit-details-marker{display:none}.cpp-catalog .cpp-description-toggle{color:#126449;white-space:nowrap;font-weight:700}.cpp-catalog .cpp-description-more[open] .cpp-description-toggle{font-size:0}.cpp-catalog .cpp-description-more[open] .cpp-description-toggle:after{content:" ⌃";font-size:1rem}.cpp-catalog .cpp-feature-badge{position:absolute;top:12px;left:12px;z-index:1;background:#e6f6eb;color:#176a37;border:1px solid #abd8b8;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:700;letter-spacing:.01em;box-shadow:0 2px 7px rgba(15,62,33,.1)}.cpp-catalog .cpp-feature-badge + .cpp-badge{top:48px}
.cpp-catalog .cpp-price del{font-size:.9rem}

.cpp-catalog .cpp-photo{aspect-ratio:1 / 1}

/* Grade e ações do catálogo. */
.cpp-catalog .cpp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.cpp-catalog .cpp-card{display:flex;flex-direction:column;border-color:#e2ebe6;border-radius:16px;box-shadow:0 8px 26px rgba(20,48,37,.07)}
.cpp-catalog .cpp-card-body{flex:1;gap:12px;padding:18px}.cpp-catalog .cpp-price{margin-top:auto;padding-top:3px}
.cpp-catalog .cpp-contact{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;margin-top:5px;padding:11px 14px;border:1px solid #0c8e4a;border-radius:11px;background:linear-gradient(135deg,#168e51,#0e7542);color:#fff!important;line-height:1.25;box-shadow:0 5px 14px rgba(17,116,66,.19);transition:transform .18s,box-shadow .18s,background .18s}
.cpp-catalog .cpp-contact:hover{background:linear-gradient(135deg,#117e46,#0b6137);color:#fff!important;transform:translateY(-2px);box-shadow:0 9px 18px rgba(17,116,66,.25)}
.cpp-catalog .cpp-contact-icon{width:22px;height:22px;flex:none}.cpp-catalog .cpp-contact-arrow{margin-left:auto;font-size:1.05rem;opacity:.82}
.cpp-catalog .cpp-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:36px 0 12px}.cpp-catalog .cpp-actions .cpp-more{min-height:50px;padding:12px 25px;border:1px solid #163e35;border-radius:11px;background:#163e35;color:#fff;font-size:.95rem;letter-spacing:.01em;box-shadow:0 6px 17px rgba(19,62,48,.16);transition:transform .18s,box-shadow .18s,background .18s}.cpp-catalog .cpp-actions .cpp-more:hover{background:#0e3028;transform:translateY(-2px);box-shadow:0 9px 20px rgba(19,62,48,.22)}
.cpp-catalog .cpp-actions .cpp-less{margin:0;min-height:50px;padding:12px 19px;background:#f2f7f4;border:1px solid #d3e3d9;border-radius:11px;color:#215943}.cpp-catalog .cpp-actions .cpp-less:hover{background:#e3f0e8;color:#174734}.cpp-catalog .cpp-error{flex-basis:100%;margin:0;font-size:.9rem}.cpp-catalog .cpp-contact:focus-visible,.cpp-catalog .cpp-actions button:focus-visible,.cpp-catalog summary:focus-visible{outline:3px solid #64b987;outline-offset:3px}.cpp-catalog .cpp-actions button:disabled{opacity:.65;cursor:wait;transform:none}
@media(max-width:1100px){.cpp-catalog .cpp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.cpp-catalog .cpp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cpp-catalog .cpp-card-body{padding:13px}.cpp-catalog .cpp-contact{gap:7px;padding:10px 9px;font-size:.85rem}.cpp-catalog .cpp-contact-icon{width:19px;height:19px}}@media(max-width:360px){.cpp-catalog .cpp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.cpp-catalog .cpp-contact,.cpp-catalog .cpp-actions .cpp-more{transition:none}.cpp-catalog .cpp-contact:hover,.cpp-catalog .cpp-actions .cpp-more:hover{transform:none}}

/* Cartões compactos e imagens com proporção uniforme. */
.cpp-catalog .cpp-grid{align-items:start}.cpp-catalog .cpp-card-body{flex:initial}.cpp-catalog .cpp-price{margin-top:0}.cpp-catalog .cpp-card h3{font-size:1.728rem}.cpp-catalog .cpp-photo{position:relative;aspect-ratio:1 / 1;overflow:hidden;min-width:0}.cpp-catalog .cpp-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.cpp-catalog .cpp-contact{border:2px solid transparent;background:linear-gradient(135deg,#168e51,#0e7542) padding-box,linear-gradient(135deg,#063f24,#238955,#0a4d2b) border-box}.cpp-catalog .cpp-contact:hover{background:linear-gradient(135deg,#117e46,#0b6137) padding-box,linear-gradient(135deg,#063f24,#238955,#0a4d2b) border-box}

@media(max-width:360px){.cpp-catalog .cpp-card{min-width:0}.cpp-catalog .cpp-card-body{padding:10px}.cpp-catalog .cpp-card h3{font-size:clamp(1.05rem,5vw,1.4rem)}.cpp-catalog .cpp-price strong{font-size:clamp(1.1rem,5vw,1.5rem)}.cpp-catalog .cpp-contact{min-width:0;overflow-wrap:anywhere}.cpp-catalog .cpp-feature-badge{max-width:calc(100% - 16px);font-size:.62rem;left:8px;top:8px;padding:4px 7px}}
