/**********************
 *   Header de página  *
 **********************/
.page-header {
    text-align: center;
}

.page-header .header-content {
    padding: 40px 0 60px;
}

.page-header h4 {
    margin: 0;
    font-size: 17px;
    text-transform: capitalize;
    color: #7a7a7a;
}

.page-header h1 {
    margin-top: 10px;
    font-size: 62px;
    font-weight: 900;
    color: #414352;
}

/**********************
 *   Conteúdo (espaçamento geral) *
 **********************/
.content {
    padding: 60px 0;
}

/**********************
 *   Grid de produtos  *
 **********************/
.produto-card {
    display: block;
    height: 100%;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.produto-card:hover,
.produto-card:focus {
    text-decoration: none;
    color: inherit;
}

.produto-card .card {
    position: relative;
    height: 100%;
    border: none;
    border-radius: 14px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(65, 67, 82, 0.08);
    transition: transform .3s ease, box-shadow .3s ease;
}

.produto-card:hover .card {
    transform: translateY(-6px);
    box-shadow: 0 18px 36px rgba(65, 67, 82, 0.16);
}

.produto-card figure {
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3.3;
    background-color: #f7f7f7;
}

.produto-card .card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.produto-card:hover .card-image {
    transform: scale(1.08);
}

.produto-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    padding: 5px 14px;
    background-color: #bb9e7e;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 30px;
}

.produto-card .card-body {
    padding: 22px 20px 24px;
}

.produto-card .card-subtit {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #bb9e7e;
}

.produto-card .card-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #414352;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.7em;
}

.produto-card .card-divider {
    display: block;
    width: 36px;
    height: 3px;
    margin: 14px 0;
    background-color: #bb9e7e;
    border-radius: 3px;
}

.produto-card .card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #414352;
    transition: color .3s ease;
}

.produto-card .card-link-arrow {
    display: inline-block;
    transition: transform .3s ease;
}

.produto-card:hover .card-link {
    color: #bb9e7e;
}

.produto-card:hover .card-link-arrow {
    transform: translateX(4px);
}

/**********************
 *   Detalhe do produto *
 **********************/
.imagem-produto {
    margin-bottom: 20px;
}

.produto-capa {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    background-color: #f7f7f7;
}

.produto-capa .height-27 {
    width: 100%;
    height: 27rem;
    object-fit: cover;
}

.produto-thumbnails {
    margin-top: 15px;
}

.produto-thumbnail {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: border-color .3s ease;
}

.produto-thumbnail img {
    width: 100%;
    height: 90px;
    object-fit: cover;
}

.produto-thumbnail:hover,
.produto-thumbnail:focus {
    border-color: #bb9e7e;
}

.produto-thumbnails .owl-dots {
    text-align: center;
    margin-top: 15px;
}

.produto-thumbnails .owl-dots .owl-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 4px;
    border-radius: 50%;
    background-color: #ddd;
}

.produto-thumbnails .owl-dots .owl-dot.active {
    background-color: #bb9e7e;
}

.produto-codigo {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #bb9e7e;
}

.produto-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 30px;
}

.btn-comprar,
.btn-video {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    border-radius: 5px;
    text-decoration: none;
    transition: all .3s;
}

.btn-comprar {
    padding: 12px 30px;
    color: #fff;
    background: #bb9e7e;
    background: linear-gradient(-145deg, #bb9e7e 0%, #414352 100%);
}

.btn-comprar:hover,
.btn-comprar:focus {
    color: #fff;
    opacity: .9;
    text-decoration: none;
}

.btn-video {
    padding: 10px 28px;
    color: #414352;
    background: transparent;
    border: 2px solid #bb9e7e;
}

.btn-video:hover,
.btn-video:focus {
    color: #fff;
    background-color: #bb9e7e;
    text-decoration: none;
}

.destaque-descricao {
    font-size: 15px;
    line-height: 1.8;
    color: #4a4a4a;
    white-space: pre-line;
}

.btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
    padding: 12px 30px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff;
    background: #bb9e7e;
    background: linear-gradient(-145deg, #bb9e7e 0%, #414352 100%);
    border-radius: 5px;
    text-decoration: none;
    transition: all .3s;
}

.btn-back:hover,
.btn-back:focus {
    color: #fff;
    background: #bb9e7e;
    background: linear-gradient(-145deg, #bb9e7e 0%, #414352 100%);
    opacity: .9;
    text-decoration: none;
}

.btn-back::before {
    content: "\f284";
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-weight: 400 !important;
    transition: transform .3s ease;
}

.btn-back:hover::before {
    transform: translateX(-4px);
}

/**********************
 *   Paginação  *
 **********************/
.produtos-pagination .pagination {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.produtos-pagination .page-item {
    list-style: none;
}

.produtos-pagination .page-item .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border: none;
    border-radius: 6px;
    background-color: #fff;
    color: #414352;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(65, 67, 82, 0.08);
    transition: all .3s ease;
}

.produtos-pagination .page-item .page-link:hover,
.produtos-pagination .page-item .page-link:focus {
    background-color: #bb9e7e;
    color: #fff;
    box-shadow: 0 4px 12px rgba(187, 158, 126, 0.3);
}

.produtos-pagination .page-item.active .page-link {
    background: #bb9e7e;
    background: linear-gradient(-145deg, #bb9e7e 0%, #414352 100%);
    color: #fff;
    box-shadow: 0 6px 16px rgba(65, 67, 82, 0.2);
}

.produtos-pagination .page-item.disabled .page-link {
    background-color: #f7f7f7;
    color: #c7c7c7;
    box-shadow: none;
    cursor: default;
}
