.row > div:not(:first-of-type) {
    margin-top: 50px;
}

.grid-2col.main-info > div:first-of-type {
    flex: 0 0 calc(40% - 25px)
}

.grid-2col.main-info > div {
    flex: 0 0 calc(60% - 25px)
}

.titulo-row-inicial {
    display: none;
}

.titulo-on-container {
    display: block;
}

#foto-produto, 
#container-galeria,
#desenho-produto {
    margin-bottom: 25px;
}

#container-galeria {
    display: flex;
}

#imagens-galeria {
    overflow: auto;
    white-space: nowrap;
    overflow-y: hidden;
    overflow-x: hidden;
}

#imagens-galeria img.imagem-galeria {
    height: 62px;
    width: 120px;
    border: 2px solid lightgray;
    max-width: 100%;
    object-fit: contain;
    cursor: pointer;
    margin-right: 10px;
}

#imagens-galeria img.youtube-video {
    object-fit: cover;
    object-position: center;
}

#imagens-galeria img.imagem-activa {
    border: 2px solid var(--cor-link);
}

#imagens-galeria img:hover,
#desenho-produto:hover {
    opacity: var(--valor-opacidade-hover);
}

.botao-galeria {
    cursor: pointer;
    margin-top: auto;
    margin-bottom: auto;
    display: none;
}

#mover-esquerda {
    margin-right: 15px;
}

#mover-direita {
    margin-left: 15px;
}

.botao-galeria:last-of-type {
    text-align: right;
}
  
#desenho-produto-container {
    cursor: pointer;
    text-align: center;
}

#container-descricao-produto > p,
#container-descricao-adicional-produto > p {
    color: var(--cor-texto-secundario);
}

.link-caracteristicas p {
    margin-top: 10px;
    color: var(--cor-link);
}

.link-caracteristicas:hover {
    color: var(--cor-link);
	text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
}

#container-lista-downloads {
    width: 100%;
    border: none;
    display: none;
    overflow: hidden;
    text-align: justify;
    padding-top: 10px;
}

#container-lista-downloads a:hover {
	text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.link-download {
    display: block;
    margin-bottom: 10px;
}

#container-caracteristicas {
    margin-top: 50px;
}

/* ----- Tabelas ----- */

table {
    width: 100%;
    border-collapse: collapse;
}

table p,
table a {
    margin: 5px 0;
    display: inline;
}

table p {
    color: black;
}

table a p {
    color: var(--cor-link);
    font-weight: 700;
}

table > tbody > tr {
    border-top: 2px solid lightgray;
    border-bottom: 2px solid lightgray;
    height: 40px;
}

table th,
table th p {
    font-weight: 700;
}

#tabela-caracteristicas .carac td:first-child p {
    font-weight: 700;
}

.desenho-tecnico-modal {
    margin: auto;
    display: block;
}

.modal input[type="button"] {
    margin-top: 25px;
}

.modal h5 {
    color: var(--cor-texto-secundario);
}

.divAllXXYYZZ .grid {
    justify-content: left;
}

/* ----- Tamanhos ----- */

.grid-tamanhos-produto {
    display: grid;
    grid-gap: 12.5px;
    text-align: center;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(20, 1fr);
    margin: 15px 0;
}
  
.grid-tamanhos-produto input[type="button"],
.container-filtro > .botao-filtro {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 16px;
}
  
.grid-tamanhos-produto input[type="button"]:hover,
.container-filtro > .botao-filtro:hover,
#container-botoes-numeros-paginas input[type="button"]:hover,
#resultados-pagina:hover {
    opacity: var(--valor-opacidade-hover);
}

.grid-tamanhos-produto input[type="button"],
.container-filtro > .botao-filtro,
#container-botoes-paginas .botao-paginacao,
#resultados-pagina {
    overflow: hidden;
    padding: 0;
    border: none;
    cursor: pointer;
    background: none;
    border: solid 2px var(--cor-border);
    color: var(--cor-texto);
    border-radius: 0;
    padding: 5px;
    border-radius: 50px;
}

.caracteristica-tamanho {
    padding: 10px;
    border: solid 2px var(--cor-botao);
    border-radius: 5px;
}

.caracteristica-tamanho p {
    margin: 0;
}

.botao-paginacao {
    width: 50px;
    height: 50px;
    transition: unset !important;
}

.botao-paginacao:hover {
    opacity: var(--valor-opacidade-hover);
}

.container-filtro > .botao-filtro,
#container-botoes-paginas .botao-paginacao:not(.botao-arrow) {
    padding: 10px 20px;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
}

.botao-paginacao.botao-arrow {
    padding: 10px 20px !important;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 20px;
}

#resultados-pagina {
    padding: 8px;
}

  
.grid-tamanhos-produto input[type="button"].sizetab > p {
    margin: auto;
}
  
.grid-tamanhos-produto input[type="button"].active,
#container-botoes-paginas .botao-paginacao.ativo {
    background-color: var(--cor-botao);
    border: 2px solid var(--cor-botao);
    font-weight: 600;
    color: white;
}
  
