/*
Theme Name: TimeSaver — Migration Preview
Version: 0.4.11
Description: Experimental local migration scaffold. Staging only; not a production release.
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: timesaver
*/
body { margin:0; background:var(--tsv-bg,#0a0612); color:var(--tsv-fg,#ece9f5); font-family:var(--tsv-sans,system-ui,sans-serif); }
.ts-shell { max-width:1280px; margin:auto; padding:24px; }
.ts-shell a { color:#b394f0; }
.ts-shell a:focus-visible,.ts-shell input:focus-visible { outline:3px solid #b394f0; outline-offset:4px; }
.ts-header { display:flex; flex-wrap:wrap; gap:24px; align-items:center; }
.ts-header nav ul { display:flex; flex-wrap:wrap; gap:16px; list-style:none; padding:0; }
.ts-header nav ul ul { display:block; padding-left:16px; }
.ts-header { box-sizing:border-box; justify-content:space-between; border-bottom:1px solid var(--tsv-border); }
.ts-brand { font-size:24px; font-weight:750; text-decoration:none; color:var(--tsv-fg)!important; }
.ts-brand span { display:block; font-size:12px; font-weight:400; color:var(--tsv-fg-dim); margin-top:4px; }
.ts-header nav { flex:1; min-width:0; }
.ts-header nav>ul { justify-content:flex-end; gap:4px 12px; margin:0; }
.ts-header nav a { display:block; padding:12px 4px; text-decoration:none; font-size:14px; }
.ts-header nav li { position:relative; }
.ts-header nav ul ul { display:none; position:absolute; z-index:100; min-width:220px; padding:12px; background:var(--tsv-bg-elev); border:1px solid var(--tsv-border); border-radius:12px; }
.ts-header nav li:hover>ul,.ts-header nav li:focus-within>ul { display:block; }
.ts-header nav ul ul ul { position:static; border:0; }
.ts-menu-toggle { display:none; background:var(--tsv-bg-elev); color:var(--tsv-fg); border:1px solid var(--tsv-border); border-radius:10px; padding:12px 18px; cursor:pointer; }
.ts-menu-toggle:focus-visible { outline:3px solid var(--tsv-accent-bright); }
.ts-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; border-top:1px solid var(--tsv-border); margin-top:48px; font-size:14px; }
.ts-footer ul { display:flex; flex-wrap:wrap; gap:20px; list-style:none; padding:0; }
.ts-related { padding-top:48px; padding-bottom:48px; }
.ts-related h2 { font-size:clamp(24px,3vw,36px); margin-bottom:24px; }
.ts-product-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ts-product-related-card { display:flex; align-items:center; gap:16px; min-width:0; padding:18px; border:1px solid var(--tsv-border,#302640); border-radius:18px; background:var(--tsv-bg-elev,#171122); color:var(--tsv-fg,#ece9f5)!important; text-decoration:none; line-height:1.4; transition:background .16s,border-color .16s; }
.ts-product-related-card:hover,.ts-product-related-card:focus-visible { background:#241936; border-color:#9a7ae8; }
.ts-product-related-card .ts-product-related-image { width:88px; height:88px; flex:0 0 88px; object-fit:contain; border-radius:10px; margin:0; }
.ts-product-related-card>span { overflow-wrap:anywhere; }
.ts-product-related-arrow { margin-left:auto; color:#b394f0; }
@media(max-width:1000px){.ts-product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:599px){.ts-product-related-grid{grid-template-columns:minmax(0,1fr);}.ts-product-related-card{padding:14px;}}
@media(prefers-reduced-motion:reduce){.ts-product-related-card{transition:none;}}
.ts-card a { text-decoration:none; }
.ts-category-list,.ts-post-categories { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 20px; }
.ts-category-list li,.ts-post-categories li { min-width:0; max-width:100%; }
.ts-category-list a,.ts-post-categories a { display:block; padding:8px 12px; border:1px solid var(--tsv-border,#49355d); border-radius:999px; text-decoration:none; overflow-wrap:anywhere; line-height:1.4; font-size:13px; }
.ts-category-list a:hover,.ts-post-categories a:hover { background:var(--tsv-bg-elev,#21152e); }
.ts-category-list .current-menu-item>a { background:var(--tsv-bg-elev,#21152e); border-color:var(--tsv-accent-bright,#b394f0); color:var(--tsv-fg,#ece9f5); }
.ts-category-navigation { margin-block:24px; }
.ts-search-form { margin-block:24px; max-width:720px; }
.ts-search-form label { display:block; margin-bottom:8px; }
.ts-search-controls { display:flex; flex-wrap:wrap; gap:10px; }
.ts-search-controls input { flex:1 1 220px; min-width:0; max-width:100%; box-sizing:border-box; padding:12px 16px; border:1px solid var(--tsv-border,#49355d); border-radius:10px; background:var(--tsv-bg-elev,#21152e); color:inherit; font:inherit; }
.ts-search-controls button { padding:12px 20px; border:1px solid #b394f0; border-radius:10px; background:#332044; color:#fff; font:inherit; cursor:pointer; }
.ts-search-controls button:focus-visible { outline:3px solid #b394f0; outline-offset:3px; }
.ts-card h3 { font-size:18px; line-height:1.4; }
.ts-prose { max-width:780px; margin:32px auto; line-height:1.7; overflow-wrap:anywhere; }
.ts-prose img { max-width:100%; height:auto; }
.ts-prose pre { overflow:auto; }
.ts-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ts-card { padding:20px; background:#15102a; border-radius:14px; overflow-wrap:anywhere; }
.ts-card img { width:100%; max-height:180px; object-fit:contain; aspect-ratio:1; height:auto; }
.ts-landing { width:100%; min-width:0; }
.ts-footer-social { display:flex; flex-wrap:wrap; gap:12px 20px; list-style:none; padding:0; }
.timesaver-feature-list { list-style:none; padding-left:0; }
.timesaver-feature-list li { margin-block:0.5em; }
.ts-skip { position:absolute; left:-10000px; }
.ts-skip:focus { left:16px; top:16px; z-index:10000; background:#15102a; padding:12px; color:white; }
@media(max-width:899px){.ts-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:699px){.ts-cards{grid-template-columns:minmax(0,1fr);} .ts-shell{padding:16px;}}
@media(max-width:899px){
 .ts-menu-toggle { display:block; }
 .ts-header nav { display:none; flex-basis:100%; }
 .ts-header[data-open="true"] nav { display:block; }
 .ts-header nav>ul { display:block; }
 .ts-header nav ul ul { display:block; position:static; padding:0 0 0 16px; border:0; background:none; min-width:0; }
}

/* Theme shell only: independent of the embedded landing layouts. */
.ts-workflow-page .ts-prose { max-width:1120px; padding-block:32px; }
.ts-workflow-layout { max-width:1168px; box-sizing:border-box; padding-block:40px; }
.ts-workflow-lesson h1 { max-width:960px; font-size:clamp(30px,4vw,52px); line-height:1.15; letter-spacing:-.025em; margin:12px 0 32px; }
.ts-workflow-eyebrow { font-size:12px; letter-spacing:.14em; color:var(--tsv-accent-bright); }
.ts-workflow-content { line-height:1.75; overflow-wrap:anywhere; }
.ts-workflow-content h2 { margin-top:36px; line-height:1.3; }
.ts-workflow-content p { max-width:820px; }
.ts-workflow-content img,.ts-workflow-content video { max-width:100%; height:auto; border-radius:14px; }
.ts-workflow-content iframe { max-width:100%; border:0; border-radius:14px; }
.ts-workflow-content .ts-button { display:inline-block; padding:12px 20px; background:var(--tsv-accent-soft); border:1px solid var(--tsv-border); border-radius:12px; text-decoration:none; }
.ts-workflow-content .ts-button:hover { border-color:var(--tsv-accent); }
.ts-workflow-content .wp-block-button__link { background:var(--tsv-accent-soft); color:var(--tsv-fg); border:1px solid var(--tsv-border); border-radius:12px; padding:12px 20px; }
.ts-workflow-content .wp-block-button__link:hover { border-color:var(--tsv-accent); }
.ts-workflow-related { margin-top:64px; padding-top:32px; border-top:1px solid var(--tsv-border); }
.ts-workflow-related>h2 { font-size:clamp(24px,3vw,34px); line-height:1.3; }
.ts-workflow-page .ts-prose>h1 { max-width:900px; font-size:clamp(30px,4vw,52px); line-height:1.15; letter-spacing:-.025em; margin:0 0 32px; }
.ts-workflow-page .ts-prose>p { max-width:800px; }
.ts-workflow-page .ts-prose>h2 { margin-top:48px; line-height:1.3; }
.ts-workflow-discovery { margin-top:24px; }
.ts-workflow-jumps { display:flex; flex-wrap:wrap; gap:10px; }
.ts-workflow-jumps a { display:flex; gap:12px; align-items:center; padding:10px 16px; border-radius:999px; background:#1d1630; color:#ece9f5; text-decoration:none; font-size:14px; }
.ts-workflow-jumps a span { color:#b6adcc; font-size:12px; }
.ts-workflow-group { margin-top:32px; scroll-margin-top:24px; }
.ts-workflow-group h3 { font-size:19px; margin:0 0 14px; }
.ts-workflow-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ts-workflow-link { display:flex; align-items:center; gap:14px; padding:18px; border:1px solid #302640; border-radius:16px; background:#171122; text-decoration:none; color:#ece9f5!important; font-size:15px; line-height:1.4; min-height:60px; transition:background .16s,border-color .16s; }
.ts-workflow-link:hover,.ts-workflow-link:focus-visible { background:#241936; border-color:#9a7ae8; }
.ts-workflow-link .ts-workflow-thumbnail { width:64px; height:64px; flex:0 0 64px; object-fit:contain; border-radius:10px; margin:0; }
.ts-workflow-arrow { margin-left:auto; color:#b6adcc; }
.ts-workflow-jumps a:hover { background:#332044; }
@media(max-width:1099px){.ts-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:599px){.ts-workflow-grid{grid-template-columns:minmax(0,1fr);} .ts-workflow-link{padding:14px;} .ts-workflow-page .ts-prose{margin-block:0;}}
@media(prefers-reduced-motion:reduce){.ts-workflow-link{transition:none;}}
.ts-header { position:relative; z-index:200; min-height:92px; gap:20px; padding-block:18px; }
.ts-brand { letter-spacing:-.035em; flex-shrink:0; }
.ts-brand-logo { display:block; width:190px; height:auto; }
.ts-header { border-bottom:0; }
.ts-landing > .tsv-home { border:0; border-radius:0; box-shadow:none; }
.ts-brand span { letter-spacing:.03em; line-height:1.5; }
.ts-header nav>ul { gap:4px; align-items:center; }
.ts-header nav a { box-sizing:border-box; min-height:44px; padding:12px 14px; border-radius:10px; color:var(--tsv-fg-dim); line-height:20px; transition:background .16s,color .16s,box-shadow .16s; }
.ts-header nav a:hover,.ts-header nav .is-open>a { color:var(--tsv-fg); background:var(--tsv-accent-soft); }
.ts-header nav .current-menu-ancestor>a { color:var(--tsv-fg); background:rgba(154,122,232,.09); }
.ts-header nav .current-menu-item>a { color:#f5f1ff; background:rgba(154,122,232,.18); box-shadow:inset 0 -2px var(--tsv-accent-bright); }
.ts-header nav .menu-item-has-children>a { padding-right:48px; }
.ts-header nav ul ul { top:100%; right:0; min-width:270px; max-width:min(320px,calc(100vw - 32px)); padding:8px; border-radius:16px; box-shadow:0 18px 48px rgba(0,0,0,.4); background:#191329; }
.ts-header nav ul ul a { font-size:14px; padding:12px; overflow-wrap:anywhere; }
.ts-header nav ul ul ul { margin-left:12px; padding:4px 0 4px 10px; min-width:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.ts-header.ts-navigation-ready nav li:hover>ul,.ts-header.ts-navigation-ready nav li:focus-within>ul { display:none; }
.ts-header.ts-navigation-ready nav li.is-open>ul { display:block; }
.ts-header nav>ul>li>ul { max-height:var(--ts-menu-height,70vh); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.ts-header.ts-navigation-ready nav ul ul li>ul,
.ts-header.ts-navigation-ready nav ul ul li:hover>ul,
.ts-header.ts-navigation-ready nav ul ul li:focus-within>ul { display:block; }
.ts-header nav ul ul .menu-item-has-children>a { padding-right:12px; color:var(--tsv-fg); font-weight:650; }
.ts-submenu-toggle { position:absolute; top:0; right:0; width:44px; height:44px; border:0; border-radius:10px; background:transparent; color:var(--tsv-fg-dim); cursor:pointer; }
.ts-submenu-toggle::after { content:''; display:block; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; margin:auto; transform:translateY(-2px) rotate(45deg); transition:transform .16s; }
.ts-submenu-toggle[aria-expanded="true"]::after { transform:translateY(2px) rotate(225deg); }
.ts-submenu-toggle:hover { background:rgba(154,122,232,.2); color:#fff; }
.ts-header :is(a,button):focus-visible { outline:2px solid #c8b3f6; outline-offset:3px; }
.ts-menu-toggle { font:inherit; font-size:14px; min-height:44px; transition:background .16s,border-color .16s; }
.ts-menu-toggle:hover,.ts-menu-toggle[aria-expanded="true"] { background:var(--tsv-accent-soft); border-color:var(--tsv-accent); }
.ts-card { border:1px solid var(--tsv-border); border-radius:18px; padding:24px; transition:border-color .18s,background .18s; }
.ts-card:hover,.ts-card:focus-within { border-color:#685187; background:#1b1430; }
.ts-card :is(h2,h3) { margin-top:20px; font-size:21px; line-height:1.4; }
.ts-card :is(h2,h3) a { color:var(--tsv-fg); }
.ts-card :is(h2,h3) a:hover { color:var(--tsv-accent-bright); }
.ts-category-list a { transition:background .16s,border-color .16s,color .16s; }
.ts-category-list a:hover { border-color:var(--tsv-accent); color:var(--tsv-fg); }
.ts-footer { padding-block:32px; color:var(--tsv-fg-dim); line-height:1.6; }
.ts-footer a { color:var(--tsv-fg-dim); text-decoration:none; text-underline-offset:4px; }
.ts-footer a:hover { color:var(--tsv-fg); text-decoration:underline; }
@media(max-width:1099px) {
 .ts-header { min-height:80px; }
 .ts-header nav { flex-basis:100%; display:block; }
 .ts-header nav>ul { display:block; }
 .ts-header .ts-menu-toggle { display:none; }
 .ts-js .ts-header .ts-menu-toggle,.ts-header.ts-navigation-ready .ts-menu-toggle { display:block; }
 .ts-js .ts-header nav,.ts-header.ts-navigation-ready nav { display:none; }
 .ts-header.ts-navigation-ready[data-open="true"] nav { display:block; padding-top:12px; border-top:1px solid var(--tsv-border); }
 .ts-header nav a { min-height:48px; padding-block:14px; }
 .ts-header nav ul ul { display:block; position:static; min-width:0; max-width:none; margin:4px 0 8px 14px; padding:4px 0 4px 10px; border:0; border-radius:0; box-shadow:none; background:transparent; }
 .ts-header.ts-navigation-ready nav ul ul { display:none; }
 .ts-header.ts-navigation-ready[data-open="true"] nav ul ul { display:block; max-height:none; overflow:visible; }
 .ts-header.ts-navigation-ready nav .ts-submenu-toggle { display:none; }
 .ts-header nav .menu-item-has-children>a { padding-right:14px; }
 .ts-submenu-toggle { height:48px; }
}
@media(prefers-reduced-motion:reduce) {
 .ts-header nav a,.ts-submenu-toggle::after,.ts-menu-toggle,.ts-card,.ts-category-list a { transition:none; }
}

/* Compact AI catalog: full-size previews, always-visible readable captions. */
.ts-ai-grid.ts-cards,.ts-ai-grid.ts-workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ts-ai-tile{min-width:0;margin:0;padding:0}
.ts-ai-tile .ts-ai-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(270px,auto);position:relative;isolation:isolate;overflow:hidden;border:1px solid #3d304d;border-radius:16px;background:#191122;color:#fff!important;text-decoration:none;transition:border-color .18s,box-shadow .18s}
.ts-ai-card .ts-ai-card-image{grid-area:1/1;width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:1;object-fit:cover;display:block;margin:0;align-self:stretch}
.ts-ai-card .ts-ai-card-copy{grid-area:1/1;z-index:1;align-self:end;display:flex;flex-direction:column;gap:7px;padding:44px 15px 15px;background:linear-gradient(transparent,rgba(9,6,16,.91) 28%,rgba(9,6,16,.98));overflow-wrap:anywhere}
.ts-ai-card .ts-ai-card-category{font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:#d3b9fa}
.ts-ai-card .ts-ai-card-title{font-size:17px;line-height:1.25;font-weight:650;color:#fff;margin:0;letter-spacing:-.01em}
.ts-ai-card .ts-ai-card-summary{font-size:13px;line-height:1.45;color:#e0d9e9;margin:0}
.ts-ai-tile .ts-ai-card:hover{border-color:#b394f0;box-shadow:0 8px 24px #0004}
.ts-ai-tile .ts-ai-card:focus-visible{outline:3px solid #c8b3f6;outline-offset:3px}
@media(max-width:1099px){.ts-ai-grid.ts-cards,.ts-ai-grid.ts-workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ts-ai-tile .ts-ai-card{grid-template-rows:minmax(250px,auto)}}
@media(max-width:699px){.ts-ai-grid.ts-cards,.ts-ai-grid.ts-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ts-ai-tile .ts-ai-card{border-radius:12px;grid-template-rows:minmax(245px,auto)}.ts-ai-card .ts-ai-card-copy{padding:38px 11px 12px;gap:6px}.ts-ai-card .ts-ai-card-title{font-size:15px}.ts-ai-card .ts-ai-card-summary{font-size:12px;line-height:1.4}}
@media(max-width:359px){.ts-ai-grid.ts-cards,.ts-ai-grid.ts-workflow-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.ts-ai-tile .ts-ai-card{transition:none}}

/* Long-form workflow guides: no global font imports, colors or DOM handlers. */
/* Tools use one template regardless of post/page or additional AI categories. */
.ts-tool-grid.ts-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ts-tool-tile{min-width:0;margin:0;padding:0}
.ts-tool-card{display:flex;flex-direction:column;height:100%;overflow:clip;border:1px solid var(--tsv-border);border-radius:16px;background:var(--tsv-bg-elev);color:var(--tsv-fg)!important;text-decoration:none;transition:border-color .18s,background .18s}
.ts-tool-card-media{aspect-ratio:1;min-width:0;background:var(--tsv-bg)}
.ts-tool-card .ts-tool-card-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0;max-height:none}
.ts-tool-card-copy{padding:16px;overflow-wrap:anywhere}
.ts-tool-card .ts-tool-card-title{font-size:18px;line-height:1.3;margin:0;color:var(--tsv-fg);font-weight:650}
.ts-tool-card .ts-tool-card-summary{font-size:14px;line-height:1.5;margin:8px 0 0;color:var(--tsv-fg-dim)}
.ts-tool-card:hover{border-color:var(--tsv-accent-bright);background:var(--tsv-bg-elev-2)}
.ts-tool-card:focus-visible{outline:3px solid var(--tsv-accent-bright);outline-offset:3px}
.ts-tool-card-placeholder{display:grid;place-items:center;height:100%;font-size:72px;color:var(--tsv-accent-bright);background:linear-gradient(135deg,var(--tsv-bg-elev),var(--tsv-bg-elev-2))}
@media(max-width:1099px){.ts-tool-grid.ts-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:699px){.ts-tool-grid.ts-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ts-tool-card-copy{padding:12px}.ts-tool-card .ts-tool-card-title{font-size:16px}.ts-tool-card .ts-tool-card-summary{font-size:13px}}
@media(max-width:359px){.ts-tool-grid.ts-cards{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.ts-tool-card{transition:none}}

.ts-editorial-guide{min-width:0;color:inherit;line-height:1.75}
.ts-editorial-guide h1{font-size:clamp(26px,4vw,44px);line-height:1.18;overflow-wrap:anywhere}
.ts-editorial-guide h2{font-size:clamp(22px,3vw,30px);line-height:1.3;margin:0 0 18px}
.ts-editorial-guide h3{font-size:21px;line-height:1.4;margin:28px 0 12px}
.ts-editorial-guide section{margin-block:42px;scroll-margin-top:110px}
.ts-editorial-guide nav{padding:18px 20px;border:1px solid var(--ts-border,#463b52);border-radius:16px;line-height:2.1}
.ts-editorial-guide pre{overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;border-radius:14px;background:#15101d;color:#f1eaf8;font-size:15px;line-height:1.65}
.ts-editorial-guide video{display:block;width:100%;height:auto;border-radius:16px;background:#111;margin-block:22px}
.ts-editorial-guide figure{margin:20px 0;min-width:0}
.ts-editorial-guide img{max-width:100%;height:auto;display:block;border-radius:14px}
.ts-editorial-guide .ts-editorial-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ts-editorial-guide figcaption{font-size:14px;line-height:1.6;margin-top:10px;overflow-wrap:anywhere}
@media(max-width:600px){.ts-editorial-guide .ts-editorial-images{grid-template-columns:minmax(0,1fr)}.ts-editorial-guide section{margin-block:30px}.ts-editorial-guide pre{padding:15px}}
