/*
Theme Name: Torrent Filmes Cinema
Description: Layout moderno compatível com os plugins TMDB de filmes e séries e publicações antigas.
Version: 2.0.19
Author: Torrent Filmes
Text Domain: torrentfilmes
*/

/* 01. Cores e estilos globais */
:root {
    color-scheme:dark;
    --bg:#080d0a;
    --surface:#101813;
    --border:#26352c;
    --green:#27d77d;
    --text:#edf4ef;
    --muted:#9aafa2
}

* {
    box-sizing:border-box
}

body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font:15px/1.6 system-ui,-apple-system,Segoe UI,sans-serif
}

a {
    color:inherit;
    text-decoration:none
}

a:hover {
    color:var(--green)
}

button,input,textarea {
    font:inherit
}

button,a,input,textarea,summary {
    outline-offset:5px
}

button,summary {
    cursor:pointer
}

img {
    max-width:100%;
    height:auto
}

button {
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--surface);
    color:var(--text);
    padding:10px 16px
}

.container {
    width:min(1280px,94%);
    margin-inline:auto
}

/* 02. Cabeçalho e menu */
.site-header {
    border-bottom:1px solid var(--border);
    background:#0b110d
}

.header-inner {
    min-height:105px;
    display:flex;
    gap:28px;
    align-items:center;
    justify-content:space-between
}

.brand {
    font-size:25px;
    font-weight:900;
    letter-spacing:-1px;
    white-space:nowrap
}

.brand span {
    color:var(--green)
}

.brand small {
    display:block;
    color:var(--muted);
    font-size:9px;
    letter-spacing:2px
}

.custom-logo {
    max-width:220px;
    max-height:75px;
    object-fit:contain
}

nav ul {
    display:flex;
    gap:22px;
    list-style:none;
    margin:0;
    padding:0
}

nav li {
    position:relative
}

nav li ul,nav details ul {
    display:none;
    position:absolute;
    z-index:10;
    background:var(--surface);
    padding:18px;
    width:240px;
    max-height:420px;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:9px
}

nav details[open] ul,nav li:hover>ul,nav li:focus-within>ul {
    display:block
}

nav li ul li {
    padding:5px
}

nav summary {
    list-style:none
}

form[role=search] {
    display:flex;
    border:1px solid var(--border);
    border-radius:8px;
    overflow:hidden
}

input,textarea {
    background:#0a100c;
    color:var(--text);
    border:1px solid var(--border);
    padding:12px;
    border-radius:7px
}

form[role=search] input {
    width:220px;
    border:0
}

form[role=search] button {
    border:0
}

main {
    padding-block:30px
}

.section-title,.panel h2 {
    font-size:23px;
    border-left:4px solid var(--green);
    padding-left:14px;
    line-height:1.3
}

/* 03. Capas e listagens */
.poster-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:24px 18px
}

.cover {
    position:relative;
    aspect-ratio:2/3;
    overflow:hidden;
    border-radius:11px;
    background:var(--surface);
    border:1px solid var(--border)
}

.cover img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s
}

.card:hover img {
    transform:scale(1.035)
}

.card h3 {
    font-size:14px;
    line-height:1.45;
    margin:10px 0
}

.year,.rating {
    position:absolute;
    top:9px;
    border-radius:5px;
    padding:3px 7px;
    font-size:11px;
    font-weight:800;
    background:#09120ee8
}

.year {
    left:8px
}

.rating {
    right:8px;
    color:#ffcf64
}

.poster-empty {
    display:grid;
    place-items:center;
    min-height:250px;
    color:var(--muted)
}

.breadcrumb {
    font-size:12px;
    color:var(--muted);
    margin:0 0 22px
}

/* 04. Página interna e informações */
.movie-panel {
    display:grid;
    grid-template-columns:285px minmax(0,1fr);
    gap:32px;
    border:1px solid var(--border);
    padding:28px;
    border-radius:15px;
    background:linear-gradient(120deg,#14251b,#101713 70%)
}

.single-cover img {
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
    border-radius:10px
}

.eyebrow {
    font-size:10px;
    letter-spacing:2px;
    color:var(--green);
    font-weight:800
}

h1 {
    font-size:32px;
    line-height:1.2;
    margin:10px 0 23px
}

.info-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 22px;
    margin:0 0 20px
}

