/* Promartex Theme Override
   Paleta:
   --pm-black: #1f1b1f
   --pm-primary: #21479a
   --pm-light: #a8d8ea
   --pm-accent: #4481ac
   --pm-blue: #0f78cd
*/

:root {
    --pm-black: #1f1b1f;
    --pm-primary: #21479a;
    --pm-light: #a8d8ea;
    --pm-accent: #4481ac;
    --pm-blue: #0f78cd;
    --pm-white: #ffffff;
    --pm-soft-bg: #f5fbff;
    --pm-border: rgba(33, 71, 154, 0.16);
    --pm-shadow: 0 14px 35px rgba(31, 27, 31, 0.08);
}

html,
body,
#app,
main {
    background: var(--pm-white) !important;
    color: var(--pm-black) !important;
}

body {
    font-family: Poppins, Arial, sans-serif !important;
}

a {
    color: var(--pm-primary);
}

a:hover {
    color: var(--pm-blue);
}

/* Header */
header {
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom: 1px solid var(--pm-border) !important;
    box-shadow: 0 8px 25px rgba(31, 27, 31, 0.05) !important;
    backdrop-filter: blur(10px);
}

header .uppercase,
header a.uppercase,
header span.uppercase {
    color: var(--pm-black) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
}

header .hover\:border-navyBlue:hover,
header .border-navyBlue {
    border-color: var(--pm-blue) !important;
}

header .icon-hamburger,
header .icon-search,
header .icon-camera,
header .icon-compare,
header .icon-cart,
header .icon-users {
    color: var(--pm-primary) !important;
}

/* Inputs / busca */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="number"],
select,
textarea {
    border-color: var(--pm-border) !important;
    background: var(--pm-soft-bg) !important;
    color: var(--pm-black) !important;
}

input::placeholder,
textarea::placeholder {
    color: rgba(31, 27, 31, 0.55) !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--pm-blue) !important;
    box-shadow: 0 0 0 3px rgba(15, 120, 205, 0.12) !important;
    outline: none !important;
}

/* Botões */
.primary-button,
button.primary-button,
a.primary-button,
button[type="submit"] {
    background: linear-gradient(135deg, var(--pm-primary), var(--pm-blue)) !important;
    border: 1px solid var(--pm-primary) !important;
    color: var(--pm-white) !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px rgba(15, 120, 205, 0.22) !important;
}

.primary-button:hover,
button.primary-button:hover,
a.primary-button:hover,
button[type="submit"]:hover {
    background: linear-gradient(135deg, var(--pm-blue), var(--pm-accent)) !important;
    color: var(--pm-white) !important;
    transform: translateY(-1px);
}

.secondary-button,
a.secondary-button,
button.secondary-button {
    background: var(--pm-white) !important;
    border: 2px solid var(--pm-primary) !important;
    color: var(--pm-primary) !important;
    font-weight: 700 !important;
}

.secondary-button:hover,
a.secondary-button:hover,
button.secondary-button:hover {
    background: var(--pm-light) !important;
    color: var(--pm-black) !important;
}

/* Cards de produto */
.product-card,
[class*="product-card"] {
    background: var(--pm-white) !important;
    border-color: var(--pm-border) !important;
    box-shadow: var(--pm-shadow) !important;
}

.product-card:hover,
[class*="product-card"]:hover {
    box-shadow: 0 18px 45px rgba(33, 71, 154, 0.12) !important;
}

/* Preços */
.price,
[class*="price"] {
    color: var(--pm-primary) !important;
    font-weight: 800 !important;
}

/* Categorias e coleções */
.top-collection-card,
.single-collection-card {
    background: var(--pm-white) !important;
    border: 1px solid var(--pm-border) !important;
    box-shadow: var(--pm-shadow) !important;
}

.top-collection-card h3,
.single-collection-card .overlay-text {
    color: var(--pm-primary) !important;
}

/* Títulos */
h1,
h2,
h3,
h4,
.section-title h2,
.top-collection-header h2,
.inline-col-title {
    color: var(--pm-black) !important;
}

.section-title h2::after,
.top-collection-header h2::after {
    content: "";
    display: block;
    width: 96px;
    height: 4px;
    margin: 14px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--pm-primary), var(--pm-light), var(--pm-blue));
}

/* Filtros */
.panel-side,
.journal-scroll {
    background: var(--pm-white) !important;
    border: 1px solid var(--pm-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--pm-shadow) !important;
    padding: 18px !important;
}

.panel-side p,
.journal-scroll p {
    color: var(--pm-black) !important;
}

.icon-arrow-up,
.icon-arrow-down,
.icon-uncheck,
.icon-check-box {
    color: var(--pm-primary) !important;
}

.peer-checked\:text-navyBlue,
.text-navyBlue {
    color: var(--pm-primary) !important;
}

.bg-navyBlue,
.peer-checked\:bg-navyBlue {
    background-color: var(--pm-blue) !important;
}

.ring-navyBlue {
    --tw-ring-color: var(--pm-blue) !important;
}

/* Estados ativos */
.active,
[aria-current="page"],
.border-navyBlue {
    border-color: var(--pm-blue) !important;
    color: var(--pm-blue) !important;
}

/* Gavetas laterais */
.fixed.z-\[1000\] {
    border-left: 1px solid var(--pm-border) !important;
    box-shadow: 0 20px 70px rgba(31, 27, 31, 0.18) !important;
}

/* Footer */
footer,
.footer,
[class*="footer"] {
    background: var(--pm-black) !important;
    color: var(--pm-white) !important;
}

footer a,
.footer a,
[class*="footer"] a {
    color: var(--pm-light) !important;
}

footer a:hover,
.footer a:hover,
[class*="footer"] a:hover {
    color: var(--pm-white) !important;
}

footer input,
.footer input {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(168, 216, 234, 0.35) !important;
    color: var(--pm-white) !important;
}

/* Mobile */
@media (max-width: 1024px) {
    header {
        border-bottom: 1px solid var(--pm-border) !important;
    }

    .panel-side,
    .journal-scroll {
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 14px !important;
    }
}

/* Shimmer e scrollbar */
.shimmer {
    background: linear-gradient(90deg, #eef7fc 25%, #ffffff 37%, #eef7fc 63%) !important;
}

::-webkit-scrollbar-thumb {
    background: var(--pm-accent);
    border-radius: 999px;
}

::-webkit-scrollbar-track {
    background: #eef7fc;
}

/* Corrige drawer de categorias preso dentro do header */
header,
header > div,
header nav,
header .relative,
header .flex {
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    clip-path: none !important;
    isolation: auto !important;
}

/* Força o painel lateral a ser tela inteira */
header .fixed.inset-y-0,
.fixed.inset-y-0.z-\[1000\] {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 400px !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 99999 !important;
    overflow: visible !important;
}

/* Overlay atrás do drawer */
header .fixed.inset-0,
.fixed.inset-0.z-20 {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99998 !important;
}

/* Conteúdo interno com rolagem */
header .fixed.inset-y-0 .overflow-auto {
    overflow: auto !important;
}