
/* ========================================
   TABLET (768px - 1024px)
   ======================================== */
@media only screen and (max-width: 1024px) and (min-width: 769px) {
    body {
        font-size: 15px;
        line-height: 1.6;
    }
    
    #ja-wrapper1 {
        width: 100% !important;
        max-width: 1024px;
        margin: 0 auto;
        padding: 0 15px;
        box-sizing: border-box;
    }
    
    h1 {
        font-size: 1.8em !important;
    }
    
    h2 {
        font-size: 1.5em !important;
    }
    
    h3 {
        font-size: 1.3em !important;
    }
}

/* ========================================
   MOBIILI (481px - 768px)
   ======================================== */
@media only screen and (max-width: 768px) and (min-width: 481px) {
    body {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }
    
    /* Wrapper */
    #ja-wrapper1 {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Header */
    #ja-headerwrap {
        height: auto !important;
        padding: 10px 0 !important;
        background-size: cover !important;
    }
    
    h1.logo, i.logo {
        width: 100% !important;
        height: 100px !important;
        text-align: center;
    }
    
    h1.logo a, i.logo a {
        width: 100% !important;
        height: 100px !important;
        background-size: contain !important;
        background-position: center !important;
    }
    
    /* Navigaatio */
    #ja-mainnavwrap {
        position: relative !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        background-color: #003E77 !important;
        padding: 0 !important;
    }
    
    #ja-mainnav {
        width: 100% !important;
        background-color: #003E77 !important;
    }
    
    #ja-cssmenu {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    #ja-cssmenu li {
        width: 100% !important;
        display: block !important;
        float: none !important;
        border-bottom: 1px solid #005599 !important;
    }
    
    #ja-cssmenu li a {
        width: 100% !important;
        display: block !important;
        padding: 15px 20px !important;
        margin: 0 !important;
        font-size: 1.1em !important;
        font-weight: bold !important;
        text-align: left !important;
        color: #FFFFFF !important;
        box-sizing: border-box !important;
        min-height: 50px !important;
    }
    
    #ja-cssmenu li a:hover,
    #ja-cssmenu li a:active {
        background-color: #0055AA !important;
    }
    
    /* Container */
    #ja-containerwrap,
    #ja-containerwrap-fr,
    #ja-containerwrap-fl {
        background: none !important;
        width: 100% !important;
    }
    
    #ja-container {
        width: 100% !important;
        padding: 0 !important;
        background: none !important;
    }
    
    /* Mainbody */
    #ja-mainbody,
    #ja-mainbody-fr,
    #ja-mainbody-fl {
        width: 100% !important;
        float: none !important;
    }
    
    #ja-mainbody-inner {
        padding: 10px !important;
    }
    
    /* Content */
    #ja-contentwrap {
        width: 100% !important;
        float: none !important;
        padding: 15px !important;
    }
    
    #ja-content {
        padding: 10px !important;
        margin-top: 0 !important;
    }
    
    /* Typografia */
    h1 {
        font-size: 1.8em !important;
        line-height: 1.3 !important;
        text-align: left !important;
        padding: 10px 0 !important;
    }
    
    h2 {
        font-size: 1.5em !important;
        text-align: left !important;
    }
    
    h3 {
        font-size: 1.3em !important;
        text-align: left !important;
    }
    
    h4 {
        font-size: 1.1em !important;
        text-align: left !important;
    }
    
    p {
        font-size: 16px !important;
        line-height: 1.7 !important;
        margin: 12px 0 !important;
    }
    
    /* Sivupalstat */
    #ja-col1,
    #ja-col2 {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin: 0 !important;
        padding: 10px !important;
        background: #f5f5f5 !important;
    }
    
    #ja-col1 {
        margin-top: 0 !important;
        background-color: #003E77 !important;
        padding: 15px !important;
    }
    
    #ja-col1 .ja-innerpad {
        padding: 0 !important;
    }
    
    #ja-col2 {
        margin: 10px auto !important;
        background: #ffffff !important;
    }
    
    #ja-col2 .ja-innerpad {
        padding: 0 !important;
    }
    
    /* Moduulit */
    div.moduletable,
    div.module {
        margin-bottom: 20px !important;
        padding: 15px !important;
        background: rgba(255,255,255,0.1) !important;
        border-radius: 5px !important;
    }
    
    div.moduletable h3,
    div.module h3 {
        font-size: 1.2em !important;
        margin: 0 0 15px 0 !important;
        padding: 0 0 10px 0 !important;
        border-bottom: 2px solid rgba(255,255,255,0.3) !important;
    }
    
    #ja-col1 div.moduletable h3 {
        color: #FFFFFF !important;
        margin: 0 0 10px 0 !important;
    }
    
    /* Valikot */
    a.mainlevel {
        display: block !important;
        width: 100% !important;
        padding: 15px 10px !important;
        margin: 5px 0 !important;
        font-size: 1em !important;
        background: rgba(255,255,255,0.1) !important;
        border-radius: 3px !important;
        box-sizing: border-box !important;
        min-height: 48px !important;
        line-height: 1.5 !important;
    }
    
    /* Footer */
    #ja-footerwrap {
        width: 100% !important;
        height: auto !important;
        padding: 20px 10px !important;
        background-size: cover !important;
    }
    
    #ja-footerwrap span.spacer {
        display: none !important;
    }
    
    #ja-footer {
        width: 100% !important;
        padding: 15px !important;
    }
    
    #ja-footer small {
        font-size: 14px !important;
        line-height: 1.6 !important;
        padding: 0 !important;
    }
}

