/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: Astra is fast, fully customizable & beautiful WordPress theme suitable for blog, personal portfolio, business website and WooCommerce storefront.
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.6.4.1706605083
Updated: 2024-01-30 08:58:03
*/

/* ==========================================
   OFERTA.FI — WooCommerce Oma Tili Dark CSS
   Palette:
     bg        #1e2a3a
     dark      #0f1923
     deeper    #111a26
     accent    #c8e600
     border    #2e3d50
     text      #ffffff
     muted     #c8cdd6
   ========================================== */

/* ---- KIRJAUDU/REKISTERÖIDY TOP-BAR LINKIT ----
     Nakyvyys hoidetaan functions.php:n PHP/JS-logiikalla (oferta_nav_toggle_css).
     ALA lisaa tahan display:none - se piilottaa napit kaikilta kayttajilta.
     Poistettu: [data-id=ff3f570] { display: none } -- 2026-04-20 ---- */

/* ---- OMA TILI | REKISTERÖIDY: tasaus oikealle ---- */
/* Korjaus: widget-wrap on flex-container joka pitää widgettiä.
   justify-content: flex-end siirtää widgetin oikeaan reunaan.
   53e98ea = kirjautumaton (Oma tili | Rekisteröidy)
   4e8a011 = kirjautunut (Oma tili) */
.elementor-124 .elementor-element-53e98ea .elementor-widget-wrap,
.elementor-124 .elementor-element-4e8a011 .elementor-widget-wrap {
    justify-content: flex-end;
}

/* Piilota myös Oma tili -sivun sivuotsikko (entry-title) kirjautumattomilta */
.woocommerce-account:not(.logged-in) .entry-title {
    display: none !important;
}

/* ---- SIVUN YLEINEN TAUSTA ---- */
.woocommerce-account .ast-container,
.woocommerce-account .ast-page-builder-template,
.woocommerce-account main#main,
.woocommerce-account .site-content,
.woocommerce-account #content {
    background: #0f1923 !important;
}

.woocommerce-account .entry-content {
    background: transparent !important;
    color: #ffffff !important;
}

.woocommerce-account .entry-header {
    background: #0f1923 !important;
}

/* ---- YRITTÄJÄLLE-SIVU CTA-NAPIT ---- */
.oferta-yrittajalle-cta {
    background: #1e2a3a;
    border-radius: 10px;
    padding: 40px 32px;
    margin-top: 40px;
    text-align: center;
}

.oferta-yrittajalle-cta h3 {
    color: #c8e600;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 10px;
}

.oferta-yrittajalle-cta > p {
    color: #c8cdd6;
    font-size: 15px;
    margin-bottom: 28px;
}

.oferta-yrittajalle-cta-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

.oferta-cta-btn {
    display: inline-block;
    background: #c8e600;
    color: #0f1923 !important;
    font-weight: 700;
    border-radius: 4px;
    padding: 12px 24px;
    text-decoration: none !important;
    font-size: 15px;
    transition: background 0.18s;
    border: 1px solid #c8e600;
}

.oferta-cta-btn:hover {
    background: #b5cf00;
    border-color: #b5cf00;
}

.oferta-cta-btn--secondary {
    background: transparent;
    color: #c8e600 !important;
    border: 1px solid #c8e600;
}

.oferta-cta-btn--secondary:hover {
    background: rgba(200, 230, 0, 0.1);
}

@media (max-width: 500px) {
    .oferta-yrittajalle-cta-btns {
        flex-direction: column;
    }
    .oferta-yrittajalle-cta {
        padding: 28px 20px;
    }
}

/* ---- REKISTERÖINTI- JA KIRJAUTUMISSIVUJEN TAUSTA ---- */
body.oferta-register-page,
body.woocommerce-account:not(.logged-in) {
    background: #0f1923 !important;
}

body.oferta-register-page .site-content,
body.oferta-register-page #content,
body.oferta-register-page main#main,
body.oferta-register-page .entry-content,
body.woocommerce-account:not(.logged-in) .site-content,
body.woocommerce-account:not(.logged-in) #content,
body.woocommerce-account:not(.logged-in) main#main,
body.woocommerce-account:not(.logged-in) .entry-content {
    background: #0f1923 !important;
}

body.oferta-register-page .ast-container,
body.oferta-register-page .ast-page-builder-template {
    background: #0f1923 !important;
}

/* ---- KIRJAUTUMISLOMAKE (uusi yksittäinen näkymä) ---- */