.container-filtro > .botao-filtro.activo {
    background-color: white;
    border: 2px solid var(--cor-botao);
    font-weight: 600;
    color: white;
}

#abrir-fechar-tamanhos {
    display: none;
}

table#tabela-dimensoes-desenho {
    margin-bottom: 25px;
}

table#tabela-dimensoes-desenho tbody tr td p {
    text-align: center;
}

#filtros {
    margin: 15px 0;
}

#filtros p#titulo-filtro {
    display: inline;
}

#container-tabela-caracteristicas,
#tabela-luminotecnicas {
    margin-top: 15px;
}
  
.div-tabela-caracteristicas,
#tabela-caracteristicas {
    position: relative;
    grid-column-start: 3;
    grid-column-end: span 3;
    grid-row-start: 1;
    grid-row-end: span 3;
}
  
#tabela-caracteristicas > table {
    width: 100%;
}

#containter-tabela-luminotecnica {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
}

#tabela-luminotecnicas  {
    white-space: pre;
}

#tabela-luminotecnicas img {
    margin-top: 5px;
}

#header-luminotecnicas th > div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.tabela-luminotecnica .TL-referencia {
    width: 15%;
    position: sticky;
    position: -webkit-sticky;
    left: 0;
    background-color: white;
}

.tabela-luminotecnica .TL-descricao {
    text-align: left;
    width: 35%;
}

.tabela-luminotecnica .TL-classe,
.tabela-luminotecnica .TL-cri,
.tabela-luminotecnica .TL-ldt,
.tabela-luminotecnica .TL-datasheet {
    text-align: center;
    width: 5%;
}

.tabela-luminotecnica .TL-fluxo,
.tabela-luminotecnica .TL-eficacia,
.tabela-luminotecnica .TL-onda {
    text-align: center;
    width: 8%;
}

.tabela-luminotecnica .TL-cct,
.tabela-luminotecnica .TL-luz  {
    text-align: center;
    width: 7%;
}

#tabela-codigos th,
#tabela-codigos td {
    width: 50%;
}

#header-tabela-codigos {
    text-align: left;
}

#paginacao-luminotecnicas {
    margin-top: 25px;
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
}

#paginacao-luminotecnicas #container-botoes-paginas {
    text-align: center;
}

#paginacao-luminotecnicas #container-resultados-pagina {
    text-align: right;
}

#paginacao-luminotecnicas #container-resultados-pagina p {
    display: inline;
    margin-right: 5px;
}

#container-botoes-paginas > * {
    display: inline;
}

#container-botoes-paginas > input[type="button"]:not(:first-of-type),
#container-botoes-numeros-paginas input[type="button"] {
    margin-left: 25px;
}

.container-setas-ordenar {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-gap: 5px;
}

.seta-filtro {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    position: relative;
}

.seta-filtro::after {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    width: 20px;
    height: 10px;
}

.seta-filtro-desc {
    border-top: 5px solid #2f2f2f;
}

.seta-filtro-asc {
    border-bottom: 5px solid #2f2f2f;
}

#filtros {
    display: flex; 
    gap: 25px; 
    align-items: center;
    flex-wrap: wrap;
}

.container-filtro ul {
    list-style-type: none; 
    position: relative; 
    z-index: 99; 
    margin: unset;
    padding: unset;
    min-width: 185px;
    width: fit-content;
    background-color: #fff;
    box-shadow: 5px 10px 10px rgba(0, 0, 0, .25);
    position: absolute;
    top: inherit;
    height: fit-content;
    display: none;
    padding: 10px;
    border-radius: 5px;
}

.container-filtro ul.activo {
    display: block;
}

.container-filtro ul li {
    background-color: white; 
    height: 40px; 
    padding: 10px 15px;
}

.container-filtro ul li > *,
.container-filtro ul li label > * {
    display: inline; 
    cursor: pointer;
}

.container-filtro ul li label {
    margin-left: 10px; 
}

.numero-filtros-ativos {
    display: inline-block;
    height: 20px;
    width: 20px;
    line-height: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    background-color: var(--cor-botao);
    color: white;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    margin-left: 5px;
}

#remover-filtros button {
    margin: 0;
    background-color: white;
    border: none;
    color: black;
    cursor: pointer;
    padding: 0;
}

#remover-filtros i {
    margin-right: 5px;
}

#sem-resultados {
    font-weight: 600;
    margin-top: 10px;
}

/* ----- modal referencia -----*/

#overflow-grid-referencia {
    padding: 0 50px 0 0;
    height: 65vh;
    border: none;
    overflow: auto;
}

#overflow-grid-referencia > div:not(:first-of-type) {
    margin-top: 25px;
}

#overflow-grid-referencia h6:not(:last-of-type) {
    padding-bottom: 0;
}

#titulo-modal-referencia {
    margin-bottom: 25px;
}

#modal-referencia-grafico-temperatura {
    width: 70%;
}

#modal-referencia-imagem-lente {
    width: 45%;
}

