@font-face {
    font-family: 'Pontano Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/pontano-sans-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Pontano Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/pontano-sans-bold.ttf') format('truetype');
}

/* Meca Clean: the same blue and green as the page, with white rounded cards. */
.pct-filter {
    --pct-blue: #29a8e6;
    --pct-blue-text: #1478a9;
    --pct-green: #61ce70;
    --pct-text: #5e5e5e;
    --pct-pale-blue: #eef8fd;
    --pct-line: #e7f0f5;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 20px;
    border: 1px solid #f3f6f8;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 45px rgba(0, 0, 0, .055);
    color: var(--pct-text);
    font-size: 18px;
    line-height: 1.45;
}

.pct-filter,
.pct-filter * {
    font-family: 'Pontano Sans', sans-serif !important;
}

.pct-filter * { box-sizing: border-box; }

.pct-filter .pct-categories,
.pct-filter .pct-subcategories {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pct-filter .pct-category {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    column-gap: 8px;
    margin: 0 0 4px;
    padding: 0;
    border: 0;
}

.pct-filter .pct-category > .pct-filter-link {
    grid-column: 2;
    grid-row: 1;
}

.pct-filter .pct-categories .pct-filter-link {
    display: block;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--pct-text);
    font-size: inherit;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0;
    text-decoration: none !important;
    overflow-wrap: anywhere;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.pct-filter .pct-categories .pct-filter-link:hover {
    border-color: var(--pct-line);
    background: #f7fbfd;
    color: var(--pct-blue-text);
}

.pct-filter .pct-categories .pct-filter-link.pct-active {
    border-color: #d7edf9;
    background: var(--pct-pale-blue);
    color: var(--pct-blue-text);
    font-weight: 700;
}

.pct-filter .pct-category.pct-all {
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--pct-line);
}

.pct-filter .pct-all > .pct-filter-link {
    grid-column: 1;
    padding: 12px 15px;
    color: var(--pct-blue-text);
    font-weight: 700;
}

.pct-filter .pct-categories .pct-toggle {
    grid-column: 1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 1px solid #d7edf9;
    border-radius: 8px;
    background: var(--pct-pale-blue);
    box-shadow: none;
    color: var(--pct-blue-text);
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.pct-filter .pct-categories .pct-toggle:hover {
    border-color: var(--pct-green);
    background: #f0fbf2;
    color: #288f3c;
}

.pct-filter .pct-categories .pct-toggle[aria-expanded="true"] {
    border-color: var(--pct-blue);
    background: var(--pct-blue);
    color: #fff;
}

.pct-filter .pct-subcategories {
    grid-column: 2;
    grid-row: 2;
    margin: 3px 0 8px 12px;
    padding: 2px 0 2px 9px;
    border-left: 1px solid #d7eaf5;
    font-size: .94em;
}

.pct-filter .pct-subcategories .pct-category {
    grid-template-columns: 22px minmax(0, 1fr);
    column-gap: 4px;
    margin-bottom: 2px;
}

.pct-filter .pct-subcategories .pct-filter-link { padding: 8px; }
.pct-filter .pct-subcategories .pct-toggle { width: 22px; height: 22px; font-size: 17px; border-radius: 7px; }
.pct-filter .pct-subcategories[hidden], .pct-query-state { display: none !important; }

.pct-filter .pct-status {
    margin: 12px 0 0;
    padding: 0;
    color: var(--pct-blue-text);
    font-size: 14px;
    line-height: 1.5;
}
.pct-filter .pct-status:empty { display: none; }
.pct-filter .pct-status.pct-error { color: #b42318; }

.pct-filter .pct-toggle:focus-visible,
.pct-filter .pct-filter-link:focus-visible {
    outline: 2px solid var(--pct-blue);
    outline-offset: 3px;
}

.pct-controlled { transition: opacity .15s ease; }
.pct-controlled.pct-loading { opacity: .45; }

@media (max-width: 767px) {
    .pct-filter { padding: 16px; border-radius: 20px; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .pct-filter .pct-filter-link,
    .pct-filter .pct-toggle,
    .pct-controlled { transition: none; }
}

.pct-product-description {
    font-family: 'Pontano Sans', sans-serif;
    color: #5e5e5e;
    line-height: 1.6;
}
.pct-product-description > :last-child { margin-bottom: 0; }
