/* Independent selections: existing catalogue and service card styling. */
/* Padding preserves the gap after floated article photos have been cleared. */
.e20-selection { clear:both; margin:0 0 36px; padding-top:36px; min-width:0; }
.e20-selection .e20-selection__title { margin:0 0 22px; font-size:28px; line-height:1.3; font-weight:600; color:#222; overflow-wrap:anywhere; }
#content .e20-selection .e20-selection__title { margin-top:0; }
.e20-selection__products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.e20-product-card { display:flex; flex-direction:column; min-width:0; border:1px solid #dedede; border-radius:4px; color:#222; text-decoration:none; background:#fff; transition:border-color .2s ease; }
.e20-product-card__media { display:flex; align-items:center; justify-content:center; aspect-ratio:1; padding:18px; min-width:0; }
.e20-product-card__media picture { display:contents; }
.e20-product-card__media img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
.e20-product-card__body { display:flex; flex:1; flex-direction:column; min-width:0; padding:16px 18px 0; border-top:1px solid #eee; }
.e20-selection .e20-product-card__title { margin:0 0 10px; font-size:16px; line-height:1.45; font-weight:500; color:inherit; overflow-wrap:anywhere; }
.e20-product-card__article { margin:0 0 16px; color:#666; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.e20-product-card__placeholder { color:#777; font-size:14px; text-align:center; }
.e20-product-card__action { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; border-top:1px solid #eee; min-height:52px; color:#830e02; font-size:13px; line-height:1.4; }
.e20-product-card__action svg { width:20px; height:20px; flex:0 0 20px; }
.e20-product-card:hover { color:#830e02; border-color:#830e02; }
.e20-product-card:focus-visible { outline:3px solid #830e02 !important; outline-offset:4px; }
.e20-product-card:active { background:#fffaf9; }
.e20-selection--services .e1-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:0; }
.e20-selection-empty { margin:18px 0; color:#666; }
.e20-selection-picker { margin:24px 0; padding:16px; border:1px solid #ddd; min-width:0; }
.e20-selection-picker legend { width:auto; padding:0 8px; font-size:16px; }
.e20-selection-picker label { display:block; margin:10px 0; }
.e20-selection-picker input, .e20-selection-picker select, .e20-selection-picker textarea { display:block !important; width:100% !important; max-width:680px; padding:8px; box-sizing:border-box; }
.e20-selection-picker ol { padding:0; list-style:none; }
.e20-selection-picker li { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 0; border-bottom:1px solid #ddd; }
.e20-selection-picker [data-selection-label] { flex:1; min-width:180px; overflow-wrap:anywhere; }
.e20-selection-picker [data-selection-add] { margin:8px 0; }
.e20-selection-picker [hidden] { display:none !important; }
.e20-selection-picker button:focus-visible { outline:2px solid #830e02 !important; outline-offset:2px; }
.e20-selection-picker button:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:767px) { .e20-selection__products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } .e20-selection .e20-selection__title { font-size:24px; } }
@media(max-width:600px) { .e20-selection--services .e1-project-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:479px) { .e20-selection__products { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .e20-product-card { transition:none; } }
