/*
 * Theme Name:  RSC Theme
 * Template:    blocksy
 * Description: Tema filho do Blocksy para a Rede Sementes do Cerrado
 * Version:     1.0.0
 * Author:      Rede Sementes do Cerrado
 * Text Domain: rsc-theme
 */

/* =========================================================
   Design System – Rede Sementes do Cerrado
   ========================================================= */

:root {
    /* --- Brand Colors --- */
    --color-pure-terracota:     #B84F26;
    --color-light-areia:        #FFFDE8;
    --color-light-palha:        #E4B365;
    --color-light-dourado:      #C27429;
    --color-light-laranja-neon: #FF6328;
    --color-dark-verde:         #525122;
    --color-dark-marrom:        #544017;
    --color-dark-azul:          #25495B;
    --color-dark-cinza:         #404041;

    /* --- Neutral Colors --- */
    --color-low-pure:   #000000;
    --color-low-dark:   #333333;
    --color-low-light:  #666666;
    --color-high-pure:  #FFFFFF;
    --color-high-light: #F5F5F5;
    --color-high-dark:  #D0D0D0;

    /* --- Feedback Colors --- */
    --color-warning-pure:  #C93C36;
    --color-warning-light: #FFD3C2;
    --color-warning-dark:  #8E2700;
    --color-helper-pure:   #96B940;
    --color-helper-light:  #D7D69E;
    --color-helper-dark:   #3E8989;

    /* --- Typography --- */
    --font-family-highlight: 'Vollkorn', serif;
    --font-family-base:      'Titillium Web', sans-serif;

    --font-weight-light:   300;
    --font-weight-regular: 400;
    --font-weight-medium:  500;
    --font-weight-bold:    700;

    --line-height-tight:   1.2;
    --line-height-normal:  1.5;
    --line-height-relaxed: 1.7;
}

/* =========================================================
   Base Typography
   ========================================================= */
html {
    scroll-padding-top: 120px !important;
}

body {
    font-family: var(--font-family-base);
    font-size: 16px;
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-relaxed);
    color: var(--color-low-dark);
	background: #fff !important;
}

h1, h2, h3 {
    font-family: var(--font-family-highlight);
    line-height: var(--line-height-tight);
}

h4, h5, h6 {
    font-family: var(--font-family-base);
    line-height: var(--line-height-normal);
}

h1 {
    font-size:   48px !important;
    font-weight: var(--font-weight-bold)!important;
    line-height: 1 !important;
    color:       #8F2700;
}

h2 {
    font-size: 32px;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
}

h3 {
    font-size: 24px;
    font-weight: var(--font-weight-regular);
}

.rsc-h3-italic {
    font-family:     'Vollkorn', serif;
    font-weight:     400;
    font-style:      italic;
    font-size:       24px;
    line-height:     1.2;
    letter-spacing:  0;
}

h4 {
    font-size: 18px;
    font-weight: var(--font-weight-regular);
}

/* H4 */
.rsc-h4-italic-bold {
    font-family:  'Titillium Web', sans-serif;
    font-style:   italic;
    font-weight:  700;
    font-size:    18px;
    line-height:  150%;
    color:        #000000;
}
.rsc-h4-bold {
    font-family:  'Titillium Web', sans-serif;
    font-weight:  700;
    font-size:    18px;
    line-height:  150%;
    color:        #000000;
}

h5 {
    font-size: 16px;
    font-weight: var(--font-weight-bold);
}

h6 {
    font-size: 14px;
    font-weight: var(--font-weight-regular);
}
.rsc-h6-bold{
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    font-style: Bold;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    color: #000000;
}
.rsc-h6-bold a {
	color: #000;
}
.rsc-h6-bold a:hover{
	opacity: 0.8;
	color: inherit;
}
p,
.text-base, .wp-block-group.text-base, .wp-block-paragraph.text-base {
    font-family: var(--font-family-base) ;
    font-size:   16px ;
    font-weight: var(--font-weight-regular) ;
    line-height: var(--line-height-normal) ;
    color:#000000 ;
}

small,
.text-small {
    font-family: var(--font-family-base);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-normal);
}

/* =========================================================
   Links & Buttons
   ========================================================= */

a {
    color: var(--color-pure-terracota);
}

a:hover {
    color: none !important;
}

.wp-block-button__link,
.wp-element-button {
    background-color: var(--color-pure-terracota);
    color: var(--color-high-pure);
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-bold);
    border-radius: 4px;
    border: none;
    transition: background-color 0.2s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
    background-color: var(--color-dark-marrom) !important;
    color: var(--color-high-pure);
}

/* =========================================================
   Feedback / Alert Patterns
   ========================================================= */

.alert-success {
    background-color: var(--color-helper-light);
    border-left: 4px solid var(--color-helper-pure);
    color: var(--color-low-dark);
    padding: 12px 16px;
}

.alert-error {
    background-color: var(--color-warning-light);
    border-left: 4px solid var(--color-warning-pure);
    color: var(--color-low-dark);
    padding: 12px 16px;
}

/* =========================================================
   Card Pattern
   ========================================================= */

.card {
    background-color: var(--color-high-pure);
    border: 1px solid var(--color-high-dark);
    border-radius: 8px;
    padding: 24px;
}

.card-title {
    font-family: var(--font-family-highlight);
    font-size: 24px;
    font-weight: var(--font-weight-bold);
    color: var(--color-dark-cinza);
    margin-bottom: 12px;
}

.card-text {
    font-size: 16px;
    line-height: var(--line-height-relaxed);
    color: var(--color-low-light);
}

/* =========================================================
   Footer
   ========================================================= */

.rsc-footer {
    background-color: var(--color-warning-dark);
    color: var(--color-high-pure);
}

/* Main area */

.rsc-footer__main {
    padding: 56px 0;
}

.rsc-footer__inner {
    display: grid;
    grid-template-columns: 200px 1fr 300px;
    gap: 48px 115px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
    align-items: start;
}

/* Col 1 – Logo */

.rsc-footer__logo {
    display: block;
    text-decoration: none;
}

.rsc-footer__logo img {
    width: 160px;
    height: auto;
    display: block;
}

/* Col 2 – Menu */

