/* Blog listing (Phase 7B) - scoped .tts-blog on tts-plist tokens. */
/* Phase 26: dark-luxury conversion of the archive to match deployed Rev06 /blog. */

body.blog { background-color: #050d1a; }

/* Hero */
.tts-plist.tts-plist.tts-blog .tts-blog__hero { position: relative; overflow: hidden; background: var(--pl-navy-950); }
.tts-plist.tts-plist .tts-blog__heroinner { position: relative; padding-block: 7rem 3rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__heroinner { padding-top: 8rem; } }
.tts-plist.tts-plist .tts-blog__herocontent { margin-top: 1.75rem; max-width: 48rem; }
.tts-plist.tts-plist .tts-blog__h1 { margin-top: 1.5rem; font-family: Manrope, Inter, sans-serif; font-size: 2.5rem; font-weight: 800; line-height: 1.06; letter-spacing: -0.03em; color: #fff; text-wrap: balance; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__h1 { font-size: 3rem; } }
.tts-plist.tts-plist .tts-blog__desc { margin-top: 1.25rem; max-width: 42rem; font-size: 1rem; line-height: 1.625; color: rgba(226, 235, 243, 0.75); }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__desc { font-size: 1.125rem; } }
.tts-plist.tts-plist .tts-blog__metaline { margin-top: 1.5rem; font-size: 0.75rem; line-height: 1rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.14em; color: rgba(226, 235, 243, 0.55); }

/* Main */
.tts-plist.tts-plist .tts-blog__main { padding-block: 3.5rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__main { padding-block: 4rem; } }

/* Featured card */
.tts-plist.tts-plist .tts-blog__featured { display: grid; overflow: hidden; border-radius: 1.5rem; border: 1px solid var(--pl-line); background: #fff; box-shadow: var(--pl-card-shadow); transition: all 0.3s; }
.tts-plist.tts-plist .tts-blog__featured:hover { box-shadow: var(--pl-lift-shadow); }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-blog__featured { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tts-plist.tts-plist .tts-blog__fmedia { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pl-mist); }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-blog__fmedia { aspect-ratio: auto; min-height: 320px; } }
.tts-plist.tts-plist .tts-blog__fmedia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.tts-plist.tts-plist .tts-blog__featured:hover .tts-blog__fmedia img { transform: scale(1.04); }
.tts-plist.tts-plist .tts-blog__fbadge { position: absolute; left: 1rem; top: 1rem; border-radius: 9999px; background: var(--pl-brand-500); padding: 0.25rem 0.75rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; }
.tts-plist.tts-plist .tts-blog__fbody { display: flex; flex-direction: column; justify-content: center; padding: 1.75rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__fbody { padding: 2.5rem; } }
.tts-plist.tts-plist .tts-blog__meta { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1rem; row-gap: 0.25rem; font-size: 0.75rem; line-height: 1rem; font-weight: 500; color: var(--pl-slate-500); }
.tts-plist.tts-plist .tts-blog__catchip { border-radius: 9999px; background: var(--pl-navy-50); padding: 0.25rem 0.75rem; font-size: 11px; line-height: 1.3333; font-weight: 700; text-transform: uppercase; letter-spacing: 0.025em; color: var(--pl-navy-700); }
.tts-plist.tts-plist .tts-blog__metaitem { display: inline-flex; align-items: center; gap: 0.375rem; }
.tts-plist.tts-plist .tts-blog__metaitem svg { width: 0.875rem; height: 0.875rem; }
.tts-plist.tts-plist .tts-blog__ftitle { margin-top: 1rem; font-family: Manrope, Inter, sans-serif; font-size: 1.5rem; line-height: 1.375; font-weight: 800; letter-spacing: -0.02em; color: var(--pl-navy-900); }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__ftitle { font-size: 1.875rem; } }
.tts-plist.tts-plist .tts-blog__ftitle a { color: inherit; transition: color 0.15s; }
.tts-plist.tts-plist .tts-blog__ftitle a:hover { color: var(--pl-brand-600); }
.tts-plist.tts-plist .tts-blog__fexcerpt { margin-top: 1rem; font-size: 1rem; line-height: 1.625; color: var(--pl-slate-600); }
.tts-plist.tts-plist .tts-blog__flink { margin-top: 1.5rem; display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; color: var(--pl-brand-600); transition: color 0.15s; }
.tts-plist.tts-plist .tts-blog__flink:hover { color: var(--pl-brand-700); }
.tts-plist.tts-plist .tts-blog__flink svg { width: 1rem; height: 1rem; transition: transform 0.2s; }
.tts-plist.tts-plist .tts-blog__flink:hover svg { transform: translateX(0.25rem); }

