 /*
Theme Name: TV Smart Child
Theme URI: https://tvsmartonline.com.br
Description: Tema filho da TV Smart Online - aplica identidade visual da landing (header + footer globais) automaticamente em todas as páginas WordPress.
Author: TV Smart Online
Version: 1.0.0
Template: twentytwentyfive
Text Domain: tvsmart-child
*/

/* === RESET & BASE === */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:'Inter',ui-sans-serif,system-ui,sans-serif}
body{margin:0;line-height:inherit;font-family:'Inter',sans-serif;background-color:#0e0e0e;color:#fff;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:inherit}
a:hover{color:#f87171}
button{cursor:pointer;background:transparent;font-family:inherit;font-size:100%}
ul,li{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,h6,p{margin:0 0 1rem}

/* === LAYOUT GLOBAL === */
.tvsmart-wrap{max-width:1200px;margin:0 auto;padding:0 2rem}
.tvsmart-main{min-height:60vh;padding:120px 0 60px;color:#fff}
.tvsmart-main h1{font-size:2.5rem;font-weight:900;color:#fff;letter-spacing:-.025em;margin-bottom:1.5rem;line-height:1.1}
.tvsmart-main h2{font-size:2rem;font-weight:900;color:#fff;letter-spacing:-.025em;margin:2rem 0 1rem;line-height:1.1}
.tvsmart-main h3{font-size:1.5rem;font-weight:800;color:#fff;margin:1.5rem 0 .75rem}
.tvsmart-main p{font-size:1rem;line-height:1.7;color:#d4d4d8;margin-bottom:1rem}
.tvsmart-main a{color:#ef4444;border-bottom:1px solid rgba(239,68,68,.3);transition:color .2s,border-color .2s}
.tvsmart-main a:hover{color:#f87171;border-bottom-color:#f87171}
.tvsmart-main img{border-radius:.75rem;margin:1.5rem 0}
.tvsmart-main ul,.tvsmart-main ol{padding-left:2rem;margin:1rem 0;color:#d4d4d8}
.tvsmart-main ul li,.tvsmart-main ol li{margin-bottom:.5rem;list-style:revert}
.tvsmart-main blockquote{border-left:4px solid #dc2626;padding-left:1rem;margin:1.5rem 0;color:#a1a1aa;font-style:italic}
.tvsmart-main code{background:#27272a;padding:.15rem .4rem;border-radius:.25rem;font-family:monospace;font-size:.9em}
.tvsmart-main pre{background:#09090b;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:1rem 0}

/* === HEADER === */
.tvsmart-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(0,0,0,.4);backdrop-filter:blur(24px);box-shadow:0 0 30px rgba(255,51,51,.1)}
.tvsmart-nav-inner{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1536px;margin:0 auto}
.tvsmart-nav-brand{display:flex;align-items:center;gap:.75rem}
.tvsmart-nav-brand img{height:40px;width:auto}
.tvsmart-nav-title{font-size:1.25rem;font-weight:900;font-style:italic;letter-spacing:-.05em;color:#dc2626;filter:drop-shadow(0 0 10px rgba(220,38,38,.5))}
.tvsmart-nav-menu{display:none;gap:2rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:-.025em}
@media(min-width:768px){.tvsmart-nav-menu{display:flex}}
.tvsmart-nav-menu a{color:#a1a1aa;transition:color .3s}
.tvsmart-nav-menu a:hover{color:#f87171}
.tvsmart-nav-btn{background:#dc2626;padding:.5rem 1.5rem;border-radius:.125rem;font-weight:700;text-transform:uppercase;color:#fff;font-size:10px;letter-spacing:.1em;box-shadow:0 0 20px rgba(220,38,38,.4);transition:all .15s;display:inline-block;text-decoration:none}
.tvsmart-nav-btn:hover{background:#ef4444;color:#fff}

/* === FOOTER === */
.tvsmart-footer{background:#09090b;padding:3rem 2rem;margin-top:4rem;border-top:1px solid rgba(255,255,255,.05)}
.tvsmart-footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto}
@media(min-width:768px){.tvsmart-footer-grid{grid-template-columns:repeat(4,1fr)}}
.tvsmart-footer-brand{font-size:1.125rem;font-weight:700;color:#f4f4f5;margin-bottom:.5rem}
.tvsmart-footer p{color:#71717a;font-size:.875rem;margin:0}
.tvsmart-footer h4{color:#fff;font-weight:700;margin-bottom:1rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}
.tvsmart-footer-links{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:#71717a}
.tvsmart-footer-links a{color:#71717a;transition:color .15s;border:none;display:inline-flex;align-items:center;gap:.5rem}
.tvsmart-footer-links a:hover{color:#ef4444;border:none}
.tvsmart-footer-copy{max-width:1200px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05);text-align:center;color:#71717a;font-size:.75rem}

/* === FLOATING WHATSAPP === */
.tvsmart-wa-float{position:fixed;bottom:2rem;right:2rem;z-index:100;background:#25D366;color:#fff;padding:1rem;border-radius:9999px;box-shadow:0 0 30px rgba(37,211,102,.6);transition:transform .15s;text-decoration:none;display:flex;align-items:center;justify-content:center}
.tvsmart-wa-float:hover{transform:scale(1.1);color:#fff}
.tvsmart-wa-float:active{transform:scale(.95)}
.tvsmart-wa-float svg{width:2rem;height:2rem;display:block;fill:currentColor}

/* === BREADCRUMBS (SEO) === */
.tvsmart-breadcrumbs{margin-bottom:1.5rem;font-size:.875rem;color:#71717a}
.tvsmart-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.tvsmart-breadcrumbs li{display:inline-flex;align-items:center}
.tvsmart-breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.5rem;color:#52525b}
.tvsmart-breadcrumbs a{color:#a1a1aa;border:none;transition:color .15s}
.tvsmart-breadcrumbs a:hover{color:#ef4444}
.tvsmart-breadcrumbs [aria-current="page"]{color:#d4d4d8}

/* === POST META === */
.tvsmart-post-meta{color:#71717a;font-size:.875rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.tvsmart-post-meta a{color:#a1a1aa;border:none}
.tvsmart-post-meta a:hover{color:#ef4444}
.tvsmart-meta-sep{color:#52525b}

/* === FEATURED IMAGE === */
.tvsmart-featured{margin:2rem 0}
.tvsmart-featured img{border-radius:.75rem}

/* === POST TAGS === */
.tvsmart-post-tags{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05);color:#71717a;font-size:.875rem}
.tvsmart-post-tags a{color:#a1a1aa;border:none;padding:.15rem .5rem;background:rgba(255,255,255,.05);border-radius:.25rem;margin-right:.25rem;display:inline-block;margin-top:.25rem}
.tvsmart-post-tags a:hover{background:rgba(239,68,68,.15);color:#ef4444}

/* === POST NAVIGATION === */
.tvsmart-post-nav{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05)}
@media(min-width:640px){.tvsmart-post-nav{grid-template-columns:1fr 1fr}}
.tvsmart-post-nav a{display:block;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:.5rem;transition:background .2s,border-color .2s;text-decoration:none}
.tvsmart-post-nav a:hover{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.3);color:inherit}
.tvsmart-post-nav-label{display:block;color:#71717a;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}
.tvsmart-post-nav-title{display:block;color:#fff;font-weight:700;font-size:.95rem;line-height:1.3}
.tvsmart-post-nav-next{text-align:right}

/* === BLOG LISTING === */
.tvsmart-archive-header{margin-bottom:3rem}
.tvsmart-archive-header h1{font-size:2.5rem;margin-bottom:.5rem}
.tvsmart-archive-desc{color:#a1a1aa;font-size:1.05rem}
.tvsmart-posts-list{display:grid;gap:2rem}
.tvsmart-post-card{display:grid;grid-template-columns:1fr;gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.05)}
@media(min-width:768px){.tvsmart-post-card{grid-template-columns:280px 1fr}}
.tvsmart-post-card-img{display:block;overflow:hidden;border-radius:.75rem}
.tvsmart-post-card-img img{width:100%;height:auto;border-radius:.75rem;margin:0;transition:transform .3s}
.tvsmart-post-card-img:hover img{transform:scale(1.03)}
.tvsmart-post-card-body h2{font-size:1.5rem;margin-bottom:.75rem;line-height:1.3}
.tvsmart-post-card-body h2 a{color:#fff;border:none;transition:color .2s}
.tvsmart-post-card-body h2 a:hover{color:#ef4444}
.tvsmart-post-excerpt{color:#a1a1aa;font-size:.95rem;line-height:1.6;margin-bottom:1rem}
.tvsmart-read-more{color:#ef4444;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;border:none}

/* === PAGINATION === */
.tvsmart-pagination{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05)}
.tvsmart-pagination .nav-links{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.tvsmart-pagination .page-numbers{padding:.5rem 1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:.25rem;color:#a1a1aa;border:none;text-decoration:none;transition:all .2s}
.tvsmart-pagination .page-numbers:hover{background:rgba(239,68,68,.1);color:#ef4444}
.tvsmart-pagination .page-numbers.current{background:#dc2626;color:#fff}

/* === SKIP LINK (a11y + Lighthouse) === */
.tvsmart-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:9999}
.tvsmart-skip:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.75rem 1rem;background:#dc2626;color:#fff;border-radius:.25rem;font-weight:700;text-decoration:none}

/* === MOBILE MENU (hamburger simples sem JS) === */
.tvsmart-nav-toggle{display:none}
@media(max-width:767px){
  .tvsmart-nav-inner{padding:.75rem 1rem}
  .tvsmart-nav-title{font-size:1rem}
  .tvsmart-nav-brand img{height:32px}
  .tvsmart-nav-btn{padding:.4rem .75rem;font-size:9px}
  .tvsmart-nav-toggle{display:block;background:transparent;border:none;color:#fff;font-size:1.5rem;padding:.25rem .5rem;cursor:pointer;order:3}
  .tvsmart-nav-toggle:focus{outline:2px solid #dc2626;outline-offset:2px}
  .tvsmart-nav-menu{display:none !important}
  .tvsmart-nav-inner:has(.tvsmart-nav-toggle:focus) + .tvsmart-nav-mobile,
  .tvsmart-nav-mobile-open{display:flex !important}
}

/* === GUTENBERG BLOCKS === */
/* Columns */
.tvsmart-content .wp-block-columns{display:flex;flex-wrap:wrap;gap:2rem;margin:1.5rem 0}
.tvsmart-content .wp-block-column{flex:1 1 280px;min-width:0}

/* Image blocks */
.tvsmart-content .wp-block-image{margin:1.5rem 0}
.tvsmart-content .wp-block-image img{border-radius:.75rem;max-width:100%;height:auto;display:block}
.tvsmart-content .wp-block-image figcaption{margin-top:.5rem;color:#71717a;font-size:.875rem;text-align:center;font-style:italic}
.tvsmart-content .wp-block-image.alignwide{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

/* Cover block */
.tvsmart-content .wp-block-cover{margin:2rem 0;border-radius:.75rem;overflow:hidden;min-height:300px;position:relative;display:flex;align-items:center;justify-content:center}
.tvsmart-content .wp-block-cover .wp-block-cover__inner-container{padding:2rem;color:#fff;text-align:center}
.tvsmart-content .wp-block-cover h2,.tvsmart-content .wp-block-cover h3{color:#fff}

/* Button block */
.tvsmart-content .wp-block-button{margin:1rem 0}
.tvsmart-content .wp-block-button__link{display:inline-block;background:#dc2626;color:#fff !important;padding:.75rem 2rem;border-radius:.5rem;font-weight:700;text-transform:uppercase;font-size:.875rem;letter-spacing:.05em;text-decoration:none;border:none !important;box-shadow:0 0 20px rgba(220,38,38,.4);transition:all .15s}
.tvsmart-content .wp-block-button__link:hover{background:#ef4444;color:#fff !important;transform:translateY(-2px)}
.tvsmart-content .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:2px solid #dc2626 !important;color:#dc2626 !important}
.tvsmart-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}

/* Quote block */
.tvsmart-content .wp-block-quote{border-left:4px solid #dc2626;padding:1rem 1.5rem;margin:2rem 0;background:rgba(255,255,255,.03);border-radius:0 .5rem .5rem 0;color:#d4d4d8;font-style:italic}
.tvsmart-content .wp-block-quote cite{display:block;margin-top:.75rem;color:#a1a1aa;font-size:.875rem;font-style:normal}

/* Pullquote */
.tvsmart-content .wp-block-pullquote{border-top:2px solid #dc2626;border-bottom:2px solid #dc2626;padding:2rem 0;margin:2rem 0;text-align:center;font-size:1.25rem;color:#fff}

/* Separator */
.tvsmart-content .wp-block-separator{border:none;border-top:1px solid rgba(255,255,255,.1);margin:2.5rem auto;max-width:100%}
.tvsmart-content .wp-block-separator.is-style-wide{max-width:100%}
.tvsmart-content .wp-block-separator.is-style-dots{border:none;text-align:center;color:#71717a}
.tvsmart-content .wp-block-separator.is-style-dots::before{content:"\00b7 \00b7 \00b7";font-size:1.5rem;letter-spacing:.5rem}

/* List */
.tvsmart-content .wp-block-list,.tvsmart-content ul.wp-block-list,.tvsmart-content ol.wp-block-list{padding-left:2rem;margin:1rem 0}

/* Table */
.tvsmart-content .wp-block-table{margin:1.5rem 0;overflow-x:auto}
.tvsmart-content .wp-block-table table{width:100%;border-collapse:collapse;border:1px solid rgba(255,255,255,.1)}
.tvsmart-content .wp-block-table th,.tvsmart-content .wp-block-table td{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);text-align:left}
.tvsmart-content .wp-block-table th{background:rgba(255,255,255,.05);color:#fff;font-weight:700}
.tvsmart-content .wp-block-table tr:hover{background:rgba(255,255,255,.02)}

/* Code */
.tvsmart-content .wp-block-code{background:#09090b;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:1rem 0;color:#d4d4d8;font-family:monospace;font-size:.875rem}
.tvsmart-content .wp-block-preformatted{background:#09090b;padding:1rem;border-radius:.5rem;overflow-x:auto;color:#d4d4d8;font-family:monospace}

/* Embed */
.tvsmart-content .wp-block-embed{margin:1.5rem 0}
.tvsmart-content .wp-block-embed iframe{max-width:100%;border-radius:.75rem}
.tvsmart-content .wp-block-embed__wrapper{position:relative;padding-top:56.25%}
.tvsmart-content .wp-block-embed__wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}

/* Gallery */
.tvsmart-content .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}
.tvsmart-content .wp-block-gallery figure{margin:0}

/* Heading anchors (for TOC) */
.tvsmart-content h2,.tvsmart-content h3{scroll-margin-top:100px}

/* Text alignment */
.tvsmart-content .has-text-align-center{text-align:center}
.tvsmart-content .has-text-align-right{text-align:right}

/* Spacer */
.tvsmart-content .wp-block-spacer{display:block}
