/**
 * eLfilms.cz - Responzivní styly pro detail filmu
 *
 * @package    eLfilms
 * @subpackage Frontend
 * @file       css/film-responsive.css
 * @version    4.1 - iPad Mini fix (767px breakpoint)
 * @datum      Březen 2026
 * @author     eLfilms Team
 * @copyright  2009-2026 eLfilms.cz
 *
 * Responzivní přizpůsobení stránky detailu filmu.
 *
 * STYLUJE:
 * - Hero sekce, poster, hodnocení
 * - Movie info, trailer, meta info
 * - Details grid (TMDB, lesbický obsah, popis, obsazení)
 * - Fotogalerie, podobné filmy, modály
 *
 * POUŽÍVÁ:
 * - film.php (parent stránka)
 *
 * DESIGN:
 * - Barvy: tmavě modrá (#0d1b2a, #0b334f–#1a4f72), zlatá (#EEB500)
 * - Max šířka obsahu: 1200px
 *
 * NOTE:
 * - Mobilní breakpoint: max-width: 767px (iPad Mini 768px dostane tablet layout)
 * - Hlavní styly jsou v film.css
 */

/* ============================================
   VŠECHNY MOBILY (do 767px)
   ============================================ */
@media (max-width: 767px) {
    .hero-section {
        height: 30vh;
        margin-top: 60px;
    }

    .movie-info-section {
        padding: 20px 15px;
    }

    .hero-content {
        display: block !important;
        gap: 0;
        padding: 0 15px;
    }

    .poster-container {
        position: relative !important;
        top: 0 !important;
        width: 200px !important;
        margin: -80px auto 20px auto !important;
        z-index: 3;
    }

    .movie-poster {
        width: 100%;
    }

    .poster-rating-compact {
        margin-top: 15px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .rating-stars-display {
        flex: 0 0 100%;
        justify-content: center;
        font-size: 16px;
    }

    .poster-rating-compact .rating-text {
        font-size: 13px;
    }

    .rating-divider {
        font-size: 13px;
    }

    .rate-link {
        font-size: 12px;
    }

    .movie-info {
        margin-left: 0 !important;
        text-align: center;
        width: 100%;
    }

    .movie-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
        margin-bottom: 20px;
    }

    .movie-year {
        font-size: 16px;
    }

    .movie-title {
        font-size: 28px !important;
        margin-bottom: 10px;
    }

    .movie-genres {
        font-size: 14px;
        margin-bottom: 15px;
    }

    .movie-meta-info {
        font-size: 12px;
        padding: 0;
        margin: 0 auto 15px auto;
        max-width: 90%;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        background: transparent;
        border: none;
    }

    .movie-meta-info > span:first-child {
        background: rgba(255,255,255,0.1);
        padding: 8px 15px;
        border-radius: 20px;
        border: 1px solid rgba(255,255,255,0.15);
        backdrop-filter: blur(10px);
        white-space: nowrap;
    }

    .movie-meta-info .meta-separator {
        display: none;
    }

    .movie-meta-info .country-info {
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,0.1);
        padding: 8px 15px;
        border-radius: 20px;
        border: 1px solid rgba(255,255,255,0.15);
        backdrop-filter: blur(10px);
        white-space: nowrap;
    }

    .content-tags {
        justify-content: center;
        margin-bottom: 20px;
    }

    .content-tag {
        font-size: 11px;
        padding: 5px 10px;
    }

    .movie-meta {
        justify-content: center;
        margin-top: 20px;
        margin-bottom: 30px;
    }

    .trailer-meta-wrapper {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        margin-top: 20px;
    }

    .trailer-btn {
        font-size: 13px;
        padding: 10px 20px;
    }

    /* DETAILS GRID - 1 sloupec */
    .details-section {
        padding: 20px 15px 40px;
    }

    .details-grid {
        grid-template-columns: 1fr !important;
        gap: 25px;
    }

    .poster-section {
        display: flex;
        flex-direction: column;
        gap: 15px;
        max-width: 100%;
    }

    .compact-rating,
    .lesbian-content-meter,
    .streaming-platforms-section {
        max-width: 100%;
        width: 100%;
    }

    .official-web-btn,
    .subtitle-btn {
        font-size: 13px;
        padding: 10px 15px;
        width: 100%;
    }

    .streaming-icons-grid {
        max-width: 100%;
        justify-content: center;
    }

    .streaming-icon {
        width: 45px;
        height: 45px;
    }

    .content-detail {
        padding: 0 15px;
    }

    .content-detail h2 {
        font-size: 20px;
        text-align: center;
        margin-bottom: 15px;
    }

    .content-detail p {
        font-size: 15px;
        margin-bottom: 20px;
    }

    /* Film story - popis filmu */
    .film-story p {
        font-size: 15px !important;
    }

    .movie-credits {
        margin-top: 20px;
        margin-bottom: 25px;
    }

    .cast-info {
        padding: 20px 15px;
    }

    .cast-info h4 {
        font-size: 16px;
        text-align: center;
        margin-bottom: 15px;
    }

    .cast-item {
        padding: 10px;
        gap: 12px;
    }

    .actor-photo {
        width: 45px;
        height: 45px;
    }

    .actor-name,
    .character-name {
        font-size: 13px;
    }

    /* FOTOGALERIE */
    .photo-gallery-section {
        padding: 30px 15px 40px;
    }

    .photo-gallery {
        padding: 20px 15px;
    }

    .photo-gallery h3 {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 15px;
        display: grid !important;
    }

    .gallery-item {
        height: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .gallery-item img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    /* PODOBNÉ FILMY */
    .similar-movies {
        padding: 40px 15px 50px;
    }

    .similar-movies h3 {
        font-size: 18px;
        margin-bottom: 25px;
    }

    .movies-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px;
    }

    .movies-grid .movie-card:nth-child(n+3) {
        display: none;
    }

    .movie-card-title {
        font-size: 10px;
    }

    /* MODÁLY */
    .modal-content {
        width: 95%;
        padding: 20px 15px;
        margin: 10% auto;
    }

    .video-title {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .subtitle-item-download {
        flex-direction: column;
        align-items: flex-start;
        padding: 15px;
        gap: 15px;
    }

    .btn-download {
        width: 100%;
        justify-content: center;
    }

    .rating-modal {
        min-width: 85%;
        max-width: 350px;
        padding: 25px 20px;
    }

    .rating-modal-content h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .modal-star {
        font-size: 32px;
    }

    .submit-rating-btn {
        padding: 12px;
        font-size: 15px;
    }

    /* MOTTO */
    .film-motto p {
        font-size: 1.1rem;
    }
}

