/* Farcol: pedido de orcamento, Cassiopeia / Phoca Cart 6.1.9.
   Apenas apresentacao do checkout. Quantidades e validacao nativa mantidas.
   Remover este ficheiro para reverter, se nao tiver outros estilos acrescentados. */

body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-header,
body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-item {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) minmax(220px, 300px);
    gap: 1rem;
    align-items: start;
    margin-inline: 0;
}

body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-header > :is(.ph-checkout-cart-image, .ph-checkout-cart-product, .ph-checkout-cart-quantity),
body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-item > :is(.ph-checkout-cart-image, .ph-checkout-cart-title, .ph-checkout-cart-quantity) {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    flex: none !important;
}

body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-quantity {
    text-align: left;
    word-break: normal;
    overflow-wrap: normal;
}

body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-image img {
    max-width: 100%;
    height: auto;
}

/* Colunas e linhas monetarias do resumo, incluindo subtotal e total. */
body.com_phocacart.view-checkout .ph-checkout-cart-box :is(
    .ph-checkout-cart-netto,
    .ph-checkout-cart-tax,
    .ph-checkout-cart-brutto,
    .ph-cart-subtotal-box,
    .ph-cart-total-box,
    .ph-cart-tax-box,
    .ph-cart-currency-box,
    .ph-cart-coupon-box,
    .ph-cart-reward-discount-box,
    .ph-checkout-cart-row-subtotal,
    .ph-checkout-cart-row-subtotal-box,
    .ph-checkout-cart-row-total-box,
    .ph-checkout-cart-row-tax,
    .ph-checkout-cart-row-payment-box-tax,
    .ph-checkout-cart-row-shipping-box-tax,
    .ph-checkout-cart-row-currency-box,
    .ph-checkout-cart-row-currency-rounding-box,
    .ph-checkout-cart-row-discount-coupon-box,
    .ph-checkout-cart-row-discount-reward-box
) {
    display: none !important;
}

