/**
 * eLfilms.cz - Responzivní styly pro detail seriálu
 *
 * @package    eLfilms
 * @subpackage Frontend
 * @file       css/serial-responsive.css
 * @version    4.1 - Responzivní serial-story font-size
 * @datum      Březen 2026
 * @author     eLfilms Team
 * @copyright  2009-2026 eLfilms.cz
 *
 * Responzivní (mobilní) styly pro stránku detailu seriálu.
 * Doplňuje serial.css pro různé velikosti obrazovek.
 *
 * STYLUJE:
 * - Všechny mobilní breakpointy pro serial.php
 * - Přepisy desktopových layoutů pro mobil/tablet
 *
 * POUŽÍVÁ:
 * - serial.php (parent stránka)
 *
 * DESIGN:
 * - Barvy: tmavě modrá (#0d1b2a, #0b334f–#1a4f72), zlatá (#EEB500)
 * - Max šířka obsahu: 1200px
 *
 * BREAKPOINTY:
 * - max 359px  : velmi malé mobily
 * - 360–479px  : malé mobily
 * - 480–767px  : střední mobily
 * - max 767px  : všechny mobily (společné styly)
 * - 768–991px  : tablet portrait
 * - 992px+     : tablet landscape + desktop
 *
 * NOTE:
 * - Mobilní breakpoint MUSÍ být max-width: 767px (ne 768px!)
 * - Hlavní styly jsou v serial.css
 */

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

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

    .hero-content {
        display: block !important;
        grid-template-columns: none !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;
    }

    .movie-description {
        font-size: 14px;
        text-align: justify;
        margin-bottom: 20px;
    }

    .series-navigation {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
    }

    .series-nav-label {
        font-size: 14px;
    }

    .series-list {
        justify-content: center;
        max-width: 100%;
    }

    .series-nav-btn {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }

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

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

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

    .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 h3 {
        font-size: 20px;
        text-align: center;
        margin-bottom: 15px;
        margin-top: 20px;
    }

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

    /* Serial story - popis seriálu */
    .serial-story p {
        font-size: 15px;
        text-indent: 1.2em;
        line-height: 1.7;
    }

    .serial-story ul,
    .serial-story ol,
    .serial-story li {
        font-size: 15px;
    }

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

    .cast-info {
        padding: 20px 15px;
        margin: 0 -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;
    }

    .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;
    }

    .gallery-item {
        height: auto;
    }

    .gallery-item img {
        height: auto;
    }

    .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;
    }

    .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;
    }
}

/* ============================================
   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;
    }

    .series-nav-btn {
        width: 30px;
        height: 30px;
        font-size: 11px;
    }

    /* Serial story - velmi malé mobily */
    .serial-story p {
        font-size: 13px;
        text-indent: 1em;
    }

    .serial-story ul,
    .serial-story ol,
    .serial-story li {
        font-size: 13px;
    }
}

/* ============================================
   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;
    }

    /* Serial story - malé mobily */
    .serial-story p {
        font-size: 14px;
        text-indent: 1.1em;
    }

    .serial-story ul,
    .serial-story ol,
    .serial-story li {
        font-size: 14px;
    }
}

/* ============================================
   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;
    }

    /* Serial story - střední mobily */
    .serial-story p {
        font-size: 15px;
        text-indent: 1.2em;
    }

    .serial-story ul,
    .serial-story ol,
    .serial-story li {
        font-size: 15px;
    }
}

/* ============================================
   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;
        padding-top: 0;
    }

    .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 vpravo nahoře */
    .movie-meta-info {
        font-size: 12px !important;
        padding: 8px 15px;
        white-space: nowrap;
        flex-shrink: 0;
        margin-top: 0 !important;
    }

    .movie-description {
        font-size: 14px;
        text-align: justify;
        margin-bottom: 15px;
        line-height: 1.5;
    }

    /* NAVIGACE SÉRIÍ vpravo */
    .series-navigation {
        display: flex;
        justify-content: flex-end !important;
        align-items: center;
        gap: 15px;
        margin-bottom: 25px;
    }

    .series-nav-label {
        font-size: 13px;
    }

    .series-list {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }

    .series-nav-btn {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }

    .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 jako landscape */
    .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;
        font-size: 9px;
    }

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

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

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

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

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

    /* Serial story - tablet portrait */
    .serial-story p {
        font-size: 14px;
        text-indent: 1.3em;
        line-height: 1.65;
    }

    .serial-story ul,
    .serial-story ol,
    .serial-story li {
        font-size: 14px;
    }

    .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-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .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;
        color: white;
    }

    .menu-dots {
        display: none;
    }

    .character-name {
        font-size: 10px;
        grid-row: 2;
        grid-column: 2;
        line-height: 1.2;
        color: rgba(255,255,255,0.8);
    }

    /* 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;
    }

    .gallery-item {
        height: auto;
        aspect-ratio: 16/9;
    }

    .gallery-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* PODOBNÉ SERIÁLY */
    .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;
    }

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

    .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) {
    .series-navigation {
        justify-content: flex-end !important;
    }

    /* Serial story - desktop, font-size z serial.css (1rem) platí */
}