/*
Theme Name: ThoughtThreads Quilted Puff Panel
Theme URI: https://thoughtthreads.net/
Author: OpenAI
Description: Premium business/news publishing theme using structured quilted puff panels, channel stitching, inset windows and flat reading surfaces.
Version: 1.0.2
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: thoughtthreads
*/

/* STEP 0A — TOKENS */
:root{
  --tt-bone:#EDE7DC;
  --tt-sand:#DCD2C2;
  --tt-ink:#262A31;
  --tt-moss:#3F5A4A;
  --tt-rust:#8C4A32;
  --tt-flat:#F8F5EF;
  --tt-puff-light:rgba(255,255,255,.55);
  --tt-puff-shade:rgba(38,42,49,.18);
  --tt-stitch-light:#A89880;
  --tt-stitch-dark:#6E7885;
  --tt-piping:#C4B49A;
  --tt-text:#1B1E22;
  --tt-text-pale:#F2EFE9;
  --tt-faded:#6A6A63;
  --tt-amber:#C97A18;
  --tt-puff-deep:10px;
  --tt-puff-medium:6px;
  --tt-puff-light-depth:4px;
  --tt-channel-width:3px;
  --tt-dimple-size:8px;
  --tt-piping-width:4px;
  --tt-stitch-dash:5px;
  --tt-stitch-gap:4px;
  --tt-container:1440px;
  --tt-reading:900px;
}

/* STEP 0B-1 — PUFF SURFACE */
.tt-puff{
  background:var(--tt-bone);
  box-shadow:
    inset 0 2px 0 var(--tt-puff-light),
    inset 0 -3px var(--tt-puff-medium) var(--tt-puff-shade),
    inset 3px 0 var(--tt-puff-medium) -3px var(--tt-puff-shade),
    inset -3px 0 var(--tt-puff-medium) -3px var(--tt-puff-shade);
}
.tt-puff--deep{box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -3px var(--tt-puff-deep) var(--tt-puff-shade),inset 4px 0 var(--tt-puff-deep) -4px var(--tt-puff-shade),inset -4px 0 var(--tt-puff-deep) -4px var(--tt-puff-shade)}
.tt-puff--light{box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -2px var(--tt-puff-light-depth) var(--tt-puff-shade),inset 2px 0 var(--tt-puff-light-depth) -2px var(--tt-puff-shade),inset -2px 0 var(--tt-puff-light-depth) -2px var(--tt-puff-shade)}

/* STEP 0B-2 — CHANNEL STITCH */
.tt-channel{
  position:relative;height:var(--tt-channel-width);background:var(--tt-stitch-light);
  box-shadow:inset 0 1px 2px var(--tt-puff-shade),0 -1px 0 var(--tt-puff-light),0 1px 0 var(--tt-puff-light);
}
.tt-channel::after{
  content:"";position:absolute;inset:1px 0 auto 0;height:1px;
  background:repeating-linear-gradient(90deg,var(--tt-stitch-light) 0 var(--tt-stitch-dash),transparent var(--tt-stitch-dash) calc(var(--tt-stitch-dash) + var(--tt-stitch-gap)));
}
.tt-on-dark .tt-channel{background:var(--tt-stitch-dark)}
.tt-on-dark .tt-channel::after{background:repeating-linear-gradient(90deg,var(--tt-stitch-dark) 0 var(--tt-stitch-dash),transparent var(--tt-stitch-dash) calc(var(--tt-stitch-dash) + var(--tt-stitch-gap)))}