@media (max-width: 767px) {
    body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-header {
        display: none !important;
    }

    body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-item {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: .75rem;
    }

    body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-item > .ph-checkout-cart-image {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-item > .ph-checkout-cart-title {
        grid-column: 2;
        grid-row: 1;
    }

    body.com_phocacart.view-checkout .ph-checkout-cart-box .ph-checkout-cart-row-item > .ph-checkout-cart-quantity {
        grid-column: 2;
        grid-row: 2;
    }
}

/* ==========================================================
   FARCOL — Página Contactos
   Joomla 6 / com_contact
   ========================================================== */

body.com_contact.view-contact.farcol-contactos
.com-contact {
    max-width: 1100px;
    margin-inline: auto;
}

/* Título principal */
body.com_contact.view-contact.farcol-contactos
.com-contact > h1 {
    margin-bottom: 24px;
}

/* Introdução */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__intro {
    max-width: 850px;
    margin-bottom: 36px;
    line-height: 1.7;
}

/* Informações de contacto */
body.com_contact.view-contact.farcol-contactos
.com-contact__container {
    display: block;
    margin-bottom: 40px;
}

/* Dados de contacto */
body.com_contact.view-contact.farcol-contactos
.com-contact__info {
    display: block;
    margin-bottom: 24px;
}

/* Horário de funcionamento */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__horario {
    display: block;
    clear: both;
    margin-top: 24px;
    margin-bottom: 32px;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__horario h3 {
    margin-bottom: 12px;
    font-size: 1.2rem;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__horario p {
    line-height: 1.8;
    margin-bottom: 0;
}

/* Localização */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__localizacao {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid #e0e6dc;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__maps-link {
    display: inline-block;
    padding: 11px 20px;
    background: #468864;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    transition: background-color .2s ease;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__maps-link:hover,
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__maps-link:focus {
    background: #163a5c;
    color: #ffffff;
}

/* Mobile */
@media (max-width: 767px) {
    body.com_contact.view-contact.farcol-contactos
    .com-contact {
        width: 100%;
    }

    body.com_contact.view-contact.farcol-contactos
    .farcol-contactos__intro {
        margin-bottom: 28px;
    }

    body.com_contact.view-contact.farcol-contactos
    .farcol-contactos__localizacao {
        margin-top: 36px;
    }
}

/* ==========================================================
   FARCOL — Contactos: grelha responsiva
   Joomla 6.2 / com_contact
   ========================================================== */

/* Duas colunas no desktop */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 48px;
    align-items: start;
    margin-top: 32px;
    margin-bottom: 48px;
}

/* Colunas independentes */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__details,
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__form {
    min-width: 0;
}

/* Neutralizar a organização original do Cassiopeia */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__details .com-contact__container {
    display: block;
    margin: 0;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__details .com-contact__info {
    display: block;
    margin-bottom: 24px;
}

/* Formulário ocupa a largura da coluna */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__form .com-contact__form,
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__form form {
    width: 100%;
    max-width: 100%;
}

/* Campos responsivos */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__form :is(input, textarea, select) {
    max-width: 100%;
}

/* Espaçamento entre campos */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__form .control-group {
    margin-bottom: 16px;
}

/* Botão de envio */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__form button[type="submit"] {
    background: #468864;
    border-color: #468864;
    color: #ffffff;
    border-radius: 4px;
    padding: 11px 22px;
    font-weight: 600;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__form button[type="submit"]:hover {
    background: #163a5c;
    border-color: #163a5c;
    color: #ffffff;
}

/* Localização após a grelha */
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__localizacao {
    clear: both;
    margin-top: 24px;
}

/* Tablets e smartphones */
@media (max-width: 991px) {

    body.com_contact.view-contact.farcol-contactos
    .farcol-contactos__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

}

/* Smartphones */
@media (max-width: 575px) {

    body.com_contact.view-contact.farcol-contactos
    .farcol-contactos__grid {
        gap: 24px;
        margin-top: 24px;
        margin-bottom: 32px;
    }

    body.com_contact.view-contact.farcol-contactos
    .farcol-contactos__form button[type="submit"] {
        width: 100%;
        min-height: 44px;
    }

}

/* ==========================================
   FARCOL — Formulário Contactos
   Informação de privacidade
   ========================================== */

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__privacy {
    margin: 20px 0 18px;
    padding: 14px 16px;
    border-left: 3px solid #468864;
    background-color: #f5f8f6;
    border-radius: 0 4px 4px 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: #36453d;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__privacy p {
    margin: 0 0 8px;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__privacy p:last-child {
    margin-bottom: 0;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__privacy a {
    color: #246344;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.com_contact.view-contact.farcol-contactos
.farcol-contactos__privacy a:hover,
body.com_contact.view-contact.farcol-contactos
.farcol-contactos__privacy a:focus-visible {
    color: #163a5c;
}

@media (max-width: 575px) {
    body.com_contact.view-contact.farcol-contactos
    .farcol-contactos__privacy {
        margin-top: 16px;
        padding: 12px;
        font-size: 0.875rem;
    }
}
/* Acrescentar ao user.css existente; limitado à página Contactos. */
.farcol-contactos { --farcol-contact-icon: #468864; }
.farcol-contactos .farcol-contactos__pagamentos ul { list-style: none; padding-inline-start: 0; margin-block: 1rem; }
.farcol-contactos .farcol-contactos__pagamentos li { display: flex; align-items: center; gap: .75rem; margin-block: .65rem; }
.farcol-contactos .farcol-contactos__pagamentos li::marker { content: ''; }
.farcol-contactos .farcol-contactos__pagamentos li::before { content: none; }
.farcol-contactos .farcol-contactos__icon { width: 1.5rem; height: 1.5rem; flex: 0 0 1.5rem; color: var(--farcol-contact-icon); vertical-align: middle; }
/* Ícones nativos: selecionar apresentação por ícones e retirar imagens de marcador personalizadas. */
.farcol-contactos .com-contact__address :is(.icon-address,.icon-phone,.icon-home) { display: inline-block; width: 1.5rem; height: 1.5rem; background-color: var(--farcol-contact-icon); vertical-align: middle; -webkit-mask: var(--farcol-mask) center / contain no-repeat; mask: var(--farcol-mask) center / contain no-repeat; }
.farcol-contactos .com-contact__address :is(.icon-address,.icon-phone,.icon-home)::before { content: none; }
.farcol-contactos .com-contact__address .icon-address { --farcol-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2011-8%2011S4%2016%204%2010a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E"); }
.farcol-contactos .com-contact__address .icon-phone { --farcol-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7%203%203%205-3%202a15%2015%200%200%200%207%207l2-3%205%203-1%204C10%2022%202%2014%203%204l4-1Z%22%2F%3E%3C%2Fsvg%3E"); }
.farcol-contactos .com-contact__address .icon-home { --farcol-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2212%22%20rx%3D%224%22%20ry%3D%229%22%2F%3E%3Cpath%20d%3D%22M3%2012h18%22%2F%3E%3C%2Fsvg%3E"); }
@media (forced-colors: active) { .farcol-contactos { --farcol-contact-icon: CanvasText; } .farcol-contactos .com-contact__address :is(.icon-address,.icon-phone,.icon-home) { forced-color-adjust: none; } }
/* FARCOL — tema claro/escuro adaptado, revisão 2. */
:root {
  color-scheme: light;
  --farcol-bg: #fff;
  --farcol-surface: #f4f6f5;
  --farcol-text: #202923;
  --farcol-link: #28603f;
  --farcol-border: #717b75;
}
:root[data-farcol-theme="dark"] {
  color-scheme: dark;
  --farcol-bg: #151b18;
  --farcol-surface: #202923;
  --farcol-text: #edf3ef;
  --farcol-link: #96dab0;
  --farcol-border: #89978e;
  --fc-home-23382d: #edf3ef;
  --fc-home-477740: #a9d5ad;
  --fc-home-3f8c3a: #91cf9a;
  --fc-home-173d2b: #edf3ef;
  --fc-home-5d6c56: #c5d2c7;
  --fc-home-405c39: #c5d2c7;
  --fc-home-264b30: #96dab0;
  --fc-home-fff: #202923;
  --fc-home-547744: #a9d5ad;
  --fc-home-315c32: #96dab0;
  --fc-home-dfe6da: #46574a;
  --fc-home-f5f7f1: #29362e;
  --fc-home-507d3e: #96dab0;
  --fc-home-61705b: #c5d2c7;
  --fc-home-75946a: #a9d5ad;
  --fc-home-f8faf5: #202923;
  --fc-home-e5ebe0: #46574a;
  --fc-home-3d5539: #edf3ef;
  --fc-home-dfe6d9: #46574a;
  --fc-home-719767: #96dab0;
  --fc-home-334d30: #edf3ef;
  --fc-home-607057: #c5d2c7;
  --fc-home-e0e7da: #46574a;
  --fc-home-e1e7dc: #46574a;
  --fc-home-dfe6d8: #46574a;
  --fc-home-fafbf8: #29362e;
  --fc-home-e5ebde: #46574a;
  --fc-home-ccd9c5: #89978e;
  --fc-home-f4f7ef: #29362e;
  --fc-home-e6eddc: #35483a;
  --fc-header-fff: #202923;
  --fc-header-52614e: #c5d2c7;
  --fc-header-f4f5f1: #29362e;
  --fc-header-dce3d6: #89978e;
  --fc-header-5c6c56: #c5d2c7;
  --fc-header-bccbb6: #89978e;
  --fc-header-e4eadc: #35483a;
  --fc-header-254f24: #edf3ef;
  --fc-header-d7e2cd: #405b47;
  --fc-header-edf0e8: #46574a;
  --fc-header-f0f2ec: #202923;
  --fc-header-53634e: #c5d2c7;
  --fc-header-line: #46574a;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-farcol-theme]) {
  color-scheme: dark;
  --farcol-bg: #151b18;
  --farcol-surface: #202923;
  --farcol-text: #edf3ef;
  --farcol-link: #96dab0;
  --farcol-border: #89978e;
  --fc-home-23382d: #edf3ef;
  --fc-home-477740: #a9d5ad;
  --fc-home-3f8c3a: #91cf9a;
  --fc-home-173d2b: #edf3ef;
  --fc-home-5d6c56: #c5d2c7;
  --fc-home-405c39: #c5d2c7;
  --fc-home-264b30: #96dab0;
  --fc-home-fff: #202923;
  --fc-home-547744: #a9d5ad;
  --fc-home-315c32: #96dab0;
  --fc-home-dfe6da: #46574a;
  --fc-home-f5f7f1: #29362e;
  --fc-home-507d3e: #96dab0;
  --fc-home-61705b: #c5d2c7;
  --fc-home-75946a: #a9d5ad;
  --fc-home-f8faf5: #202923;
  --fc-home-e5ebe0: #46574a;
  --fc-home-3d5539: #edf3ef;
  --fc-home-dfe6d9: #46574a;
  --fc-home-719767: #96dab0;
  --fc-home-334d30: #edf3ef;
  --fc-home-607057: #c5d2c7;
  --fc-home-e0e7da: #46574a;
  --fc-home-e1e7dc: #46574a;
  --fc-home-dfe6d8: #46574a;
  --fc-home-fafbf8: #29362e;
  --fc-home-e5ebde: #46574a;
  --fc-home-ccd9c5: #89978e;
  --fc-home-f4f7ef: #29362e;
  --fc-home-e6eddc: #35483a;
  --fc-header-fff: #202923;
  --fc-header-52614e: #c5d2c7;
  --fc-header-f4f5f1: #29362e;
  --fc-header-dce3d6: #89978e;
  --fc-header-5c6c56: #c5d2c7;
  --fc-header-bccbb6: #89978e;
  --fc-header-e4eadc: #35483a;
  --fc-header-254f24: #edf3ef;
  --fc-header-d7e2cd: #405b47;
  --fc-header-edf0e8: #46574a;
  --fc-header-f0f2ec: #202923;
  --fc-header-53634e: #c5d2c7;
  --fc-header-line: #46574a;
  }
}
body.site {
  --body-bg: var(--farcol-bg);
  --body-color: var(--farcol-text);
  --link-color: var(--farcol-link);
  --link-hover-color: var(--farcol-link);
  --bs-body-bg: var(--farcol-bg);
  --bs-body-color: var(--farcol-text);
  --bs-heading-color: var(--farcol-text);
  --bs-link-color: var(--farcol-link);
  --bs-link-hover-color: var(--farcol-link);
  background-color: var(--farcol-bg);
  color: var(--farcol-text);
}
/* Cores dos links definidas por componente, incluindo botões e fotografias. */
body.site :is(.card,.moduletable) { background-color: var(--farcol-surface); color: var(--farcol-text); }
body.site :is(.form-control,.form-select) { background-color: var(--farcol-bg); color: var(--farcol-text); }
body.site :is(.form-control,.form-select):not(.is-invalid):not(.is-valid):not([aria-invalid="true"]):not(:invalid) { border-color: var(--farcol-border); }
body.site :is(.form-control,.form-select)::placeholder { color: var(--farcol-text); opacity: .75; }
body.site :is(a,button,input,textarea,select):focus-visible { outline: 3px solid var(--farcol-link); outline-offset: 3px; }
body.site .farcol-contactos { --farcol-contact-icon: var(--farcol-link); }
body.com_contact.view-contact.farcol-contactos .farcol-contactos__privacy { background-color: var(--farcol-surface); color: var(--farcol-text); }
body.com_contact.view-contact.farcol-contactos .farcol-contactos__privacy a { color: var(--farcol-link); }
body.com_contact.view-contact.farcol-contactos .farcol-contactos__privacy a:is(:hover,:focus-visible) { color: var(--farcol-link); }
body.com_contact.view-contact.farcol-contactos .farcol-contactos__localizacao { border-top-color: var(--farcol-border); }
@media (forced-colors: active) { body.site .farcol-contactos { --farcol-contact-icon: CanvasText; } }
/* FARCOL — TESTE 1: cores do catálogo e ficha do produto.
   Acrescentar UMA VEZ ao fim do user.css do child template.
   Usa os tokens do tema já instalado. Não altera dados, layout nem eventos.
   Remover este bloco para reverter. */

body.com_phocacart:is(.view-category,.view-item) {
  --fc-pc-action: #286731;
  --fc-pc-action-hover: #1c5125;
  --fc-pc-error: #a01919;
}
:root[data-farcol-theme="dark"] body.com_phocacart:is(.view-category,.view-item) {
  --fc-pc-error: #ffb4b4;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-farcol-theme]) body.com_phocacart:is(.view-category,.view-item) {
    --fc-pc-error: #ffb4b4;
  }
}

/* Separadores e respetivo conteúdo: manter o controlo de visibilidade nativo. */
body.com_phocacart.view-item #PcItemTab {
  background-color: var(--farcol-surface);
  border-color: var(--farcol-border);
}
body.com_phocacart.view-item #PcItemTab .nav-link {
  color: var(--farcol-link);
  background-color: transparent;
  border-color: transparent;
}
body.com_phocacart.view-item #PcItemTab .nav-link:is(:hover,:focus-visible) {
  color: var(--farcol-text);
  background-color: var(--farcol-bg);
  border-color: var(--farcol-border);
}
body.com_phocacart.view-item #PcItemTab .nav-link.active {
  color: var(--farcol-text);
  background-color: var(--farcol-bg);
  border-color: var(--farcol-border);
  border-bottom-color: var(--farcol-bg);
  box-shadow: inset 0 3px 0 var(--farcol-link);
}
body.com_phocacart.view-item #PcItemTab + .tab-content {
  background-color: var(--farcol-bg);
  color: var(--farcol-text);
  border-color: var(--farcol-border);
}
body.com_phocacart.view-item #PcItemTab + .tab-content > .tab-pane {
  color: var(--farcol-text);
}

/* Botões de ação: ambas as famílias de variáveis Bootstrap/Cassiopeia. */
body.com_phocacart:is(.view-category,.view-item) .pc-view .btn-primary {
  --btn-color: #fff;
  --btn-bg: var(--fc-pc-action);
  --btn-border-color: var(--fc-pc-action);
  --btn-hover-color: #fff;
  --btn-hover-bg: var(--fc-pc-action-hover);
  --btn-hover-border-color: var(--fc-pc-action-hover);
  --btn-active-color: #fff;
  --btn-active-bg: var(--fc-pc-action-hover);
  --btn-active-border-color: var(--fc-pc-action-hover);
  --btn-disabled-color: #fff;
  --btn-disabled-bg: var(--fc-pc-action);
  --btn-disabled-border-color: var(--fc-pc-action);
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--fc-pc-action);
  --bs-btn-border-color: var(--fc-pc-action);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--fc-pc-action-hover);
  --bs-btn-hover-border-color: var(--fc-pc-action-hover);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--fc-pc-action-hover);
  --bs-btn-active-border-color: var(--fc-pc-action-hover);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--fc-pc-action);
  --bs-btn-disabled-border-color: var(--fc-pc-action);
  color: #fff;
  background-color: var(--fc-pc-action);
  border-color: var(--fc-pc-action);
}
body.com_phocacart:is(.view-category,.view-item) .pc-view .btn-primary:is(:hover,:focus-visible,:active,.active) {
  color: #fff;
  background-color: var(--fc-pc-action-hover);
  border-color: var(--fc-pc-action-hover);
}
body.com_phocacart:is(.view-category,.view-item) .pc-view .btn-primary.active {
  outline: 2px solid var(--farcol-link);
  outline-offset: 2px;
}
body.com_phocacart:is(.view-category,.view-item) .pc-view .btn-secondary {
  color: var(--farcol-text);
  background-color: var(--farcol-surface);
  border-color: var(--farcol-border);
}
body.com_phocacart:is(.view-category,.view-item) .pc-view .btn-secondary:is(:hover,:focus-visible,:active) {
  color: var(--farcol-link);
  background-color: var(--farcol-bg);
  border-color: var(--farcol-link);
}

