/**
 * Foglio di stile per la versione mobile del sito I Capitani.
 * 
 * @version 1.1.0
 * @date 2025-02-27
 * @author Original developer, updated by IT al CUBO (@ITalCUBO)
 * @CSS version 3
 */

/* Reset e stili di base */
* {
    margin: 0;
    padding: 0;
    font-family: tahoma, arial, helvetica, sans-serif;
}

body {
    background-color: #FFF4E6;
    margin: 0;
    overflow-x: hidden;
}

a {
    cursor: pointer;
    text-decoration: none;
}

/* Struttura principale - IMPORTANTE: mantenere width: 320px per layout mobile */
#contenitore {
    width: 320px;
    position: relative;
    z-index: 0;
    overflow-x: hidden;
    margin: 0 auto; /* Centrato, mantiene compatibilità */
}

#testa {
    height: 250px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    background: top center no-repeat;
    background-size: cover; /* Evita ripetizione */
}

#menu1, #menu2, #menu3, #menu4, #menu5, #menu6, #menu7, #menu8, #menu9, #menu10 {
    position: relative;
    z-index: 1;
}

/* Footer e social */
#socialfooter {
    padding: 20px 0 10px 0;
    z-index: 1;
    text-align: center;
}

.testofooter {
    text-align: center;
}

#rifiuti {
    position: relative;
    z-index: 1;
    font-size: 10pt;
    margin: 40px 15px;
    text-align: center;
}

#rifiuti a {
    text-decoration: none !important;
    color: #880000 !important;
}

#rifiuti a:hover {
    color: #000000 !important;
}

#footer {
    position: relative;
    z-index: 1;
    font-size: 9pt;
    margin: 20px 15px;
}

#footer div {
    text-align: center;
}

#footer p {
    text-align: center;
}

#footer a {
    color: #880000;
    text-decoration: none;
}

#footer a:hover {
    color: #000000;
}

/* Header e logo */
.testalogo {
    height: 103px;
    width: 189px;
    background: url(velo.png);
    z-index: 2;
    text-align: center;
    margin: auto;
}

.topmenu {
    height: 23px;
    width: 100%;
    font-size: 10pt;
    color: #fff4e6;
    background: url(button2.png) center no-repeat;
    padding: 7px 0 0 0;
    text-align: center;
    z-index: 3;
    top: 100px;
    position: absolute;
}

.topmenu a {
    padding: 0 3px;
    color: #FFF4E6;
}

.topmenu a:hover {
    color: #ffffff;
}

/* Navigazione e menu */
.menu {
    height: 25px;
    font-size: 11pt;
    font-weight: bold;
    background: url(button1.png) repeat-x;
    color: #880000;
    background: #fff4e6;
    text-align: left;
    padding: 10px 13px 0 28px;
    position: relative;
    cursor: pointer;
}

.menu:hover {
    color: #000000;
}

.submenu {
    height: 30px;
    line-height: 30px;
    background-color: #FFF4E6;
    color: #880000;
    padding: 0 30px;
    position: relative;
    text-align: left;
    font-size: 10pt;
}

.submenu:hover {
    color: #000000;
}

.submenuprod {
    height: 30px;
    line-height: 30px;
    color: #FFF4E6;
    padding: 0 30px;
    position: relative;
    text-align: left;
    font-size: 10pt;
    cursor: pointer;
}

.submenuprodw {
    height: 30px;
    line-height: 30px;
    color: #880000;
    padding: 0 30px;
    position: relative;
    text-align: left;
    font-size: 10pt;
    cursor: pointer;
}

/* Elementi prodotto */
.color_prod {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    margin: 5px;
}

.line_prod {
    width: 20px;
    height: 30px;
    position: absolute;
    top: 0;
    left: 0;
}

.bottomborder {
    border-bottom: 1px solid #F3D1D1;
}

.topborder {
    border-top: 1px solid #F3D1D1;
}

/* Icone e frecce */
.arrow_right {
    position: absolute;
    right: 15px;
}

.arrow_down {
    position: absolute;
    left: 10px;
    top: -24px;
}

.icon_topmenu {
    float: right;
    margin: 0 0 0 8px;
    vertical-align: middle;
}

.icon_avanti {
    position: absolute;
    right: 30px;
    top: 40px;
}

/* Contenuto testuale */
.testo {
    margin: 5px 15px;
}

.testo p {
    margin: 10px 0;
    font-size: 9pt;
    text-align: justify;
    text-indent: 15px;
}

.testo h1 {
    padding: 7px 0;
    font-size: 10pt;
    font-weight: bold;
    color: #880000;
    border-bottom: 1px solid #F3D1D1;
}

.testoprod {
    padding: 9px 15px;
}

.testoprod p {
    margin: 4px 0;
    font-size: 9pt;
    text-align: left;
}

.testoprod a {
    text-decoration: none;
    color: #880000;
}

.testoprod a:hover {
    color: #000000;
}

.testoprod h1 {
    padding: 7px 0;
    font-size: 10pt;
    font-weight: bold;
    color: #880000;
    border-bottom: #F3D1D1 1px solid;
}

.testoprod h2 {
    padding: 7px 0 0 0;
    font-size: 9pt;
    font-weight: bold;
    color: #880000;
}

.testoprod h3 {
    padding: 7px 0 0 0;
    font-size: 9pt;
    color: #000000;
    font-weight: normal;
}

.testoprod h3 span {
    font-weight: bold;
    color: #880000;
}

.testoprod h4 {
    padding: 7px 0 0 0;
    font-size: 9pt;
    color: #000000;
    font-style: italic;
    font-weight: normal;
}

/* Immagini e tabelle */
.imgcenter {
    width: 100%;
    text-align: center;
    margin: 6px 0;
}

#tab_rico {
    width: 100%;
    font-size: 9pt;
    font-style: normal;
    font-weight: normal;
    vertical-align: top;
    border-collapse: separate;
    border-spacing: 0 8pt;
}

#tab_rico p {
    font-weight: bold;
    font-size: 8pt;
}

#tab_rico a {
    color: #000000;
}

#logotesta {
    text-align: center;
    margin: 7px 0;
}

/* Accessibilità */
.skip-to-content {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.skip-to-content:focus {
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    padding: 10px;
    background: #FFF4E6;
    color: #880000;
    z-index: 9999;
    font-size: 9pt;
    border: 2px solid #880000;
}

/* Miglioramento focus per accessibilità */
a:focus, 
button:focus, 
input:focus, 
[role="button"]:focus {
    outline: 2px solid #880000;
    outline-offset: 2px;
}

/* Supporto per prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    * {
        transition-duration: 0.001ms !important;
        animation-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

/* --- AGGIUNTA PER TABELLE A RIGHE ALTERNATE --- */
.table-striped {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
}
.table-striped td {
    padding: 8px 5px;
    border-bottom: 1px solid #F3D1D1;
    font-size: 8pt;
    text-align: left; /* Allineamento base a sinistra */
}
.table-striped tr:nth-of-type(odd) {
    background-color: #f8f8f8;
}