.oferta-login-wrap {
    display: flex !important;
    justify-content: center !important;
    padding: 20px 0 !important;
}

.oferta-login-box {
    background: #1e2a3a !important;
    border: 1px solid #2e3d50 !important;
    border-radius: 8px !important;
    padding: 36px 40px !important;
    width: 100% !important;
    max-width: 460px !important;
    box-sizing: border-box !important;
}

@media (max-width: 520px) {
    .oferta-login-box {
        padding: 24px 20px !important;
    }
}

/* Rekisteröitymisosio lomakkeen alla */
.oferta-login-register {
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid #2e3d50 !important;
    text-align: center !important;
}

.oferta-login-register > p {
    color: #c8cdd6 !important;
    margin-bottom: 14px !important;
    font-size: 14px !important;
}

.oferta-login-register-btns {
    display: flex !important;
    gap: 10px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

.oferta-login-register-btns .oferta-dash-btn--secondary {
    font-size: 14px !important;
    padding: 9px 18px !important;
}

/* Actions-rivi: muista minut + nappi samalla rivillä */
.oferta-login-row-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.oferta-login-row-actions .woocommerce-form-login__submit {
    width: auto !important;
    margin-top: 0 !important;
    padding: 11px 28px !important;
}

/* Otsikot h2 */
.woocommerce-account #customer_login h2,
.woocommerce-account .woocommerce-page h2 {
    color: #c8e600 !important;
    font-size: 20px !important;
    margin-bottom: 20px !important;
}

/* Labelit */
.woocommerce-account .woocommerce-form label,
.woocommerce-account .woocommerce-form .woocommerce-form__label,
.woocommerce-account #customer_login label {
    color: #c8e600 !important;
    font-weight: 700 !important;
    display: block !important;
    margin-bottom: 6px !important;
}

/* Input-kentat */
.woocommerce-account .woocommerce-form input[type="text"],
.woocommerce-account .woocommerce-form input[type="email"],
.woocommerce-account .woocommerce-form input[type="password"],
.woocommerce-account .woocommerce-Input--text,
.woocommerce-account input.input-text {
    background: #0f1923 !important;
    border: 1px solid #2e3d50 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
}

.woocommerce-account .woocommerce-form input[type="text"]:focus,
.woocommerce-account .woocommerce-form input[type="email"]:focus,
.woocommerce-account .woocommerce-form input[type="password"]:focus,
.woocommerce-account .woocommerce-Input--text:focus,
.woocommerce-account input.input-text:focus {
    border-color: #c8e600 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(200,230,0,0.15) !important;
}

/* Submit-napit */
.woocommerce-account .woocommerce-form button[type="submit"],
.woocommerce-account button.woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-register__submit,
.woocommerce-account .woocommerce-form .woocommerce-button {
    background: #c8e600 !important;
    color: #0f1923 !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    border: none !important;
    width: 100% !important;
    padding: 13px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin-top: 8px !important;
    transition: background 0.2s !important;
}

.woocommerce-account .woocommerce-form button[type="submit"]:hover,
.woocommerce-account button.woocommerce-form-login__submit:hover {
    background: #b5cf00 !important;
}

/* Salasana unohtunut */
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .lost_password a {
    color: #c8e600 !important;
    text-decoration: underline !important;
    font-size: 14px !important;
}

/* Checkbox */
.woocommerce-account input[type="checkbox"] {
    accent-color: #c8e600 !important;
}

/* Remember me */
.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #c8cdd6 !important;
    font-weight: 400 !important;
    margin-bottom: 0 !important;
}

/* Form row */
.woocommerce-account .woocommerce-form-row,
.woocommerce-account .form-row {
    margin-bottom: 16px !important;
}

/* ---- KIRJAUTUNEEN KAYYTTAJAN MY ACCOUNT ---- */

/* Sivun otsikko */
.woocommerce-account .entry-title {
    color: #c8e600 !important;
}

/* WC wrapper */
.woocommerce-account .woocommerce {
    background: transparent !important;
}

/* ---- NAVIGAATIO (vasen palkki) ---- */
.woocommerce-MyAccount-navigation {
    background: #1e2a3a !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #2e3d50 !important;
}

.woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    border-bottom: 1px solid #2e3d50 !important;
}

.woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none !important;
}

