/* style par d�faut pour tout le corps de la page */
body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size : 85%;
	line-height: 1.6em;
	text-align: justify;
	padding: 0 3em 0 3em;
	width: 85%;
	max-width: 60em;
	margin: auto;
	margin-right: auto;
}

/* titre de page */
h1 {
    font-family: "Times New Roman", Times, serif; 
	font-size: 200%;
	text-align: center;
	margin-top: 1.2em;
	margin-bottom: 1.8em;
}

/* titre de niveau 2 */
h2 {
    font-family: "Times New Roman", Times, serif;
    font-size: 160%;
	margin-top: 1.4em;
}

/* titre de niveau 3 */
h3 {
	font-size: 120%;
    margin-top: 1.2em;
}

/* lien */ 
a { 
    text-decoration: none;
    padding-top: 0.1em;
    padding-bottom: 0.2em;
}

a:hover { background-color: #E1F7FF;}

/* listes */
ul { margin-bottom: 1.5em; }
li { margin-bottom: 0.5em; }
.toc dl { margin-top: 0.5em; }

/* texte pr�formatt� et code */
pre { 
    color: black;
    background-color: #EBEBEB;
    padding: 0.5em;
}

/* barre horizontale */
hr { display: none; }

/* image et l�gende */
.mediaobject {
	border: none;
    margin-top: 2em;
    text-align: center;
}

img { border:none; }

.caption { 
    width: 75%;
    margin: auto;
    margin-bottom: 2.5em;
    font-style: italic;
}

/* tableau */
table {
        width: 75%;
        margin: auto;
        padding: 0;
        border-width: 2px;
        border-collapse: collapse; 
}

td, th {
    padding: 0.5em;
    border-width: 1px;
}

th { border-bottom-width: 2px; }

/* zones de navigation en haut et bas de page */
.navheader table { 
    width: 100%;
    padding-top: 0.2em;
    padding-bottom: 0.4em;
    padding-left: 1.5em;
    padding-right: 1.5em;
    border-collapse: separate;
}

.navfooter table { 
    width: 100%;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-left: 1.5em;
    padding-right: 1.5em;
    border-collapse: separate;
}

.navheader table { margin-bottom: 1.5em; }
.navfooter table { margin-top: 2.5em; }
.navheader table, .navfooter table { background-color: #F9F9D0; }
.navheader td, .navfooter td { margin:0; padding-top:0; padding-bottom:0; }


/* auteur et donn�es de publication */
.author, .releaseinfo, .pubdate, .orgname {
        width: 100%;
        text-align: center;
}

div.author { margin-bottom: 1.8em;}

/* historique des versions */
.revhistory table {
        width: 75%;
        margin-top: 2.5em;
        margin-left: auto;
        margin-right: auto;
        border: solid 1px #AAA;
        color: black;
        background-color: #FAFAFA;
}

.revhistory td { border: solid 1px #AAA; }

/* r�sum� */
.abstract { margin-top: 2.5em; }

/* tables des mati�res et sommaires */
.toc {
        margin-top: 1.5em;
        padding-top: 0.7em;
        padding-bottom: 0.7em;
        padding-left: 1.5em;
        color: black;
        background-color: #F9F9D0;
}

/* notes, astuces et avertissements */
.note, .tip, .remark, .warning, .caution { 
    margin-top: 2em;
    margin-bottom: 2em;
    padding-top: 0;
    padding-bottom: 1em;
    padding-left: 2.5em;
    padding-right: 2.5em;
    border-style: dashed; 
}

.note { border-color: #FFB71C; }
.tip { border-color: #61AE52; }
.warning, .caution { border-color: #DA0000; }

/* emphase */
em, .emphasis { 
    font-weight: bold;
    font-style: normal;
}

/* �l�ments de langages */
.sgmltag-element { color: #851729; }
.sgmltag-attribute, .property { color: #14560C; }
.sgmltag-attvalue, .literal { color: #494949; }

/* terme de d�finition */
.term { font-weight: bold; }

/* touches et combos */
.keycap
{   
    padding: 0px 2px;
	border: 3px outset #F3F3F3;
	color: black;
	background-color: #F3F3F3;
}


header {
    position: sticky;
    top: 0;
    background-color: #F9F9D0;
    z-index: 1000;
    padding: 0.5em 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header h1 { font-size: 1.5em; margin:0; }

nav ul { display:flex; gap:1em; list-style:none; margin:0; padding:0; }
nav ul li a { text-decoration:none; color:black; font-weight:bold; }
nav ul li a:hover { background-color:#E1F7FF; padding:0.2em 0.5em; border-radius:4px; }

/* ---------- MINI PANIER FLOTANT ---------- */
.cart {
position: relative;
cursor: pointer;
}

.cart-count {
background-color: #DA0000;
color: #fff;
font-size: 0.8em;
padding: 0 6px;
border-radius: 50%;
vertical-align: top;
margin-left: 4px;
}

.cart-popup {
position: absolute;
right: 0;
top: 2.8em;
width: 260px;
background-color: #fff;
border: 1px solid #ddd;
box-shadow: 0 3px 10px rgba(0,0,0,0.3);
border-radius: 5px;
display: none;
z-index: 1001;
padding: 0.5em;
}

.cart-popup h4 { margin:0.5em 0; font-size:1em; border-bottom:1px solid #ddd; padding-bottom:0.3em; }

.cart-item { display:flex; justify-content:space-between; margin:0.5em 0; font-size:0.95em; }
.cart-item span { font-weight:bold; }

.cart-total { border-top:1px solid #ddd; padding-top:0.5em; font-weight:bold; text-align:right; }

.clear-cart-btn {
margin-top:0.5em;
width:100%;
padding:0.4em;
background-color:#DA0000;
color:#fff;
border:none;
border-radius:4px;
cursor:pointer;
font-size:0.9em;
}

.clear-cart-btn:hover { background-color:#B50000; }

/* ---------- SLIDER ---------- */
.slider-container { position:relative; overflow:hidden; margin:2em auto; width:90%; }
.slider-track { display:flex; transition: transform 0.3s ease-in-out; }
.slider-btn { position:absolute; top:50%; transform:translateY(-50%); background-color:rgba(249,249,208,0.8); border:none; padding:0.5em 0.8em; cursor:pointer; font-size:1.5em; border-radius:50%; }
#prev { left:0; } #next { right:0; }


.add-cart-btn { margin-top:0.5em; padding:0.4em 0.8em; background-color:#61AE52; color:#fff; border:none; border-radius:4px; cursor:pointer; }
.add-cart-btn:hover { background-color:#499B42; }

/* ---------- FOOTER ---------- */
footer { background-color:#F9F9D0; text-align:center; padding:1em; margin-top:2em; }