/* style.css - Styles personnalisés POKBEE */

:root {
    --primary: #C5A028;
    --secondary: #075E67;
    --accent: #003B42;
    --hex-opacity: 0.05;
}

/* Blob dégradé en arrière-plan */
.gradient-blob {
    position: absolute;
    filter: blur(80px);
    z-index: 0;
    opacity: 0.4;
}

/* Carte active */
.active-card {
    background-color: white !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    transform: scale(1.02);
}

.dark .active-card {
    background-color: #075E67 !important;
}

/* Gestion de l'affichage des sections */
.content-section {
    display: none;
    animation: fadeIn 0.5s ease-out;
}

.content-section.active {
    display: block;
}

/* Switch Toggle */
.toggle-checkbox:checked {
    right: 0;
    border-color: #C5A028;
}

.toggle-checkbox:checked+.toggle-label {
    background-color: #C5A028;
}

.toggle-checkbox {
    right: 0;
    transition: all 0.3s;
    right: auto;
    left: 0;
}

.toggle-checkbox:checked {
    right: auto;
    left: 50%;
}

/* Empêcher le scroll quand la modale est ouverte */
.modal-open {
    overflow: hidden;
}

/* Texture Grille (Papier millimétré) */
.bg-grid-pattern {
    background-size: 40px 40px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
}

.dark .bg-grid-pattern {
    background-image: linear-gradient(to right, rgba(197, 160, 40, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(197, 160, 40, 0.03) 1px, transparent 1px);
}

/* Motif Haxagonal (Alvéoles) */
.bg-hex-pattern {
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cpath fill='%23C5A028' fill-opacity='0.05' d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.91v12.68l10.99 6.34 11-6.34V17.91l-11-6.34L3 17.91zM0 15l12.98-7.5V0h2v7.5L28 15v15l-12.98 7.5V49h-2v-11.5L0 30V15zm1 1.15v12.7l11.99 6.93V49h2v-13.22l11.99-6.93V16.15l-11.99-6.92V0h-2v9.23L1 16.15z'/%3E%3C/svg%3E");
}

.dark .bg-hex-pattern {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cpath fill='%23C5A028' fill-opacity='0.08' d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.91v12.68l10.99 6.34 11-6.34V17.91l-11-6.34L3 17.91zM0 15l12.98-7.5V0h2v7.5L28 15v15l-12.98 7.5V49h-2v-11.5L0 30V15zm1 1.15v12.7l11.99 6.93V49h2v-13.22l11.99-6.93V16.15l-11.99-6.92V0h-2v9.23L1 16.15z'/%3E%3C/svg%3E");
}

/* Forme Hexagonale */
.clip-hex {
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}

.hex-card {
    position: relative;
    aspect-ratio: 1 / 1.15;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.5rem;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.hex-card:hover {
    transform: translateY(-8px) scale(1.05);
}

/* Sauvegarde de couleurs si Tailwind ne charge pas */
.text-primary {
    color: #C5A028 !important;
    /* Gold */
}

.text-secondary {
    color: #075E67 !important;
    /* Teal */
}

.bg-primary {
    background-color: #C5A028 !important;
}

.bg-secondary {
    background-color: #075E67 !important;
}

@keyframes breathe {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.03);
        box-shadow: 0 10px 25px -5px rgba(197, 160, 40, 0.1);
    }
}

.animate-breathe {
    animation: breathe 3s ease-in-out infinite;
}

/* ================================================================= */
/* AJUSTEMENT GLOBAL DES MARGES (AÉRATION)                           */
/* ================================================================= */

.container {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

@media (min-width: 1024px) {
    .container {
        padding-left: 4rem !important;
        padding-right: 4rem !important;
        max-width: 1400px;
    }
}

/* ================================================================= */
/* FIX FOOTER DYNAMIQUE                                              */
/* ================================================================= */

.footer-grid-fix {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
}

@media (min-width: 768px) {
    .footer-grid-fix {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .footer-grid-fix {
        grid-template-columns: repeat(4, 1fr);
    }
}

.social-icon-svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
    display: block;
}

/* ================================================================= */
/* RÉPARATION FOOTER                                                 */
/* ================================================================= */

#footer-grid-force {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 4rem;
}

@media (min-width: 768px) {
    #footer-grid-force {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    #footer-grid-force {
        grid-template-columns: repeat(4, 1fr);
    }
}

.social-icon-fix svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px;
    fill: currentColor;
    display: block;
}

.social-icon-fix:hover {
    transform: scale(1.1);
    transition: transform 0.2s;
}

/* Animation Défilement Infini (Ticker) */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.animate-scroll {
    display: flex;
    animation: scroll 60s linear infinite;
}

.animate-scroll:hover {
    animation-play-state: paused;
}

/* Animation séquentielle des logos partenaires */
.partner-logo {
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform: scale(1);
}

.partner-logo.is-active,
.partner-logo:hover {
    transform: scale(1.25);
    z-index: 10;
}

/* Bouton Teal Rempli (Custom) */
.btn-teal-filled {
    background-color: #075E67 !important;
    color: #F2F2F2 !important;
    border-width: 0 !important;
}

.btn-teal-filled:hover {
    background-color: #0a4f57 !important;
}

.btn-teal-filled:active {
    background-color: #003B42 !important;
}

/* Compatibilité ancienne classe */
.btn-blue-filled {
    background-color: #075E67 !important;
    color: #F2F2F2 !important;
}

/* Footer Accordion & Mobile Helpers */
.footer-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
    opacity: 0;
}

.footer-accordion-content.active {
    max-height: 500px;
    opacity: 1;
}

.footer-chevron {
    transition: transform 0.3s ease;
}

.footer-chevron.rotate-180 {
    transform: rotate(180deg);
}

@media (max-width: 767px) {
    .mobile-center {
        text-align: center !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* Appliquer un dégradé à un logo (silhouette) */
.logo-gradient-mask {
    display: inline-block;
    -webkit-mask-image: url('images/logo_pokbee.png');
    mask-image: url('images/logo_pokbee.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background: linear-gradient(to right, #C5A028, #EAB308);
}