/* O SVG de fundo nativo é opaco e tapa a cor aplicada ao select.
   Usar a seta do navegador, conservando required e os estados de validação. */
body.com_phocacart:is(.view-category,.view-item) .pc-view select.form-select {
  color: var(--farcol-text);
  background-color: var(--farcol-bg);
  background-image: none;
  appearance: auto;
  padding-inline-end: 1rem;
}
body.com_phocacart:is(.view-category,.view-item) .pc-view select.form-select option {
  color: var(--farcol-text);
  background-color: var(--farcol-bg);
}
body.com_phocacart:is(.view-category,.view-item) .pc-view :is(.form-control,select.form-select):focus-visible {
  outline: 3px solid var(--farcol-link);
  outline-offset: 3px;
}

/* Trilho de navegação: o elemento atual estava demasiado escuro. */
body.com_phocacart:is(.view-category,.view-item) .mod-breadcrumbs {
  color: var(--farcol-text);
  background-color: var(--farcol-surface);
}
body.com_phocacart:is(.view-category,.view-item) .mod-breadcrumbs .breadcrumb-item.active,
body.com_phocacart:is(.view-category,.view-item) .mod-breadcrumbs .breadcrumb-item::before {
  color: var(--farcol-text);
}

/* Módulos laterais, mantendo filtros, marcas e recolha nativa dos grupos. */
body.com_phocacart:is(.view-category,.view-item) :is(.container-sidebar-left,.container-sidebar-right) .card {
  color: var(--farcol-text);
  background-color: var(--farcol-surface);
  border-color: var(--farcol-border);
}
body.com_phocacart:is(.view-category,.view-item) :is(.container-sidebar-left,.container-sidebar-right) .card-header {
  color: var(--farcol-text);
  background-color: transparent;
  border-color: var(--farcol-border);
}
body.com_phocacart:is(.view-category,.view-item) .ph-filter-box .panel-title a {
  color: var(--farcol-link);
}

