/* /python/css/alchemyV49.css */
/* Minimal styling deltas for V49 (keeps look close to prior versions while fixing italics/links/UX) */

body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, "Helvetica Neue", Arial, sans-serif; margin:0; padding:0; line-height:1.45; color:#222; background:#fafafa; }
a { color:#0a58ca; text-decoration:none; }
a:hover { text-decoration:underline; }
.unstyled-link { color:inherit; text-decoration:none; border-bottom:1px dotted #bbb; }
.unstyled-link:hover { color:#0a58ca; }

.card { background:#fff; margin:16px auto; max-width:1100px; padding:20px; box-shadow:0 2px 10px rgba(0,0,0,.06); border-radius:14px; }
.hero { background:#fff; margin:16px auto; max-width:1100px; padding:20px; box-shadow:0 2px 10px rgba(0,0,0,.06); border-radius:14px; }
.hero-home { text-align:center; background:linear-gradient(180deg, #ffffff, #f6f7fb); }
.mega-title { font-size:28px; margin:0 0 8px; }
.tagline { font-size:18px; color:#333; margin:8px 0 16px; }
.cta-row .cta { display:inline-block; padding:10px 14px; border-radius:999px; background:#111; color:#fff; }
.cta-row .cta:hover { background:#000; }

.gallery { display:flex; flex-wrap:wrap; gap:10px; }
.gallery a { background:#f4f6fb; padding:8px 10px; border-radius:10px; }
.gallery a:hover { background:#e9eefb; }

.section { margin:16px 0; }
.footer { margin:30px auto 60px; max-width:1100px; color:#666; font-size:13px; text-align:center; }

.count { color:#777; font-style:italic; }
.letter { font-weight:600; }

.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap:16px; margin:16px 0; }
.card .header { display:flex; align-items:center; justify-content:space-between; }
.card .title { font-weight:700; }

.amz-attrs { list-style:none; padding:0; margin:10px 0 0; }
.amz-attrs .ak { font-weight:600; }

/* Sortable tables */
table { width:100%; border-collapse:collapse; background:#fff; }
table.sortable thead th { text-align:left; border-bottom:2px solid #e8e8ee; padding:10px 8px; user-select:none; }
table.sortable tbody td { border-bottom:1px solid #f0f0f5; padding:8px; vertical-align:top; }
table.sortable thead th .sort-indicator { margin-left:6px; opacity:.6; }
table.sortable tbody tr:hover { background:#fcfcff; }

/* Image zoom hover */
.zoom-wrap { position:relative; display:inline-block; }
.zoom-wrap img.zoom-pop { position:absolute; top:0; left:100%; margin-left:8px; display:none; width:300px; max-width:50vw; box-shadow:0 8px 24px rgba(0,0,0,.2); border-radius:10px; background:#fff; }
.zoom-wrap:hover img.zoom-pop { display:block; }
img.thumb { max-width:60px; max-height:60px; }

.kcol { width:220px; }

