/* CineDoblee portada v3 - archivo independiente para evitar CSS cacheado */
html { box-sizing: border-box !important; }
*, *::before, *::after { box-sizing: inherit !important; }
html, body { width: 100% !important; min-width: 0 !important; }
body.home {
  margin: 0 !important;
  background: #07090e !important;
  color: #fff !important;
  overflow-x: hidden !important;
}
body.home #marco {
  display: block !important;
  float: none !important;
  width: min(1280px, calc(100% - 32px)) !important;
  min-width: 0 !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.home #cabeza { width: 100% !important; height: 140px !important; overflow: hidden !important; position: relative !important; }
body.home #logo, body.home #logo h1 { width: 100% !important; height: 100% !important; }
body.home #logo h1 a {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 140px !important;
  background-position: center !important;
  background-size: cover !important;
}
body.home .banner-top { position: absolute !important; top: 25px !important; right: 18px !important; width: auto !important; max-width: 62% !important; height: auto !important; margin: 0 !important; float: none !important; }
body.home .banner-top img { display: block !important; width: 100% !important; max-width: 728px !important; height: auto !important; }
body.home #menu { width: 100% !important; min-width: 0 !important; overflow-x: auto !important; }
body.home #menu ul { white-space: nowrap !important; }
body.home #estrenos, body.home .front-promos, body.home .home-wrapper { display: block !important; float: none !important; width: 100% !important; min-width: 0 !important; max-width: none !important; }
body.home #estrenos { margin: 22px 0 0 !important; }
body.home .marco-filas { width: 100% !important; min-width: 0 !important; overflow: hidden !important; }
body.home .front-promos { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; margin: 16px 0 26px !important; }
body.home .front-promos > *, body.home .front-promos img, body.home .front-promos .metaslider, body.home .front-promos .flexslider { width: 100% !important; max-width: 100% !important; height: auto !important; }
body.home .home-wrapper { margin: 0 auto !important; padding: 6px 0 42px !important; }
body.home .home-section { display: block !important; clear: both !important; float: none !important; width: 100% !important; min-width: 0 !important; margin: 0 0 42px !important; }
body.home .home-section__header { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 20px !important; width: 100% !important; margin: 0 0 18px !important; padding: 0 2px 12px !important; border-bottom: 1px solid rgba(255,255,255,.14) !important; }
body.home .home-section__header h2 { margin: 0 !important; color: #fff !important; font: 700 23px/1.2 Arial,Helvetica,sans-serif !important; }
body.home .home-section__more { flex: 0 0 auto !important; color: #ff4961 !important; font: 700 12px/1.2 Arial,Helvetica,sans-serif !important; text-transform: uppercase !important; }
body.home .media-grid {
  display: grid !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 22px 14px !important;
  align-items: start !important;
}
body.home .media-card {
  display: block !important;
  float: none !important;
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  background: #11151e !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.28) !important;
}
body.home .media-card__poster { display: block !important; position: relative !important; width: 100% !important; height: auto !important; aspect-ratio: 2/3 !important; overflow: hidden !important; background: #202634 !important; }
body.home .media-card__poster img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; }
body.home .media-card__body { display: block !important; padding: 11px 11px 12px !important; }
body.home .media-card__body h3 { min-height: 34px !important; margin: 0 0 8px !important; overflow: hidden !important; font: 700 13px/17px Arial,Helvetica,sans-serif !important; text-align: left !important; }
body.home .media-card__body h3 a { color: #f5f6f8 !important; }
body.home .media-card__meta { display: flex !important; justify-content: space-between !important; gap: 8px !important; color: #9199a9 !important; font-size: 10px !important; }
body.home .media-card__badge { position: absolute !important; top: 9px !important; left: 9px !important; z-index: 3 !important; padding: 5px 8px !important; color: #fff !important; background: #ed304c !important; border-radius: 4px !important; font: 800 9px/1 Arial,Helvetica,sans-serif !important; }
body.home .media-card__overlay { position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; opacity: 0; background: linear-gradient(to top,rgba(7,9,14,.92),rgba(7,9,14,.06) 65%) !important; }
body.home .media-card:hover .media-card__overlay { opacity: 1 !important; }
body.home .media-card__overlay span { padding: 8px 13px !important; color: #fff !important; font-size: 11px !important; border: 1px solid rgba(255,255,255,.72) !important; border-radius: 30px !important; }
body.home .home-section__empty { width: 100% !important; min-height: 125px !important; padding: 24px !important; color: #9ea6b6 !important; text-align: center !important; background: rgba(18,22,31,.78) !important; border: 1px dashed rgba(255,255,255,.16) !important; border-radius: 8px !important; }
body.home #footer { clear: both !important; float: none !important; width: 100% !important; }
@media (max-width:1050px){body.home .media-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important;}}
@media (max-width:860px){body.home #marco{width:calc(100% - 24px) !important;}body.home .media-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}}
@media (max-width:680px){body.home #marco{width:calc(100% - 20px) !important;}body.home #cabeza,body.home #logo h1 a{height:105px !important;}body.home .media-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px 11px !important;}body.home .home-section__header h2{font-size:19px !important;}}
@media (max-width:480px){body.home #marco{width:calc(100% - 16px) !important;}body.home .media-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}body.home .home-section__header h2{font-size:17px !important;}}

/* CineDoblee portada V4 - tema claro */
body.home {
  background: #000000 !important;
  color: #171a21 !important;
}
body.home #marco {
  background: #ffffff !important;
  padding: 0 18px !important;
  box-shadow: 0 0 28px rgba(0,0,0,.10) !important;
}
body.home .home-wrapper {
  background: #ffffff !important;
}
body.home .home-section__header {
  border-bottom-color: #d9dde5 !important;
}
body.home .home-section__header h2 {
  color: #171a21 !important;
}
body.home .home-section__more {
  color: #e32645 !important;
}
body.home .media-card {
  color: #171a21 !important;
  background: #ffffff !important;
  border-color: #dfe3ea !important;
  box-shadow: 0 5px 16px rgba(20,27,38,.12) !important;
}
body.home .media-card__poster {
  background: #e9edf3 !important;
}
body.home .media-card__body h3 a {
  color: #171a21 !important;
}
body.home .media-card__meta {
  color: #697386 !important;
}
body.home .home-section__empty {
  color: #5e6878 !important;
  background: #f8f9fb !important;
  border-color: #cfd5df !important;
}
body.home .media-card__overlay {
  background: linear-gradient(to top,rgba(14,18,26,.88),rgba(14,18,26,.04) 65%) !important;
}
@media (max-width:860px){
  body.home #marco{padding:0 12px !important;}
}
@media (max-width:480px){
  body.home #marco{padding:0 8px !important;}
}

/* V14: se elimina el segundo banner; se conserva solo el logo principal */
body.home #cabeza {
  height: 152px !important;
}
body.home #logo,
body.home #logo h1,
body.home #logo h1 a {
  height: 152px !important;
}
@media (max-width:680px){
  body.home #cabeza,
  body.home #logo,
  body.home #logo h1,
  body.home #logo h1 a {
    height:105px !important;
  }
}


/* Header search */
#menu{
display:flex!important;
align-items:center;
justify-content:space-between;
gap:16px;
}
#menu > ul{flex:1;}
.header-search{display:flex;align-items:center;gap:6px;flex:0 0 320px;}
.header-search input[type=text]{width:100%;padding:8px 10px;border:1px solid #555;border-radius:4px;}
.header-search input[type=submit]{padding:8px 12px;background:#1f5fbf;color:#fff;border:0;border-radius:4px;cursor:pointer;}
@media(max-width:900px){
#menu{display:block!important;}
.header-search{margin-top:8px;flex:none;width:100%;}
}

/* V16: buscador visible en el encabezado */
#menu {
    height: auto !important;
    min-height: 40px !important;
    overflow: visible !important;
    padding: 0 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}

#menu > ul {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

.header-search {
    display: block !important;
    flex: 0 0 300px !important;
    width: 300px !important;
    margin-left: 12px !important;
}

.header-search .search-form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    gap: 5px !important;
}

.header-search input[type="text"],
.header-search input[type="search"] {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
    padding: 5px 8px !important;
    border: 1px solid #777 !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 11px !important;
}

.header-search input[type="submit"] {
    display: block !important;
    flex: 0 0 auto !important;
    height: 30px !important;
    padding: 0 11px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #37444e !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 11px !important;
}

/* Cuando el menú completo no cabe, el buscador baja a una segunda línea */
@media (max-width: 1180px) {
    #menu {
        display: flex !important;
        flex-wrap: wrap !important;
        padding-bottom: 7px !important;
    }

    #menu > ul {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    .header-search {
        flex: 0 0 360px !important;
        width: 360px !important;
        max-width: 100% !important;
        margin: 6px 0 0 auto !important;
    }
}

@media (max-width: 520px) {
    .header-search {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}

/* V17: resultados y sugerencias del buscador */
.search-form--autocomplete { position: relative !important; }
.search-suggestions {
    display: none;
    position: absolute;
    z-index: 99999;
    top: calc(100% + 5px);
    right: 0;
    width: min(430px, 92vw);
    max-height: 430px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #cfd4dc;
    border-radius: 5px;
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
}
.search-suggestions.is-visible { display: block; }
.search-suggestion-item {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 8px;
    color: #16191f !important;
    text-decoration: none !important;
    border-bottom: 1px solid #eceff3;
    white-space: normal !important;
}
.search-suggestion-item:last-child { border-bottom: 0; }
.search-suggestion-item:hover { background: #f3f5f8; }
.search-suggestion-item img {
    flex: 0 0 42px;
    width: 42px;
    height: 62px;
    object-fit: cover;
    border-radius: 3px;
}
.search-suggestion-item span { min-width: 0; }
.search-suggestion-item strong {
    display: block;
    overflow: hidden;
    color: #171a21;
    font-size: 12px;
    line-height: 16px;
    text-overflow: ellipsis;
}
.search-suggestion-item small {
    display: block;
    margin-top: 3px;
    color: #747d8c;
    font-size: 10px;
}
.search-suggestion-status { padding: 14px; color: #667080; font-size: 12px; text-align: center; }

body.search { background: #000 !important; }
body.search #marco {
    width: min(1280px, calc(100% - 32px)) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    background: #fff !important;
    padding: 0 18px !important;
}
body.search #caja {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-height: 420px;
    margin: 0 !important;
    padding: 24px 0 40px !important;
    background: #fff !important;
}
.search-results-page { width: 100%; }
.search-results-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #d9dde5;
}
.search-results-head h1 { margin: 0; color: #171a21; font: 700 23px/1.25 Arial,sans-serif; }
.search-results-head h1 span { color: #d91f42; }
.search-results-head .search-form { display: flex; gap: 6px; width: min(420px, 100%); }
.search-results-head input[type="text"],
.search-results-head input[type="search"] { flex: 1; min-width: 0; padding: 9px 11px; border: 1px solid #bbc2cc; border-radius: 4px; }
.search-results-head input[type="submit"] { padding: 9px 15px; border: 0; border-radius: 4px; background: #d91f42; color: #fff; cursor: pointer; }
.search-results-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 22px 14px;
}
.search-result-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe3ea;
    border-radius: 7px;
    box-shadow: 0 5px 16px rgba(20,27,38,.12);
}
.search-result-poster { display: block; width: 100%; aspect-ratio: 2/3; overflow: hidden; background: #e9edf3; }
.search-result-poster img { display: block; width: 100%; height: 100%; object-fit: cover; }
.search-result-body { padding: 10px; }
.search-result-body h2 { min-height: 48px; margin: 0 0 8px; font: 700 13px/16px Arial,sans-serif; overflow: hidden; }
.search-result-body h2 a { color: #171a21; text-decoration: none; }
.search-result-meta { display: flex; justify-content: space-between; gap: 8px; color: #737d8d; font-size: 10px; }
.search-no-results { padding: 70px 20px; color: #626c7b; text-align: center; background: #f7f8fa; border: 1px dashed #cbd1da; border-radius: 7px; }
.search-no-results h2 { margin-top: 0; color: #171a21; }
.search-pagination { margin-top: 28px; text-align: center; }
.search-pagination .nav-links { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.search-pagination a, .search-pagination span { padding: 8px 11px; background: #f0f2f5; color: #252a32; border-radius: 4px; text-decoration: none; }
.search-pagination .current { background: #d91f42; color: #fff; }
@media(max-width:1100px){.search-results-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media(max-width:900px){.search-results-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.search-results-head{align-items:stretch;flex-direction:column;}.search-results-head .search-form{width:100%;}}
@media(max-width:600px){body.search #marco{width:calc(100% - 16px)!important;padding:0 8px!important;}.search-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* V19: el buscador lateral usa el mismo formulario inteligente del encabezado */
.sidebar-smart-search {
    position: relative !important;
    overflow: visible !important;
}
.sidebar-smart-search .search-form {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 !important;
}
.sidebar-smart-search .search-form input[type="text"],
.sidebar-smart-search .search-form input[type="search"] {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 32px !important;
    padding: 6px 8px !important;
    border: 1px solid #777 !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 12px !important;
}
.sidebar-smart-search .search-form input[type="submit"] {
    display: block !important;
    flex: 0 0 auto !important;
    height: 32px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #37444e !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 11px !important;
}
.sidebar-smart-search .search-suggestions {
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}