/* Quantidades: apenas cores; o plugin e a validação continuam a controlar valores. */
body.com_phocacart.view-item .pc-view .farcol-quantity button {
  color: var(--farcol-text);
  background-color: var(--farcol-surface);
  border-color: var(--farcol-border);
}
body.com_phocacart.view-item .pc-view .farcol-quantity button:hover:not(:disabled) {
  color: var(--farcol-bg);
  background-color: var(--farcol-link);
}
body.com_phocacart.view-item .pc-view .farcol-quantity button:disabled { opacity: .55; }
body.com_phocacart.view-item .pc-view .farcol-quantity-rule-value {
  color: var(--farcol-text);
  background-color: var(--farcol-surface);
}
body.com_phocacart.view-item .pc-view .farcol-quantity-error { color: var(--fc-pc-error); }
body.com_phocacart.view-item .pc-view .farcol-quantity button:focus-visible {
  outline-color: var(--farcol-link);
}

/* Documentos e pictogramas podem ter preto/transparência incorporados.
   A base branca mantém a leitura do CE e das fotografias nos dois temas. */
body.com_phocacart.view-item #phdescription img { background-color: #fff; }

/* Não alterar cores embutidas nas tabelas do conteúdo importado nesta fase.
   Os cabeçalhos de downloads mantêm a combinação clara original.
   Este bloco não altera display dos painéis nem o estado dos controlos. */