/* STEP 0B-3 — DIMPLE */
.tt-dimple{width:var(--tt-dimple-size);height:var(--tt-dimple-size);border-radius:50%;background:var(--tt-bone);box-shadow:inset 0 0 4px 2px var(--tt-puff-shade),0 0 0 1px var(--tt-puff-light)}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--tt-flat);color:var(--tt-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.6}img{max-width:100%;height:auto}.tt-container{width:min(calc(100% - 40px),var(--tt-container));margin-inline:auto}.tt-flat{background:var(--tt-flat)}
a{color:var(--tt-rust);text-decoration-thickness:2px;text-underline-offset:3px}a:hover{color:#6f3927}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--tt-amber);outline-offset:2px}

.tt-header{position:sticky;top:0;z-index:50;padding:12px 20px 0;background:transparent}.tt-header__bar{min-height:84px;background:var(--tt-ink);color:var(--tt-text-pale);border-radius:26px 26px 18px 18px;box-shadow:inset 0 2px 0 rgba(255,255,255,.10),inset 0 -3px 6px rgba(0,0,0,.35);padding:18px 24px 15px;position:relative}.tt-header__bar::after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:var(--tt-piping-width);border-radius:999px;background:var(--tt-piping);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(38,42,49,.25)}.tt-header__inner{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(160px,1fr);align-items:center;gap:24px}.tt-brand img{display:block;width:auto;height:48px;max-width:230px;object-fit:contain}.tt-brand-new{display:inline-flex;align-items:center;line-height:0;text-decoration:none}.tt-footer-brand .tt-brand-new img{height:auto;width:min(280px,100%);max-width:280px}.tt-brand-fallback{display:flex;align-items:center;gap:12px;color:var(--tt-text-pale);text-decoration:none;font-weight:800;font-size:22px}.tt-logo-mark{width:56px;height:30px;border-radius:999px;background:var(--tt-sand);position:relative;box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -3px 6px var(--tt-puff-shade);overflow:hidden}.tt-logo-mark::before{content:"";position:absolute;left:50%;top:2px;bottom:2px;width:2px;background:var(--tt-stitch-light);box-shadow:-1px 0 0 var(--tt-puff-light),1px 0 0 var(--tt-puff-shade)}.tt-logo-mark::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;left:11px;top:11px;background:var(--tt-bone);box-shadow:inset 0 0 4px 2px var(--tt-puff-shade),0 0 0 1px var(--tt-puff-light)}
.tt-nav{display:flex;gap:8px;align-items:center;justify-content:center}.tt-nav a{display:block;color:var(--tt-text-pale);text-decoration:none;font-size:13px;font-weight:700;padding:10px 13px;border-radius:999px;background:#343942;box-shadow:inset 0 2px 0 rgba(255,255,255,.09),inset 0 -3px 5px rgba(0,0,0,.28)}.tt-nav a:hover,.tt-nav .current-menu-item>a{box-shadow:inset 0 3px 6px rgba(0,0,0,.35),inset 0 -1px 0 rgba(255,255,255,.08);text-decoration:underline}.tt-header__tools{display:flex;gap:8px;justify-content:flex-end}.tt-search-toggle{border:0;color:var(--tt-text-pale);background:#343942;border-radius:999px;padding:10px 14px;font-weight:700;box-shadow:inset 0 2px 0 rgba(255,255,255,.09),inset 0 -3px 5px rgba(0,0,0,.28);cursor:pointer}.tt-trust{display:flex;gap:20px;margin-top:10px;padding:0 12px 4px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#d3d2cc}

.tt-hero{margin-top:34px;background:var(--tt-bone);border-radius:30px;position:relative;padding:26px;box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -3px 10px var(--tt-puff-shade),inset 4px 0 10px -4px var(--tt-puff-shade),inset -4px 0 10px -4px var(--tt-puff-shade),0 2px 0 #b9aa93}.tt-hero::after{content:"";position:absolute;inset:8px;border:var(--tt-piping-width) solid var(--tt-piping);border-radius:24px;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(38,42,49,.2)}.tt-hero-grid{display:grid;grid-template-columns:48% 52%;gap:28px;align-items:stretch;position:relative;z-index:1}.tt-inset-window{background:var(--tt-flat);padding:7px;border-radius:20px;box-shadow:inset 0 2px 4px var(--tt-puff-shade);border:3px solid var(--tt-piping);position:relative}.tt-inset-window img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover;border-radius:14px}.tt-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:28px 28px 28px 20px}.tt-kicker,.tt-meta{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.tt-kicker{color:var(--tt-rust)}.tt-hero h1{font-size:clamp(42px,4vw,54px);line-height:1.05;margin:14px 0 18px;max-width:15ch}.tt-dek{font-size:18px;line-height:1.7;max-width:58ch}.tt-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;color:var(--tt-text)}.tt-hero .tt-channel{margin:18px 0}.tt-dimple--hero{position:absolute;right:18px;top:50%;z-index:2}

.tt-section{margin-top:40px}.tt-section-title{font-size:30px;margin:0 0 18px}.tt-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tt-card{background:var(--tt-bone);border-radius:22px;padding:16px;box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -2px 4px var(--tt-puff-shade),inset 2px 0 4px -2px var(--tt-puff-shade),inset -2px 0 4px -2px var(--tt-puff-shade);position:relative}.tt-card:nth-child(2){background:var(--tt-sand)}.tt-card .tt-inset-window img{min-height:220px;aspect-ratio:16/10}.tt-card h3{font-size:24px;line-height:1.15;margin:15px 0 10px}.tt-card p{margin:0}.tt-card .tt-meta{margin-top:12px;font-size:11px}.tt-card .tt-channel{margin:12px 0}.tt-card .tt-dimple{position:absolute;right:12px;bottom:12px}.tt-card:hover{box-shadow:inset 0 -2px 0 var(--tt-puff-light),inset 0 3px 5px var(--tt-puff-shade),inset 2px 0 4px -2px var(--tt-puff-shade),inset -2px 0 4px -2px var(--tt-puff-shade)}.tt-card:hover h3{text-decoration:underline;text-decoration-thickness:2px}

.tt-accent-band{margin-top:40px;background:var(--tt-moss);color:var(--tt-text-pale);border-radius:24px;padding:28px 34px;position:relative;box-shadow:inset 0 2px 0 rgba(255,255,255,.13),inset 0 -3px 10px rgba(0,0,0,.26);border-top:4px solid var(--tt-piping);border-bottom:4px solid var(--tt-piping)}.tt-accent-band h2{font-size:34px;line-height:1.15;margin:8px 0 12px;max-width:28ch}.tt-accent-band .tt-meta{color:var(--tt-text-pale)}.tt-accent-band .tt-channel{margin:16px 0;background:var(--tt-stitch-dark)}

.tt-readouts{margin-top:40px;background:var(--tt-sand);border-radius:26px;padding:24px;box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -3px 6px var(--tt-puff-shade)}.tt-readouts-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.tt-readout{padding:22px;text-align:center;position:relative}.tt-readout:not(:last-child){border-right:3px solid var(--tt-stitch-light)}.tt-readout-value{font-size:56px;font-weight:800;line-height:1}.tt-readout-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-top:8px}.tt-readout .tt-dimple{position:absolute;right:-4px;top:50%;transform:translateY(-50%)}

.tt-register{margin-top:40px;background:var(--tt-flat);border-radius:14px;padding:28px}.tt-register h2{font-size:30px;margin-top:0}.tt-register-row{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;padding:18px 0;border-bottom:1px dashed #b9afa0}.tt-register-row.no-thumb{grid-template-columns:1fr}.tt-register-thumb img{width:96px;height:72px;object-fit:cover;border-radius:10px}.tt-register-row h3{font-size:20px;line-height:1.25;margin:0 0 7px}.tt-register-row .tt-meta{margin:0;font-size:11px;color:var(--tt-faded)}

.tt-footer{margin-top:60px;background:var(--tt-ink);color:var(--tt-text-pale);padding:38px 0 28px;position:relative;box-shadow:inset 0 2px 0 rgba(255,255,255,.08),inset 0 -3px 8px rgba(0,0,0,.32);border-top:4px solid var(--tt-piping)}.tt-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px}.tt-footer a{color:var(--tt-text-pale)}.tt-footer h3{margin-top:0}.tt-footer-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tt-footer-cats a{padding:8px 10px;border-radius:999px;background:#343942;box-shadow:inset 0 2px 0 rgba(255,255,255,.08),inset 0 -2px 4px rgba(0,0,0,.28);text-decoration:none}.tt-footer-brand img{max-width:260px;height:auto}.tt-footer .tt-channel{margin:18px 0;background:var(--tt-stitch-dark)}

.tt-article-hero{margin-top:30px;background:var(--tt-bone);border-radius:26px;padding:24px;box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -3px 8px var(--tt-puff-shade);border:4px solid var(--tt-piping)}.tt-article-hero-grid{display:grid;grid-template-columns:44% 56%;gap:24px;align-items:center}.tt-article-hero h1{font-size:clamp(38px,4vw,52px);line-height:1.06;margin:10px 0}.tt-reading-wrap{display:grid;grid-template-columns:220px minmax(680px,var(--tt-reading)) 220px;gap:28px;justify-content:center;align-items:start;margin-top:30px}.tt-entry{background:var(--tt-flat);padding:44px;border:4px solid var(--tt-piping);border-radius:12px;overflow:hidden}.tt-entry-content{font-size:19px;line-height:1.8}.tt-entry-content p{margin:0 0 1.5em}.tt-entry-content h2{font-size:32px;line-height:1.2;margin:2.4em 0 .7em}.tt-entry-content h3{font-size:26px}.tt-entry-content img,.tt-entry-content figure,.tt-entry-content .wp-block-image,.tt-entry-content .wp-block-gallery,.tt-entry-content .wp-block-media-text{max-width:100%!important;width:auto!important;margin-left:auto!important;margin-right:auto!important}.tt-entry-content img{height:auto!important}.tt-entry-content .alignwide,.tt-entry-content .alignfull{max-width:100%!important;width:100%!important;margin-left:0!important;margin-right:0!important}.tt-entry-content iframe,.tt-entry-content embed,.tt-entry-content object{max-width:100%;width:100%;border:1px solid var(--tt-piping);border-radius:0;box-shadow:none}.tt-keypoints{background:#fffdf9;border:1px solid #d7ccbb;padding:20px 22px;margin:0 0 28px}.tt-pullquote{background:var(--tt-moss);color:var(--tt-text-pale);padding:24px 28px;border-top:4px solid var(--tt-piping);border-bottom:4px solid var(--tt-piping);font-size:28px;font-weight:700;line-height:1.3;margin:36px 0}.tt-dropcap:first-letter{float:left;font-size:54px;line-height:.85;margin:8px 10px 0 0;padding:8px 10px;border-radius:12px;background:var(--tt-bone);box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -3px 6px var(--tt-puff-shade)}
.tt-toc{position:sticky;top:110px;background:var(--tt-flat);padding:16px;border-left:1px solid #d6cbbb}.tt-toc h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.tt-toc a{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--tt-text);text-decoration:none}.tt-toc a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tt-sand);box-shadow:inset 0 0 4px 2px var(--tt-puff-shade)}.tt-toc a.active::before{background:var(--tt-rust)}.tt-marginalia{font-size:13px;color:var(--tt-faded);position:sticky;top:110px}.tt-marginalia-box{background:var(--tt-flat);border:1px solid #d6cbbb;padding:16px}
.tt-author-box{margin-top:36px;padding:20px;background:var(--tt-flat);border:1px solid #d6cbbb;display:grid;grid-template-columns:80px 1fr;gap:18px}.tt-author-box img{width:80px;height:80px;border-radius:50%;object-fit:cover}.tt-related{margin-top:38px}.tt-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tt-related-card{background:var(--tt-bone);border-radius:20px;padding:14px;box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -2px 4px var(--tt-puff-shade)}.tt-related-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:13px}.tt-related-card h3{font-size:20px;line-height:1.2}.tt-internal-links{margin:34px 0;padding:20px;background:#2f333a;border:1px solid #4d525a;color:#fff}.tt-internal-links__title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin-bottom:12px}.tt-internal-link-row{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:11px 0;border-top:1px solid #5f646b}.tt-internal-link-row a,.tt-internal-link-row a:visited{color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration-color:#fff!important}.tt-internal-link-row a:hover,.tt-internal-link-row a:focus{color:#f7f1e7!important;-webkit-text-fill-color:#f7f1e7!important}.tt-internal-link-num{font-weight:800;color:#fff}
.tt-ad{background:var(--tt-flat);border:1px solid var(--tt-faded);padding:16px;text-align:center;min-height:120px}.tt-ad:empty{display:none}.tt-ad-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tt-faded)}

.tt-search-overlay{position:fixed;inset:0;background:rgba(38,42,49,.96);z-index:90;display:none;padding:80px 20px}.tt-search-overlay.is-open{display:block}.tt-search-panel{width:min(760px,100%);margin:auto;background:var(--tt-bone);border-radius:24px;padding:24px;box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -3px 8px var(--tt-puff-shade)}.tt-search-panel input{width:100%;padding:16px;border:0;border-radius:14px;background:var(--tt-flat);box-shadow:inset 0 3px 7px var(--tt-puff-shade);font-size:20px}.tt-search-close{float:right;border:0;background:transparent;font-size:28px;cursor:pointer}


@media (max-width:1199px){.tt-reading-wrap{grid-template-columns:minmax(0,900px);padding:0 22px}.tt-toc,.tt-marginalia{display:none}.tt-header__inner{grid-template-columns:1fr auto}.tt-nav{grid-row:2;grid-column:1/-1;flex-wrap:wrap}.tt-hero-grid,.tt-article-hero-grid{grid-template-columns:1fr}.tt-inset-window img{min-height:320px}}
@media (max-width:767px){.tt-container{width:min(calc(100% - 24px),var(--tt-container))}.tt-header{padding:10px 10px 0}.tt-header__bar{min-height:70px;padding:14px}.tt-header__inner{grid-template-columns:1fr auto;gap:10px}.tt-nav{display:none}.tt-trust{gap:10px;font-size:9px;flex-wrap:wrap}.tt-hero{padding:16px;border-radius:22px}.tt-hero::after{inset:6px;border-width:3px;border-radius:18px}.tt-hero-copy{padding:20px 14px}.tt-hero h1{font-size:40px}.tt-card-grid{grid-template-columns:1fr}.tt-card{box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -2px 5px var(--tt-puff-shade)}.tt-accent-band{padding:22px;border-radius:18px}.tt-readouts-grid{grid-template-columns:repeat(2,1fr)}.tt-readout:nth-child(2n){border-right:0}.tt-readout-value{font-size:44px}.tt-register{padding:18px}.tt-register-row{grid-template-columns:72px 1fr}.tt-register-thumb img{width:72px;height:58px}.tt-footer-grid{grid-template-columns:1fr}.tt-footer-cats{grid-template-columns:1fr 1fr}.tt-entry{padding:24px 20px;border-width:3px}.tt-entry-content{font-size:18px}.tt-related-grid{grid-template-columns:1fr}.tt-article-hero{padding:16px}.tt-dimple{--tt-dimple-size:6px}.tt-inset-window img{min-height:240px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.tt-card:hover{box-shadow:inset 0 2px 0 var(--tt-puff-light),inset 0 -2px 4px var(--tt-puff-shade),inset 2px 0 4px -2px var(--tt-puff-shade),inset -2px 0 4px -2px var(--tt-puff-shade)}}

/* v1.0.1 brand reset: the legacy WP custom logo must never surface in theme chrome. */
.tt-header .custom-logo-link,.tt-footer .custom-logo-link,.tt-header .custom-logo,.tt-footer .custom-logo{display:none!important}
@media(max-width:767px){.tt-brand-new img{height:40px;max-width:190px}.tt-footer-brand .tt-brand-new img{width:min(240px,100%)}}
