/* Uniform, compact catalog cards; full information remains in accessible details. */
body.catalog-polished .catalog-product-grid{align-items:stretch;grid-auto-rows:1fr}
body.catalog-polished .tools-page .tool-card,body.catalog-polished .tools-page .tool-card.has-generic-tool-scene{display:flex!important;flex-direction:column;height:100%;box-sizing:border-box}
body.catalog-polished .tools-page .tool-card>.tool-copy,body.catalog-polished .tools-page .tool-card.has-generic-tool-scene>.tool-copy{display:flex!important;flex-direction:column;flex:1;gap:0;padding:1.2rem!important}
body.catalog-polished .tool-copy .generic-tool-scene{max-width:none!important;margin:0 0 1rem!important;flex:none}
body.catalog-polished .tool-copy .generic-tool-scene-title{font-size:.95rem!important;padding:.6rem .8rem!important;min-height:2.8rem;box-sizing:border-box}
body.catalog-polished .tool-copy .generic-tool-scene figure img{height:180px!important;aspect-ratio:auto;object-fit:cover!important}
body.catalog-polished .tool-copy .generic-tool-scene figcaption{min-height:4.4rem;box-sizing:border-box;font-size:.78rem!important;padding:.6rem .8rem!important}
body.catalog-polished .catalog-task-panel{min-height:295px;box-sizing:border-box;margin:0 0 1rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;border:1px solid #c4d0ba;border-radius:14px;background:linear-gradient(135deg,#e6eddf,#f4ecd9);color:#315747}
body.catalog-polished .catalog-task-panel span{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
body.catalog-polished .catalog-task-panel p{font-family:Georgia,serif;font-size:1.45rem;line-height:1.35;margin:.8rem 0 0}
body.catalog-polished .tool-copy .catalog-tag-row{min-height:1.8rem}
body.catalog-polished .tool-copy h3{font-size:1.5rem;min-height:3.6em}
body.catalog-polished .tool-copy>.tool-intro{display:none}
body.catalog-polished .tool-copy>.tool-details{margin-top:auto}
body.catalog-polished .tool-details[open]{margin-top:1rem}
body.catalog-polished .tool-card .link-row{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;margin-top:.2rem}
body.catalog-polished .tool-card a.catalog-buy{justify-content:center;background:#315f4e;border-color:#315f4e;text-decoration:none}
body.catalog-polished .tool-card a.catalog-buy:hover{background:#244b3c}
body.catalog-polished .tool-card .tool-recipe{display:flex;justify-content:center;align-items:center;min-height:42px;border:1px solid #bca782;border-radius:999px;background:#f4e8ca;color:#663b2c;text-decoration:none;padding:.4rem .6rem;box-sizing:border-box}
body.catalog-polished .tool-affiliation{min-height:3em}
body.home-page.journey-home .journey-tools{padding:2.5rem 0;background:#e7ecdf;border-top:1px solid #bdcbb0;border-bottom:1px solid #bdcbb0}
body.home-page.journey-home .journey-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1.2rem}
body.home-page.journey-home .journey-tool{display:flex!important;flex-direction:column;background:#fbf7ef;border-radius:16px;min-width:0}
body.home-page.journey-home .journey-tool>div{display:flex!important;flex-direction:column;flex:1;padding:1.1rem}
body.home-page.journey-home .journey-tool h3{font-size:1.45rem;line-height:1.2;min-height:3.6em}
body.home-page.journey-home .journey-tool>div>p:not(.generic-tool-model-label){font-size:1rem;line-height:1.45}
body.home-page.journey-home .journey-tool .generic-tool-scene{margin-bottom:1rem!important}
body.home-page.journey-home .journey-tool .generic-tool-scene-title{font-size:.95rem!important;min-height:2.8rem}
body.home-page.journey-home .journey-tool .generic-tool-scene img{height:170px!important;object-fit:cover!important;aspect-ratio:auto}
body.home-page.journey-home .journey-tool .generic-tool-scene figcaption{font-size:.73rem!important;min-height:5em}
body.home-page.journey-home .journey-tool>div>a:not(.journey-tool-recipe){margin-top:auto;background:#315f4e;border-color:#315f4e}
body.home-page.journey-home .journey-tools .section-head>a{display:inline-flex;background:#315f4e;color:#fff;border-radius:999px;padding:.8rem 1.1rem;text-decoration:none;font-weight:700;min-height:44px;align-items:center;box-sizing:border-box}
@media(max-width:800px){body.home-page.journey-home .journey-tool-grid{grid-template-columns:1fr}body.home-page.journey-home .journey-tool h3{min-height:0}}
@media(max-width:680px){body.catalog-polished .catalog-product-grid{grid-auto-rows:auto}body.catalog-polished .tool-copy h3{min-height:0}body.catalog-polished .catalog-task-panel{min-height:180px}body.catalog-polished .tool-copy .generic-tool-scene figcaption{min-height:0}}

body.catalog-polished .tool-copy .generic-tool-scene-title,body.home-page.journey-home .journey-tool .generic-tool-scene-title{height:4.2rem;min-height:4.2rem;display:flex;align-items:center;box-sizing:border-box}
body.catalog-polished .catalog-task-panel{min-height:318px}
body.catalog-polished .tool-card .link-row{min-height:106px}

body.catalog-polished .catalog-product-grid:has(details[open]){grid-auto-rows:auto}

/* Compact product browsing: avoid matching every card to the tallest item in the grid. */
body.catalog-polished .catalog-product-grid{grid-auto-rows:auto;align-items:start}
body.catalog-polished .tools-page .tool-card,body.catalog-polished .tools-page .tool-card.has-generic-tool-scene{height:auto;align-self:start}
body.catalog-polished .tools-page .tool-card>.tool-copy,body.catalog-polished .tools-page .tool-card.has-generic-tool-scene>.tool-copy{flex:0 0 auto}
body.catalog-polished .tool-copy h3{min-height:0;line-height:1.2;margin:.3rem 0 .75rem}
body.catalog-polished .tool-copy>.tool-details{margin-top:.65rem}
body.catalog-polished .catalog-task-panel{min-height:0;padding:1.1rem 1.3rem}
body.catalog-polished .tool-card .link-row{min-height:0;margin-top:.35rem}
body.catalog-polished .tool-affiliation{min-height:0}

/* Fix: some cards still stretched their flex content, leaving a blank area before details. */
body.catalog-polished .tools-page .catalog-product-grid .tool-card>.tool-copy{display:block!important;flex:none!important;height:auto!important;min-height:0!important}
body.catalog-polished .tools-page .catalog-product-grid .tool-card>.tool-copy>.tool-details{margin:.8rem 0!important}
body.catalog-polished .tools-page .catalog-product-grid .tool-card{height:auto!important;min-height:0!important;align-self:start!important}
