/* Shared styles for the six application-industry detail pages. */
.page-title-container {
    margin: 40px 0;
    text-align: center;
}

.page-title-section {
    padding: 40px 0;
    text-align: center;
}

.page-title {
    margin: 0;
    color: var(--deep-blue);
    font-size: 36px;
    font-weight: bold;
}

.top-media-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    height: 500px;
    margin: 0 auto 40px;
    overflow: hidden;
    background: #eee;
}

.top-media-container img,
.top-media-container video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.full-separator,
.separator-line {
    width: 100%;
    height: 4px;
    background-color: var(--deep-blue);
}

.full-separator {
    margin: 60px 0;
}

.separator-line {
    margin: 40px 0;
}

.product-section,
.product-detail-row {
    display: flex;
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto 40px;
    padding: 0 20px;
}

.product-left,
.detail-left {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 15px;
}

.product-right,
.detail-right {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
}

.main-img-wrapper,
.main-image-box {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    border: 1px solid #ddd;
    cursor: crosshair;
}

.main-img-wrapper img,
.main-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center center;
    transition: transform 0.1s ease-out;
}

.main-img-wrapper:hover img,
.main-image-box:hover img {
    transform: scale(2);
}

.thumbnails,
.product-detail-row .thumbnails-row {
    display: flex;
    gap: 10px;
}

.product-detail-row .thumbnails-row {
    gap: 15px;
}

.product-section .thumb-img {
    width: 80px;
    height: 60px;
}

.product-detail-row .thumb-img {
    width: 100px;
    height: 70px;
}

.thumb-img {
    object-fit: cover;
    border: 2px solid transparent;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.3s, border-color 0.3s;
}

.product-detail-row .thumb-img {
    opacity: 0.6;
}

.thumb-img:hover,
.thumb-img.active {
    border-color: var(--deep-blue);
    opacity: 1;
}

.product-section .intro-text {
    color: #333;
    font-size: 16px;
    line-height: 1.6;
}

.product-detail-row .intro-text {
    color: #333;
    font-size: 16px;
    line-height: 1.8;
}

.action-btn,
.contact-btn {
    align-self: center;
    padding: 12px 30px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    background: var(--deep-blue);
    border-radius: 4px;
}

.contact-btn {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 35px;
    border-radius: 5px;
}

.action-btn:hover,
.contact-btn:hover {
    background: var(--light-blue);
}

.full-width-img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.product-detail-row + .full-width-img {
    margin-bottom: 30px;
}

.seventy-width-img {
    display: block;
    width: 70%;
    height: auto;
    margin: 0 auto 30px;
}

