.cer-shop { margin: 3rem 0; color: inherit; }
.cer-shop h2 { margin: 0 0 .65rem; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; }
.cer-shop-disclosure { max-width: 72ch; margin-bottom: 1.4rem; font-size: .9rem; }
.cer-shop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.cer-shop-card { display: flex; flex-direction: column; border: 1px solid #dedbd2; border-radius: 12px; overflow: hidden; background: #fffdf8; color: #20372f; }
.cer-shop-card > img { width: 100%; height: 230px; object-fit: contain; padding: 1rem; background: #fff; }
.cer-shop-body { padding: 1.4rem; display: flex; flex-direction: column; flex: 1; }
.cer-shop-category { font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; }
.cer-shop h3 { font-size: 1.3rem; line-height: 1.25; margin: .4rem 0 .7rem; }
.cer-shop-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: auto; padding-top: 1rem; }
.cer-shop-actions a { border: 1px solid #284f40; border-radius: 6px; padding: .65rem .9rem; color: #173f32; text-decoration: none; font-size: .9rem; }
.cer-shop-actions a:first-child { background: #173f32; color: #fffdf8; }
.cer-shop-actions a:focus-visible { outline: 3px solid #bd8736; outline-offset: 3px; }
@media (max-width: 900px) { .cer-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cer-shop-grid { grid-template-columns: 1fr; } }