.rsc-footer__menu {
    columns: 3;
    column-gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rsc-footer__menu > li {
    break-inside: avoid;
    margin-bottom: 24px;
    margin-right: 46px;
}

.rsc-footer__menu > li > a {
    font-family: var(--font-family-base);
    font-size: 14px;
    font-weight: var(--font-weight-bold);
    color: var(--color-high-pure);
    text-decoration: none;
    display: block;
    margin-bottom: 8px;
    transition: opacity 0.2s ease;
}

.rsc-footer__menu > li > a:hover {
    opacity: 0.75;
    color: var(--color-high-pure);
}

.rsc-footer__menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rsc-footer__menu .sub-menu li {
    margin-bottom: 4px;
}

.rsc-footer__menu .sub-menu a {
    font-family: var(--font-family-base);
    font-size: 14px;
    font-weight: var(--font-weight-regular);
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    display: block;
    line-height: var(--line-height-normal);
    transition: opacity 0.2s ease;
}

.rsc-footer__menu .sub-menu a:hover {
    color: #FFFDE8;
}

/* Col 3 – Newsletter + Social */

.rsc-footer__newsletter-title {
    color: #FFFDE8;
	font-family: Titillium Web;
	font-weight: 700;
	font-style: Bold;
	font-size: 32px;
	line-height: 90%;
	letter-spacing: 0%;
}

.rsc-footer__newsletter-desc {
    font-family: Titillium Web;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	line-height: 100%;
	letter-spacing: 0%;
	color: #FFFFFF;
}

.rsc-footer__newsletter-form {
    margin-bottom: 40px;
}

/* Estilos genéricos para formulários de newsletter injetados via shortcode */
.rsc-footer__newsletter-form input[type="email"],
.rsc-footer__newsletter-form input[type="text"] {
    width: 100%;
    padding: 10px 14px;
    border: none;
    border-radius: 4px 0 0 4px;
    font-family: var(--font-family-base);
    font-size: 14px;
    color: var(--color-low-dark);
    background-color: var(--color-high-pure);
    outline: none;
    box-sizing: border-box;
}

.rsc-footer__newsletter-form form {
    display: flex;
}

.rsc-footer__newsletter-form input[type="submit"],
.rsc-footer__newsletter-form button[type="submit"] {
    padding: 10px 18px;
    background-color: var(--color-dark-marrom);
    color: var(--color-high-pure);
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease;	
	font-family: Titillium Web;
	font-weight: 700;
	font-style: Bold;
	font-size: 18px;
	line-height: 100%;
	letter-spacing: 0%;
}

.rsc-footer__newsletter-form input[type="submit"]:hover,
.rsc-footer__newsletter-form button[type="submit"]:hover {
    background-color: var(--color-dark-cinza);
}
@media (max-width: 768px) {
    .rsc-footer__logo img {
        padding: 0 16px;
    }
}

/* Social */

.rsc-footer__social {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.rsc-footer__social-label {
    color: var(--color-high-pure);
	font-family: Titillium Web;
	font-weight: 400;
	font-style: Regular;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0%;
}

.rsc-footer__social-list {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rsc-footer__social-link {
    display: flex;
    align-items: center;
    color: var(--color-high-pure);
    transition: opacity 0.2s ease;
}

.rsc-footer__social-link:hover {
    opacity: 0.7;
    color: var(--color-high-pure);
}

.rsc-footer__social-link svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    display: block;
}

/* Sub-footer */

.rsc-footer__bottom {
    background-color: #404041;
    padding: 14px 0;
}

.rsc-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
}

.rsc-footer__bottom-terms {
    font-family: var(--font-family-base);
    font-size: 13px;
    font-weight: var(--font-weight-bold);
    color: var(--color-high-pure);
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.rsc-footer__bottom-terms:hover {
    opacity: 0.75;
    color: var(--color-high-pure);
}

.rsc-footer__bottom-credits {
    font-family: var(--font-family-base);
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
}

.rsc-footer__bottom-credits a {
    color: var(--color-high-pure);
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.rsc-footer__bottom-credits a:hover {
    opacity: 0.75;
    color: var(--color-high-pure);
}

/* =========================================================
   Footer — mobile (max-width: 480px)
   ========================================================= */

@media (max-width: 480px) {

    /* Container */
    .rsc-footer__main {
        padding: 0 0 0 0;
    }

    /* Inner: coluna única */
    .rsc-footer__inner {
        display: flex;
        flex-direction: column;
        padding: 0;
        gap: 0;
        max-width: 100%;
    }

    /* Col 1: Logo centralizado */
    .rsc-footer__col--brand {
        display: flex;
        justify-content: center;
        margin-top: 32px;
    }

    .rsc-footer__logo {
        display: block;
        width: 358px;
        max-width: 100%;
    }

    .rsc-footer__logo img {
        width: 358px;
        max-width: 100%;
        height: 137px;
        object-fit: contain;
        display: block;
    }

    /* Col 2: Menu em 2 colunas */
    .rsc-footer__col--nav {
        padding: 32px 16px 0;
        margin-top: 16px;
    }

    .rsc-footer__menu {
        columns: 2;
        column-gap: 16px;
    }

    .rsc-footer__menu > li {
        break-inside: avoid;
        margin-bottom: 24px;
    }

    .rsc-footer__menu > li > a {
        font-size: 14px;
        line-height: 21px;
        font-weight: 700;
        color: #ffffff;
        margin-bottom: 4px;
    }

    .rsc-footer__menu .sub-menu a {
        font-size: 14px;
        line-height: 21px;
        color: #ffffff;
    }

    /* Col 3: Newsletter + Social */
    .rsc-footer__col--newsletter {
        padding: 0 58px;
        margin-top: 40px;
    }

    .rsc-footer__newsletter-title {
        font-family: 'Titillium Web', sans-serif;
        font-size: 32px;
        line-height: 0.9;
        color: #fffde8;
        margin-bottom: 16px;
    }

    .rsc-footer__newsletter-desc {
        font-size: 16px;
        line-height: 24px;
        color: #ffffff;
        margin-bottom: 24px;
    }

    /* Form: input + botão em linha */
    .rsc-footer__newsletter-form {
        margin-bottom: 0;
    }

    .rsc-footer__newsletter-form form {
        display: flex;
        flex-direction: row;
        width: 100%;
    }

    .rsc-footer__newsletter-form input[type="email"],
    .rsc-footer__newsletter-form input[type="text"] {
        flex: 1;
        width: auto;
        height: 40px;
        padding: 8px 24px;
        background: rgba(255, 255, 255, 0.8);
        border: 1px solid #8f2700;
        border-right: none;
        border-radius: 8px 0 0 8px;
        font-family: 'Titillium Web', sans-serif;
        font-size: 16px;
        line-height: 24px;
        color: #8f2700;
        box-sizing: border-box;
    }

    .rsc-footer__newsletter-form input[type="submit"],
    .rsc-footer__newsletter-form button[type="submit"] {
        min-width: 105px;
        height: 40px;
        padding: 6px 24px;
        background: #404041;
        border: 1px solid #8f2700;
        border-radius: 0 8px 8px 0;
        font-family: 'Titillium Web', sans-serif;
        font-size: 18px;
        font-weight: 700;
        line-height: 27px;
        color: #ffffff;
        cursor: pointer;
        white-space: nowrap;
    }

    /* Social */
    .rsc-footer__social {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0;
        margin-top: 32px;
        flex-wrap: nowrap;
        margin-bottom: 50px;
    }

    .rsc-footer__social-label {
        font-size: 14px;
        line-height: 21px;
        font-weight: 400;
        color: #ffffff;
        white-space: nowrap;
        margin-right: 16px;
    }

    .rsc-footer__social-list {
        display: flex;
        gap: 24px;
        align-items: center;
    }

    .rsc-footer__social-link svg {
        width: 16px;
        height: 16px;
        fill: #fffde8;
    }

    /* Bottom bar */
    .rsc-footer__bottom {
        height: 52px;
        padding: 0;
    }

    .rsc-footer__bottom-inner {
        height: 52px;
        padding: 0 16px;
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
    }

    .rsc-footer__bottom-terms {
        font-size: 12px;
        line-height: 18px;
        font-weight: 700;
    }

    .rsc-footer__bottom-credits {
        font-size: 12px;
        line-height: 18px;
        text-align: right;
    }

    .rsc-footer__bottom-credits a {
        font-weight: 700;
    }

} /* fim @media (max-width: 480px) — footer mobile */

/* =========================================================
   Home — zera todas as margens/padding/max-width do Blocksy
   ========================================================= */

/* Redefinir variáveis do Blocksy para o container da home */
.home .ct-container-full {
    --theme-container-edge-spacing: 100vw;  /* Blocksy usa isso como max-width do inner */
    --theme-content-vertical-spacing: 0px;
    --theme-content-spacing: 0px;
    padding: 0 !important;
    max-width: 100% !important;
}

/* Zera os data-attributes de spacing vertical */
.home [data-vertical-spacing] {
    --theme-content-vertical-spacing: 0px !important;
}

/* Article sem padding/margin/max-width */
.home article.hentry,
.home #post-38 {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* entry-content: full-width sem padding e sem gap entre blocos */
.home .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Zera o margin-block-start entre os blocos filhos diretos
   (gerado por :root :where(.is-layout-constrained) > * { margin-block-start: var(--theme-content-spacing) }) */
.home .entry-content > *,
.home .entry-content.is-layout-constrained > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

/* =========================================================
   Seção Redes e Grupos
   ========================================================= */

/* Wrapper full-width com imagem de fundo */
.rsc-redes-grupos {
    position: relative;
    background-color: var(--color-pure-terracota);
    background-image: var(--rsc-redes-bg, none);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.rsc-redes-grupos::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(142, 39, 0, 0.72);
    z-index: 0;
    pointer-events: none;
}

/* Container interno — padrão header/footer */
.rsc-redes-grupos__inner {
    position: relative;
    z-index: 1;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 80px 32px !important;
}

/* Grid das colunas */
.rsc-redes-grupos__cols {
    align-items: center !important;
    gap: 64px !important;
}

/* Coluna esquerda */
.rsc-redes-grupos__col-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.rsc-redes-grupos__title {
    font-family: var(--font-family-highlight) !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

.rsc-redes-grupos__desc {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: rgba(255,255,255,0.88) !important;
    margin: 0 !important;
    max-width: 480px;
}

.rsc-redes-grupos__btn .wp-block-button__link {
    background-color: transparent !important;
    border: 2px solid rgba(255,255,255,0.7) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 13px 36px !important;
    border-radius: 4px !important;
    transition: background 0.2s, border-color 0.2s !important;
}

.rsc-redes-grupos__btn .wp-block-button__link:hover {
    background-color: #fff !important;
    color: var(--color-pure-terracota) !important;
    border-color: #fff !important;
}

/* Coluna direita */
.rsc-redes-grupos__col-right {
    display: flex;
    flex-direction: column;
}

.rsc-redes-grupos__lists {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.rsc-redes-grupos__list-block + .rsc-redes-grupos__list-block {
    margin-top: 32px;
}

.rsc-redes-grupos__list-title {
    font-family: var(--font-family-base) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--color-light-palha) !important;
    margin: 0 0 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(255,255,255,0.2) !important;
}

.rsc-redes-grupos__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.rsc-redes-grupos__list li {
    padding: 0 !important;
    font-family: var(--font-family-base);
    font-size: 15px;
    line-height: 1.4;
    color: rgba(255,255,255,0.9);
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 10px !important;
}

.rsc-redes-grupos__list li:last-child {
    border-bottom: none;
    padding-bottom: 0 !important;
}

.rsc-redes-grupos__list li a {
    color: rgba(255,255,255,0.9);
    text-decoration: none;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rsc-redes-grupos__list li a::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 2px;
    background: var(--color-light-palha);
    flex-shrink: 0;
    transition: width 0.2s;
}

.rsc-redes-grupos__list li a:hover {
    color: #fff;
}

.rsc-redes-grupos__list li a:hover::before {
    width: 24px;
}

/* Responsivo */
@media (max-width: 900px) {
    .rsc-redes-grupos__title {
        font-size: 32px !important;
    }
}

@media (max-width: 768px) {
    .rsc-redes-grupos__inner {
        padding: 56px 24px !important;
    }
    .rsc-redes-grupos__cols {
        flex-direction: column !important;
        gap: 40px !important;
    }
    .rsc-redes-grupos__desc {
        max-width: 100%;
    }
}

/* =========================================================
   Accessibility
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   Header
   ========================================================= */

.rsc-header {
    background-color: var(--color-light-areia);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 0;
    z-index: 100;
    transition: box-shadow 0.3s ease;
	padding: 12.5px 0;
	min-height: 96px;
}

.admin-bar .rsc-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .rsc-header {
        top: 46px;
    }
	#rsc-search-form {
		position: fixed !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: 350px !important;
		top: 100px !important;
	}
	button.rsc-header__search-btn {
		margin-right: 40px !important;
	}
	.rsc-header {
        position: fixed !important;
        left: 0;
        width: 100%;
        z-index: 1000 !important;
        background-color: #FFFDE8 !important;
		padding-top: 25px;
    }

    nav#site-navigation {
        position: fixed !important;
        top: 97px !important; /* Altura do header mobile */
        height: calc(100vh - 97px) !important;
        z-index: 999 !important;
        padding-top: 0 !important;
        background-color: #FFFDE8 !important;
    }

    /* Esconde o botão de fechar interno que estava sobrando no mobile */
    nav#site-navigation .rsc-nav-close {
        display: none !important;
    }
}

