/* TNT Core public presentation v5.9.0 — adaptive to Elementor/theme colors. */

/* Grid contract. Shortcodes set the three variables inline, so they work inside HTML/Shortcode Elementor blocks. */
.tntc-public-grid{--tntc-grid-columns:3;--tntc-grid-columns-tablet:2;--tntc-grid-columns-mobile:1;--tntc-accent:var(--e-global-color-accent,var(--e-global-color-primary,#8b5cf6));display:grid;grid-template-columns:repeat(var(--tntc-grid-columns),minmax(0,1fr));gap:clamp(14px,2vw,22px);margin:20px 0;color:inherit;align-items:stretch}
@media(max-width:1024px){.tntc-public-grid{grid-template-columns:repeat(var(--tntc-grid-columns-tablet),minmax(0,1fr))}}
@media(max-width:767px){.tntc-public-grid{grid-template-columns:repeat(var(--tntc-grid-columns-mobile),minmax(0,1fr));gap:14px}}

/* Cards intentionally inherit text colors from the surrounding Elementor section. */
.tntc-public-card{--tntc-card-bg:rgba(127,127,127,.08);--tntc-card-border:rgba(127,127,127,.22);position:relative;display:flex;min-width:0;min-height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--tntc-card-border);border-radius:20px;text-decoration:none;background:var(--tntc-card-bg);color:inherit;box-shadow:0 12px 34px rgba(2,6,23,.10);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;isolation:isolate}
@supports (background:color-mix(in srgb,white 10%,transparent)){.tntc-public-card{--tntc-card-bg:color-mix(in srgb,currentColor 7%,transparent);--tntc-card-border:color-mix(in srgb,currentColor 18%,transparent)}}
.tntc-grid-style--soft .tntc-public-card{background:rgba(127,127,127,.12)}
@supports (background:color-mix(in srgb,white 10%,transparent)){.tntc-grid-style--soft .tntc-public-card{background:color-mix(in srgb,currentColor 11%,transparent)}}
.tntc-grid-style--outline .tntc-public-card{background:transparent;box-shadow:none}
.tntc-public-card:hover,.tntc-public-card:focus-visible{transform:translateY(-4px);border-color:var(--tntc-accent);box-shadow:0 18px 44px rgba(2,6,23,.18);outline:none}
.tntc-public-card:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--tntc-accent) 28%,transparent),0 18px 44px rgba(2,6,23,.18)}
.tntc-public-card.is-unpublished{border-style:dashed;opacity:.82;cursor:default}.tntc-public-card.is-unpublished:hover{transform:none;box-shadow:0 12px 34px rgba(2,6,23,.10);border-color:var(--tntc-card-border)}

.tntc-card-media{position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--tntc-card-border);background:rgba(127,127,127,.08)}
.tntc-card-media--wide{aspect-ratio:2/1}.tntc-card-media--landscape{aspect-ratio:16/9}.tntc-card-media--square{aspect-ratio:1/1}
.tntc-card-media--image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.tntc-public-card:hover .tntc-card-media--image img{transform:scale(1.035)}
.tntc-card-media--icon{background:radial-gradient(circle at 80% 20%,rgba(139,92,246,.18),transparent 48%),rgba(127,127,127,.05)}
@supports (background:color-mix(in srgb,white 10%,transparent)){.tntc-card-media--icon{background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--tntc-accent) 24%,transparent),transparent 48%),color-mix(in srgb,currentColor 5%,transparent)}}
.tntc-card-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:rgba(127,127,127,.12);font-size:clamp(32px,4vw,46px);line-height:1;box-shadow:inset 0 0 0 1px rgba(127,127,127,.18)}
.tntc-card-icon--overlay{position:absolute;inset-inline-start:16px;inset-block-end:14px;width:46px;height:46px;border-radius:14px;background:rgba(15,23,42,.72);font-size:24px;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.2)}

.tntc-card-body{display:flex;flex:1;min-width:0;flex-direction:column;padding:clamp(16px,2vw,22px)}
.tntc-card-title{display:block;margin:0;color:inherit;font:inherit;font-size:clamp(1.02rem,1.25vw,1.2rem);font-weight:750;line-height:1.35;letter-spacing:-.01em}
.tntc-card-description{display:-webkit-box;margin-top:9px;overflow:hidden;color:inherit;opacity:.72;font-size:.94em;line-height:1.65;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.tntc-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;color:inherit}
.tntc-card-meta{display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(127,127,127,.2);border-radius:999px;padding:4px 10px;background:rgba(127,127,127,.08);font-size:.78em;line-height:1.2;opacity:.78}
.tntc-card-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tntc-accent);color:#fff;font-size:18px;line-height:1;transition:transform .2s ease}.tntc-public-card:hover .tntc-card-arrow{transform:translateX(3px)}.rtl .tntc-public-card:hover .tntc-card-arrow{transform:translateX(-3px)}

/* Backward-compatible selectors for pre-v5.6 markup. */
.tntc-public-card>strong{display:block}.tntc-public-card>span:not(.tntc-card-media):not(.tntc-card-body){display:block}.tntc-public-card__image{display:block;overflow:hidden;aspect-ratio:16/9}.tntc-public-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.tntc-empty-grid{margin:18px 0;border:1px dashed rgba(127,127,127,.32);border-radius:16px;padding:18px;background:rgba(127,127,127,.06);color:inherit;opacity:.8}