/* Filters */
.tts-plist.tts-plist .tts-blog__filters { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 1.25rem; }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-blog__filters { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.tts-plist.tts-plist .tts-blog__pills { display: flex; gap: 0.5rem; overflow-x: auto; margin-inline: -0.25rem; padding-inline: 0.25rem; padding-bottom: 0.25rem; scrollbar-width: none; }
.tts-plist.tts-plist .tts-blog__pills::-webkit-scrollbar { display: none; }
.tts-plist.tts-plist .tts-blog__pill { display: inline-flex; height: 2.75rem; flex-shrink: 0; align-items: center; gap: 0.5rem; border-radius: 9999px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.04); padding: 0 1rem; font-family: inherit; font-size: 0.875rem; font-weight: 600; color: rgba(226, 235, 243, 0.8); cursor: pointer; transition: all 0.2s; }
.tts-plist.tts-plist .tts-blog__pill:hover { border-color: rgba(255, 255, 255, 0.3); color: #fff; }
.tts-plist.tts-plist .tts-blog__pill:focus-visible { outline: 2px solid rgba(240, 112, 114, 0.6); outline-offset: 2px; }
.tts-plist.tts-plist .tts-blog__pill--active { border-color: var(--pl-brand-500); background: var(--pl-brand-500); color: #fff; box-shadow: 0 22px 70px -26px rgba(232, 31, 34, 0.55); }
.tts-plist.tts-plist .tts-blog__pillcount { border-radius: 9999px; background: rgba(255, 255, 255, 0.1); padding: 0.125rem 0.5rem; font-size: 11px; font-weight: 700; color: #e2ebf3; }
.tts-plist.tts-plist .tts-blog__pill--active .tts-blog__pillcount { background: #fff; color: #a61322; }
.tts-plist.tts-plist .tts-blog__searchwrap { width: 100%; }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-blog__searchwrap { width: 20rem; } }
.tts-plist.tts-plist .tts-blog__searchinner { position: relative; }
.tts-plist.tts-plist .tts-blog__searchinner svg { position: absolute; left: 0.875rem; top: 50%; transform: translateY(-50%); width: 1.125rem; height: 1.125rem; color: rgba(226, 235, 243, 0.4); pointer-events: none; }
.tts-plist.tts-plist .tts-blog__searchinner input { height: 2.75rem; width: 100%; border-radius: 0.75rem; border: 1px solid rgba(255, 255, 255, 0.15); background: rgba(7, 21, 39, 0.6); padding: 0.625rem 0.875rem 0.625rem 2.5rem; font-family: inherit; font-size: 0.875rem; color: #fff; transition: border-color 0.15s, box-shadow 0.15s; }
.tts-plist.tts-plist .tts-blog__searchinner input::placeholder { color: rgba(226, 235, 243, 0.4); }
.tts-plist.tts-plist .tts-blog__searchinner input:focus { border-color: rgba(240, 112, 114, 0.7); outline: none; box-shadow: 0 0 0 2px rgba(240, 112, 114, 0.25); }

/* Status row (filtering only) */
.tts-plist.tts-plist .tts-blog__status { margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 1rem; }
.tts-plist.tts-plist .tts-blog__status p { font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; color: rgba(226, 235, 243, 0.6); }
.tts-plist.tts-plist .tts-blog__clear { display: inline-flex; align-items: center; gap: 0.375rem; border-radius: 9999px; border: 0; background: transparent; padding: 0.375rem 0.75rem; font-family: inherit; font-size: 0.875rem; font-weight: 600; color: #f07072; cursor: pointer; transition: background 0.15s; }
.tts-plist.tts-plist .tts-blog__clear:hover { background: rgba(255, 255, 255, 0.06); }
.tts-plist.tts-plist .tts-blog__clear svg { width: 1rem; height: 1rem; }

/* Grid */
.tts-plist.tts-plist .tts-blog__moretitle { margin-top: 2.5rem; font-family: Manrope, Inter, sans-serif; font-size: 1.5rem; line-height: 2rem; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.tts-plist.tts-plist .tts-blog__grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-blog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tts-plist.tts-plist .tts-blog__cell { height: 100%; }
.tts-plist.tts-plist .tts-blog__cell[hidden] { display: none; }
.tts-plist.tts-plist [data-tts-bgrid-wrap][hidden],
.tts-plist.tts-plist .tts-blog__status[hidden] { display: none; }

/* Card */
.tts-plist.tts-plist .tts-blog__card { display: flex; height: 100%; flex-direction: column; overflow: hidden; border-radius: 1rem; border: 1px solid var(--pl-line); background: #fff; box-shadow: var(--pl-card-shadow); transition: all 0.3s; }
.tts-plist.tts-plist .tts-blog__card:hover { transform: translateY(-0.25rem); border-color: var(--pl-navy-200); box-shadow: var(--pl-lift-shadow); }
.tts-plist.tts-plist .tts-blog__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pl-mist); }
.tts-plist.tts-plist .tts-blog__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.tts-plist.tts-plist .tts-blog__card:hover .tts-blog__media img { transform: scale(1.05); }
.tts-plist.tts-plist .tts-blog__badge { position: absolute; z-index: 10; left: 1rem; top: 1rem; border-radius: 9999px; background: rgba(12, 32, 56, 0.9); padding: 0.25rem 0.75rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; backdrop-filter: blur(4px); }
.tts-plist.tts-plist .tts-blog__body { display: flex; flex: 1 1 0%; flex-direction: column; padding: 1.25rem; }
.tts-plist.tts-plist .tts-blog__title { margin-top: 0.625rem; font-family: Manrope, Inter, sans-serif; font-size: 1.125rem; line-height: 1.375; font-weight: 700; letter-spacing: -0.02em; color: var(--pl-navy-900); }
.tts-plist.tts-plist .tts-blog__title a { color: inherit; transition: color 0.15s; }
.tts-plist.tts-plist .tts-blog__title a:hover { color: var(--pl-brand-600); }
.tts-plist.tts-plist .tts-blog__excerpt { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.625; color: var(--pl-slate-600); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tts-plist.tts-plist .tts-blog__more { margin-top: auto; display: inline-flex; align-items: center; gap: 0.375rem; padding-top: 1.25rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--pl-brand-600); }
.tts-plist.tts-plist .tts-blog__more svg { width: 1rem; height: 1rem; transition: transform 0.2s; }
.tts-plist.tts-plist .tts-blog__card:hover .tts-blog__more svg { transform: translateX(0.25rem); }

/* Empty */
.tts-plist.tts-plist .tts-blog__empty { margin-top: 2.5rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; border-radius: 1.5rem; border: 1px dashed rgba(255, 255, 255, 0.15); padding: 4rem 1.5rem; text-align: center; background-color: rgba(255, 255, 255, 0.035); background-image: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012)); }
.tts-plist.tts-plist .tts-blog__empty[hidden] { display: none; }
.tts-plist.tts-plist .tts-blog__emptyicon svg { width: 2.5rem; height: 2.5rem; color: rgba(226, 235, 243, 0.4); }
.tts-plist.tts-plist .tts-blog__emptytitle { font-size: 1.125rem; line-height: 1.75rem; font-weight: 700; color: #fff; }
.tts-plist.tts-plist .tts-blog__emptytext { margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.625; color: rgba(226, 235, 243, 0.6); }
.tts-plist.tts-plist .tts-blog__emptybtn { display: inline-flex; height: 2.5rem; align-items: center; border-radius: 0.5rem; border: 0; background: var(--pl-brand-500); padding: 0 1.25rem; font-family: inherit; font-size: 0.875rem; font-weight: 600; color: #fff; cursor: pointer; transition: background 0.15s; }
.tts-plist.tts-plist .tts-blog__emptybtn:hover { background: var(--pl-brand-600); }

/* Closing band */
.tts-plist.tts-plist .tts-blog__bandwrap { padding-top: 0.5rem; padding-bottom: 5rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__bandwrap { padding-bottom: 6rem; } }
.tts-plist.tts-plist .tts-blog__band { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1.5rem; border-radius: 1.5rem; background: var(--pl-navy-900); padding: 2.5rem 1.5rem; text-align: center; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-blog__band { flex-direction: row; padding-inline: 2.5rem; text-align: left; } }
.tts-plist.tts-plist .tts-blog__bandtitle { font-family: Manrope, Inter, sans-serif; font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; letter-spacing: -0.02em; color: #fff; }
.tts-plist.tts-plist .tts-blog__bandtext { margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.625; color: rgba(226, 235, 243, 0.75); }
.tts-plist.tts-plist .tts-blog__bandbtns { display: flex; flex-shrink: 0; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }

.tts-plist.tts-plist .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