.rsc-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px; /* Ajuste o padding lateral conforme necessário */
    max-width: 1440px;
    margin: 0 auto
}

/* Logo */

.rsc-header__logo {
    flex-shrink: 0;
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
}

.rsc-header__logo-principal {
    height: 64px;
    width: auto;
    display: block;
    opacity: 1;
    transition: opacity 0.25s ease;
}

.rsc-header__logo-sticky {
    height: 44px;
    width: auto;
    display: block;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    transition: opacity 0.25s ease;
}

/* Sticky / scrolled state */

.rsc-header--scrolled {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.09);
	padding: initial;
	display: flex ;
    align-items: center;
}

.rsc-header--scrolled .rsc-header__logo-principal {
    opacity: 0;
    pointer-events: none;
}

.rsc-header--scrolled .rsc-header__logo-sticky {
    opacity: 1;
    pointer-events: auto;
}

/* Navigation */

#site-navigation {
    margin-left: auto; /* Empurra o menu todo para junto da busca */
    margin-right: 30px; /* Espaço entre o menu e a lupa de busca */
}

.rsc-header__nav {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.rsc-header__menu {
    display: flex;
    gap: 10px; 
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.rsc-header--scrolled .rsc-header__menu {
	gap: 20px; 
}

.rsc-header__menu > li > a {
    font-family: Titillium Web;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0%;
    display: flex;
    align-items: center;
    gap: 4px;
    color: #000;
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 4px;
    white-space: nowrap;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.rsc-header__menu > li > a:hover,
.rsc-header__menu > li:hover > a {
    color: var(--color-pure-terracota);
    background-color: rgba(184, 79, 38, 0.07);
}

/* Chevron para itens com filhos */
.rsc-header__menu > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.rsc-header__menu > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Submenu */
.rsc-header__menu li.menu-item-has-children {
    position: relative;
}

.rsc-header__menu .sub-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 210px;
    list-style: none;
    margin: 0;
    padding: 8px;
    background-color: var(--color-high-pure);
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    z-index: 200;
}

.rsc-header__menu li.menu-item-has-children:hover > .sub-menu,
.rsc-header__menu li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.rsc-header__menu .sub-menu a {
    display: block;
    font-family: var(--font-family-base);
    font-size: 14px;
    font-weight: var(--font-weight-regular);
    color: var(--color-low-dark);
    text-decoration: none;
    padding: 9px 14px;
    border-radius: 4px;
    white-space: nowrap;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.rsc-header__menu .sub-menu a:hover {
    color: var(--color-pure-terracota);
    background-color: rgba(184, 79, 38, 0.07);
}

/* Search */

.rsc-header__search-wrap {
    flex-shrink: 0;
    position: relative;
    display: flex;
    align-items: center;
}

.rsc-header__search-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--color-dark-cinza);
    border-radius: 4px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    transition: color 0.2s ease, background-color 0.2s ease,
                opacity 0.22s ease, transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.rsc-header__search-btn:hover {
    color: var(--color-pure-terracota);
    background-color: rgba(184, 79, 38, 0.07);
}

.rsc-header__search-btn svg {
    width: 20px;
    height: 20px;
    fill: #404041;
    display: block;
}

/* Botão desliza para a direita ao abrir */
.rsc-header__search-wrap.is-open .rsc-header__search-btn {
    opacity: 0;
    transform: translateX(36px);
    pointer-events: none;
}

/* Form inline — expande para a esquerda a partir do botão */
.rsc-header__search-form {
    position: absolute;
    right: 44px;             /* ancora à esquerda do botão */
    top: 50%;
    transform: translateY(-50%);
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    z-index: 200;
    transition: max-width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.22s ease;
}

/* Visibilidade controlada por CSS — ignorar o atributo hidden */
.rsc-header__search-form[hidden] {
    display: block;
}

/* Form aberto */
.rsc-header__search-wrap.is-open .rsc-header__search-form {
    max-width: 360px;
    opacity: 1;
}

.rsc-header__search-form .search-form {
    display: flex;
    gap: 0;
    align-items: center;
    white-space: nowrap;
    padding-right: 8px;
}

.rsc-header__search-form .search-field {
    width: 260px;
    padding: 6px 10px 6px 0;
    border: none;
    border-bottom: 2px solid var(--color-dark-cinza);
    border-radius: 0;
    font-family: var(--font-family-base);
    font-size: 15px;
    color: var(--color-low-dark);
    background: transparent;
    outline: none;
    transition: border-color 0.2s ease;
}

.rsc-header__search-form .search-field:focus {
    border-color: var(--color-pure-terracota);
}

.rsc-header__search-form .search-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 8px;
    background: none;
    color: var(--color-dark-cinza);
    border: none;
    cursor: pointer;
    flex-shrink: 0;
    transition: color 0.2s ease;
}

.rsc-header__search-form .search-submit:hover {
    color: var(--color-pure-terracota);
}

/* ── Hamburger button ── */

.rsc-header__hamburger {
    display: none;
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--color-dark-cinza);
    border-radius: 4px;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.rsc-header__hamburger:hover {
    color: var(--color-pure-terracota);
    background-color: rgba(184, 79, 38, 0.07);
}

.rsc-header__hamburger-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: currentColor;
    border-radius: 2px;
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.rsc-header__hamburger[aria-expanded="true"] .rsc-header__hamburger-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.rsc-header__hamburger[aria-expanded="true"] .rsc-header__hamburger-bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.rsc-header__hamburger[aria-expanded="true"] .rsc-header__hamburger-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ── Nav close button (inside mobile drawer) ── */

.rsc-nav-close {
    display: none;
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--color-dark-cinza);
    border-radius: 4px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.rsc-nav-close:hover {
    color: var(--color-pure-terracota);
    background-color: rgba(184, 79, 38, 0.07);
}

.rsc-nav-close svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
    display: block;
}