.woocommerce-MyAccount-navigation a {
    display: block !important;
    color: #ffffff !important;
    padding: 14px 20px !important;
    text-decoration: none !important;
    font-size: 15px !important;
    transition: all 0.18s !important;
    border-left: 3px solid transparent !important;
}

.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li.oferta-active a {
    color: #c8e600 !important;
    background: #0f1923 !important;
    border-left-color: #c8e600 !important;
    padding-left: 24px !important;
}

/* Kirjaudu ulos */
.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #e57373 !important;
}

.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #ff8a80 !important;
    background: rgba(229, 115, 115, 0.08) !important;
    border-left-color: #e57373 !important;
}

/* Piilotettavat navigaatiolinkit */
.woocommerce-MyAccount-navigation-link--edit-address { display: none !important; }
.woocommerce-MyAccount-navigation-link--payment-methods { display: none !important; }
.woocommerce-MyAccount-navigation-link--downloads { display: none !important; }
.woocommerce-MyAccount-navigation-link--notifications { display: none !important; }

/* ---- SISALTOALUE (oikea) ---- */
.woocommerce-MyAccount-content {
    background: #1e2a3a !important;
    border-radius: 8px !important;
    padding: 32px !important;
    border: 1px solid #2e3d50 !important;
    color: #ffffff !important;
    min-height: 300px !important;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content h4 {
    color: #c8e600 !important;
}

.woocommerce-MyAccount-content p {
    color: #c8cdd6 !important;
}

.woocommerce-MyAccount-content a {
    color: #c8e600 !important;
}

/* Lomakkeet sisaltoalueella */
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
    background: #0f1923 !important;
    border: 1px solid #2e3d50 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
    border-color: #c8e600 !important;
    outline: none !important;
}

.woocommerce-MyAccount-content label {
    color: #c8e600 !important;
    font-weight: 700 !important;
}

.woocommerce-MyAccount-content fieldset legend {
    color: #c8e600 !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #2e3d50 !important;
    margin-bottom: 16px !important;
    padding-bottom: 8px !important;
    width: 100% !important;
}