.tntc-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 16px;color:inherit;opacity:.72}.tntc-breadcrumb a{color:inherit;text-decoration:none}.tntc-breadcrumb a:hover{text-decoration:underline}
.tntc-related-items{margin:24px 0;color:inherit}.tntc-related-title{margin:0 0 14px;color:inherit}.tntc-related-grid{margin-top:0}.tntc-related-card__type{align-self:flex-start;display:inline-flex;margin:0 0 10px;padding:4px 9px;border-radius:999px;background:rgba(127,127,127,.1);color:inherit;font-size:.76em;font-style:normal;opacity:.76}

.tntc-elementor-placeholder{border:1px dashed #94a3b8;background:#f8fafc;color:#334155;border-radius:12px;padding:16px;margin:12px 0;font:14px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}.tntc-elementor-placeholder strong{display:block;margin-bottom:4px;color:#0f172a}.tntc-elementor-placeholder p{margin:0}


@media(prefers-reduced-motion:reduce){.tntc-public-card,.tntc-card-media--image img,.tntc-card-arrow{transition:none!important}}
.tntc-grid-style--glass .tntc-public-card{background:var(--tntc-card-bg)}

/* v5.9 — reserved advertising slots and analytics-safe markup */
.tntc-ad-slot{--tntc-ad-min-height:250px;--tntc-ad-min-height-mobile:250px;position:relative;display:flex;min-height:var(--tntc-ad-min-height);align-items:center;justify-content:center;margin:24px 0;border:1px dashed rgba(127,127,127,.26);border-radius:16px;background:rgba(127,127,127,.045);overflow:hidden;color:inherit}
.tntc-ad-slot__label{position:absolute;inset-block-start:7px;inset-inline-start:10px;font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;opacity:.48}.tntc-ad-slot__mount{width:100%;min-height:inherit;display:flex;align-items:center;justify-content:center}
@media(max-width:767px){.tntc-ad-slot{min-height:var(--tntc-ad-min-height-mobile)}}


/* v5.9.5 — progressive public grids. Initial cards stay server-rendered; later batches load on demand. */
.tntc-progressive-shell{display:block;min-width:0}
.tntc-grid-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px 0 6px;color:inherit}
.tntc-grid-progress{font-size:.86rem;line-height:1.4;opacity:.7}
.tntc-load-more{--tntc-accent:var(--e-global-color-accent,var(--e-global-color-primary,#8b5cf6));display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;border:1px solid var(--tntc-accent);border-radius:999px;padding:10px 20px;background:var(--tntc-accent);color:#fff;text-decoration:none;font:inherit;font-weight:750;line-height:1.2;box-shadow:0 10px 28px rgba(2,6,23,.16);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.tntc-load-more:hover,.tntc-load-more:focus-visible{transform:translateY(-2px);color:#fff;box-shadow:0 14px 34px rgba(2,6,23,.22);outline:none}
.tntc-load-more[aria-busy="true"]{pointer-events:none;opacity:.72}
.tntc-load-more__spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:tntc-grid-spin .75s linear infinite}
.tntc-load-more.is-loading .tntc-load-more__spinner{display:inline-block}
.tntc-card-appended{animation:tntc-grid-card-in .24s ease both}
@keyframes tntc-grid-spin{to{transform:rotate(360deg)}}
@keyframes tntc-grid-card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){.tntc-grid-pagination{flex-direction:column}.tntc-load-more{width:100%;max-width:320px}}
@media(prefers-reduced-motion:reduce){.tntc-load-more,.tntc-card-appended{transition:none!important;animation:none!important}.tntc-load-more__spinner{animation:none!important}}


/* v5.9.6 — positive, Hub-aware empty state for Family grids. */
.tntc-family-empty-state{--tntc-accent:var(--e-global-color-accent,var(--e-global-color-primary,#8b5cf6));display:flex;align-items:flex-start;gap:clamp(14px,2vw,20px);margin:20px 0;border:1px solid rgba(127,127,127,.22);border-radius:20px;padding:clamp(20px,3vw,30px);background:rgba(127,127,127,.065);color:inherit;box-shadow:0 12px 34px rgba(2,6,23,.08)}
@supports (background:color-mix(in srgb,white 10%,transparent)){.tntc-family-empty-state{border-color:color-mix(in srgb,currentColor 18%,transparent);background:color-mix(in srgb,currentColor 6%,transparent)}}
.tntc-family-empty-state__icon{display:grid;flex:0 0 auto;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--tntc-accent);color:#fff;font-size:22px;line-height:1;box-shadow:0 10px 25px rgba(2,6,23,.16)}
.tntc-family-empty-state__content{min-width:0;max-width:720px}
.tntc-family-empty-state__title{margin:0;color:inherit;font:inherit;font-size:clamp(1.08rem,1.7vw,1.35rem);font-weight:800;line-height:1.35}
.tntc-family-empty-state__description{margin:8px 0 0;color:inherit;font:inherit;line-height:1.7;opacity:.76}
.tntc-family-empty-state__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:18px;border:1px solid var(--tntc-accent);border-radius:999px;padding:9px 17px;background:var(--tntc-accent);color:#fff;text-decoration:none;font:inherit;font-weight:750;line-height:1.2;transition:transform .2s ease,box-shadow .2s ease}
.tntc-family-empty-state__button:hover,.tntc-family-empty-state__button:focus-visible{transform:translateY(-2px);color:#fff;box-shadow:0 12px 28px rgba(2,6,23,.18);outline:none}
.rtl .tntc-family-empty-state__button span{transform:scaleX(-1)}
@media(max-width:600px){.tntc-family-empty-state{flex-direction:column}.tntc-family-empty-state__button{width:100%}}
@media(prefers-reduced-motion:reduce){.tntc-family-empty-state__button{transition:none!important}}
