/* Mariojose Palma public shell consumes the same semantic brand contract as the workspace. */
:root {
    --mpl-privacy-brand-accent: var(--mpl-color-primary);
    --mpl-privacy-brand-accent-hover: var(--mpl-color-primary-hover);
    --mpl-privacy-brand-accent-border: var(--mpl-color-border-strong);
    --mpl-privacy-brand-focus-ring: color-mix(in srgb, var(--mpl-color-focus) 28%, transparent);
    --mpl-privacy-brand-gpc-surface: var(--mpl-color-surface-subtle);
    --mpl-privacy-brand-gpc-ink: var(--mpl-color-text);
}

body {
    color: var(--mpl-color-text);
    background: var(--mpl-color-canvas);
}

body a:not(.theme-btn):not(.mpl-button) {
    color: var(--mpl-color-text);
}

body a:not(.theme-btn):not(.mpl-button):hover {
    color: var(--mpl-color-primary-hover);
}

body .clienti-reviews .reviews,
body .clienti-reviews .reviews p,
body .hero-content p {
    color: var(--mpl-color-text) !important;
}

body .clienti-reviews .reviews span {
    color: var(--mpl-color-text-muted) !important;
}

body #home,
body .bg-primaryColor,
body.bg-bodyBackground {
    color: var(--mpl-color-text) !important;
    background-color: var(--mpl-color-canvas) !important;
}

body #home h1 {
    color: var(--mpl-color-text) !important;
}

body .company-design-area h2,
body .section-white-title h2,
body .section-black-title h2,
body .about-content-part,
body .about-content-part h2,
body .service-item h4,
body .service-item i,
body .resume-box h2,
body .skill-item h5,
body .skill-item .percent {
    color: var(--mpl-color-text) !important;
}

body .services-area,
body .resume-area,
body .skill-area {
    background: var(--mpl-color-canvas) !important;
}

body .service-item,
body .resume-wrapper .resume-box,
body .skill-item {
    color: var(--mpl-color-text) !important;
    background: var(--mpl-color-surface) !important;
    border-color: var(--mpl-color-border) !important;
}

body .service-item p,
body .service-item h5,
body .resume-box p,
body .resume-box span {
    color: var(--mpl-color-text-muted) !important;
}

body .theme-btn,
body .theme-btn:hover,
body .theme-btn:focus-visible {
    color: var(--mpl-color-on-primary) !important;
    background: var(--mpl-color-primary) !important;
    border-color: var(--mpl-color-primary) !important;
}

body .theme-btn:hover {
    background: var(--mpl-color-primary-hover) !important;
    border-color: var(--mpl-color-primary-hover) !important;
}

body .theme-btn-two,
body .theme-btn-two:hover,
body .theme-btn-two:focus-visible {
    color: var(--mpl-color-on-secondary) !important;
    background: var(--mpl-color-secondary) !important;
    border-color: var(--mpl-color-secondary) !important;
}

body .theme-btn-two:hover {
    background: var(--mpl-color-secondary-hover) !important;
    border-color: var(--mpl-color-secondary-hover) !important;
}

.floating-chat-panel {
    background: var(--mpl-color-surface-elevated);
    border-color: var(--mpl-color-border-strong);
    box-shadow: var(--mpl-shadow-modal);
}

.floating-chat-header,
.floating-chat-status,
.floating-chat-composer {
    background: var(--mpl-color-surface-subtle);
    border-color: var(--mpl-color-border);
}

.floating-chat-messages,
.floating-chat-composer textarea,
.floating-chat-message-ai,
.floating-chat-empty {
    background: var(--mpl-color-canvas);
}

.floating-chat-message-user,
.floating-chat-composer button {
    color: var(--mpl-color-on-primary);
    background: var(--mpl-color-primary);
    border-color: var(--mpl-color-primary);
}

.floating-chat-composer button:hover:not(:disabled) {
    background: var(--mpl-color-primary-hover);
    border-color: var(--mpl-color-primary-hover);
}

.floating-chat-composer textarea:focus-visible,
.floating-chat-composer button:focus-visible,
.floating-chat-toggle-button:focus-visible {
    outline-color: var(--mpl-color-focus);
}

body .mpl-privacy-reopen {
    right: auto !important;
    left: max(1rem, env(safe-area-inset-left)) !important;
    bottom: max(1rem, env(safe-area-inset-bottom)) !important;
}

@media (max-width: 640px) {
    .floating-chat {
        bottom: max(4.25rem, calc(3.25rem + env(safe-area-inset-bottom)));
    }
}

@media (prefers-reduced-motion: reduce) {
    body .wow,
    body .fadeInUp {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
}