.info-grid>div {
    padding:9px 0;
    border-bottom:1px solid var(--border)
}

dt {
    color:var(--muted);
    font-size:11px
}

dd {
    margin:3px 0 0;
    font-size:14px;
    font-weight:600
}

.trailer-button {
    display:inline-block;
    background:var(--green);
    color:#052314;
    border:0;
    border-radius:8px;
    padding:12px 22px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.5px
}

.trailer-button:hover {
    background:#66eaa4;
    color:#052314
}

.panel {
    background:#0e1510;
    border:1px solid var(--border);
    border-radius:12px;
    padding:25px;
    margin-top:24px
}

.post-content {
    overflow-wrap:anywhere
}

.post-content::after {
    content:'';
    display:block;
    clear:both
}

.post-content p {
    margin-block:16px
}

.post-content img {
    max-width:100%
}

.post-content iframe {
    max-width:100%;
    aspect-ratio:16/9;
    height:auto
}

.post-content hr {
    border:0;
    border-top:1px solid var(--border);
    margin:24px 0
}

.post-content .download-link {
    display:block;
    max-width:900px;
    margin:14px auto;
    padding:19px 22px;
    text-align:left;
    border:1px solid #255235;
    border-left:4px solid var(--green);
    border-radius:10px;
    background:linear-gradient(110deg,#173523,#111a14);
    color:var(--text);
    font-weight:800
}

.download-link span {
    float:right;
    color:var(--green)
}

.download-link:hover {
    border-color:var(--green)
}

.pagination {
    margin:35px 0;
    text-align:center
}

.page-numbers {
    display:inline-block;
    padding:8px 14px;
    border-radius:7px;
    background:var(--surface);
    margin:3px
}

.page-numbers.current {
    background:var(--green);
    color:#052314
}

/* 05. Rodapé */
.site-footer {
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-top:1px solid var(--border);
    margin-top:35px;
    padding-block:25px;
    font-size:12px;
    color:var(--muted)
}

dialog {
    width:min(960px,94vw);
    padding:44px 12px 12px;
    background:#0c130e;
    border:1px solid var(--border);
    border-radius:13px
}

dialog::backdrop {
    background:#000d
}

.modal-close {
    position:absolute;
    right:8px;
    top:3px;
    border:0;
    background:none;
    font-size:25px;
    padding:0 12px
}

.video-frame {
    aspect-ratio:16/9
}

.video-frame iframe {
    width:100%;
    height:100%;
    border:0
}

.screen-reader-text,.skip-link {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%)
}

.skip-link:focus {
    width:auto;
    height:auto;
    clip-path:none;
    background:var(--surface);
    padding:12px;
    z-index:100
}

/* 06. Destaques e carrossel */
.hero {
    position:relative;
    margin:6px 0 40px;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden
}

.hero-slide {
    position:relative;
    min-height:430px;
    background:#10241a;
    isolation:isolate
}

.hero-slide[hidden] {
    display:none
}

.hero-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:-2
}

.hero-slide:after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#07110ff5,#07110f20);
    z-index:-1
}

.hero-copy {
    padding:105px 60px 80px;
    max-width:750px
}

.hero-copy h2 {
    font-size:44px;
    line-height:1.15
}

.hero-controls {
    position:absolute;
    bottom:18px;
    right:22px;
    display:flex;
    gap:8px
}

.comment-list {
    padding-left:20px
}

.comment-form textarea {
    width:100%
}

.comment-form label {
    display:block
}

@media(max-width:1050px) {
    .header-inner {
        flex-wrap:wrap;
        padding-block:20px;
        gap:20px
    }

.poster-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }

.movie-panel {
        grid-template-columns:230px minmax(0,1fr);
        gap:22px
    }

.movie-panel {
        grid-template-columns:230px minmax(0,1fr)
    }


}

@media(max-width:700px) {
    .poster-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px 12px
    }

.movie-panel {
        grid-template-columns:1fr;
        padding:20px
    }

.single-cover {
        max-width:240px;
        margin:auto
    }

.info-grid {
        gap:0 15px
    }

.header-inner {
        justify-content:center
    }

nav ul {
        gap:18px
    }

form[role=search] {
        width:100%
    }

form[role=search] input {
        width:100%
    }

.brand {
        text-align:center
    }