/* ========================================
   PIENI MOBIILI (max 480px)
   ======================================== */
@media only screen and (max-width: 480px) {
    body {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }
    
    body#bd {
        background: #FFFFFF !important;
    }
    
    /* Wrapper */
    #ja-wrapper1 {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Header */
    #ja-headerwrap {
        height: auto !important;
        padding: 10px 0 !important;
        background: #003E77 !important;
    }
    
    h1.logo, i.logo {
        width: 100% !important;
        height: 80px !important;
        text-align: center !important;
    }
    
    h1.logo a, i.logo a {
        width: 100% !important;
        height: 80px !important;
        background-size: contain !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
    }
    
    /* Navigaatio */
    #ja-mainnavwrap {
        position: relative !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        background-color: #003E77 !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    #ja-mainnav {
        width: 100% !important;
        background-color: #003E77 !important;
        padding: 0 !important;
    }
    
    #ja-cssmenu {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    
    #ja-cssmenu li {
        width: 100% !important;
        display: block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #0055AA !important;
        background: none !important;
    }
    
    #ja-cssmenu li a {
        width: 100% !important;
        display: block !important;
        padding: 18px 15px !important;
        margin: 0 !important;
        font-size: 1.1em !important;
        font-weight: bold !important;
        text-align: center !important;
        color: #FFFFFF !important;
        background: none !important;
        box-sizing: border-box !important;
        min-height: 54px !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }
    
    #ja-cssmenu li a:hover,
    #ja-cssmenu li a:active,
    #ja-cssmenu li a:focus {
        background-color: #0066CC !important;
        text-decoration: none !important;
    }
    
    #ja-cssmenu li a.first-item {
        border-top: 1px solid #0055AA !important;
    }
    
    /* Container */
    #ja-containerwrap,
    #ja-containerwrap-fr,
    #ja-containerwrap-fl,
    #ja-containerwrap-f {
        background: #FFFFFF !important;
        width: 100% !important;
        padding: 0 !important;
    }
    
    #ja-container {
        width: 100% !important;
        padding: 0 !important;
        background: #FFFFFF !important;
    }
    
    /* Mainbody */
    #ja-mainbody,
    #ja-mainbody-fr,
    #ja-mainbody-fl,
    #ja-mainbody-f {
        width: 100% !important;
        float: none !important;
        clear: both !important;
    }
    
    #ja-mainbody-inner {
        padding: 5px !important;
        background: none !important;
    }
    
    /* Content */
    #ja-contentwrap {
        width: 100% !important;
        float: none !important;
        padding: 10px !important;
    }
    
    #ja-content {
        padding: 10px !important;
        margin: 0 !important;
    }
    
    #ja-mainbody-fr #ja-content {
        padding: 10px !important;
    }
    
    /* Typografia - Parempi luettavuus */
    h1 {
        font-size: 1.6em !important;
        line-height: 1.3 !important;
        text-align: center !important;
        padding: 15px 5px !important;
        margin: 10px 0 !important;
    }
    
    h2 {
        font-size: 1.4em !important;
        text-align: center !important;
        margin: 12px 0 !important;
    }
    
    h3 {
        font-size: 1.2em !important;
        text-align: center !important;
        margin: 10px 0 !important;
    }
    
    h4 {
        font-size: 1.1em !important;
        text-align: center !important;
    }
    
    p {
        font-size: 16px !important;
        line-height: 1.7 !important;
        margin: 15px 0 !important;
        text-align: left !important;
    }
    
    /* Linkit kosketusystävällisiksi */
    a {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        padding: 8px !important;
    }
    
    /* Kuvat */
    img {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 10px auto !important;
    }
    
    /* Tietokonehuolto-kuva */
    img[src*="tietokonehuoltoa"] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 15px 0 !important;
    }
    
    /* Sivupalstat */
    #ja-col1,
    #ja-col2 {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin: 10px 0 !important;
        padding: 15px 10px !important;
        overflow: visible !important;
    }
    
    #ja-col1 {
        background-color: #003E77 !important;
        color: #FFFFFF !important;
        margin-top: 0 !important;
    }
    
    #ja-col1 .ja-innerpad {
        padding: 0 !important;
    }
    
    #ja-col2 {
        background: #f9f9f9 !important;
        padding: 15px !important;
    }
    
    #ja-col2 .ja-innerpad {
        padding: 0 !important;
    }
    
    /* Moduulit */
    div.moduletable,
    div.module,
    div.module-grey,
    div.module-dark {
        width: 100% !important;
        margin: 0 0 20px 0 !important;
        padding: 15px !important;
        float: none !important;
        clear: both !important;
        background: rgba(255,255,255,0.1) !important;
        border-radius: 5px !important;
        box-sizing: border-box !important;
    }
    
    div.moduletable h3,
    div.module h3 {
        font-size: 1.2em !important;
        margin: 0 0 15px 0 !important;
        padding: 0 0 10px 0 !important;
        text-align: left !important;
    }
    
    #ja-col1 div.moduletable h3 {
        color: #FFFFFF !important;
        border-bottom: 2px solid rgba(255,255,255,0.3) !important;
    }
    
    #ja-col2 div.moduletable h3 {
        color: #003E77 !important;
        border-bottom: 2px solid #DDDDDD !important;
    }
    
    /* Valikot */
    ul.menu {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    ul.menu li {
        width: 100% !important;
        display: block !important;
        margin: 8px 0 !important;
        padding: 0 !important;
        background: none !important;
    }
    
    a.mainlevel {
        display: block !important;
        width: 100% !important;
        padding: 15px 10px !important;
        margin: 5px 0 !important;
        font-size: 1em !important;
        background: rgba(255,255,255,0.15) !important;
        border: 1px solid rgba(255,255,255,0.2) !important;
        border-radius: 5px !important;
        box-sizing: border-box !important;
        min-height: 50px !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }
    
    a.mainlevel:hover,
    a.mainlevel:active {
        background: rgba(255,255,255,0.25) !important;
    }
    
    /* Kielivalinta */
    #jflanguageselection {
        float: none !important;
        text-align: center !important;
        margin: 15px 0 !important;
        padding: 10px !important;
    }
    
    #jflanguageselection img {
        width: 32px !important;
        height: auto !important;
        margin: 0 8px !important;
    }
    
    /* Hakukenttä */
    #shop_search_field,
    input.inputbox,
    input[type="text"],
    input[type="search"],
    select,
    textarea {
        width: 100% !important;
        padding: 12px !important;
        font-size: 16px !important;
        border: 1px solid #DDDDDD !important;
        border-radius: 5px !important;
        box-sizing: border-box !important;
        margin: 8px 0 !important;
    }
    
    /* Painikkeet */
    .button,
    input[type="submit"],
    input[type="button"],
    button {
        width: 100% !important;
        padding: 15px !important;
        font-size: 16px !important;
        min-height: 50px !important;
        border-radius: 5px !important;
        box-sizing: border-box !important;
        margin: 10px 0 !important;
        cursor: pointer !important;
    }
    
    /* Taulukot */
    table {
        width: 100% !important;
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        font-size: 14px !important;
    }
    
    table td,
    table th {
        padding: 10px 5px !important;
        font-size: 14px !important;
    }
    
    /* Katsotuimmat */
    .sectiontableentry1,
    .sectiontableentry2 {
        display: block !important;
        width: 100% !important;
        padding: 15px 10px !important;
        border-bottom: 1px solid #EEEEEE !important;
    }
    
    .sectiontableentry1 td,
    .sectiontableentry2 td {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 10px 0 !important;
    }
    
    /* Brändilogot */
    img[src*="/secondhand/"] {
        max-width: 70px !important;
        width: auto !important;
        height: auto !important;
        margin: 8px 4px !important;
        display: inline-block !important;
    }
    
    /* Footer */
    #ja-footerwrap {
        width: 100% !important;
        height: auto !important;
        padding: 20px 10px !important;
        background: #E6E6E6 !important;
        float: none !important;
    }
    
    #ja-footerwrap span.spacer {
        display: none !important;
    }
    
    #ja-footer {
        width: 100% !important;
        padding: 15px 10px !important;
        text-align: center !important;
    }
    
    #ja-footer small,
    #ja-footer address {
        font-size: 14px !important;
        line-height: 1.7 !important;
        padding: 0 !important;
        display: block !important;
    }
    
    #ja-footer ul {
        margin: 10px 0 !important;
    }
    
    #ja-footer li {
        display: block !important;
        margin: 5px 0 !important;
        background: none !important;
    }
    
    #ja-footer li a {
        display: block !important;
        padding: 10px !important;
        background: none !important;
        border-bottom: 1px solid #DDDDDD !important;
    }
}

