/* Cards, floor plans and illustrations for the free designs & ideas (used on index.html and ideas.html) */
.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.idea-card{display:flex;flex-direction:column;background:#FFFFFF;border:1px solid #E3EBF3;border-radius:18px;overflow:hidden;text-decoration:none;color:#333333;box-shadow:0 1px 2px #0B254510,0 6px 18px #0B25450d;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.idea-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px #0B254512,0 18px 40px #0B254522;border-color:#C9DAEA}
.idea-card:focus-visible{outline:3px solid #FFC107;outline-offset:3px}

.idea-visual{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 1px 1px,#C9D8E8 1px,transparent 1.2px) 0 0/18px 18px,linear-gradient(160deg,#F6F9FC,#EAF1F8)}
.idea-visual > .plan-svg{position:absolute;inset:40px 18px 16px;width:calc(100% - 36px);height:calc(100% - 56px);filter:drop-shadow(0 6px 10px #0B254518);transition:transform .35s ease}
.idea-card:hover .idea-visual > .plan-svg{transform:scale(1.03)}
.idea-visual > .art-svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .5s ease}
.idea-card:hover .idea-visual > .art-svg{transform:scale(1.04)}
.idea-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.idea-card.is-idea .idea-visual{background:linear-gradient(180deg,#0E3A6B,#1E64B0)}
.idea-icon{font:56px/1 Georgia,serif;color:#FFC107}
.badge{position:absolute;left:12px;top:12px;z-index:1;padding:5px 11px;border-radius:999px;font:700 11px/1.3 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.03em;color:#0B2545;background:#FFFFFFd9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 8px #0B254520}
.idea-card.is-idea .badge{background:#FFFFFF26;color:#FFFFFF;box-shadow:none;border:1px solid #FFFFFF40}

.idea-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.idea-kind{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#2E9D4E}
.idea-card.is-idea .idea-kind{color:#1E7BD8}
.idea-body h3{font:24px/1.15 Georgia,'Times New Roman',serif;font-weight:400;margin:0;color:#0B2545;letter-spacing:-.01em}
.idea-body p{margin:0;font-size:14px;line-height:1.55;color:#4A5B6C}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px}
.pill{padding:5px 10px;border-radius:999px;background:#F0F5FA;border:1px solid #E1EAF3;font-size:12px;font-weight:650;color:#13315C;white-space:nowrap}

/* Floor plans */
.plan-svg{width:100%;height:100%;max-height:100%;display:block}
.plan-svg .wall{fill:none;stroke:#0B2545;stroke-width:7;stroke-linejoin:miter}
.plan-svg .zone-out{fill:#E5F4E6;stroke:#7CC383;stroke-width:1.5;stroke-dasharray:5 4}
.plan-svg .zone-future{fill:#FFF7DD;stroke:#F2B705;stroke-width:2;stroke-dasharray:8 6}
.plan-svg .fx{fill:#FFFFFF;fill-opacity:.65;stroke:#93A9BF;stroke-width:1.3;vector-effect:non-scaling-stroke}
.plan-svg .fx .leaf{fill:#B9E1BC;fill-opacity:1;stroke:#7CC383}
.plan-svg .fx .leaf2{fill:#A3D7A8;fill-opacity:1;stroke:none}
.plan-svg .fx.parking{fill:#FFFFFF;fill-opacity:.9}
.plan-svg .fx.stairs path{fill:none;stroke:#A9BBCD;stroke-width:1.2}
.plan-svg .fx.stairs .arrow{stroke:#6E87A0;stroke-width:1.5}
.plan-svg .room-label{fill:#0B2545;text-anchor:middle;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:650;paint-order:stroke;stroke:#FFFFFFe6;stroke-width:3px;stroke-linejoin:round}
.plan-svg .room-label.is-future{fill:#8A6500}
.plan-svg .room-area{fill:#5B7085;text-anchor:middle;font-family:system-ui,-apple-system,Segoe UI,sans-serif;paint-order:stroke;stroke:#FFFFFFe6;stroke-width:3px}
.plan-svg .dim{stroke:#6E87A0;stroke-width:1;fill:none}
.plan-svg .dim-t{fill:#4A6A86;font:600 12px system-ui,sans-serif;text-anchor:middle}

@media(max-width:900px){.idea-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.idea-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.idea-card,.idea-visual > *{transition:none!important}}