.hero-copy {
        padding:70px 25px;
        max-width:100%
    }

.hero-copy h2 {
        font-size:32px
    }

.hero-slide {
        min-height:350px
    }

h1 {
        font-size:26px
    }

.panel {
        padding:18px
    }

.site-footer {
        display:block;
        text-align:center
    }


}

@media(max-width:420px) {
    .poster-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

.info-grid {
        grid-template-columns:1fr
    }


}

/* Single: one information per row over TMDB artwork. */
.movie-panel {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#101713;
    align-items:start
}

.movie-backdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center;
    z-index:-2;
    pointer-events:none
}

.movie-panel:after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(5,12,8,.65),rgba(5,12,8,.77) 55%,rgba(5,12,8,.64)),linear-gradient(0deg,rgba(5,12,8,.9),transparent 70%)
}

.movie-details {
    min-width:0;
    text-shadow:0 1px 3px #0008
}

.movie-details .info-grid {
    display:block;
    margin:0 0 18px
}

.movie-details .info-grid>div {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:3px 7px;
    padding:6px 0;
    border-bottom:1px solid #ffffff12
}

.movie-details dt,.movie-details dd {
    font-size:13px;
    line-height:1.5;
    margin:0
}

.movie-details dt {
    color:#c0cec5;
    font-weight:600
}

.movie-details dd {
    color:#fff;
    overflow-wrap:anywhere;
    min-width:0
}

@media(max-width:700px) {
    .movie-panel:after {
        background:linear-gradient(0deg,rgba(5,12,8,.94),rgba(5,12,8,.7))
    }

.movie-details .info-grid>div {
        padding:7px 0
    }


}

/* Compact information aligned with the cover; trailer below the poster. */
.movie-details h1.eyebrow {
    font-size:10px;
    line-height:1.4;
    letter-spacing:2px;
    margin:4px 0 15px;
    font-weight:800
}

.movie-details .info-grid {
    margin:0
}

.movie-details .info-grid>div {
    padding:4px 0;
    gap:2px 6px
}

.movie-details dt,.movie-details dd {
    line-height:1.45
}

.single-cover>img {
    display:block
}

.cover-trailer {
    display:flex;
    justify-content:center;
    margin-top:13px
}

.cover-trailer:empty {
    display:none
}

.cover-trailer .trailer-button {
    padding:11px 20px
}

@media(min-width:701px) and (max-width:1050px) {
    .movie-details .info-grid>div {
        padding:2px 0
    }

.movie-details h1.eyebrow {
        margin-bottom:10px
    }


}

/* Framed downloads with magnet icons; two-column related posts. */
.related .poster-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:560px;
    margin-inline:auto;
    gap:24px
}

.download-stage {
    border:1px solid var(--border);
    border-radius:11px;
    padding:50px 20px;
    margin-top:26px;
    background:#0a100c;
    clear:both
}

.download-box {
    max-width:900px;
    margin:auto;
    border:1px solid #153b26;
    border-radius:15px;
    padding:20px;
    background:#080f0b
}