/* ── Mobile nav backdrop ── */

.rsc-header__nav-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 98;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* ── Mobile layout (≤ 1024 px) ── */

@media (max-width: 1024px) {

    /* Header inner: hamburger left + search right, logo centered via absolute */
    .rsc-header__inner {
        gap: 0;
        padding: 0 16px;
        justify-content: space-between;
    }

    .rsc-header--scrolled .rsc-header__inner {
        height: 60px;
    }

    /* Hamburger: shown, left side */
    .rsc-header__hamburger {
        display: flex;
    }

    /* Logo: absolute center */
    .rsc-header__logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        flex-shrink: 0;
    }

    .rsc-header__logo-principal {
        height: 65px;
    }

    /* Nav: slide-in drawer from left */
    .rsc-header__nav {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(300px, 85vw);
        background-color: var(--color-light-areia);
        z-index: 99;
        overflow-y: auto;
        padding: 80px 24px 40px;
        transform: translateX(-100%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        flex: none;
        display: block;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
    }

    .rsc-header__nav.rsc-nav--open {
        transform: translateX(0);
    }

    /* Close button inside drawer */
    .rsc-nav-close {
        display: flex;
    }

    /* Backdrop: só aparece quando o menu está aberto (via JS) */
    .rsc-header__nav-backdrop.rsc-nav--open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    /* Mobile menu list */
    .rsc-header__menu {
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
    }

    .rsc-header__menu > li > a {
        font-size: 16px;
        padding: 13px 16px;
        border-radius: 6px;
    }

    /* Chevron alinhado à direita no mobile */
    .rsc-header__menu > li.menu-item-has-children > a::after {
        margin-left: auto;
    }

    /* Submenu mobile: estático, oculto por padrão, toggled via JS */
    .rsc-header__menu li.menu-item-has-children {
        position: static;
    }

    .rsc-header__menu .sub-menu {
        position: static;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        padding: 4px 0 4px 12px;
        background-color: transparent;
        border-radius: 0;
        display: none;
        transition: none;
    }

    .rsc-header__menu li.menu-item-has-children.rsc-submenu--open > .sub-menu {
        display: block;
    }

    .rsc-header__menu .sub-menu a {
        white-space: normal;
        padding: 9px 12px;
    }

    /* Search wrap alinha-se à direita normalmente no flex */
    .rsc-header__search-wrap {
        flex-shrink: 0;
    }
	/* Mantém o logo principal visível mesmo com o scroll */
	.rsc-header--scrolled .rsc-header__logo-principal {
		opacity: 1 !important;
		pointer-events: auto !important;
		visibility: visible !important;
	}

	/* Mantém o logo sticky escondido no mobile */
	.rsc-header--scrolled .rsc-header__logo-sticky {
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
	/* 1. Impede a mudança de altura do container interno */
	.rsc-header--scrolled .rsc-header__inner {
		height: 96px !important; /* Ou a altura original que você deseja manter */
	}

	/* 2. Garante que o logo não mude de posição vertical */
	.rsc-header--scrolled .rsc-header__logo {
		top: 12.5px !important; /* Trava na posição original */
	}

	/* 3. Impede mudanças de espaçamento (gap) no menu/icones se houver */
	.rsc-header--scrolled .rsc-header__menu,
	.rsc-header--scrolled .rsc-header__search-wrap {
		gap: initial !important; 
		margin: 0 !important;
	}
}

/* Mobile layout 480px or less */

@media (max-width: 480px) {
    .wp-block-group.alignfull.is-layout-constrained.wp-block-group-is-layout-constrained.has-background {
        padding: unset;
    }
    .sqf-texto { 
        margin-top: 12%;
    }
    img.rsc-ds-impacto-titulo__img {
        width: 150%;
        text-align: left;
        margin-left: -25%;
    }
    .rsc-sti__titulo{
        font-size: 32px !important;
    }
    .rsc-lista-icones__texto{
        font-size: 16px !important;
    }
    input[type="search"] {
        width: 150px !important;
    }
	.rsc-header__search-btn {
		pointer-events: auto !important;
	}
	.rsc-header--scrolled .rsc-header__logo-principal {
		opacity: none !important;
		pointer-events: none;
	}
	.rsc-header__logo-sticky{
		display: none !important;
	}
	.rsc-header.rsc-header--scrolled {
		padding-top: 0;
		padding-bottom: 0;
		height: 96px !important;
		display: block;
	}

}
/* =========================================================
   Pre-Header
   ========================================================= */

.rsc-pre-header {
    background-color: var(--color-pure-terracota);
    width: 100%;
}

.rsc-pre-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
    height: 40px;
}

