/**
Theme Name: Astra Child
Author: Infinito AG
Author URI: https://www.infinitoag.com
Description: Tema desenvolvido sob medida para o projeto Parisotti.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

:root { --wpp-green: #25d366; --wpp-green-dark: #188f48; --wpp-forest: #153b32; --wpp-terracotta: #ad5c38; --wpp-text: #1e2824; --wpp-muted: #69756f; --wpp-border: #dfe5e1; --wpp-danger: #b42318; }
.twc, .twc * { box-sizing: border-box; }
.twc__floating-button { position: fixed; right: 20px; bottom: 20px; z-index: 9997; display: grid; width: 60px; height: 60px; padding: 14px; color: #fff; font-size: 25px; background: var(--wpp-green); border: 0; border-radius: 50%; box-shadow: 0 10px 28px rgb(0 0 0 / 24%); cursor: pointer; place-items: center; transition: transform 180ms ease, background-color 180ms ease; }
.twc__whatsapp-logo { color: #fff; font-size: 32px; line-height: 1; }
.twc__floating-button:hover { background: var(--wpp-green-dark); transform: translateY(-3px) scale(1.04); }
.twc__modal[hidden] { display: none; }
.twc__modal { position: fixed; z-index: 9998; inset: 0; display: grid; padding: 20px; overflow-y: auto; place-items: center; }
.twc__backdrop { position: fixed; background: rgb(8 25 20 / 68%); backdrop-filter: blur(4px); inset: 0; }
.twc__dialog { position: relative; width: min(100%, 470px); padding: 34px; color: var(--wpp-text); background: #fff; border-radius: 26px; box-shadow: 0 28px 80px rgb(0 0 0 / 35%); }
.twc__close { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; padding: 0; color: #52605a; font: 30px/1 Arial, sans-serif; background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.twc__heading-icon { display: grid; width: 54px; height: 54px; margin: 0 auto 16px; color: #fff; font-size: 25px; background: var(--wpp-green-dark); border-radius: 50%; place-items: center; }
.twc__title { margin: 0; color: var(--wpp-forest); font-size: 30px; line-height: 1.1; text-align: center; }
.twc__description { margin: 10px 0 24px; color: var(--wpp-muted); font-size: 14px; line-height: 1.55; text-align: center; }
.twc__form { display: grid; gap: 15px; }
.twc__field { display: grid; gap: 6px; }
.twc__field label { color: var(--wpp-forest); font-size: 13px; font-weight: 800; }
.twc__field input { width: 100%; min-height: 48px; padding: 11px 13px; color: var(--wpp-text); font-size: 15px; background: #fdfcf9; border: 1px solid var(--wpp-border); border-radius: 11px; }
.twc__field input:focus { border-color: var(--wpp-terracotta); box-shadow: 0 0 0 3px rgb(173 92 56 / 12%); outline: 0; }
.twc__consent { display: flex; gap: 10px; align-items: flex-start; color: var(--wpp-muted); font-size: 11px; line-height: 1.45; cursor: pointer; }
.twc__consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--wpp-terracotta); }
.twc__message { margin: 0; color: var(--wpp-danger); font-size: 12px; font-weight: 700; text-align: center; }
.twc__submit { display: flex; min-height: 52px; align-items: center; justify-content: center; gap: 10px; padding: 12px 18px; color: #fff; font-size: 14px; font-weight: 800; background: var(--wpp-green-dark); border: 0; border-radius: 999px; cursor: pointer; }
.twc__submit:disabled { cursor: wait; opacity: .72; }
.twc__spinner { width: 18px; height: 18px; border: 2px solid rgb(255 255 255 / 45%); border-top-color: #fff; border-radius: 50%; animation: twc-spin 700ms linear infinite; }
.twc__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.twc__privacy-note { margin: -5px 0 0; color: var(--wpp-muted); font-size: 10px; text-align: center; }
.twc__whatsapp-fallback { position: fixed; right: 20px; bottom: 92px; z-index: 9999; padding: 13px 18px; color: #fff; font-size: 14px; font-weight: 700; background: var(--wpp-green-dark); border-radius: 999px; box-shadow: 0 10px 28px rgb(0 0 0 / 24%); }
body.twc-modal-open { overflow: hidden; }
@keyframes twc-spin { to { transform: rotate(360deg); } }
@media (max-width: 520px) { .twc__floating-button { right: 14px; bottom: 14px; width: 56px; height: 56px; } .twc__modal { padding: 12px; align-items: end; } .twc__dialog { width: 100%; max-height: calc(100dvh - 24px); padding: 28px 20px 22px; overflow-y: auto; border-radius: 22px; } .twc__title { padding: 0 22px; font-size: 26px; } }

.parisotti-portal { color: var(--wpp-text); }
.parisotti-portal__header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--wpp-border); }
.parisotti-portal__title { margin: 0; color: var(--wpp-forest); font-size: 25px; }
.parisotti-portal__logout { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 9px 17px; color: #fff; font-weight: 700; background: var(--wpp-terracotta); border-radius: 4px; text-decoration: none; }
.parisotti-portal__logout:hover { color: #fff; background: var(--wpp-forest); }
.parisotti-portal__logout:focus-visible { outline: 2px solid var(--wpp-terracotta); outline-offset: 3px; }
.parisotti-portal__client { padding: 0 0 24px; }
.parisotti-portal__client + .parisotti-portal__client { padding-top: 22px; border-top: 1px solid var(--wpp-border); }
.parisotti-portal__client-title { margin: 0 0 14px; color: var(--wpp-forest); font-size: 21px; }
.parisotti-portal__category { border-top: 1px solid var(--wpp-border); }
.parisotti-portal__category:last-child { border-bottom: 1px solid var(--wpp-border); }
.parisotti-portal__category summary { position: relative; padding: 15px 38px 15px 0; color: var(--wpp-forest); font-weight: 700; cursor: pointer; list-style: none; }
.parisotti-portal__category summary::-webkit-details-marker { display: none; }
.parisotti-portal__category summary::after { position: absolute; top: 20px; right: 6px; width: 9px; height: 9px; border-right: 2px solid var(--wpp-terracotta); border-bottom: 2px solid var(--wpp-terracotta); content: ""; transform: rotate(45deg); transition: transform 160ms ease; }
.parisotti-portal__category[open] summary::after { transform: rotate(225deg); }
.parisotti-portal__materials { margin: 0; padding: 0 0 10px; list-style: none; }
.parisotti-portal__materials li + li { border-top: 1px solid #edf1ee; }
.parisotti-portal__materials a, .parisotti-portal__material-disabled { display: flex; min-height: 48px; align-items: center; gap: 11px; padding: 10px 12px; color: var(--wpp-text); text-decoration: none; }
.parisotti-portal__materials a:hover { color: var(--wpp-terracotta); }
.parisotti-portal__materials i { width: 18px; color: var(--wpp-terracotta); text-align: center; }
.parisotti-portal__materials a:focus-visible, .parisotti-portal__category summary:focus-visible { outline: 2px solid var(--wpp-terracotta); outline-offset: 3px; }
.parisotti-portal__material-disabled { color: var(--wpp-muted); }
.parisotti-portal__empty, .parisotti-portal__notice { color: var(--wpp-muted); }
@media (max-width: 520px) { .parisotti-portal__header { align-items: flex-start; } .parisotti-portal__title { font-size: 21px; } .parisotti-portal__logout { flex: 0 0 auto; } }
.parisotti-portal__login { width: min(100%, 460px); color: var(--wpp-text); }
.parisotti-portal__login {
    max-width: 500px;
    margin: 0 auto;
}
.parisotti-portal__login-title { margin: 0 0 20px; color: var(--wpp-forest); font-size: 25px; }
.parisotti-portal__login-form { display: grid; gap: 9px; }
.parisotti-portal__login-form > label:not(.parisotti-portal__remember) { color: var(--wpp-forest); font-size: 14px; font-weight: 700; }
.parisotti-portal__login-form > input { width: 100%; min-height: 46px; margin-bottom: 8px; padding: 10px 12px; color: var(--wpp-text); background: #fff; border: 1px solid var(--wpp-border); border-radius: 4px; }
.parisotti-portal__login-form > input:focus { border-color: var(--wpp-terracotta); outline: 2px solid rgb(173 92 56 / 16%); }
.parisotti-portal__remember { display: flex; align-items: center; gap: 8px; color: var(--wpp-muted); font-size: 14px; }
.parisotti-portal__remember input { accent-color: var(--wpp-forest); }
.parisotti-portal__login-form button { min-height: 46px; justify-self: start; margin-top: 8px; padding: 10px 22px; color: #fff; font-weight: 700; background: var(--wpp-forest); border: 0; border-radius: 4px; cursor: pointer; }
.parisotti-portal__login-form button:hover { background: var(--wpp-terracotta); }
.parisotti-portal__login-error { margin: 0 0 16px; padding: 11px 13px; color: var(--wpp-danger); background: #fff5f4; border-left: 3px solid var(--wpp-danger); }