#div-xx,
#div-yy,
#div-zz {
    margin-top: 25px;
}

#div-xx > .grid-img-modalXXYYZZ {
    grid-template-columns: repeat(4, 1fr);
}

#div-yy > .grid-img-modalXXYYZZ {
    grid-template-columns: repeat(3, 1fr);
}

#div-zz > .grid-img-modalXXYYZZ {
    grid-template-columns: repeat(4, 1fr);
}

p.legendas {
    font-size: 12px;
    text-align: center;
}

.container-botao-fechar {
    padding-top: 15px;
    text-align: right;
}

#simbolos {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    gap: 10px;
    cursor: pointer;
}

.simbolo-produto {
    width: 50px;
}

#notas-tabela p {
    font-size: 11px;
    line-height: 18px;
    color: black;
    text-align: right;
}

#modal-simbolos-content {
    display: grid;
    grid-template-columns: 50px 1fr;
    grid-gap: 25px;
    align-items: center;
}

/* ----- fixacao ----- */

#container-fixacao .grid {
	text-align: center;
}

#container-fixacao p {
	text-align: center;
}

#container-fixacao a {
	color: var(--cor-link);
}

#container-fixacao a:hover {
	text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
}

.overflow-fixacao {
    max-height: 55vh;
    border: none;
    overflow: auto;
    margin-top: 25px;
}

.overflow-fixacao p {
    text-align: center;
}

#modal-fixacao-content p:first-of-type {
    margin-top: 25px;
}

p.nota-modal {
    margin-top: 10px;
}

/* ----- modal pdf ---- */

#modalPDF > .loadingImg > img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



@media (max-width: 1440px) {

    
	.grid-tamanhos-produto {
        grid-template-columns: repeat(14, 1fr);
    }

    .tabela-luminotecnica .TL-referencia {
        box-shadow: -15px 0 15px -15px inset;
        padding: 0 25px 0 0;
    }

    .tabela-luminotecnica .TL-descricao {
        padding: 0 20px 0 20px;
    }

    .tabela-luminotecnica .TL-cri,
    .tabela-luminotecnica .TL-classe,
    .tabela-luminotecnica .TL-cct,
    .tabela-luminotecnica .TL-luz,
    .tabela-luminotecnica .TL-ldt,
    .tabela-luminotecnica .TL-datasheet,
    .tabela-luminotecnica .TL-fluxo,
    .tabela-luminotecnica .TL-eficacia {
        padding: 0 12.5px 0 12.5px;
    }

}



@media (max-width: 1024px) {
        
    #desenho-produto {
        margin-bottom: 0;
    }

    .grid-2col.main-info > div:first-of-type {
        flex: 0 0 calc(50% - 25px)
    }

    .grid-2col.main-info > div {
        flex: 0 0 calc(50% - 25px)
    }

	.grid-tamanhos-produto {
        grid-template-columns: repeat(11, 1fr);
    }

    .grid-tamanhos-produto input[type="button"]:not(.pre) { 
        display: none;
    }

    .grid-tamanhos-produto input[type="button"].visible { 
        display: block;
    }

    #abrir-fechar-tamanhos {
        display: block;
    }
    
    #modal-referencia-grafico-temperatura {
        width: 90%;
    }

    #modal-referencia-imagem-lente {
        width: 60%;
    }


}



@media (max-width: 768px) {

    .titulo-row-inicial {
        display: block;
    }

    .titulo-on-container {
        display: none;
    }

    .grid-2col.main-info > div:first-of-type,
    .grid-2col.main-info > div {
        flex: 100%
    }

    .div-luminotecnicas {
        display: grid;
        margin: 25px 0;
        padding: 10px;
        background-color: var(--cor-background);
    }

    .div-luminotecnicas a p {
        color: var(--cor-botao);
    }

    .div-luminotecnicas .linha-titulo {
        display: grid;
        grid-template-columns: 5fr 1fr;
        margin: 10px 0;
    }

    .div-luminotecnicas .linha-titulo .linha-titulo-coluna2 {
        text-align: right;
        margin: auto 0;
    }

    .div-luminotecnicas .linha-info {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-gap: 10px;
    }
    
    .container-notas {
        gap: 25px;
    }

    #notas-tabela p {
        text-align: left;
    }

	.grid-tamanhos-produto {
        grid-template-columns: repeat(9, 1fr);
    }
    
    #modal-referencia-grafico-temperatura {
        width: 100%;
    }

}



@media (max-width: 600px) {

    #lista-downloads {
        display: block;
    }

    .grid-tamanhos-produto {
        grid-template-columns: repeat(7, 1fr);
    }

    #filtros {
        display: grid;
        gap: 10px;
    }

    #modal-referencia-imagem-lente {
        width: 80%;
    }

    .div-luminotecnicas .linha-info {
        grid-template-columns: repeat(3, 1fr);
    }

}



@media (max-width: 425px) {

    .grid-tamanhos-produto {
        grid-template-columns: repeat(5, 1fr);
    }
    
}