/* Social links */

.rsc-pre-header__social {
    display: flex;
    align-items: center;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rsc-pre-header__social-link {
    display: flex;
    align-items: center;
    color: var(--color-high-pure);
    transition: opacity 0.2s ease;
}

.rsc-pre-header__social-link:hover,
.rsc-pre-header__social-link:focus-visible {
    color: var(--color-high-pure);
    opacity: 0.7;
}

.rsc-pre-header__social-link svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    display: block;
}

/* Language selector */

.rsc-pre-header__lang {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--color-high-pure);
    font-family: var(--font-family-base);
    font-size: 13px;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.rsc-pre-header__lang:hover {
    opacity: 0.7;
}

.rsc-pre-header__lang svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    display: block;
}

.rsc-pre-header__chevron {
    width: 18px !important;
    height: 18px !important;
}

.hs-botao a{
    color: #fff;
}

/* ── O que fazemos — background decorativo ── */
.section-oqfazemos-bg {
    background-image: url('./layout-guide/background-oqfazemos.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
/*Alinhamento full*/
.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
/* Background principio home */
.bg-principios{
    background-size: auto !important;
    background-repeat: no-repeat !important;
}
.ct-container-full {
    padding-top: 0 !important;
    padding-bottom: 16px !important;
}
input[type="search"] {
    width: 250px !important;
    border: solid 1px var(--color-pure-terracota) !important;
}
.ct-search-form-controls .wp-element-button{
    border: none;
}
.pd-side-content-rsc{
    padding-left: 16px !important;
    padding-right: 16px !important;
}
.hide-title-section-menu-ancora{
    visibility: hidden !important;
    margin-bottom: -50px !important;
}

/*Classe para trabalhar com elementos em diferentes tamanhos de tela*/
/* Esconde o bloco desktop em telas pequenas (celulares) */
@media (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }
}

/* Esconde o bloco mobile em telas grandes (computadores) */
@media (min-width: 769px) {
    .hide-desktop {
        display: none !important;
    }
	.cl-bloco {
		padding-top: 2.5%;
	}
}
.hs-destaque{
	color: #FFD3C2;
}
section.rtpg-secao.alignfull.wp-block-rtc-projetos-grid {
    background-color: #fff;
}
.rtpg-grid{
	max-width: 1440px;
}
a.rtc-link-todos {
    margin-top: -54px;
}
.cl-bloco {
    max-width: 280px;
	padding-top: 25%;
}
.cl-card{
	min-height: 584px;
}
.rtc-secao{
	background-size: 100%;
    background-position: 0 100%;
	padding-top: 24px;
}
.oqfazemos-bloco{
	background-position: -69px -57px;
	background-repeat: no-repeat;
	background-color: #fff;
}
.nl-link-todas{
	margin-top: 5px;
}
.sb-secao{
	padding-top: 0;
}

.rsc-menu-ancora {
  top: 400px;
}

div#o-que-fazemos {
    padding-top: 0 !important;
}
section.rsc-sti.wp-block-rsc-secao-texto-imagem {
    margin-top: 80px;
}
.rsc-submenu__link.is-ativo{
	border-bottom-color: #E4B365;
}
.rsc-submenu__link{
	color: #c27429;
}

/* ============================================
   RSC — Contact Form 7 — Estilos personalizados
   Prefixo: .wpcf7 (escopo do plugin CF7)
   Tokens extraídos do Figma
   ============================================ */

/* ── Reset base do formulário CF7 ── */
.wpcf7 form {
  display: flex;
  flex-direction: column;
  gap: 8px;           /* espaço entre campos: top 408→456→504→552 = 48px - 40px altura = 8px */
  width: 100%;
  max-width: 470px;
}

/* ── Wrapper de cada campo (p gerado pelo CF7) ── */
.wpcf7 form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.wpcf7 form p {
  margin: 0;          /* CF7 envolve cada campo em <p> — remover margin padrão */
}