.download-heading {
    display:flex;
    align-items:center;
    gap:13px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.7px;
    margin:0 0 13px;
    padding:13px 16px;
    border:1px solid #196c3d;
    border-left:5px solid var(--green);
    border-radius:9px;
    background:linear-gradient(110deg,#183b26,#131e17)
}

.post-content .download-box .download-link {
    display:flex;
    align-items:center;
    gap:13px;
    max-width:none;
    margin:10px 0 0;
    padding:13px 16px;
    border:1px solid #2a3c30;
    border-left:4px solid var(--green);
    border-radius:10px;
    background:linear-gradient(110deg,#14291b,#101713);
    font-size:13px;
    line-height:1.5
}

.download-box .magnet-icon,.download-heading .magnet-icon {
    display:grid;
    place-items:center;
    flex:0 0 37px;
    width:37px;
    height:37px;
    border:1px solid #17643b;
    border-radius:8px;
    background:#163d25;
    font-size:19px;
    float:none
}

.download-box .download-label {
    flex:1;
    min-width:0;
    color:var(--text);
    float:none
}

.download-box .download-arrow {
    display:grid;
    place-items:center;
    float:none;
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:7px;
    background:#ffffff05;
    color:#9eb6be
}

.post-content .download-box .download-link:hover {
    border-color:var(--green);
    background:#163323
}

@media(max-width:700px) {
    .download-stage {
        padding:20px 10px
    }

.download-box {
        padding:12px
    }

.post-content .download-box .download-link {
        padding:11px 10px;
        gap:9px
    }

.download-heading {
        padding:11px 10px;
        gap:9px
    }

.related .poster-grid {
        gap:16px
    }


}

/* Related carousel keeps two covers visible and supports touch scrolling. */
.related-carousel {
    max-width:560px;
    margin-inline:auto;
    min-width:0
}

.related-controls {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin:0 0 14px
}

.related-controls[hidden] {
    display:none
}

.related-controls button {
    display:grid;
    place-items:center;
    width:40px;
    height:38px;
    padding:0;
    font-size:27px;
    line-height:1;
    border-color:#2b573c;
    color:var(--green)
}

.related-controls button:hover:not(:disabled) {
    background:#1a3925;
    border-color:var(--green)
}

.related-controls button:disabled {
    opacity:.3;
    cursor:default
}

.related-track {
    display:flex;
    gap:24px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding:0;
    overscroll-behavior-x:contain;
    padding-bottom:12px;
    scrollbar-width:thin;
    scrollbar-color:#28603b #101813
}

.related-track .card {
    flex:0 0 calc((100% - 24px)/2);
    min-width:0;
    scroll-snap-align:start
}

.related-track .cover {
    width:100%
}

@media(max-width:700px) {
    .related-track {
        gap:16px
    }

.related-track .card {
        flex-basis:calc((100% - 16px)/2)
    }


}

/* Related carousel: six covers on desktop. */
.related-carousel {
    max-width:none
}

.related-track .card {
    flex-basis:calc((100% - 120px)/6)
}

@media(max-width:1050px) {
    .related-track .card {
        flex-basis:calc((100% - 72px)/4)
    }


}

@media(max-width:700px) {
    .related-track .card {
        flex-basis:calc((100% - 32px)/3)
    }


}

@media(max-width:420px) {
    .related-track .card {
        flex-basis:calc((100% - 16px)/2)
    }


}

/* Match the index grid's available width, gaps and poster dimensions. */
.related.panel {
    padding-inline:0;
    border-inline:0
}

.related-carousel {
    width:100%;
    max-width:none
}

.related-track {
    gap:18px
}

.related-track .card {
    flex-basis:calc((100% - 90px)/6)
}

@media(max-width:1050px) {
    .related-track .card {
        flex-basis:calc((100% - 54px)/4)
    }


}

@media(max-width:700px) {
    .related-track {
        gap:12px
    }

.related-track .card {
        flex-basis:calc((100% - 24px)/3)
    }


}

@media(max-width:420px) {
    .related-track .card {
        flex-basis:calc((100% - 12px)/2)
    }


}

/* Illustrated category directory. */
.genre-directory {
    padding-block:36px 70px
}

.genre-intro {
    position:relative;
    overflow:hidden;
    border:1px solid var(--border);
    border-left:3px solid var(--green);
    border-radius:13px;
    padding:43px 34px;
    background:radial-gradient(ellipse at top right,#0f331c99,transparent 65%),linear-gradient(115deg,#19191f,#0b0e0c 75%)
}

.genre-intro h1 {
    font-size:36px;
    margin:12px 0 13px;
    font-weight:900;
    letter-spacing:-1px
}

.genre-intro p {
    font-size:13px;
    color:var(--muted);
    margin:0
}

.genre-divider {
    display:flex;
    align-items:center;
    gap:20px;
    font-size:14px;
    margin:29px 0 48px
}

.genre-divider:after {
    content:"";
    height:1px;
    flex:1;
    background:linear-gradient(90deg,var(--border),transparent)
}

.genre-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
    align-items:start
}

.genre-tile {
    position:relative;
    display:block;
    isolation:isolate;
    overflow:hidden;
    aspect-ratio:1.6;
    border:1px solid var(--border);
    border-radius:10px;
    background:linear-gradient(135deg,#21462e,#101a15);
    transition:border-color .2s,transform .2s
}

.genre-tile img {
    position:absolute;
    inset:0;
    z-index:-2;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s
}

.genre-tile:after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(0deg,#020705ed,transparent 80%)
}

.genre-tile>span {
    position:absolute;
    left:16px;
    right:12px;
    bottom:15px;
    border-left:2px solid var(--green);
    padding-left:9px;
    color:#fff;
    font-weight:800;
    font-size:14px;
    line-height:1.25;
    text-shadow:0 1px 4px #000
}

.genre-tile:hover,.genre-tile:focus-visible {
    border-color:var(--green);
    transform:translateY(-2px)
}

.genre-tile:hover img {
    transform:scale(1.045)
}

.genre-featured {
    grid-column:span 2;
    aspect-ratio:2.1
}

@media(max-width:1050px) {
    .genre-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }


}

@media(max-width:700px) {
    .genre-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px
    }

.genre-intro {
        padding:30px 22px
    }

.genre-intro h1 {
        font-size:28px
    }

.genre-divider {
        margin-bottom:25px
    }

.genre-tile>span {
        font-size:12px;
        left:12px;
        bottom:12px
    }


}

@media(prefers-reduced-motion:reduce) {
    .genre-tile,.genre-tile img {
        transition:none
    }


}

/* Home carousel: reference composition at approximately 70% of its height. */
.hero[data-hero-carousel] {
    margin:5px 0 36px;
    border-radius:16px;
    background:#09130e
}

.hero[data-hero-carousel] .hero-slide {
    height:400px;
    min-height:0;
    background:#10241a
}

.hero[data-hero-carousel] .hero-slide:not([hidden]) {
    display:flex;
    align-items:center;
    animation:tf-hero-fade .45s ease-out
}

.hero[data-hero-carousel] .hero-image {
    object-position:center 38%
}

.hero[data-hero-carousel] .hero-slide:after {
    background:linear-gradient(90deg,rgba(4,12,8,.96),rgba(4,12,8,.74) 39%,rgba(4,12,8,.13) 82%),linear-gradient(0deg,rgba(4,12,8,.8),transparent 65%)
}

.hero[data-hero-carousel] .hero-copy {
    padding:30px 68px 54px;
    max-width:800px;
    width:70%
}

.hero-label {
    display:inline-block;
    padding:6px 10px;
    border:1px solid #287c49;
    border-radius:3px;
    background:#124425aa;
    color:#c5ffdb;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.1px
}

.hero[data-hero-carousel] .hero-copy h2 {
    font-size:clamp(28px,3.2vw,44px);
    font-weight:900;
    letter-spacing:-1.2px;
    line-height:1.08;
    margin:18px 0 12px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden
}

.hero-copy h2 a:hover {
    color:#fff
}

.hero-summary {
    font-size:13px;
    line-height:1.7;
    color:#d0ded5;
    margin:0 0 18px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden
}

.hero-link {
    font-size:11px;
    padding:12px 20px;
    box-shadow:0 6px 22px #0fdd5820
}

.hero-link span {
    margin-left:8px
}

.hero-navigation[hidden] {
    display:none
}

.hero-arrow {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:56px;
    padding:0;
    border:1px solid #ffffff30;
    border-radius:6px;
    background:#07100bc9;
    color:#fff;
    font-size:31px;
    line-height:1;
    z-index:2
}

.hero-prev {
    left:17px
}

.hero-next {
    right:17px
}

.hero-arrow:hover {
    border-color:var(--green);
    background:#102a1b
}

.hero-dots {
    position:absolute;
    bottom:18px;
    left:70px;
    right:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:3px;
    z-index:2
}

.hero-dots button {
    display:grid;
    place-items:center;
    width:17px;
    height:23px;
    border:0;
    padding:0;
    background:transparent
}

.hero-dots button:before {
    content:"";
    width:7px;
    height:7px;
    border-radius:20px;
    background:#a9b4ad80;
    transition:width .2s,background .2s
}

.hero-dots button[aria-current="true"] {
    width:29px
}

.hero-dots button[aria-current="true"]:before {
    width:24px;
    background:var(--green)
}

.hero-pause {
    position:absolute;
    right:18px;
    bottom:16px;
    width:30px;
    height:28px;
    padding:0;
    font-size:15px;
    background:#08130dc9;
    color:#cfe3d7;
    z-index:2
}

@keyframes tf-hero-fade {
    from {
        opacity:.35
    }

to {
        opacity:1
    }


}

@media(max-width:1050px) {
    .hero[data-hero-carousel] .hero-copy {
        width:82%
    }


}

@media(max-width:700px) {
    .hero[data-hero-carousel] .hero-slide {
        height:340px
    }

.hero[data-hero-carousel] .hero-copy {
        width:100%;
        padding:25px 46px 50px
    }

.hero[data-hero-carousel] .hero-copy h2 {
        font-size:29px;
        letter-spacing:-.7px;
        margin:14px 0 10px;
        -webkit-line-clamp:3
    }

.hero-summary {
        font-size:12px;
        margin-bottom:14px
    }

.hero-arrow {
        width:29px;
        height:43px;
        font-size:25px
    }

.hero-prev {
        left:7px
    }

.hero-next {
        right:7px
    }

.hero[data-hero-carousel] .hero-slide:after {
        background:linear-gradient(90deg,#050e09ed,#050e0999),linear-gradient(0deg,#050e09bb,transparent)
    }

.hero-dots {
        left:40px;
        right:50px;
        bottom:12px
    }

.hero-pause {
        right:10px;
        bottom:11px
    }


}

@media(prefers-reduced-motion:reduce) {
    .hero[data-hero-carousel] .hero-slide:not([hidden]) {
        animation:none
    }

.hero-dots button:before {
        transition:none
    }


}

/* Full-width footer divider; description left, sitemap right. */
.site-footer {
    display:block;
    width:100%;
    max-width:none;
    margin-inline:0;
    border-top:1px solid var(--border);
    padding-block:25px;
    text-align:left
}

.footer-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.footer-description {
    flex:1;
    min-width:0;
    margin:0;
    text-align:left;
    overflow-wrap:anywhere
}

.footer-sitemap {
    flex:0 0 auto;
    margin-left:auto;
    text-align:right;
    white-space:nowrap
}

@media(max-width:700px) {
    .footer-inner {
        align-items:flex-start;
        gap:16px
    }

.site-footer {
        padding-block:20px
    }


}

/* Compact sticky navigation, with WordPress admin-bar clearance. */
.site-header {
    position:sticky;
    top:var(--tf-admin-offset,0px);
    z-index:1000;
    background:#0b110df5;
    box-shadow:0 4px 20px #0003
}

body.admin-bar .site-header {
    --tf-admin-offset:32px
}

.site-header .header-inner {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    min-height:78px;
    padding-block:10px;
    gap:22px
}

.site-header .brand {
    font-size:23px;
    text-align:left
}

.site-header .brand small {
    font-size:8px;
    letter-spacing:1.7px
}

.site-header .custom-logo {
    max-height:52px;
    max-width:215px
}

.site-header nav {
    min-width:0;
    justify-self:center
}

.site-header nav>ul {
    gap:19px;
    align-items:center;
    flex-wrap:wrap
}

.site-header nav a {
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    white-space:nowrap;
    line-height:1.4;
    padding-block:6px
}

.tf-nav-icon {
    display:inline-block;
    flex:0 0 16px;
    width:16px;
    height:16px;
    vertical-align:middle;
    color:inherit
}

.site-header form[role=search] {
    width:240px
}

.site-header form[role=search] input {
    min-width:0;
    width:100%;
    padding:9px 11px;
    font-size:12px
}

.site-header form[role=search] button {
    display:grid;
    place-items:center;
    padding:9px 13px
}

.site-header .current-menu-item>a {
    color:var(--green)
}

html {
    scroll-padding-top:100px
}

@media(max-width:1050px) {
    .site-header .header-inner {
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px 18px;
        min-height:0;
        padding-block:10px
    }

.site-header nav {
        grid-row:2;
        grid-column:1/-1;
        justify-self:center
    }

.site-header form[role=search] {
        grid-column:2;
        grid-row:1
    }

.site-header nav>ul {
        justify-content:center;
        gap:6px 20px
    }

html {
        scroll-padding-top:150px
    }


}

@media(max-width:782px) {
    body.admin-bar .site-header {
        --tf-admin-offset:46px
    }


}

@media(max-width:600px) {
    body.admin-bar .site-header {
        --tf-admin-offset:0px
    }


}

@media(max-width:700px) {
    .site-header .header-inner {
        gap:7px 12px
    }

.site-header .brand {
        font-size:20px
    }

.site-header .brand small {
        font-size:7px;
        letter-spacing:.8px
    }

.site-header form[role=search] {
        width:190px;
        max-width:100%
    }

.site-header .custom-logo {
        max-width:170px;
        max-height:45px
    }

.site-header nav>ul {
        gap:4px 16px
    }

.site-header nav a {
        font-size:12px;
        gap:5px
    }

.site-header nav li ul {
        width:min(240px,80vw)
    }


}

@media(max-width:420px) {
    .site-header .brand {
        font-size:18px
    }

.site-header form[role=search] {
        width:145px
    }

.site-header form[role=search] input {
        padding:8px 6px;
        font-size:11px
    }

.site-header form[role=search] button {
        padding:8px
    }

.site-header .custom-logo {
        max-width:135px
    }

.site-header nav>ul {
        gap:3px 12px
    }


}

/* Keep menu SVG icons visible even when a plugin styles inline SVGs. */
.site-header nav a>.tf-nav-icon {
    display:inline-block!important;
    visibility:visible!important;
    opacity:1!important;
    width:16px!important;
    height:16px!important;
    min-width:16px;
    flex-shrink:0;
    stroke:currentColor;
    fill:none;
    overflow:visible
}

/* Cinema Esmeralda: blue → cinema black → emerald green. */
:root {
    --bg:#080D0B;
    --surface:#0D191B;
    --border:#233D37;
    --text:#EDF5F3;
    --muted:#A0B7B0;
    --green:#27D77D;
    --cinema-blue:#071A2E;
    --cinema-black:#080D0B;
    --cinema-emerald:#103D2B;
    --cinema-gradient:linear-gradient(115deg,#071A2E 0%,#080D0B 52%,#103D2B 100%)
}

body {
    background:var(--bg)
}

.site-header,.site-footer {
    background:var(--cinema-gradient);
    border-color:var(--border)
}

.site-header {
    box-shadow:0 5px 22px #0005
}

.panel {
    background:linear-gradient(120deg,#071A2E99,#080D0B 55%,#103D2B66);
    border-color:var(--border)
}

.movie-panel {
    background:var(--cinema-black)
}

.movie-panel:after {
    background:linear-gradient(110deg,rgba(7,26,46,.72),rgba(8,13,11,.78) 54%,rgba(16,61,43,.58)),linear-gradient(0deg,rgba(8,13,11,.86),transparent 75%)
}

.movie-details dt {
    color:#B5C9C4
}

.hero[data-hero-carousel],.hero[data-hero-carousel] .hero-slide {
    background:var(--cinema-black)
}

.hero[data-hero-carousel] .hero-slide:after {
    background:linear-gradient(100deg,rgba(7,26,46,.94),rgba(8,13,11,.76) 42%,rgba(16,61,43,.16) 85%),linear-gradient(0deg,rgba(8,13,11,.88),transparent 70%)
}

.hero-label {
    background:#103D2BC9;
    border-color:#2B7A55;
    color:#CBFFE0
}

.hero-arrow,.hero-pause {
    background:#080D0BD9;
    border-color:#3A5750
}

.hero-arrow:hover {
    background:#103D2B;
    border-color:var(--green)
}

.genre-intro {
    background:var(--cinema-gradient)
}

.genre-tile {
    background:var(--cinema-gradient);
    border-color:var(--border)
}

.genre-tile:after {
    background:linear-gradient(0deg,rgba(8,13,11,.96),rgba(7,26,46,.14) 70%,rgba(16,61,43,.08))
}

.download-stage {
    background:linear-gradient(115deg,#071A2E66,#080D0B 55%,#103D2B44);
    border-color:var(--border)
}

.download-box {
    background:#080D0BE8;
    border-color:#1D4837
}

.download-heading {
    background:var(--cinema-gradient);
    border-color:#285F45;
    border-left-color:var(--green)
}

.post-content .download-box .download-link {
    background:var(--cinema-gradient);
    border-color:#29473D;
    border-left-color:var(--green)
}

.post-content .download-box .download-link:hover {
    background:linear-gradient(115deg,#0B2944,#0C1912 50%,#175239);
    border-color:var(--green)
}

.download-box .magnet-icon,.download-heading .magnet-icon {
    background:#103D2B;
    border-color:#2B6B49
}

.download-box .download-arrow {
    background:#071A2E99;
    color:#C1D9D1
}

.site-header form[role=search],.site-header form[role=search] input,input,textarea {
    background:#080D0BD9;
    border-color:var(--border)
}

.site-header form[role=search] button {
    background:#103D2B80
}

nav li ul,nav details ul,.page-numbers {
    background:var(--cinema-gradient)
}

.page-numbers.current,.trailer-button {
    background:var(--green);
    color:#052314
}

.trailer-button:hover {
    background:#59E99A;
    color:#052314
}

.related-controls button {
    background:var(--cinema-gradient);
    border-color:#2B5B45
}

.related-controls button:hover:not(:disabled) {
    background:#103D2B
}

dialog {
    background:var(--cinema-gradient)
}

@media(max-width:700px) {
    .movie-panel:after {
        background:linear-gradient(120deg,rgba(7,26,46,.78),rgba(8,13,11,.9) 55%,rgba(16,61,43,.72))
    }

.hero[data-hero-carousel] .hero-slide:after {
        background:linear-gradient(100deg,rgba(7,26,46,.92),rgba(8,13,11,.75) 60%,rgba(16,61,43,.45)),linear-gradient(0deg,rgba(8,13,11,.85),transparent)
    }


}

/* Film/series badges share the same placement across all poster lists. */
.single-poster {
    position:relative
}

.single-poster>img {
    display:block
}

.type-badge {
    position:absolute;
    right:8px;
    bottom:9px;
    z-index:1;
    padding:4px 8px;
    border-radius:5px;
    border:1px solid #ffffff26;
    font-size:10px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.2px;
    color:#fff;
    box-shadow:0 2px 8px #0008;
    pointer-events:none
}

.type-movie {
    background:linear-gradient(115deg,#071A2E,#103D2B)
}

.type-series {
    background:linear-gradient(115deg,#071A2E,#17445D)
}

.single-poster .type-badge {
    right:10px;
    bottom:10px;
    font-size:11px
}

.breadcrumb .post-heading {
    display:inline;
    margin:0;
    padding:0;
    font:inherit;
    color:inherit;
    letter-spacing:normal
}

.movie-details .info-heading {
    font-size:10px;
    line-height:1.4;
    letter-spacing:2px;
    margin:4px 0 15px;
    font-weight:800
}

@media(min-width:701px) and (max-width:1050px) {
    .movie-details .info-heading {
        margin-bottom:10px
    }


}

/* Year badges follow the Cinema Esmeralda palette. */
.cover .year {
    background:var(--cinema-gradient);
    color:#fff;
    border:1px solid #ffffff26;
    box-shadow:0 2px 8px #0008
}


/* 07. Ícone de pipoca integrado à logo, inclusive à logo personalizada. */
.site-header .brand {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.site-header .tf-brand-default {
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-width:0;
    line-height:1.1;
}

.site-header .tf-brand-copy {
    display:block;
    color:var(--text);
}

.site-header .tf-brand-copy > span {
    color:var(--green);
}

.site-header .tf-brand-icon-link,
.site-header .custom-logo-link {
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
}

.site-header .tf-brand-cinema-icon {
    display:block;
    flex-shrink:0;
    width:58px;
    height:58px;
    object-fit:cover;
    border-radius:50%;
}

@media (max-width:1050px) {
    .site-header .tf-brand-cinema-icon {
        width:50px;
        height:50px;
    }
}

@media (max-width:700px) {
    .site-header .brand,
    .site-header .tf-brand-default {
        gap:8px;
    }
    .site-header .tf-brand-cinema-icon {
        width:43px;
        height:43px;
    }
}

@media (max-width:420px) {
    .site-header .brand {
        font-size:15px;
        gap:6px;
    }
    .site-header .tf-brand-default {
        gap:6px;
    }
    .site-header .tf-brand-cinema-icon {
        width:34px;
        height:34px;
    }
    .site-header .brand small {
        display:none;
    }
    .site-header .custom-logo {
        max-width:115px;
    }
    .site-header form[role=search] {
        width:125px;
    }
}

@media (max-width:360px) {
    .site-header .brand {
        font-size:14px;
    }
    .site-header .tf-brand-cinema-icon {
        width:30px;
        height:30px;
    }
    .site-header form[role=search] {
        width:108px;
    }
}
