/* ===== ESTILOS ESPECÍFICOS PARA RESENHAS DE FILMES ===== */ /* === CARD DE INFORMAÇÕES DO FILME === */ .movie-review-card { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; padding: 25px; border-radius: 15px; margin: 25px 0; box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3); position: relative; overflow: hidden; } .movie-review-card::before { content: ''; position: absolute; top: -50%; right: -50%; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); transform: rotate(45deg); } .movie-info-grid { display: grid; grid-template-columns: 150px 1fr; gap: 25px; align-items: start; position: relative; z-index: 1; } .movie-poster-container { position: relative; } .movie-poster { width: 150px; height: 225px; object-fit: cover; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: transform 0.3s ease; } .movie-poster:hover { transform: scale(1.05); } .movie-details { display: flex; flex-direction: column; gap: 15px; } .movie-title { font-size: 1.8em; font-weight: bold; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); } .movie-subtitle { font-size: 1.1em; opacity: 0.9; font-style: italic; } /* === SISTEMA DE AVALIAÇÃO === */ .rating-container { display: flex; align-items: center; gap: 15px; margin: 15px 0; flex-wrap: wrap; } .star-rating { display: flex; gap: 3px; } .star { font-size: 1.5em; color: #ffd700; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); transition: transform 0.2s ease; } .star:hover { transform: scale(1.2); } .rating-score { background-color: rgba(255,255,255,0.2); padding: 8px 15px; border-radius: 25px; font-weight: bold; font-size: 1.1em; border: 2px solid rgba(255,255,255,0.3); } .rating-text { font-size: 0.9em; opacity: 0.8; } /* === INFORMAÇÕES TÉCNICAS === */ .movie-tech-info { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 15px; margin-top: 20px; } .tech-info-item { background-color: rgba(255,255,255,0.1); padding: 10px; border-radius: 8px; text-align: center; border: 1px solid rgba(255,255,255,0.2); } .tech-info-label { font-size: 0.8em; opacity: 0.8; display: block; margin-bottom: 5px; } .tech-info-value { font-weight: bold; font-size: 0.95em; } /* === GÊNEROS E TAGS === */ .movie-genres { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; } .genre-tag { background-color: rgba(255,255,255,0.2); padding: 6px 14px; border-radius: 20px; font-size: 0.85em; border: 1px solid rgba(255,255,255,0.3); transition: all 0.3s ease; cursor: pointer; } .genre-tag:hover { background-color: rgba(255,255,255,0.3); transform: translateY(-2px); } /* === SEÇÃO DE PRÓS E CONTRAS === */ .pros-cons-section { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin: 30px 0; } .pros-section, .cons-section { background-color: #f8f9fa; padding: 20px; border-radius: 12px; border-left: 4px solid; } .pros-section { border-left-color: #28a745; } .cons-section { border-left-color: #dc3545; } .pros-cons-title { font-size: 1.2em; font-weight: bold; margin-bottom: 15px; display: flex; align-items: center; gap: 8px; } .pros-cons-title::before { font-size: 1.3em; } .pros-section .pros-cons-title::before { content: "👍"; } .cons-section .pros-cons-title::before { content: "👎"; } .pros-cons-list { list-style: none; padding: 0; } .pros-cons-list li { padding: 8px 0; border-bottom: 1px solid #e9ecef; position: relative; padding-left: 25px; } .pros-cons-list li:last-child { border-bottom: none; } .pros-section .pros-cons-list li::before { content: "✓"; color: #28a745; font-weight: bold; position: absolute; left: 0; } .cons-section .pros-cons-list li::before { content: "✗"; color: #dc3545; font-weight: bold; position: absolute; left: 0; } /* === SEÇÃO DE VEREDICTO === */ .verdict-section { background: linear-gradient(135deg, #ff7e5f 0%, #feb47b 100%); color: #fff; padding: 25px; border-radius: 15px; margin: 30px 0; text-align: center; box-shadow: 0 8px 25px rgba(255, 126, 95, 0.3); } .verdict-title { font-size: 1.5em; font-weight: bold; margin-bottom: 15px; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); } .verdict-text { font-size: 1.1em; line-height: 1.6; margin-bottom: 20px; } .verdict-recommendation { background-color: rgba(255,255,255,0.2); padding: 15px; border-radius: 10px; font-weight: bold; font-size: 1.1em; border: 2px solid rgba(255,255,255,0.3); } /* === GALERIA DE IMAGENS === */ .movie-gallery { margin: 30px 0; } .gallery-title { font-size: 1.3em; font-weight: bold; margin-bottom: 20px; color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; } .gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; } .gallery-item { position: relative; overflow: hidden; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: transform 0.3s ease; } .gallery-item:hover { transform: scale(1.05); } .gallery-item img { width: 100%; height: 150px; object-fit: cover; transition: transform 0.3s ease; } .gallery-item:hover img { transform: scale(1.1); } /* === SEÇÃO DE TRAILER === */ .trailer-section { background-color: #f8f9fa; padding: 25px; border-radius: 15px; margin: 30px 0; text-align: center; } .trailer-title { font-size: 1.3em; font-weight: bold; margin-bottom: 20px; color: #2c3e50; } .trailer-container { position: relative; width: 100%; height: 0; padding-bottom: 56.25%; /* 16:9 aspect ratio */ overflow: hidden; border-radius: 10px; box-shadow: 0 8px 25px rgba(0,0,0,0.1); } .trailer-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; } /* === RESPONSIVIDADE ESPECÍFICA === */ @media (max-width: 768px) { .movie-info-grid { grid-template-columns: 1fr; text-align: center; gap: 20px; } .movie-poster { width: 120px; height: 180px; margin: 0 auto; } .pros-cons-section { grid-template-columns: 1fr; gap: 20px; } .movie-tech-info { grid-template-columns: repeat(2, 1fr); } .rating-container { justify-content: center; } } @media (max-width: 480px) { .movie-review-card { padding: 20px; margin: 20px 0; } .movie-title { font-size: 1.5em; } .movie-tech-info { grid-template-columns: 1fr; } .gallery-grid { grid-template-columns: 1fr; } .star { font-size: 1.3em; } } /* === ANIMAÇÕES === */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .movie-review-card { animation: fadeInUp 0.6s ease-out; } .pros-cons-section > div { animation: fadeInUp 0.6s ease-out; animation-delay: 0.2s; animation-fill-mode: both; } .verdict-section { animation: fadeInUp 0.6s ease-out; animation-delay: 0.4s; animation-fill-mode: both; } /* === ELEMENTOS INTERATIVOS === */ .interactive-rating { cursor: pointer; user-select: none; } .interactive-rating .star { transition: all 0.2s ease; } .interactive-rating .star:hover { color: #ffed4e; transform: scale(1.3); } /* === TOOLTIPS === */ .tooltip { position: relative; cursor: help; } .tooltip::after { content: attr(data-tooltip); position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%); background-color: #333; color: #fff; padding: 8px 12px; border-radius: 6px; font-size: 0.8em; white-space: nowrap; opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 1000; } .tooltip:hover::after { opacity: 1; visibility: visible; } /* === BADGES E INDICADORES === */ .movie-badge { display: inline-block; padding: 4px 10px; border-radius: 12px; font-size: 0.75em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px; } .badge-new { background-color: #28a745; color: #fff; } .badge-popular { background-color: #ffc107; color: #212529; } .badge-recommended { background-color: #17a2b8; color: #fff; } .badge-award { background-color: #6f42c1; color: #fff; } /* === SEÇÃO DE COMPARAÇÃO === */ .comparison-section { background-color: #f8f9fa; padding: 25px; border-radius: 15px; margin: 30px 0; } .comparison-title { font-size: 1.3em; font-weight: bold; margin-bottom: 20px; color: #2c3e50; text-align: center; } .comparison-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; } .comparison-item { background-color: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); text-align: center; transition: transform 0.3s ease; } .comparison-item:hover { transform: translateY(-5px); } .comparison-movie-title { font-weight: bold; margin-bottom: 10px; color: #2c3e50; } .comparison-rating { color: #ffd700; font-size: 1.2em; margin-bottom: 10px; } .comparison-description { font-size: 0.9em; color: #6c757d; line-height: 1.5; }