/* ── Inputs de texto e email (altura 40px) ──
   Campos: Seu nome, Email, Assunto
   Figma: width 470px, height 40px, padding 8px 16px,
          background #F5F5F5, border-radius 8px,
          font Titillium Web 400 16px, line-height 150%, color #000000
*/
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form input[type="url"] {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 16px;
  gap: 8px;

  width: 100%;
  max-width: 470px;
  height: 40px;

  background: #F5F5F5;
  border: none;
  border-radius: 8px;
  outline: none;

  font-family: 'Titillium Web', sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;  /* 24px */
  color: #000000;

  box-sizing: border-box;
  transition: background 0.2s, box-shadow 0.2s;
}

/* Placeholder nos inputs */
.wpcf7 form input[type="text"]::placeholder,
.wpcf7 form input[type="email"]::placeholder,
.wpcf7 form input[type="tel"]::placeholder,
.wpcf7 form input[type="url"]::placeholder {
  font-family: 'Titillium Web', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #000000;
  opacity: 0.6;
}

/* Focus nos inputs */
.wpcf7 form input[type="text"]:focus,
.wpcf7 form input[type="email"]:focus,
.wpcf7 form input[type="tel"]:focus,
.wpcf7 form input[type="url"]:focus {
  background: #ebebeb;
  box-shadow: 0 0 0 2px rgba(143, 39, 0, 0.2);
  outline: none;
}

/* ── Textarea "Sua mensagem" (altura 210px) ──
   Figma: width 470px, height 210px, padding 8px 16px,
          align-items flex-start (texto alinha no topo),
          background #F5F5F5, border-radius 8px,
          font Titillium Web 400 16px, color #000000
*/
.wpcf7 form textarea {
  display: flex;
  flex-direction: row;
  align-items: flex-start;  /* texto começa no topo */
  padding: 8px 16px;
  gap: 8px;

  width: 100%;
  max-width: 470px;
  height: 210px;            /* valor exato do Figma */

  background: #F5F5F5;
  border: none;
  border-radius: 8px;
  outline: none;
  resize: vertical;         /* permite redimensionar verticalmente */

  font-family: 'Titillium Web', sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;        /* 24px */
  color: #000000;

  box-sizing: border-box;
  transition: background 0.2s, box-shadow 0.2s;
}

/* Placeholder da textarea */
.wpcf7 form textarea::placeholder {
  font-family: 'Titillium Web', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #000000;
  opacity: 0.6;
}

/* Focus na textarea */
.wpcf7 form textarea:focus {
  background: #ebebeb;
  box-shadow: 0 0 0 2px rgba(143, 39, 0, 0.2);
  outline: none;
}

/* ── Botão Enviar ──
   Figma: width 108px, height 51px, padding 16px 32px,
          background #8F2700, border-radius 4px,
          font Titillium Web Bold 16px, line-height 120%,
          color #FFFDE8, alinhado à DIREITA do formulário
*/
.wpcf7 form input[type="submit"],
.wpcf7 form .wpcf7-submit {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 16px 32px;
  gap: 8px;

  width: 108px;
  height: 51px;

  /* Alinhar à direita */
  align-self: flex-end;
  margin-left: auto;
  margin-top: 8px;          /* respiro acima do botão */

  background: #8F2700;
  border: none;
  border-radius: 4px;
  cursor: pointer;

  font-family: 'Titillium Web', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 120%;        /* ~19px */
  text-align: center;
  color: #FFFDE8;

  transition: background 0.2s;
  white-space: nowrap;
}

/* Hover e focus do botão */
.wpcf7 form input[type="submit"]:hover,
.wpcf7 form .wpcf7-submit:hover {
  background: #7a2100;
}

.wpcf7 form input[type="submit"]:focus,
.wpcf7 form .wpcf7-submit:focus {
  outline: 2px solid rgba(143, 39, 0, 0.4);
  outline-offset: 2px;
}

/* Estado de loading (CF7 adiciona .wpcf7-form.submitting) */
.wpcf7 form.submitting input[type="submit"],
.wpcf7 form.submitting .wpcf7-submit {
  opacity: 0.7;
  cursor: not-allowed;
}

/* ── Mensagens de validação e resposta CF7 ── */

/* Campo inválido */
.wpcf7 form .wpcf7-not-valid {
  border-bottom: 2px solid #cc0000 !important;
  background: #fff5f5 !important;
}

/* Tooltip de erro */
.wpcf7 form .wpcf7-not-valid-tip {
  font-family: 'Titillium Web', sans-serif;
  font-size: 12px;
  color: #cc0000;
  margin-top: 4px;
  display: block;
}

/* Mensagem de resposta (sucesso / erro geral) */
.wpcf7 form .wpcf7-response-output {
  font-family: 'Titillium Web', sans-serif;
  font-size: 14px;
  margin: 12px 0 0;
  padding: 10px 16px;
  border-radius: 4px;
  border: none;
}

/* Mensagem de sucesso */
.wpcf7 form.sent .wpcf7-response-output {
  background: rgba(122, 145, 40, 0.1);
  color: #5e7018;
  border-left: 3px solid #7a9128;
}

/* Mensagem de erro geral */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  background: rgba(255, 211, 194, 0.4);
  color: #8F2700;
  border-left: 3px solid #8F2700;
}

/* ── Ocultar labels (CF7 usa placeholder no lugar) ── */
.wpcf7 form label {
  display: none;
}

/* ── Responsivo ── */
@media (max-width: 640px) {
  .wpcf7 form {
    max-width: 100%;
  }

  .wpcf7 form input[type="text"],
  .wpcf7 form input[type="email"],
  .wpcf7 form input[type="tel"],
  .wpcf7 form input[type="url"],
  .wpcf7 form textarea {
    max-width: 100%;
    width: 100%;
  }

  .wpcf7 form input[type="submit"],
  .wpcf7 form .wpcf7-submit {
    width: 100%;         /* botão full-width em mobile */
    margin-left: 0;
  }
}
/* Força 2 colunas no mobile para o bloco Gutenberg */
@media (max-width: 781px) {
    .btn-nosso-acervo {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--wp--style--block-gap, 1.5em); /* Mantém o espaçamento padrão do seu tema */
    }
    
    .btn-nosso-acervo > .wp-block-column {
        width: 100% !important; /* Sobrescreve a largura do flexbox nativo */
        margin-left: 0 !important; /* Remove margens residuais do Gutenberg */
    }
}
/* Container do formulário (fechado) */
div#rsc-search-form {
    background-color: #fffde8;
    position: absolute;
    right: 0;
    width: 320px;
    height: auto;
    padding: 20px;
    z-index: 999;
    
    /* SEGURANÇA PARA O CLIQUE: */
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* Impede que ele bloqueie o botão */
    transition: opacity 0.3s, visibility 0.3s;
}


/* Ajuste no botão de pesquisa para garantir que ele fique visível/clicável */
button.rsc-header__search-btn {
    position: relative;
    z-index: 1000; /* Maior que o form para ser clicável */
}

