.page-module.page-module-square-cards { padding: 25px clamp(20px,5vw,72px); background: #f7f7f7; }
.square-card-grid { display: grid; grid-template-columns: repeat(var(--module-grid-columns,4),minmax(0,1fr)); gap: 18px; margin-top: 25px; }
.square-image-card { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid #dedede; border-radius: 4px; overflow: hidden; }
.square-card-media { width: 100%; aspect-ratio: 1 / 1; flex-shrink: 0; background: #fff; }
.square-card-media img { display: block; width: 100%; height: 100%; max-width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.square-card-copy { display: flex; flex-direction: column; flex: 1; padding: 22px; gap: 14px; min-width: 0; }
.square-card-copy h3 { font-size: 18px; font-weight: 800; line-height: 1.2; margin: 0; text-transform: uppercase; overflow-wrap: anywhere; }
.square-card-copy p { font-size: 15px; line-height: 1.5; color: #555; margin: 0; overflow-wrap: anywhere; }
.square-card-copy .btn { margin-top: auto; align-self: flex-start; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.align-center .square-card-copy .btn { align-self: center; }
.align-right .square-card-copy .btn { align-self: flex-end; }
@media(max-width:1000px) { .square-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .square-card-grid { grid-template-columns: minmax(0,1fr); } }
