/* Nokia Partner Theme Custom Styles */


/* ==========================================
   NOKIA PURE HEADLINE FONTS
   ========================================== */
@font-face {
    font-family: 'NokiaPureHeadline';
    src: url('https://www.nokia.com/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_regular.woff2') format('woff2'),
    url('https://www.nokia.com/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'NokiaPureHeadline';
    src: url('https://www.nokia.com/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_light.woff2') format('woff2'),
    url('https://www.nokia.com/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'NokiaPureHeadline';
    src: url('https://www.nokia.com/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_bold.woff2') format('woff2'),
    url('https://www.nokia.com/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ==========================================
   APPLY FONT TO ALL TEXT
   ========================================== */
/* Apply safely to general elements without breaking Porto Icons */
body, h1, h2, h3, h4, h5, h6, p, a, li, label, input, button, .page-title {
    font-family: 'NokiaPureHeadline', "Open Sans", Arial, sans-serif;
}

/* Force overrides on our custom layout sections to beat Porto's default CSS */
.nokia-hero h1,
.nokia-hero h2,
.nokia-hero p,
.nokia-custom-menu .nav-link,
.nokia-footer-menu .nav-link,
.topic-block h3,
.topic-block p,
.banner-text h2,
.banner-text p,
.btn-white-blue,
.contact-hero h1 {
    font-family: 'NokiaPureHeadline', "Open Sans", Arial, sans-serif !important;
}

/* Header styles */
header.page-header {
    background-color: #000;
    color: #fff;
}

header.page-header .header.content {
    background-color: #000;
}

header.page-header .nav-sections {
    background-color: #000;
}

header.page-header a {
    color: #fff;
}

header.page-header .porto-icon-user,
header.page-header .porto-icon-search,
header.page-header .porto-icon-shopping-basket {
    color: #fff;
}

/* Home page hero section */
.nokia-hero {
    background-image: url('../images/hero-bg.jpeg');
    color: #fff;
    padding: 60px 0;
    text-align: left;
    background-size: 100% 100%;
}

.nokia-hero .hero-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.nokia-hero h1 {
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: -1px;
}

.nokia-hero h2 {
    font-size: 2rem;
    margin-bottom: 20px;
    font-weight: normal;
}

.nokia-hero p {
    font-size: 1.25rem;
    margin-bottom: 30px;
    max-width: 600px;
}

.nokia-hero .btn-primary {
    background-color: #fff;
    color: #005AFF;
    border: none;
    padding: 12px 30px;
    font-weight: bold;
    border-radius: 30px;
    margin-right: 15px;
    text-decoration: none;
    display: inline-block;
}

.nokia-hero .btn-secondary {
    background-color: transparent;
    color: #fff;
    border: 2px solid #fff;
    padding: 10px 30px;
    font-weight: bold;
    border-radius: 30px;
    text-decoration: none;
    display: inline-block;
}

/* Products grid section */
.explore-products {
    padding: 50px 0;
}

.explore-products .section-title {
    text-align: left;
    margin-bottom: 40px;
    font-size: 2rem;
    text-transform: none;
}

.explore-products .product-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.explore-products .product-item {
    flex: 1;
    min-width: 250px;
}

.explore-products .product-item img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.explore-products .product-item h3 {
    margin: 15px 0 10px;
    font-size: 1.25rem;
}

.explore-products .product-item p {
    color: #666;
    line-height: 1.5;
}

.explore-products .actions {
    margin-top: 30px;
}

.explore-products .btn-dark {
    background-color: #000;
    color: #fff;
    padding: 10px 20px;
    border-radius: 20px;
    text-decoration: none;
    font-weight: bold;
}

.page-footer {
    padding-bottom: 0px;
}
.footer-banner {
    display: flex;
    background-color: #f4f4f4;
}

.footer-banner .banner-text {
    flex: 1;
    background-color: #1e3dad;
    color: #fff;
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.footer-banner .banner-image {
    flex: 1;
}

.footer-banner .banner-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Custom Module Full-Width Page Header */
.nokia-module-page-header {
    /* Matches the nokia-hero background exactly */
    background-image: url('../images/hero-bg.jpeg');
    background-size: 100% 100%;

    /* Spacing and layout */
    padding: 10px;
    text-align: left;
}

/* Force the heading text to be white */
.nokia-module-page-header h2,
.nokia-module-page-header h3,
.nokia-module-page-header .page-title {
    color: #ffffff !important;
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.3); /* Subtle drop shadow for readability */
}

.page-wrapper > .breadcrumbs {
    padding: 0;
    background-color: #005AFF;
    color: #ffffff;
    font-size: .75rem;
    margin-bottom: 0;
}


/* Hide the attribute label column on the More Information table */
#product-attribute-specs-table th.col.label {
    display: none !important;
}

/* Make the data column take up the full width since the label is gone */
#product-attribute-specs-table td.col.data {
    width: 100% !important;
}

.product-social-links {
    display: none;
}

/* --- Override Magento Default Orange Primary Buttons --- */
button.action.primary,
.action.primary,
.cart.main.actions .action.update {
    background-color: #005AFF !important; /* Nokia Blue */
    border-color: #005AFF !important;
    color: #ffffff !important;
    transition: all 0.3s ease;
}

/* Hover state for primary buttons */
button.action.primary:hover,
.action.primary:hover,
.cart.main.actions .action.update:hover {
    background-color: #0046CC !important; /* Slightly darker blue for hover */
    border-color: #0046CC !important;
    color: #ffffff !important;
}

.opc-progress-bar-item._active:before {
    background: #005AFF;
}

.opc-progress-bar-item._active>span:before {
    background: #005AFF;
}

.discount-code {
    display: none;
}

@media (max-width: 639px) {
    #product-attribute-specs-table th.col.label,
    .table-wrapper .table#product-attribute-specs-table > tbody > tr > th.col.label {
        display: none !important;
    }

    #maincontent > div.page-main-inner > div > div.column.main > div.product.info.detailed {
        display:none
    }
}

/* ========================================================
   GLOBAL PAGE ENTRANCE ANIMATION (Fade In + Slight Slide)
   ======================================================== */

/* Define the animation keyframes */
@keyframes nokiaFadeInUp {
    0% {
        opacity: 0;
        transform: translateY(25px); /* Starts 25px lower */
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* Rests at standard position */
    }
}

/* Apply the animation to the main content wrappers */
.page-main,
.nokia-hero,
.footer-banner,
.bombuilder-package-view {
    animation: nokiaFadeInUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0; /* Keeps content hidden until the animation triggers */
    will-change: opacity, transform; /* Hardware acceleration for smooth rendering */
}

span.price {
    display:none;
}