/* ============================================
   VELMI MALÉ MOBILY (do 359px)
   ============================================ */
@media (max-width: 359px) {
    .hero-section {
        height: 28vh;
    }

    .poster-container {
        width: 160px !important;
    }

    .movie-title {
        font-size: 24px !important;
    }

    .streaming-icon {
        width: 42px;
        height: 42px;
    }
}

/* ============================================
   MALÉ MOBILY (360px - 479px)
   ============================================ */
@media (min-width: 360px) and (max-width: 479px) {
    .hero-section {
        height: 30vh;
    }

    .poster-container {
        width: 180px !important;
    }

    .movie-title {
        font-size: 26px !important;
    }
}

/* ============================================
   MOBILY (480px - 767px)
   ============================================ */
@media (min-width: 480px) and (max-width: 767px) {
    .hero-section {
        height: 32vh;
    }

    .poster-container {
        width: 200px !important;
    }

    .movie-title {
        font-size: 30px !important;
    }
}

/* ============================================
   TABLET PORTRAIT (768px - 991px)
   ============================================ */
@media (min-width: 768px) and (max-width: 991px) {

    /* HERO SEKCE */
    .hero-section {
        height: 40vh;
    }

    .hero-content {
        display: flex !important;
        gap: 60px;
        align-items: start;
    }

    /* POSTER vyčnívá nahoře */
    .poster-container {
        position: absolute !important;
        top: -180px !important;
        left: 20px !important;
        width: 240px !important;
        z-index: 3;
    }

    /* HODNOCENÍ POD POSTEREM - 2 řádky */
    .poster-rating-compact {
        margin-top: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .rating-stars-display {
        display: flex;
        justify-content: center;
        gap: 3px;
        width: 100%;
    }

    .rating-stars-display .star {
        font-size: 18px;
    }

    .poster-rating-compact .rating-text,
    .poster-rating-compact .rating-divider,
    .poster-rating-compact .rate-link {
        display: inline;
        font-size: 13px;
    }

    .poster-rating-compact .rating-divider {
        margin: 0 5px;
    }

    /* MOVIE INFO s margin-left */
    .movie-info {
        margin-left: 270px !important;
        text-align: left;
    }

    .movie-header {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 20px !important;
        margin-bottom: 20px;
    }

    .movie-title-section {
        flex: 1;
    }

    .movie-year {
        font-size: 15px;
    }

    .movie-title {
        font-size: 36px !important;
        line-height: 1.1;
    }

    .movie-genres {
        font-size: 14px;
    }

    /* META INFO */
    .movie-meta-info {
        font-size: 12px !important;
        padding: 8px 15px;
        white-space: nowrap;
        flex-shrink: 0;
        margin-top: 0 !important;
    }

    .content-tags {
        justify-content: flex-start;
        margin-bottom: 15px;
    }

    .content-tag {
        font-size: 11px;
        padding: 5px 10px;
    }

    .movie-meta {
        justify-content: flex-start;
        margin-top: 15px;
    }

    .trailer-btn {
        font-size: 13px;
        padding: 10px 20px;
    }

    /* DETAILS GRID - 3 sloupce */
    .details-section {
        padding: 30px 0 40px;
    }

    .container {
        padding: 0 20px !important;
        max-width: 100% !important;
    }

    .details-grid {
        grid-template-columns: 240px 1fr 240px !important;
        gap: 25px;
    }

    /* LEVÝ SLOUPEC */
    .poster-section {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .compact-rating {
        padding: 12px;
        width: 100%;
    }

    .compact-rating h4 {
        font-size: 13px;
        margin-bottom: 8px;
    }

    .rating-circle svg {
        width: 45px;
        height: 45px;
    }

    .rating-text {
        font-size: 11px;
    }

    .lesbian-content-meter {
        padding: 12px;
        width: 100%;
    }

    .lesbian-content-meter h4 {
        font-size: 13px;
        margin-bottom: 10px;
    }

    .rainbow-bar {
        height: 18px;
        margin-bottom: 10px;
    }

    .meter-label {
        font-size: 11px;
    }

    .official-web-btn,
    .subtitle-btn {
        font-size: 11px;
        padding: 9px 12px;
        width: 100%;
    }

    /* STREAMING */
    .streaming-platforms-section {
        width: 100%;
        padding: 12px;
    }

    .streaming-platforms-section h4 {
        font-size: 12px;
        margin-bottom: 8px;
        text-align: center;
    }

    .streaming-icons-grid {
        gap: 6px;
        justify-content: center;
        display: flex;
        flex-wrap: wrap;
    }

    .streaming-icon {
        width: 40px;
        height: 40px;
    }

    .streaming-icon i {
        font-size: 13px;
    }

    .streaming-icon span {
        font-size: 8px;
    }

    /* PROSTŘEDNÍ SLOUPEC */
    .content-detail {
        padding: 0 !important;
    }

    .content-detail h2 {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .content-detail p {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    /* Film story - tablet portrait */
    .film-story p {
        font-size: 14px !important;
    }

    .movie-credits {
        margin-top: 15px;
        margin-bottom: 20px;
    }

    .credit-item {
        font-size: 13px;
        margin-bottom: 6px;
    }

    /* PRAVÝ SLOUPEC - obsazení */
    .cast-info {
        padding: 15px 10px;
    }

    .cast-info h4 {
        font-size: 15px;
        margin-bottom: 10px;
        text-align: center;
    }

    .cast-item {
        padding: 8px 6px;
        display: grid;
        grid-template-columns: 40px 1fr;
        grid-template-rows: auto auto;
        gap: 3px 8px;
        align-items: center;
    }

    .actor-photo {
        width: 40px;
        height: 40px;
        grid-row: 1 / 3;
        grid-column: 1;
    }

    .actor-name {
        font-size: 11px;
        grid-row: 1;
        grid-column: 2;
        line-height: 1.2;
    }

    .menu-dots {
        display: none;
    }

    .character-name {
        font-size: 10px;
        grid-row: 2;
        grid-column: 2;
        line-height: 1.2;
    }

    /* FOTOGALERIE */
    .photo-gallery-section {
        padding: 35px 20px 40px;
    }

    .photo-gallery {
        padding: 20px 18px;
    }

    .photo-gallery h3 {
        font-size: 20px;
        margin-bottom: 18px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px;
    }

    /* PODOBNÉ FILMY */
    .similar-movies {
        padding: 40px 20px 50px;
    }

    .similar-movies h3 {
        font-size: 22px;
        margin-bottom: 25px;
    }

    .movies-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 18px;
    }

    .movie-card-title {
        font-size: 12px;
    }

    /* MODÁLY */
    .modal-content {
        width: 88%;
        padding: 25px 20px;
        margin: 8% auto;
    }

    .subtitle-item-download {
        flex-direction: row;
        align-items: center;
        padding: 14px;
        gap: 12px;
    }

    .btn-download {
        width: auto;
        min-width: 110px;
        font-size: 12px;
        padding: 9px 15px;
    }

    .rating-modal {
        min-width: 300px;
        max-width: 380px;
        padding: 25px 20px;
    }

    .modal-star {
        font-size: 34px;
    }
}

/* ============================================
   TABLET LANDSCAPE + DESKTOP (992px+)
   ============================================ */
@media (min-width: 992px) {
    .details-grid {
        grid-template-columns: 280px 1fr 350px;
    }
}