.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content .button:not(.oferta-dash-btn--secondary) {
    background: #c8e600 !important;
    color: #0f1923 !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    border: none !important;
    padding: 12px 24px !important;
    cursor: pointer !important;
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content .button:not(.oferta-dash-btn--secondary):hover {
    background: #b5cf00 !important;
}

/* Taulukot (tilaukset jne.) */
.woocommerce-MyAccount-content table.shop_table,
.woocommerce-MyAccount-content table.woocommerce-table,
.woocommerce-MyAccount-content table {
    border-collapse: collapse !important;
    width: 100% !important;
    background: #0f1923 !important;
    border: 1px solid #2e3d50 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.woocommerce-MyAccount-content table thead th,
.woocommerce-MyAccount-content table tfoot th {
    background: #111a26 !important;
    color: #c8e600 !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #2e3d50 !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.woocommerce-MyAccount-content table tbody td {
    background: #1e2a3a !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #2e3d50 !important;
}

.woocommerce-MyAccount-content table tbody tr:hover td {
    background: #0f1923 !important;
}

.woocommerce-MyAccount-content .order-status,
.woocommerce-MyAccount-content .woocommerce-order-status {
    color: #c8e600 !important;
    font-weight: 700 !important;
}

/* WC notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
    background: #1e2a3a !important;
    border-top-color: #c8e600 !important;
    color: #ffffff !important;
}

.woocommerce-account .woocommerce-error {
    background: #2a1a1a !important;
    border-top-color: #e57373 !important;
    color: #ffd0d0 !important;
}

/* ---- DASHBOARD WELCOME BLOCK ---- */
.oferta-dashboard-welcome {
    margin-bottom: 28px;
}

.oferta-dashboard-welcome h2 {
    color: #c8e600 !important;
    font-size: 22px !important;
    margin-bottom: 8px !important;
}

.oferta-dashboard-welcome > p {
    color: #c8cdd6 !important;
    font-size: 15px !important;
    margin-bottom: 24px !important;
}

/* Statsit */
.oferta-dash-stats {
    display: flex;
    gap: 14px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.oferta-dash-stat {
    background: #0f1923;
    border: 1px solid #2e3d50;
    border-radius: 8px;
    padding: 16px 22px;
    min-width: 110px;
    text-align: center;
}

.oferta-dash-stat .stat-label {
    display: block;
    color: #c8e600;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 8px;
}

.oferta-dash-stat .stat-value {
    display: block;
    color: #ffffff;
    font-size: 22px;
    font-weight: 700;
}

/* CTA-napit */
.oferta-dash-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 4px;
}

.oferta-dash-btn {
    display: inline-block !important;
    background: #c8e600 !important;
    color: #0f1923 !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    padding: 12px 22px !important;
    text-decoration: none !important;
    font-size: 15px !important;
    transition: background 0.18s !important;
    border: 1px solid #c8e600 !important;
}

.oferta-dash-btn:hover,
.woocommerce-MyAccount-content a.oferta-dash-btn:hover {
    background: #b5cf00 !important;
    border-color: #b5cf00 !important;
    color: #0f1923 !important;
}

/* Override generic MyAccount link color for buttons */
.woocommerce-MyAccount-content a.oferta-dash-btn {
    color: #0f1923 !important;
}

.oferta-dash-btn--secondary {
    background: transparent !important;
    color: #c8e600 !important;
    border: 1px solid #c8e600 !important;
}

.oferta-dash-btn--secondary:hover {
    background: rgba(200, 230, 0, 0.1) !important;
    color: #c8e600 !important;
}

/* ---- REKISTERÖINTISIVUN KENTÄT (ei vaadi .woocommerce-account) ---- */

.oferta-reg-form label,
.oferta-reg-form .woocommerce-form-row label,
.oferta-reg-form p label {
    color: #ffffff !important;
    font-weight: 700 !important;
    display: block !important;
    margin-bottom: 6px !important;
    font-size: 14px !important;
}

.oferta-reg-form label .required,
.oferta-reg-form .woocommerce-form-row label .required {
    color: #c0392b !important;
}

.oferta-reg-form input[type="text"],
.oferta-reg-form input[type="email"],
.oferta-reg-form input[type="password"] {
    background: #f8f9fa !important;
    border: 1px solid #d1d5db !important;
    color: #0f1923 !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
}

.oferta-reg-form input[type="text"]:focus,
.oferta-reg-form input[type="email"]:focus,
.oferta-reg-form input[type="password"]:focus {
    border-color: #0f1923 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(15,25,35,0.12) !important;
}

/* ---- REKISTERÖITYMISLOMAKE ---- */

/* Profiilin tyyppi-badge */
.oferta-reg-type-badge {
    display: inline-block !important;
    padding: 4px 14px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 14px !important;
}

.oferta-reg-type-badge--asiakas {
    background: rgba(100, 150, 255, 0.15) !important;
    color: #7aadff !important;
    border: 1px solid rgba(100, 150, 255, 0.3) !important;
}

.oferta-reg-type-badge--yrittaja {
    background: rgba(200, 230, 0, 0.12) !important;
    color: #c8e600 !important;
    border: 1px solid rgba(200, 230, 0, 0.3) !important;
}

/* Intro-teksti */
.oferta-reg-intro {
    color: #c8cdd6 !important;
    font-size: 14px !important;
    margin-bottom: 24px !important;
    line-height: 1.5 !important;
}

/* Tietosuojateksti */
.oferta-reg-privacy {
    color: #7a8799 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
}

.oferta-reg-privacy a {
    color: #c8e600 !important;
    text-decoration: underline !important;
}

/* Rekisteröidy-nappi täysleveys */
.oferta-reg-submit {
    width: 100% !important;
    background: #c8e600 !important;
    color: #0f1923 !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    border: none !important;
    padding: 13px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: background 0.18s !important;
}

.oferta-reg-submit:hover {
    background: #b5cf00 !important;
}

/* ---- OMAT TARJOUSPYYNNÖT -TAULUKKO ---- */
.oferta-omat-tarjouspyynnot h2 {
    color: #c8e600 !important;
    font-size: 20px !important;
    margin-bottom: 20px !important;
}

.oferta-tarjous-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.oferta-tarjous-table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #0f1923 !important;
    border: 1px solid #2e3d50 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    font-size: 14px !important;
}

.oferta-tarjous-table thead th {
    background: #111a26 !important;
    color: #c8e600 !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #2e3d50 !important;
    font-weight: 700 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.oferta-tarjous-table tbody td {
    background: #1e2a3a !important;
    color: #ffffff !important;
    padding: 11px 14px !important;
    border-bottom: 1px solid #2e3d50 !important;
    vertical-align: middle !important;
}

.oferta-tarjous-table tbody tr:last-child td {
    border-bottom: none !important;
}

.oferta-tarjous-table tbody tr:hover td {
    background: #0f1923 !important;
}

.oferta-tarjous-table a {
    color: #c8e600 !important;
    text-decoration: none !important;
}

.oferta-tarjous-table a:hover {
    text-decoration: underline !important;
}

/* Tilamerkki */
.oferta-tila {
    display: inline-block !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.oferta-tila--publish {
    background: rgba(200, 230, 0, 0.15) !important;
    color: #c8e600 !important;
}

.oferta-tila--pending {
    background: rgba(255, 180, 0, 0.15) !important;
    color: #ffb400 !important;
}

.oferta-tila--draft {
    background: rgba(200, 205, 214, 0.12) !important;
    color: #c8cdd6 !important;
}

.oferta-tila--private {
    background: rgba(100, 150, 255, 0.15) !important;
    color: #7aadff !important;
}

/* Poista-nappi */
.oferta-btn-delete {
    background: transparent !important;
    border: 1px solid #e57373 !important;
    color: #e57373 !important;
    border-radius: 4px !important;
    padding: 5px 12px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: all 0.18s !important;
    white-space: nowrap !important;
}

.oferta-btn-delete:hover {
    background: rgba(229, 115, 115, 0.12) !important;
    border-color: #ff8a80 !important;
    color: #ff8a80 !important;
}

/* Tyhjä tila */
.oferta-ei-tarjouksia {
    text-align: center;
    padding: 40px 20px;
    color: #c8cdd6;
}

.oferta-ei-tarjouksia p {
    margin-bottom: 20px;
    font-size: 16px;
}

@media (max-width: 600px) {
    .oferta-tarjous-table thead th:nth-child(2),
    .oferta-tarjous-table thead th:nth-child(3),
    .oferta-tarjous-table tbody td:nth-child(2),
    .oferta-tarjous-table tbody td:nth-child(3) {
        display: none !important;
    }
}

/* ---- HINNOITTELU-SIVUN KIRJAUTUMISPORTTI ---- */
.oferta-hinnoittelu-gate {
    background: #1e2a3a;
    border: 1px solid #2e3d50;
    border-radius: 10px;
    padding: 48px 32px;
    text-align: center;
    max-width: 560px;
    margin: 60px auto;
}

.oferta-gate-icon {
    font-size: 40px;
    margin-bottom: 16px;
    line-height: 1;
}

.oferta-hinnoittelu-gate h2 {
    color: #c8e600;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 12px;
}

.oferta-hinnoittelu-gate p {
    color: #c8cdd6;
    font-size: 15px;
    margin-bottom: 28px;
    line-height: 1.6;
}

.oferta-gate-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .oferta-hinnoittelu-gate {
        padding: 32px 20px;
        margin: 32px auto;
    }
    .oferta-gate-btns {
        flex-direction: column;
        align-items: stretch;
    }
    .oferta-gate-btns .oferta-cta-btn {
        text-align: center;
    }
}

/* =====================================================
   LCP-korjaus: Poista animated-headline animaatio
   Animoiva teksti on mobiili-LCP-elementti (8.4s)
   ===================================================== */
.elementor-headline-text-wrapper .elementor-headline-dynamic-wrapper {
    animation: none !important;
    transition: none !important;
}
.elementor-headline-text-wrapper .elementor-headline-animation-type-typed .elementor-headline-dynamic-wrapper::after {
    display: none !important;
}
/* Näytä ensimmäinen tekstijoukko heti */
.elementor-headline-text-wrapper .elementor-headline-dynamic-text:first-child {
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
}
.elementor-headline-text-wrapper .elementor-headline-dynamic-text:not(:first-child) {
    display: none !important;
}

@media (max-width: 768px) {
  .oferta-stats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .oferta-stats-section {
    padding: 48px 20px !important;
  }
}

@media (max-width: 640px) {
  .oferta-kategoriat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Stats block mobiiliresponsivuus ── */
@media (max-width: 768px) {
  /* Outer wrapper: vähemmän sivupaddingia */
  .elementor-element-71e5f5d .elementor-widget-container > div {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    box-sizing: border-box !important;
  }
  /* Otsikko pienempi */
  .elementor-element-71e5f5d h2 {
    font-size: 28px !important;
  }
  /* Keltainen reunuslaatikko ei ylitä näyttöä */
  .elementor-element-71e5f5d div[style*="max-width:860px"] {
    max-width: 100% !important;
    margin: 0 !important;
  }
}
@media (max-width: 640px) {
  .oferta-stats-inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .oferta-stats-inner > div {
    padding: 28px 16px !important;
  }
  .oferta-stats-inner div[style*="font-size:72px"] {
    font-size: 52px !important;
  }
}
@media (max-width: 400px) {
  .oferta-stats-inner div[style*="font-size:72px"] {
    font-size: 44px !important;
  }
}
/* ── Kategoriat 2×2 mobiilissa ── */
@media (max-width: 640px) {
  .oferta-kategoriat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Stats & kategoriat mobiili padding ── */
@media (max-width: 768px) {
  .elementor-element-024bf06 .elementor-widget-container > div {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  .elementor-element-024bf06 h2 {
    font-size: 26px !important;
  }
  .oferta-kategoriat-grid {
    max-width: 100% !important;
    padding: 0 !important;
  }
}

/* ── Kriittinen Swiper-korjaus ──────────────────────────────────────────────
   Autoptimize HTML-minifointi poistaa onload="this.media='all'" -attribuutin
   media="print" -CSS-linkeistä. Swiper CSS jää lataamatta, jolloin karusellit
   pinoavat slidet pystysuoraan. Nämä säännöt varmistavat oikean layoutin myös
   silloin kun Swiper CSS ei heti lataudu.
   ─────────────────────────────────────────────────────────────────────────── */
.swiper { overflow: hidden !important; position: relative !important; }
.swiper-wrapper { display: flex !important; flex-wrap: nowrap !important; transition-property: transform; }
.swiper-slide { flex-shrink: 0 !important; width: 100%; height: 100%; position: relative; }

/* Estä Astra-teeman e-loop-item leveysylikirjoitus karuselleissa */
.swiper .e-loop-item[data-elementor-type="loop-item"] { width: auto !important; }

/*
 * skandipro_elementor_mobile.css
 * Mockupin mobiiliarvot muunnettuna Elementor-selektoreiksi.
 * Lähde: skandipro_v5_light.html (.m- luokat)
 * Breakpoint: max-width 768px
 *
 * HUOM: ei display:none Astra headerille
 */

/* ════════════════════════════════════════════
   CSS-muuttujat (jos ei jo määritelty)
════════════════════════════════════════════ */
:root {
  --sp-navy:      #001f4d;
  --sp-navy-dark: #0d1b3e;
  --sp-navy-pale: #eaf0f9;
  --sp-ice:       #f4f7fc;
  --sp-border:    #dce6f2;
  --sp-muted:     #6b7fa8;
  --sp-lime:      #DFF91C;
  --sp-lime-text: #8a9a00;
  --sp-gold:      #c8a800;
}

/* ════════════════════════════════════════════
   MOBIILI  @media (max-width: 768px)
════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── 1. Ylivuodon esto ── */
  html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  .elementor-section,
  .elementor-container,
  .e-con,
  .elementor-row {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  /* ── 2. Sarakkeet allekkain (mockup: kaikki fullwidth paitsi erikseen mainitut) ── */
  .elementor-column,
  .elementor-col-50,
  .elementor-col-33,
  .elementor-col-25,
  .elementor-col-66 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
  }
  .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
  }

  /* ── 3. Section padding — mockup: 18px sivuille ── */
  .elementor-section.elementor-top-section,
  .elementor-section.elementor-inner-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .elementor-section-boxed > .elementor-container {
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  /* ── 4. H1 — mockup: 34px Playfair Display 900, line-height 1.07 ── */
  h1,
  .elementor-widget-heading h1,
  .elementor-heading-title.elementor-size-xxl {
    font-size: 34px !important;
    line-height: 1.07 !important;
    letter-spacing: -0.8px !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  /* ── 5. H2 — mockup: 22px section-otsikot ── */
  h2,
  .elementor-widget-heading h2,
  .elementor-heading-title.elementor-size-xl {
    font-size: 22px !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  /* ── 6. Kaikki otsikot — ei vuoda yli ── */
  .elementor-heading-title,
  .elementor-widget-heading {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  /* ── 7. Hakupalkki pystysuoraksi — mockup: stacked input/select/button ── */
  .elementor-widget-html .search-bar,
  .elementor-widget-html form,
  .search-bar {
    flex-direction: column !important;
    width: 100% !important;
  }
  .search-bar input,
  .search-bar select,
  .search-bar button,
  .m-sgo {
    width: 100% !important;
    border-radius: 0 !important;
  }

  /* ── 8. Kategoriat — 2 per rivi (mockup: grid-template-columns 1fr 1fr) ── */
  .elementor-grid-item {
    width: 50% !important;
  }

  /* ── 9. Stats — 2×2 grid (mockup: repeat(2,1fr)) ── */
  .elementor-counter-number-wrapper,
  .elementor-counter-wrapper {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  /* ── 10. Napit täysleveiksi (mockup: m-biz-btn width:100%, m-sgo width:100%) ── */
  .elementor-button-wrapper {
    width: 100% !important;
  }
  .elementor-button {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* ── 11. Kuvat skaalautuu ── */
  img,
  .elementor-image img,
  .elementor-image-box-img img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* ── 12. Feat-kortit (Kuluttaja/Yrittäjä) — mockup: allekkain, ei vierekkäin ──
     Kortit screenkaappauksessa leikkautuivat koska olivat 50%+50% vierekkäin */
  .elementor-widget-price-table,
  [class*="feat-col"],
  [class*="pricing"] .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 16px !important;
  }

  /* ── 13. Flex-container → column (e-con flex-direction) ── */
  .e-con > .e-con-inner {
    flex-direction: column !important;
  }

  /* ── 14. Section top/bottom padding — mockup: 32px top, 44px bottom hero; 28px muut ── */
  .elementor-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
  /* Hero-osion extra padding */
  .elementor-section:first-of-type {
    padding-top: 32px !important;
    padding-bottom: 44px !important;
  }

  /* ── 15. Inner section rivit — mockup: m-how-card flex row (ei muutu) ── */
  .elementor-inner-section .elementor-row {
    flex-direction: column !important;
  }
  .elementor-inner-section .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ── 16. Footer — 2-sarakkeinen (mockup: m-ft-grid 1fr 1fr) ── */
  .elementor-location-footer .elementor-column,
  .elementor-location-footer .e-con {
    width: 50% !important;
    flex: 0 0 50% !important;
  }
  /* Logo-kolumni koko leveydelle */
  .elementor-location-footer .elementor-column:first-child {
    width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 20px !important;
  }
}

/* ════════════════════════════════════════════
   ALLE 480px — mockup ei määrittele,
   mutta lisätään järkeväksi fallback
════════════════════════════════════════════ */
@media (max-width: 480px) {
  h1,
  .elementor-widget-heading h1,
  .elementor-heading-title.elementor-size-xxl {
    font-size: 28px !important;
    letter-spacing: -0.5px !important;
  }
  h2,
  .elementor-widget-heading h2,
  .elementor-heading-title.elementor-size-xl {
    font-size: 20px !important;
  }
  /* Kategoriat 1 per rivi alle 480px */
  .elementor-grid-item {
    width: 100% !important;
  }
  /* Stats 1 per rivi alle 480px */
  .elementor-counter-number-wrapper,
  .elementor-counter-wrapper {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* ── SkandiPRO: Piilota Astra natiivi header — Elementor template hoitaa ── */
#masthead.site-header,
.ast-primary-header-bar,
#ast-desktop-header,
#ast-mobile-header,
.ast-header-break-point .ast-mobile-header-wrap {
  display: none !important;
}
/* Nollaa ylimääräinen ylämarginaali sivuilla joissa header oli */
.site-content,
#content.site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* ── SkandiPRO: Piilota sivuttaisnappi (simple-side-tab) ── */
.rum_sst_contents,
[class*='rum_sst'],
[id*='rum_sst'],
#rum-sst-wrapper {
  display: none !important;
}

/* ── SkandiPRO: Sivuttainen overflow korjaus (v3 2025-05) ── */
/* Estä horisontaalinen skrollaus kaikilla laitteilla */
html {
  overflow-x: hidden !important;
}
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
/* box-sizing kaikille — estää padding-ylivuodon */
*, *::before, *::after {
  box-sizing: border-box;
}

/* ============================================
   SkandiPRO — Mobiilinavigaatio ID-fix v4
   ============================================ */

/* DESKTOP (≥769px) — burger pois, linkit näkyviin */
@media (min-width: 769px) {
  #sp-burger,
  }

/* MOBIILI (≤768px) — burger näkyviin, desktop-nav pois */
@media (max-width: 768px) {
  #sp-burger,
  #sp-burger span,
  /* Desktop-linkit ja auth-napit pois */
  /* Mobiilimenu — SULJETTU */
  /* Mobiilimenu — AUKI (.open-luokka JS lisää) */
  /* Mobiilimenu linkit */
  /* Auth-napit mobiilissa */
  .sp-nm-login { border: 1.5px solid rgba(255,255,255,0.35) !important; }
  .sp-nm-reg   { color: #001f4d !important; background: #DFF91C !important; }
}

/* ============================================
   FOOTER MOBIILI — LOPULLINEN KORJAUS v7
   Ongelma: e-con container ja sp-footer-main
   eivat skaalaudu mobiilissa
   ============================================ */

@media (max-width: 768px) {

  /* Pakota footer-container oikeaan leveyteen */
  .elementor-location-footer {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .elementor-location-footer .e-con,
  .elementor-location-footer .e-con-full {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Pakota sp-footer-main oikeaan leveyteen ja paddingiin */
  .sp-footer-main {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    /* padding hallitaan footer-widgetin CSS:ssa */
    overflow-x: hidden !important;
  }

  /* Pakota grid yhteen sarakkeeseen */
  .sp-footer-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 24px !important;
    padding-bottom: 28px !important;
  }

  /* Footer bottom bar */
  .sp-footer-bottom-bar {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    flex-direction: column !important;
    text-align: center !important;
    gap: 6px !important;
  }
}


/* ============================================
   SkandiPRO — Ultimate Member Light Theme
   ============================================ */

/* Sivun tausta */
.um-page .site-content,
body.um-page,
.um body {
  background: #f4f7fc !important;
}

/* UM wrapper */
.um-outer-block,
.um .um-form,
.um-popup-overlay {
  background: transparent !important;
}

/* Lomakekortti */
.um .um-form .um-field-group,
.um .um-form-block,
.um-form .um-col-1 {
  background: #ffffff !important;
  border: 1.5px solid #dce6f2 !important;
  border-radius: 12px !important;
  padding: 32px !important;
  box-shadow: 0 4px 24px rgba(0,53,128,0.06) !important;
}

/* Otsikot */
.um .um-field-label,
.um h2,
.um h3,
.um .um-header-title {
  color: #001f4d !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Lomakekentät */
.um input[type=text],
.um input[type=email],
.um input[type=password],
.um input[type=tel],
.um select,
.um textarea {
  background: #f4f7fc !important;
  border: 1.5px solid #dce6f2 !important;
  border-radius: 8px !important;
  color: #0d1b3e !important;
  padding: 12px 16px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
}

.um input[type=text]:focus,
.um input[type=email]:focus,
.um input[type=password]:focus {
  border-color: #003580 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,53,128,0.1) !important;
}

/* Kenttäotsikot */
.um .um-field-label label,
.um label {
  color: #0d1b3e !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Päänappi */
.um .um-button,
.um input[type=submit],
.um button[type=submit] {
  background: #001f4d !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 13px 28px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background 0.2s !important;
}

.um .um-button:hover,
.um input[type=submit]:hover {
  background: #003580 !important;
}

/* Linkit */
.um a,
.um .um-alt-link {
  color: #003580 !important;
  font-family: 'DM Sans', sans-serif !important;
}

.um a:hover {
  color: #001f4d !important;
}

/* Profiilisivu — käyttäjäkortti */
.um .um-profile-body,
.um .um-profile-header {
  background: #ffffff !important;
  border: 1.5px solid #dce6f2 !important;
  border-radius: 12px !important;
}

/* Navigaatiovälilehdet */
.um .um-profile-nav-item a,
.um .um-profile-nav a {
  color: #6b7fa8 !important;
  font-family: 'DM Sans', sans-serif !important;
}

.um .um-profile-nav-item.active a,
.um .um-profile-nav-item a:hover {
  color: #001f4d !important;
  border-bottom: 2px solid #DFF91C !important;
}

/* Virheilmoitukset */
.um .um-field-error,
.um .um-error {
  color: #c0392b !important;
  font-size: 13px !important;
}

/* Tilin hallinta — sivupalkki */
.um .um-account-side-item {
  background: #ffffff !important;
  border: 1.5px solid #dce6f2 !important;
  border-radius: 8px !important;
}

.um .um-account-side-item.active,
.um .um-account-side-item:hover {
  background: #f4f7fc !important;
  border-color: #DFF91C !important;
}

/* Taustaväri koko sivulle */
.um-page-main {
  background: #f4f7fc !important;
}
