/* Institutional pages, account, search, 404 (templates/page*.html, no-title.html, 404.html, search.html). */
.an-page { padding-top: 28px !important; padding-bottom: 56px !important; }
.an-page__title { font-size: var(--wp--preset--font-size--xx-large) !important; letter-spacing: -.02em; margin-top: 0 !important; margin-bottom: 20px !important; }
.an-page__content { font-size: 16.5px; line-height: 1.65; }
.an-page__content h2 { font-size: 24px; margin-top: 1.6em; }
.an-page__content h3 { font-size: 19px; margin-top: 1.4em; }
.an-page__content details { background: #fff; border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--ring); padding: 14px 18px; margin: 10px 0; }
.an-page__content details summary { font-weight: 590; cursor: pointer; }
/* FAQ cards sit on dark bands too (Suporte): keep their own dark text, answers in body colour */
.an-page__content details, .an-page__content details summary { color: var(--wp--preset--color--text) !important; }
.an-page__content details p, .an-page__content details p.has-primary-color { color: var(--wp--preset--color--muted) !important; margin: 10px 0 0; }
.an-page__content details[open] summary { color: var(--wp--preset--color--brand) !important; }
.an-page__content table { border-collapse: collapse; width: 100%; background: #fff; border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--ring); overflow: hidden; font-size: 15px; }
.an-page__content :where(td, th) { padding: 10px 14px; border-bottom: 1px solid var(--wp--preset--color--border); text-align: left; vertical-align: top; }
.an-page__content .wp-block-separator { border-color: var(--wp--preset--color--border); opacity: 1; }

/* Colour names from the previous theme (extendable) still used by page content */
.has-primary-color, .has-custom-primary-blue-color { color: var(--wp--preset--color--brand) !important; }
.has-primary-background-color { background-color: var(--wp--preset--color--action) !important; color: #fff; }
.has-tertiary-color { color: var(--wp--preset--color--text) !important; }
.has-tertiary-background-color { background-color: var(--wp--preset--color--tint) !important; }
.has-foreground-color { color: var(--wp--preset--color--text) !important; }
.has-foreground-background-color { background-color: var(--wp--preset--color--slate-deep) !important; }
.has-custom-footer-bg-background-color { background-color: var(--wp--preset--color--deep) !important; color: #fff; }
.has-large-font-size { font-size: var(--wp--preset--font-size--x-large) !important; }

/* Forms (WPForms: quote request, support) */
.wpforms-container .wpforms-field input, .wpforms-container .wpforms-field select, .wpforms-container .wpforms-field textarea {
	border: 1px solid var(--wp--preset--color--border-strong) !important; border-radius: var(--wp--custom--radius--control) !important; min-height: 44px; font: inherit !important; font-size: 16px !important;
}
.wpforms-container .wpforms-field label.wpforms-field-label { font-weight: 590 !important; font-size: 15px !important; color: var(--wp--preset--color--text) !important; }
.wpforms-container button[type=submit], .wpforms-container .wpforms-submit {
	background: var(--wp--preset--color--action) !important; color: #fff !important; border: 0 !important; border-radius: var(--wp--custom--radius--control) !important; min-height: 48px !important; padding: 0 24px !important; font-weight: 590 !important; font-size: 16px !important;
}
.wpforms-container button[type=submit]:hover { background: var(--wp--preset--color--action-hover) !important; }
.wpforms-container { --wpforms-button-background-color: var(--wp--preset--color--action); --wpforms-field-border-color: var(--wp--preset--color--border-strong); --wpforms-page-break-color: var(--wp--preset--color--action); }

/* My account (WooCommerce classic) */
.woocommerce-account .an-page__content { max-width: 1100px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 9999px; background: #fff; box-shadow: var(--wp--preset--shadow--ring); color: var(--wp--preset--color--text); text-decoration: none; font-size: 15px; font-weight: 510; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--wp--preset--color--action); color: #fff; box-shadow: none; }
.woocommerce-MyAccount-content, .woocommerce form.login, .woocommerce form.register, .woocommerce-ResetPassword { background: #fff; border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--ring); padding: 20px; }
.woocommerce form.login, .woocommerce form.register { border: 0 !important; margin: 0 0 18px !important; }
.woocommerce-MyAccount-content, .woocommerce form.login, .woocommerce form.register, .woocommerce-ResetPassword, .woocommerce-MyAccount-content .woocommerce-form-row input { box-sizing: border-box; }
.woocommerce-MyAccount-content .commentlist.notes { padding-left: 1.2em; overflow-wrap: anywhere; }
@media (max-width: 768px) { .woocommerce-orders-table .woocommerce-button { display: flex !important; margin: 6px 0 !important; } } /* woocommerce-smallscreen sets block */
.woocommerce :where(form .form-row) label { font-weight: 590; font-size: 15px; }
.woocommerce :where(form .form-row) input.input-text { width: 100%; min-height: 44px; padding: 0 12px; }
.woocommerce :where(button.button, a.button, input.button) { display: inline-flex; align-items: center; justify-content: center; line-height: 1.2; background: var(--wp--preset--color--action) !important; color: #fff !important; border-radius: var(--wp--custom--radius--control) !important; min-height: 44px; padding: 0 20px !important; font-weight: 590 !important; border: 0 !important; }
.woocommerce :where(button.button, a.button):hover { background: var(--wp--preset--color--action-hover) !important; }
.woocommerce table.shop_table { border-radius: var(--wp--custom--radius--card); border-color: var(--wp--preset--color--border); font-size: 15px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--wp--preset--color--brand) !important; background: #fff !important; border-radius: var(--wp--custom--radius--control); box-shadow: var(--wp--preset--shadow--ring); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--wp--preset--color--brand) !important; }
.u-columns.col2-set, .woocommerce-Addresses.col2-set { display: grid; gap: 18px; }
.col2-set::before, .col2-set::after { display: none !important; } /* clearfix pseudo-elements would become grid cells */
.col2-set > div { width: auto !important; float: none !important; }
@media (min-width: 901px) { .u-columns.col2-set, .woocommerce-Addresses.col2-set { grid-template-columns: 1fr 1fr; } .woocommerce-MyAccount-content { padding: 24px 28px; } }

/* Search results (non-product) and 404 */
.an-results .wp-block-post-title { font-size: 20px !important; margin: 22px 0 6px; }
.an-results .wp-block-post-excerpt { color: var(--wp--preset--color--muted); }
.an-notfound { text-align: center; padding: 24px 0; }
.an-notfound h1 { font-size: var(--wp--preset--font-size--xx-large); letter-spacing: -.02em; margin: 8px 0 10px; }
.an-notfound > p { color: var(--wp--preset--color--muted); }
.an-notfound__search { display: flex; gap: 8px; max-width: 560px; margin: 22px auto; }
.an-notfound__search input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; font-size: 16px; }
.an-notfound__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 10px 0 22px; }
.an-notfound__help { font-size: 15px; }
