
/* ── Accès rapide — Bouton principal (retour en haut / URL) ─────────────── */

.oaka-stt-btn {
    position: fixed;
    z-index: 9999;
    bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none !important;
    line-height: 1;
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.2s ease;
    font-size: 24px;
    font-weight: bold;
    box-sizing: border-box;
}

.oaka-stt-btn.oaka-stt-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.oaka-stt-btn:hover {
    transform: translateY(-4px);
}

/* ── Modèle 1 : Badge ──────────────────────────────────────────────── */

.oaka-stt-model-badge {
    background: var(--oaka-stt-color, #C2461B);
    color: #fff !important;
    /* Même technique que le Corner, mais en horizontal : 14px de largeur « en rab »
       sur la droite, cachés hors-écran via right: -14px + padding-right. box-sizing:
       border-box garde la zone de contenu (icône) de largeur size+12 à gauche, donc la
       partie visible au repos est strictement identique à avant. */
    width: calc(var(--oaka-stt-size, 55px) + 12px + 14px);
    padding-right: 14px;
    right: -14px;
    height: var(--oaka-stt-size, 55px);
    border-radius: 6px 0 0 6px;
    font-size: calc(var(--oaka-stt-size, 55px) * 0.45);
}

/* Au survol le badge coulisse vers la gauche : la partie cachée à droite se
   dévoile, donnant l'impression qu'il sort un peu de l'écran (pas d'étirement). */
.oaka-stt-model-badge:not(.oaka-stt-hidden):hover {
    transform: translateX(-14px);
}

/* ── Modèle 2 : Icône ──────────────────────────────────────────────── */

.oaka-stt-model-icon {
    right: 20px;
    color: var(--oaka-stt-color, #C2461B) !important;
    width: var(--oaka-stt-size, 55px);
    height: var(--oaka-stt-size, 55px);
    font-size: calc(var(--oaka-stt-size, 55px) * 0.55);
}

/* ── Modèle 3 : Coin ───────────────────────────────────────────────── */

.oaka-stt-model-coin {
    right: 20%;
    background: var(--oaka-stt-color, #C2461B);
    color: #fff !important;
    width: var(--oaka-stt-size, 55px);
    /* On ajoute 16px de hauteur « en rab » + padding-bottom : box-sizing: border-box
       fait que la zone de contenu (icône centrée en flex) reste de hauteur size*0.75.
       Avec bottom: -16px, ces 16px supplémentaires sont cachés sous l'écran : au
       survol (translateY(-4px)) le fond du badge couvre toujours le bas, plus de vide. */
    height: calc(var(--oaka-stt-size, 55px) * 0.75 + 16px);
    padding-bottom: 16px;
    bottom: -16px;
    border-radius: 6px 6px 0 0;
    font-size: calc(var(--oaka-stt-size, 55px) * 0.4);
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.2s ease, bottom 0.35s ease;
}

.oaka-stt-model-coin.oaka-stt-hidden {
    bottom: calc((var(--oaka-stt-size, 55px) + 16px) * -1);
}

/* Soulèvement un peu plus marqué que le -4px générique (les 16px de hauteur cachée
   couvrent toujours le bas, donc aucun vide ne se découvre). */
.oaka-stt-model-coin:not(.oaka-stt-hidden):hover {
    transform: translateY(-8px);
}

.oaka-stt-icon {
    display: block;
    line-height: 1;
}

/* Les dashicons ont un font-size fixe à 20px dans leur CSS — on l'écrase */
.oaka-stt-btn .dashicons {
    font-size: inherit !important;
    width: auto;
    height: auto;
    line-height: 1;
}

/* ── Icône image personnalisée ─────────────────────────────────────── */

.oaka-stt-img {
    display: block;
    width: var(--oaka-stt-size, 55px);
    height: var(--oaka-stt-size, 55px);
    object-fit: contain;
    max-width: 100%;
}

/* En modèle badge/coin, l'image laisse une marge pour respirer dans le fond */
.oaka-stt-model-badge .oaka-stt-img,
.oaka-stt-model-coin .oaka-stt-img {
    width: calc(var(--oaka-stt-size, 55px) * 0.6);
    height: calc(var(--oaka-stt-size, 55px) * 0.6);
}