div#rsc-search-form {
    background-color: #fffde8; /* Cor creme da imagem */
    position: absolute;
    right: 0;
    width: 320px; /* Ajuste conforme necessário */
    height: auto;
    padding: 20px;
    box-shadow: none; /* Remover sombras se houver */
    z-index: 999;
}
div#rsc-search-form input[type="search"] {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px solid #b84f26 !important; /* Cor marrom da marca */
    border-radius: 0 !important;
    padding: 10px 40px 10px 0 !important; /* Espaço para o ícone à direita */
    width: 100% !important;
    font-family: 'Titillium Web', sans-serif;
    color: #3a4f66;
}
.ct-search-form-controls {
    position: absolute;
    right: 20px;
    bottom: 0; /* Ajuste para alinhar com a linha */
    background: transparent !important;
}

.ct-search-form-controls button {
    background: transparent !important;
    color: #3a4f66 !important;
    padding: 0 !important;
}

/* Esconde o botão original do cabeçalho quando a pesquisa abre */
.rsc-header__search-wrap.is-open .rsc-header__search-btn {
    display: none !important;
}

/* Garante que o container de pesquisa ocupe o espaço correto */
.rsc-header__search-wrap.is-open {
    position: relative;
	left: -30px;
}

/* Ajuste no botão interno (o que deve ficar) */
.ct-search-form-controls button.wp-element-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Se você precisar de um botão para fechar a pesquisa (o 'X' da imagem) */
/* Verifique se o seu tema já tem um botão de fechar, caso contrário, precisaremos adicionar um via JS ou CSS */
/* --- AJUSTES DO MENU E BUSCA (ESTILO RSC) --- */

/* 1. Container da busca */
.rsc-header__search-wrap {
    position: relative;
}

/* 2. O formulário de busca (Dropdown) */
#rsc-search-form {
    position: absolute;
    top: 97px; /* Ajuste para ficar logo abaixo do menu */
    right: 0 !important;
    width: 350px !important;
    background-color: #fffde8 !important; /* Fundo Bege */
    padding: 20px !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
    z-index: 1000 !important;
    display: none; /* Escondido até o clique */
}

/* Mostrar o formulário quando o botão for clicado (classe is-open) */
.rsc-header__search-wrap.is-open #rsc-search-form {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 3. Estilo do Botão Principal (Lupa / X) */
.rsc-header__search-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 30px !important;
    height: 30px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
}

/* Esconder a Lupa original quando a busca está aberta */
/*
.rsc-header__search-wrap.is-open .rsc-header__search-btn svg {
    display: none !important;
}
*/

/* Criar o ícone de 'X' (fechar) via CSS */
.rsc-header__search-wrap.is-open .rsc-header__search-btn::before {
    content: "✕" !important;
    font-size: 20px !important;
    color: #404041 !important;
    font-weight: bold !important;
    display: block !important;
}

/* 4. Esconder a lupa interna (dentro do box) */
#rsc-search-form .wp-element-button,
#rsc-search-form .ct-search-form-controls {
    display: none !important;
}

/* 5. Estilo da linha marrom do campo de texto */
#rsc-search-form input[type="search"] {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1.5px solid #b84f26 !important; /* Linha Marrom */
    padding: 10px 0 !important;
    font-size: 16px !important;
    color: #404041 !important;
    outline: none !important;
}
/*Tainacan Single*/
span.tsi-meta__valor a {
    color: #8F2700;
}
/*Altera o placeholder do search*/
#rsc-search-form input[type="search"]::placeholder {
    color: #000;
    opacity: 1; /* Garante que a cor não seja afetada pela transparência padrão de alguns navegadores */
}

/* Para compatibilidade com navegadores mais antigos ou específicos */
#rsc-search-form input[type="search"]::-webkit-input-placeholder {
    color: #000;
}

#rsc-search-form input[type="search"]::-moz-placeholder {
    color: #000;
}

#rsc-search-form input[type="search"]:-ms-input-placeholder {
    color: #000;
}
/* Garante que o container dos controles da busca esteja visível */
#rsc-search-form .ct-search-form-controls {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10;
}

/* Garante que o botão da lupa esteja visível */
#rsc-search-form button[type="submit"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
}

/* Ajusta a cor e o tamanho do ícone SVG da lupa */
#rsc-search-form button[type="submit"] svg {
    fill: #000 !important;
    width: 14px !important;
    height: 20px !important;
    margin-bottom: 18px;
}

/* Garante que o botão de abrir/fechar busca esteja visível quando aberto */
.rsc-header__search-wrap.is-open .rsc-header__search-btn {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative;
    z-index: 999;
}

/* Transforma o ícone da lupa em um X quando a busca está aberta */
.rsc-header__search-wrap.is-open .rsc-header__search-btn svg {
    transition: transform 0.3s ease;
}

/* Se o seu tema não troca o ícone via JS, podemos forçar o desenho de um X com CSS ou trocar o Path */
.rsc-header__search-wrap.is-open .rsc-header__search-btn svg path {
    d: path("M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z");
}
.rsc-header__search-wrap.is-open .rsc-header__search-btn {
  display: flex;
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 9999;
}
/* Força o botão a aparecer quando a busca estiver aberta */
.rsc-header__search-wrap.is-open .rsc-header__search-btn {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 9999 !important; /* Garante que fique acima de tudo no wrap */
    position: relative !important;
}

/* Ajusta o formulário para não cobrir o botão */
#rsc-search-form {
    z-index: 1000 !important;
}

/* Força a volta do botão mesmo com o código inline tentando esconder */
body .rsc-header__search-wrap.is-open .rsc-header__search-btn {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.rsc-header__search-wrap.is-open .rsc-header__search-btn svg {
    height: 14px; /* Ajuste conforme necessário, era 20px */
    width: auto;
}

/*CSS Adicional */
div#rsc-search-form {
    background-color: #fffde8; /* Cor creme da imagem */
    position: absolute;
    top: 94px;
    right: 0;
    width: 320px; /* Ajuste conforme necessário */
    height: auto;
    padding: 20px;
    box-shadow: none; /* Remover sombras se houver */
    z-index: 999;
}
.ct-search-form-controls {
    position: absolute;
    right: 20px;
    bottom: 0; /* Ajuste para alinhar com a linha */
    background: transparent !important;
}

.ct-search-form-controls button {
    background: transparent !important;
    color: #3a4f66 !important;
    padding: 0 !important;
}
/* Container do formulário (fechado) */
div#rsc-search-form {
    background-color: #fffde8;
    position: absolute;
    width: 320px;
    height: auto;
    padding: 20px;
    z-index: 999;
    
    /* SEGURANÇA PARA O CLIQUE: */
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* Impede que ele bloqueie o botão */
    transition: opacity 0.3s, visibility 0.3s;
}

