/* Catalog cards inspired by a familiar shop layout, with FLOW's own artwork. */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.product-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e8df;border-radius:14px;overflow:hidden;transition:box-shadow .18s,border-color .18s}
.product-card:hover{border-color:#bad88c;box-shadow:0 8px 22px #233d2310}
.product-card.is-selected{border:2px solid #82b82b;box-shadow:0 0 0 2px #83b72a0a}
.product-visual{height:190px;position:relative;background:radial-gradient(ellipse at 50% 60%,#edf3e8 0,#fff 68%);padding:24px 10px 27px;display:flex;align-items:center;justify-content:center}
.product-status{position:absolute;top:12px;left:12px;padding:4px 8px;background:#f0f3eb;color:#6b7664;border-radius:20px;font-size:9px;font-weight:700;z-index:1}
.product-status.chosen{background:#80b72c;color:#fff}
.product-art{display:block;width:100%;max-width:235px;height:163px}
.product-art svg{display:block;width:100%;height:100%}
.product-badge{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#f4a03b,#f3c633);color:#493816;border-radius:20px;padding:5px 12px;font-size:10px;font-weight:800;white-space:nowrap}
.product-body{padding:15px;display:flex;flex-direction:column;flex:1}
.product-category{font-size:9px;color:#8c9585;letter-spacing:.6px}
.product-card h3{font-size:16px;line-height:1.45;letter-spacing:-.3px;margin:6px 0 10px;color:#273d2d;min-height:40px}
.product-benefit{font-size:12px;line-height:1.75;color:#5a6952;margin:0 0 14px;min-height:64px}
.product-facts{margin:0 0 13px;font-size:10px;line-height:1.6}
.product-facts div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #eef0e9;align-items:baseline}
.product-facts dt{color:#8a9383}
.product-facts dd{margin:0;text-align:right;font-weight:700;color:#41533b}
.product-fit{font-size:10px;line-height:1.7;color:#7b8673;margin:0 0 18px;flex:1}
.product-fit b{display:block;font-weight:700;color:#4a613d;margin-bottom:2px}
.product-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.product-price{color:#e0922a;font-size:18px;font-weight:800;letter-spacing:-.6px}
.product-price small{display:block;font-size:8px;color:#929a8b;font-weight:500;letter-spacing:0;line-height:1.6;margin-top:2px}
.product-footer button{border:0;border-radius:8px;background:#7eb600;color:#fff;font-size:11px;font-weight:800;padding:12px 15px;min-height:42px;flex:1;max-width:135px}
.product-footer button:hover{background:#6a9d00}
.product-footer button[aria-pressed=true]{background:#eaf3dd;color:#547b28}
.module-head h2{font-size:25px;max-width:480px}
.explain{background:#f5f7f1;color:#69765f;font-size:11px}
.layout-controls{background:#fff;border-bottom:1px solid #e8ecdf;padding:14px 16px}
.layout-controls>span{display:block;font-size:10px;font-weight:700;color:#7d8974;margin-bottom:10px}
.layout-options{display:flex;gap:8px;flex-wrap:wrap}
.layout-options button{display:inline-flex;align-items:center;gap:8px;border:1px solid #e1e7d8;background:#fff;border-radius:8px;padding:9px 13px;font-size:11px;min-height:43px;color:#6b7b5c}
.layout-options button svg{width:28px;height:25px;fill:#a7b697}
.layout-options button.on{border-color:#84b72c;background:#f4f9e9;color:#476c24;font-weight:800}
.layout-options button.on svg{fill:#7eaa38}
.layout-options .custom-option{border-style:dashed;margin-left:auto;color:#47793a}
.layout-controls>small{display:block;font-size:9px;color:#8c9683;line-height:1.6;margin-top:8px;max-width:580px}
.result-row{padding:14px 0;border-bottom:1px solid #e9ede1}
.result-row>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.result-row span{font-size:11px;color:#5f7153}
.result-row strong{font-size:13px;color:#426d29;white-space:nowrap}
.result-row p{font-size:10px;line-height:1.7;color:#8a9580;margin:7px 0 0}
.included-note{background:#f3f7ec;padding:12px;border-radius:8px;font-size:10px;color:#78856b;line-height:1.8;margin-top:14px}
.included-note b{display:block;font-size:10px;color:#587942}
.change small{font-size:8px;letter-spacing:.8px;color:#8c9c7c}
.change b{font-size:12px;margin-top:6px}
.change p{font-size:11px;line-height:1.7;margin:0}
.price .request-button{color:#527635;border:1px dashed #aac588;background:#f6faef;margin-top:12px}
.price .request-button:hover{background:#edf6df}
.score-label{letter-spacing:.8px}
#request-dialog{max-width:580px;width:calc(100% - 28px);padding:28px;max-height:90dvh;overflow:auto}
.dialog-close{position:absolute;right:12px;top:8px;border:0;background:none;padding:4px;font-size:26px;color:#7f8c74}
#request-title{font-size:29px;letter-spacing:-.8px;margin:9px 0}
.request-intro{font-size:12px;line-height:1.8;color:#7a8770;margin-bottom:20px}
#custom-request-form label{display:block;font-size:11px;font-weight:700;color:#587047;margin:0 0 14px}
#custom-request-form input,#custom-request-form textarea{display:block;margin-top:7px;width:100%;border:1px solid #dce5d1;background:#fff;color:#30462b;border-radius:8px;padding:12px;font:400 12px/1.6 Manrope,Arial,sans-serif;resize:vertical}
#custom-request-form input:focus,#custom-request-form textarea:focus{outline:2px solid #abc97c;outline-offset:1px}
#custom-request-form input::placeholder,#custom-request-form textarea::placeholder{color:#9ca590;font-size:11px}
.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.request-config{font-size:10px;color:#7d8b70;background:#f4f7ed;border-radius:8px;padding:12px;margin:3px 0 16px;line-height:1.7}
.request-primary{display:block;text-align:center;text-decoration:none;border:0;border-radius:8px;background:#7eb600;color:white;width:100%;padding:14px 16px;font:700 12px Manrope,Arial,sans-serif;cursor:pointer}
.request-primary:hover{background:#6a9d00}
.request-privacy{font-size:9px;line-height:1.8;color:#8b9680;margin:10px 0 0}
#request-preview h3{font-size:14px}
#request-text{background:#f5f8ef;border:1px solid #e1e9d6;padding:15px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font:400 11px/1.85 Manrope,Arial,sans-serif;color:#657657;max-height:300px;overflow:auto}
.request-secondary{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.request-secondary button{flex:1;padding:10px;background:white;border:1px solid #dae3cf;border-radius:7px;font-size:10px;color:#71855e}
#request-copy-status{font-size:10px;line-height:1.6;color:#71855e}
@media(max-width:1080px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.product-benefit{min-height:64px}.product-body{padding:13px}#benefits{display:block;grid-row:auto}.result-row{padding:12px 0}}
@media(max-width:760px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-visual{height:185px}.product-art{height:155px}.product-card h3{font-size:14px;min-height:40px}.product-benefit{font-size:11px;min-height:77px}.product-status{font-size:8px;top:10px;left:9px}.product-badge{font-size:9px;padding:5px 10px}.product-body{padding:12px}.product-footer{display:block}.product-footer button{width:100%;max-width:none;margin-top:11px;font-size:11px}.product-price{font-size:18px}.product-facts{font-size:9px}.product-facts div{gap:8px;flex-wrap:wrap}.product-facts dd{text-align:left}.product-fit{font-size:10px}.layout-controls{padding:12px}.layout-options{gap:7px}.layout-options button{font-size:10px;padding:8px 10px}.layout-options button svg{width:23px}.layout-options .custom-option{margin-left:0}.layout-controls>small{font-size:8px}.module-head h2{font-size:23px}.result-row strong{font-size:14px}.result-row span{font-size:12px}.result-row p{font-size:11px}.included-note{font-size:11px}#request-dialog{padding:24px 18px}.request-fields{gap:10px}#custom-request-form input,#custom-request-form textarea{font-size:16px}.request-intro{font-size:11px}}
@media(max-width:380px){.cards{grid-template-columns:1fr}.product-visual{height:220px}.product-art{height:185px}.product-card h3{min-height:0;font-size:16px}.product-benefit{min-height:0;font-size:12px}.product-facts{font-size:11px}.product-fit{font-size:11px}.product-footer{display:flex}.product-footer button{width:auto;margin:0;max-width:150px}.request-fields{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.product-card{transition:none}}

.request-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.request-service-status{font-size:11px;line-height:1.7;background:#f3f7eb;border-radius:8px;padding:10px;color:#758461}.request-connection{border:0;background:transparent;color:#789b4c;font-size:10px;text-decoration:underline;padding:0 0 12px}.request-primary:disabled{background:#d1dbc1;color:#879878;cursor:not-allowed}.request-success-icon{font-size:36px;color:#7eb600}#request-success p{font-size:12px;line-height:1.8;color:#758461}