/* ========================================
   LANDSCAPE MOBIILI
   ======================================== */
@media only screen and (max-height: 500px) and (orientation: landscape) {
    h1 {
        font-size: 1.4em !important;
        padding: 10px 5px !important;
    }
    
    #ja-cssmenu li a {
        padding: 12px 15px !important;
        min-height: 44px !important;
    }
    
    h1.logo, i.logo {
        height: 60px !important;
    }
    
    h1.logo a, i.logo a {
        height: 60px !important;
    }
}

/* ========================================
   KOSKETUSNÄYTTÖ OPTIMOINNIT
   ======================================== */
@media (hover: none) and (pointer: coarse) {
    /* Kaikki klikkattavat elementit vähintään 44x44px */
    a,
    button,
    input[type="submit"],
    input[type="button"],
    .button {
        min-height: 44px !important;
        min-width: 44px !important;
        padding: 12px !important;
    }
    
    /* Estä zoomaus tuplaklikkauksella */
    * {
        touch-action: manipulation;
    }
    
    /* Suuremmat klikkauskohteet linkeille */
    #ja-cssmenu li a,
    a.mainlevel {
        min-height: 54px !important;
        padding: 18px 15px !important;
    }
}

/* ========================================
   PIENI FONTTIKOKO (320px)
   ======================================== */
@media only screen and (max-width: 360px) {
    body {
        font-size: 15px !important;
    }
    
    h1 {
        font-size: 1.4em !important;
    }
    
    h2 {
        font-size: 1.3em !important;
    }
    
    h3 {
        font-size: 1.15em !important;
    }
    
    p {
        font-size: 15px !important;
    }
    
    #ja-cssmenu li a {
        font-size: 1em !important;
        padding: 15px 10px !important;
    }
    
    img[src*="/secondhand/"] {
        max-width: 60px !important;
        margin: 6px 3px !important;
    }
}