/* Quando o formulário está ABERTO */
.is-open div#rsc-search-form {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; /* Volta a permitir cliques para digitar na pesquisa */
}

/* Ajuste no botão de pesquisa para garantir que ele fique visível/clicável */
button.rsc-header__search-btn {
  /* Bounding box */
  	width: 24px !important;
  	height: 24px !important;
	position: relative;
  	z-index: 1000; /* Maior que o form para ser clicável */
  
  /* Reset de margens e paddings para garantir o tamanho exato */
  margin: 0 !important;
  padding: 0 !important;
  border: none;

  /* Inside auto layout */
  flex: none !important;
  order: 3 !important;
  flex-grow: 0 !important;
  
  /* Centralizar o ícone internamente */
  display: flex !important;
  align-items: center;
  justify-content: center;

}
button.rsc-header__search-btn svg {
  /* Cor do ícone */
  fill: #1C1B1F !important;
  width: 24px; 
  height: 24px;
}
/* Garante que nao apareca 2 x*/
button.rsc-header__search-btn[aria-expanded="true"] svg {
  display: none;
}
/* Esconde o botão original do cabeçalho quando a pesquisa abre */
.rsc-header__search-wrap.is-open .rsc-header__search-btn {
    display: none !important;
}

/* Garante que o container de pesquisa ocupe o espaço correto */
.rsc-header__search-wrap.is-open {
    position: relative;
}
.rsc-conteudo ul a, .rsc-conteudo li a {
    color: #8F2700;
}
/* Ajuste no botão interno (o que deve ficar) */
.ct-search-form-controls button.wp-element-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
h1.title-parceiros-apoiadores{
	font-family: Vollkorn;
	font-weight: 700;
	font-style: Bold;
	font-size: 48px;
	line-height: 100%;
	letter-spacing: 0%;
	color: #D7D69E;
	margin-top: -25%;
	margin-bottom: 25%;
	z-index: 2;
	position: relative;
}
.tsi-metadados-lista .tsi-meta:first-child {
    display: none;
}
@media (max-width: 782px) {
	html {
		scroll-padding-top: 176px !important;
	}
    /* 1. Ajustes do Container Principal */
    .mobile-pre-header-container {
        padding: 20px 18px;
        display: block;
    }

    .mobile-pre-header-container .rsc-pre-header {
        background: transparent !important;
        height: auto !important;
    }

    /* 2. Inversão da Ordem via Flexbox */
    .mobile-pre-header-container .rsc-pre-header__inner {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        height: auto !important;
    }

    /* Idioma Primeiro (Ordem 1) */
    .mobile-pre-header-container .rsc-pre-header__lang-group {
        order: 1 !important;
        margin-left: 0 !important;
        margin-bottom: 20px !important;
        justify-content: flex-start;
        gap: 20px;
        margin: 0px;
        padding-left: 10px;
        width: 100%;
        max-width: none;
        align-items: flex-start;
        padding: 0px;
    }

    /* Redes Sociais Depois (Ordem 2) */
    .mobile-pre-header-container .rsc-pre-header__social {
        order: 2 !important;
        display: flex !important;
        justify-content: flex-start !important;
        gap: 20px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
		padding-left: 10px;
		width: 100%;
		max-width: none;
		align-items: flex-start;
		padding: 0px;
    }

    /* 3. Ajustes de Cores (Ícones Pretos) */
    .mobile-pre-header-container .rsc-pre-header__lang-text {
        color: #333 !important;
        text-decoration: none !important;
    }

    .mobile-pre-header-container .rsc-pre-header__lang-icon {
        stroke: #333 !important;
    }

    .mobile-pre-header-container .rsc-pre-header__lang-arrow {
        fill: #333 !important;
    }

    .mobile-pre-header-container .rsc-pre-header__social-link svg {
        width: 18px !important;
        height: 18px !important;
        fill: #000 !important;
    }
}
/* Oculta a pre-header em telas de desktop (acima de 1024px) */
@media (max-width: 768px) {
	.rsc-pre-header {
		display: none !important;
	}
	.rsc-imagem__img{
		min-height: 128px;
	}
	.rsc-imagem__credito{
		display:none;
	}
	.title-parceiros-apoiadores{
		font-size: 30px !important;
        margin-top: -30% !important;
        margin-bottom: 30% !important;
	}
}
.wp-element-button, .wp-block-button__link{
    color: var(--theme-button-text-initial-color) !important;
    background-color: var(--color-pure-terracota) !important;
}
/*Mailer Lite news styles*/
/* Container principal para alinhar lado a lado */
.mailerlite-form-inputs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    max-width: 600px;
    margin: 0;
}

/* Ajuste do campo de email */
#mailerlite-1-field-email {
    background-color: #dfc5bc !important;
    color: #8e2311 !important;
    border: none !important;
    padding: 10px 20px !important;
    height: 40px !important;
    flex-grow: 1 !important;
    border-radius: 12px 0 0 12px !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Corrigir o input ao clicar (foco) */
#mailerlite-1-field-email:focus {
    background-color: #ffffff !important;
    color: #333333 !important;
    outline: none !important;
    box-shadow: inset 0 0 0 1px #3e3e3e !important;
}

/* Ajuste do botão */
.mailerlite-subscribe-submit {
    background-color: #3e3e3e !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 30px !important;
    font-weight: bold !important;
    height: 40px !important;
    border-radius: 0 12px 12px 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    cursor: pointer;
}

/* Remover labels e espaçamentos que quebram o layout */
.mailerlite-form-field {
    margin-bottom: 0 !important;
    flex: 1 !important;
}

.mailerlite-form-field label {
    display: none !important;
}

.mailerlite-subscribe-button-container {
    margin: 0 !important;
}
.mailerlite-form-title {
    display: none !important;
}
#mailerlite-1-field-email::placeholder {
  font-family: "Titillium Web", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
	color: #8F2700;
  /* A opacidade padrão de placeholders em alguns browsers é < 1 */
  opacity: 1; 
}

/* Caso queira aplicar a todos os inputs da MailerLite no formulário */
.mailerlite-form-field input::placeholder {
  font-family: "Titillium Web", sans-serif;
  font-weight: 400;
  font-size: 16px;
}
{
	font-family: Titillium Web;
	font-weight: 700;
	font-style: Bold;
	font-size: 32px;
	line-height: 90%;
	letter-spacing: 0%;
	color: #FFFDE8;

}
/*End to Mailer lite*/

/*Tainacan General Custom CSS*/
.metadata-alert{
	display: none !important;
}
.tnc-no-links .items-list.items-layout-mosaic a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}
.tnc-no-links li.item-list-item span {
    /*display: none !important;*/
}

/*End to Tainacan General Custom CSS

/*Detalhe pagina Quem somos*/
li.rsc-lista-icones__item:nth-child(1) .rsc-lista-icones__texto {
  font-weight: bold !important;
}