/* Utilitaires thème — portés depuis layouts/public.blade.php (Laravel) */

[x-cloak] { display: none !important; }

body.lavybes-public {
    font-feature-settings: 'kern' 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--theme-color-background, #f9fafb);
    color: var(--theme-color-text, #111827);
}

.lavybes-public a { color: var(--theme-color-link, var(--theme-color-primary)); }

.theme-primary { color: var(--theme-color-primary); }
.theme-primary-bg { background-color: var(--theme-color-primary); }
.theme-primary-border { border-color: var(--theme-color-primary); }
.theme-primary-hover:hover { color: var(--theme-color-primary); }
.theme-primary-bg-hover:hover { background-color: var(--theme-color-primary); }
.theme-primary-bg-hover-light:hover { background-color: rgba(var(--theme-color-primary-rgb), 0.12); }

.theme-secondary { color: var(--theme-color-secondary); }
.theme-secondary-bg { background-color: var(--theme-color-secondary); }
.theme-secondary-hover:hover { color: var(--theme-color-secondary); }
.theme-secondary-bg-hover:hover { background-color: var(--theme-color-secondary); }
.theme-secondary-border-hover:hover { border-color: var(--theme-color-secondary); }

.theme-accent { color: var(--theme-color-accent); }
.theme-accent-bg { background-color: var(--theme-color-accent); }

.theme-text { color: var(--theme-color-text); }
.theme-text-secondary { color: var(--theme-color-text-secondary); }
.theme-bg { background-color: var(--theme-color-background); }

.theme-footer-bg { background-color: var(--theme-color-footer-bg); }
.theme-footer-text { color: var(--theme-color-footer-text); }
.theme-footer-text-secondary { color: var(--theme-color-footer-text); opacity: 0.85; }
.theme-footer-text-secondary:hover { opacity: 1; }

.focus-theme-primary:focus {
    --tw-ring-color: var(--theme-color-primary);
    border-color: var(--theme-color-primary);
}

.badge-secondary {
    background: linear-gradient(to right, rgba(var(--theme-color-secondary-rgb), 0.1), rgba(var(--theme-color-secondary-rgb), 0.05));
    color: var(--theme-color-secondary);
}

.gradient-secondary {
    background: linear-gradient(to bottom right, var(--theme-color-secondary), var(--theme-color-secondary));
}

.btn-share {
    background-color: rgba(var(--theme-color-primary-rgb), 0.1);
    color: var(--theme-color-primary);
}
.btn-share:hover { background-color: rgba(var(--theme-color-primary-rgb), 0.2); }

.btn-share-primary {
    background-color: var(--theme-color-primary);
    color: white;
}
.btn-share-primary:hover { filter: brightness(0.95); }

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar { display: none; }

.group-theme-secondary-bg-hover:hover { background-color: var(--theme-color-secondary); }

/* Grille interactive hero */
#interactive-grid { pointer-events: none; }

.grid-triangle {
    transition: all 0.3s ease;
    position: relative;
    pointer-events: auto;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.25);
    opacity: 0.6;
}

.grid-triangle.up { clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }
.grid-triangle.down { clip-path: polygon(0% 0%, 100% 0%, 50% 100%); }

.grid-triangle.hover-effect,
.grid-triangle.adjacent-hover {
    background-color: rgba(255, 255, 255, 0.25);
    opacity: 1;
    transform: scale(1.05);
    z-index: 10;
}

/* Hero typed title */
.hero-title-public {
    line-height: 1.2;
    overflow-wrap: break-word;
    word-break: normal;
}

#typed-text { display: inline; }

.hero-word {
    display: inline-block;
    white-space: nowrap;
    max-width: 100%;
    vertical-align: top;
}

#typed-text .typed-char {
    display: inline-block;
    will-change: transform, opacity, filter;
}

#typed-cursor {
    vertical-align: text-top;
    height: 1em;
}