/* FARCOL — TESTE 2: categorias principais e indicador do separador.
   Acrescentar UMA VEZ ao fim do user.css, depois do TESTE 1.
   Apenas cores. Mantém títulos, grelha, links e funcionamento nativo. */

/* A faixa inferior é um pseudo-elemento do Cassiopeia. */
body.com_phocacart.view-item #PcItemTab .nav-link.active::after {
  background-color: var(--farcol-link);
  opacity: 1;
}
/* Usar apenas a faixa inferior para identificar o separador ativo. */
body.com_phocacart.view-item #PcItemTab .nav-link.active {
  box-shadow: none;
}

/* A página /produtos tem view-categories, distinta de view-category. */
body.com_phocacart.view-categories {
  --fc-pc-action: #286731;
  --fc-pc-action-hover: #1c5125;
}
body.com_phocacart.view-categories .pc-view .btn-primary {
  --btn-color: #fff;
  --btn-bg: var(--fc-pc-action);
  --btn-border-color: var(--fc-pc-action);
  --btn-hover-color: #fff;
  --btn-hover-bg: var(--fc-pc-action-hover);
  --btn-hover-border-color: var(--fc-pc-action-hover);
  --btn-active-color: #fff;
  --btn-active-bg: var(--fc-pc-action-hover);
  --btn-active-border-color: var(--fc-pc-action-hover);
  --btn-disabled-color: #fff;
  --btn-disabled-bg: var(--fc-pc-action);
  --btn-disabled-border-color: var(--fc-pc-action);
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--fc-pc-action);
  --bs-btn-border-color: var(--fc-pc-action);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--fc-pc-action-hover);
  --bs-btn-hover-border-color: var(--fc-pc-action-hover);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--fc-pc-action-hover);
  --bs-btn-active-border-color: var(--fc-pc-action-hover);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--fc-pc-action);
  --bs-btn-disabled-border-color: var(--fc-pc-action);
  color: #fff;
  background-color: var(--fc-pc-action);
  border-color: var(--fc-pc-action);
}
body.com_phocacart.view-categories .pc-view .btn-primary:is(:hover,:focus-visible,:active,.active) {
  color: #fff;
  background-color: var(--fc-pc-action-hover);
  border-color: var(--fc-pc-action-hover);
}
body.com_phocacart.view-categories .mod-breadcrumbs {
  color: var(--farcol-text);
  background-color: var(--farcol-surface);
}
body.com_phocacart.view-categories .mod-breadcrumbs .breadcrumb-item.active,
body.com_phocacart.view-categories .mod-breadcrumbs .breadcrumb-item::before {
  color: var(--farcol-text);
}
body.com_phocacart.view-categories :is(.container-sidebar-left,.container-sidebar-right) .card {
  color: var(--farcol-text);
  background-color: var(--farcol-surface);
  border-color: var(--farcol-border);
}
body.com_phocacart.view-categories :is(.container-sidebar-left,.container-sidebar-right) .card-header {
  color: var(--farcol-text);
  background-color: transparent;
  border-color: var(--farcol-border);
}
body.com_phocacart.view-categories .ph-filter-box .panel-title a {
  color: var(--farcol-link);
}
