/* =======================================================================
   PÁGINA GARANTIAS — prazos de garantia (menu Área de Clientes)
   Mesmo desenho do PDF "Prazos de Garantia": verde, dourado, Marcellus e Montserrat.
   ======================================================================= */
.ga-wrap { max-width: 1180px; margin: 0 auto; }
.ga-rotulo {
	display: inline-block; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 12px;
	letter-spacing: .24em; text-transform: uppercase; color: #B08F4E; margin-bottom: 12px;
}
.ga-titulo {
	font-family: 'Marcellus', serif !important; font-weight: 400; color: #0E3B2D;
	font-size: clamp(30px, 3.4vw, 42px); line-height: 1.12; margin: 0 0 14px;
}
.ga-intro { max-width: 720px; margin-bottom: 44px; }
.ga-intro p { font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1.75; color: #4A524E; margin: 0; }

/* ---------- topo: foto à direita fundindo no verde ---------- */
.ga-hero .ga-hero__foto { position: absolute; top: 0; right: 0; bottom: 0; width: 52%; z-index: 0; overflow: hidden; }
.ga-hero .ga-hero__foto img { margin-left: -2px; width: calc(100% + 2px) !important; }
.ga-hero .ga-hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; display: block; }
.ga-hero .ga-hero__foto::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, #0E3B2D 0%, #0E3B2D 4%, rgba(14,59,45,.7) 32%, rgba(14,59,45,.15) 75%), linear-gradient(0deg, rgba(14,59,45,.6), transparent 40%);
}
.ga-hero::before, .ga-hero::after { z-index: 0; }
.ga-hero .pp-hero__desc { margin-bottom: 34px; }
.ga-hero::after { content: none; }
.ga-hero > .pp-hero__inner::after {
	content: ""; position: absolute; left: 0; bottom: -90px; width: 120px; height: 2px; background: #C8A96A;
}

.ga-acoes { display: flex; flex-wrap: wrap; gap: 14px; }
.ga-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 28px;
	font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	text-decoration: none !important; border-radius: 0; transition: background-color .25s, color .25s, border-color .25s;
}
.ga-btn--ouro, .ga-btn--ouro:visited { background: #C8A96A; color: #0E3B2D !important; border: 1px solid #C8A96A; }
.ga-btn--ouro:hover, .ga-btn--ouro:focus, .ga-btn--ouro:active { background: #D2AE6D; color: #0E3B2D !important; border-color: #D2AE6D; outline: none; }
.ga-btn--linha, .ga-btn--linha:visited { background: transparent; color: #FCFDFD !important; border: 1px solid rgba(210,174,109,.7); }
.ga-btn--linha:hover, .ga-btn--linha:focus, .ga-btn--linha:active { background: rgba(210,174,109,.14); color: #FCFDFD !important; border-color: #D2AE6D; outline: none; }
.ga-btn:focus-visible { box-shadow: 0 0 0 3px rgba(210,174,109,.45); }

/* ---------- régua ---------- */
.ga-regua { background: #F6F4EF; padding: 90px 20px 80px; }
.ga-escala, .ga-faixa { display: grid; grid-template-columns: 130px 1fr; }
.ga-escala > div { position: relative; height: 34px; border-bottom: 1px solid #0E3B2D; margin-right: 40px; }
.ga-escala i {
	position: absolute; bottom: 10px; transform: translateX(-50%); font-style: normal;
	font-family: 'Marcellus', serif; font-size: 15px; color: #0E3B2D; white-space: nowrap;
}
.ga-escala i:first-child { transform: none; }
.ga-escala i:last-child { transform: translateX(-30%); }
.ga-faixas { list-style: none; margin: 0; padding: 0; }
.ga-faixa { padding: 22px 40px 22px 0; border-bottom: 1px solid #E3DED3; align-items: center; row-gap: 10px; }
.ga-faixa:nth-child(odd) { background: linear-gradient(90deg, transparent, #EEEAE0 35%); }
.ga-faixa__rot { grid-row: span 2; display: flex; align-items: baseline; gap: 8px; color: #0E3B2D !important; text-decoration: none !important; }
.ga-faixa__rot:hover, .ga-faixa__rot:focus, .ga-faixa__rot:active { color: #0E3B2D !important; outline: none; }
.ga-faixa__rot b { font-family: 'Marcellus', serif; font-weight: 400; font-size: 46px; line-height: 1; }
.ga-faixa__rot span { font-family: 'Montserrat', sans-serif; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #6E7A74; }
.ga-faixa__trilho { position: relative; height: 12px; background: repeating-linear-gradient(90deg, #E2E7E3 0 calc(20% - 2px), transparent calc(20% - 2px) 20%); }
.ga-faixa__trilho i {
	position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--m) / 60 * 100%); min-width: 8px;
	background: linear-gradient(90deg, #0E3B2D, #164A39 55%, #C8A96A); transform-origin: left;
	animation: ga-cresce 1.2s cubic-bezier(.2,.7,.2,1) both;
}
.ga-faixa:nth-child(2) i { animation-delay: .1s } .ga-faixa:nth-child(3) i { animation-delay: .2s }
.ga-faixa:nth-child(4) i { animation-delay: .3s } .ga-faixa:nth-child(5) i { animation-delay: .4s }
@keyframes ga-cresce { from { transform: scaleX(0) } to { transform: scaleX(1) } }
.ga-faixa__itens { margin: 0; font-family: 'Montserrat', sans-serif; font-size: 13.5px; line-height: 1.6; color: #5B625E; }
.ga-faixa__itens strong { display: block; font-family: 'Marcellus', serif; font-weight: 400; font-size: 19px; color: #0E3B2D; margin-bottom: 2px; }
.ga-notas { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 44px; }
.ga-nota { padding: 26px 30px; font-family: 'Montserrat', sans-serif; font-size: 14.5px; line-height: 1.7; }
.ga-nota b { display: block; font-family: 'Marcellus', serif; font-weight: 400; font-size: 21px; margin-bottom: 6px; }
.ga-nota--verde { background: #0E3B2D; color: rgba(252,253,253,.85); }
.ga-nota--verde b { color: #D2AE6D; }
.ga-nota--ouro { background: #FBF6EA; color: #5A5340; border-left: 3px solid #C8A96A; }
.ga-nota--ouro b { color: #0E3B2D; }

/* ---------- item por item ---------- */
.ga-itens { background: #FCFDFD; padding: 90px 20px 70px; }
.ga-grupo { margin-bottom: 40px; scroll-margin-top: 120px; }
.ga-grupo__cab { display: flex; align-items: baseline; gap: 10px; background: #0E3B2D; color: #FCFDFD; padding: 14px 26px; margin-bottom: 16px; }
.ga-grupo__cab b { font-family: 'Marcellus', serif; font-weight: 400; font-size: 34px; line-height: 1; color: #D2AE6D; }
.ga-grupo__cab span { font-family: 'Montserrat', sans-serif; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: rgba(252,253,253,.8); font-weight: 500; }
.ga-grupo__cab em { margin-left: auto; font-style: normal; font-family: 'Marcellus', serif; font-size: 18px; color: #E9DCBC; text-align: right; }
.ga-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ga-card { background: #EFF3F0; border-top: 3px solid #0E3B2D; padding: 26px 26px 24px; margin: 0; }
.ga-card h3 { font-family: 'Marcellus', serif !important; font-weight: 400; font-size: 21px; line-height: 1.25; color: #0E3B2D; margin: 0 0 16px; }
.ga-card h3 small { display: block; font-family: 'Montserrat', sans-serif; font-size: 12.5px; letter-spacing: .03em; color: #6E7A74; margin-top: 4px; }
.ga-bl + .ga-bl { margin-top: 14px; }
.ga-bl h4 {
	display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-family: 'Montserrat', sans-serif;
	font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600;
}
.ga-bl h4::before { content: ""; width: 9px; height: 9px; border-radius: 50%; flex: none; }
.ga-bl ul { list-style: none; margin: 0; padding: 0 0 0 17px; font-family: 'Montserrat', sans-serif; font-size: 14.5px; line-height: 1.6; color: #36423D; }
.ga-bl--cobre h4 { color: #0E3B2D; } .ga-bl--cobre h4::before { background: #0E3B2D; }
.ga-bl--nao h4 { color: #857552; } .ga-bl--nao h4::before { border: 1.5px solid #857552; }
.ga-bl--atencao h4 { color: #A9873F; } .ga-bl--atencao h4::before { background: #C8A96A; }
.ga-card--foto { position: relative; padding: 0; overflow: hidden; border-top-color: #C8A96A; min-height: 260px; grid-column: span var(--span, 1); }
.ga-card--foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ga-card--foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,33,26,.75), transparent 45%); }
.ga-card--foto figcaption {
	position: absolute; left: 22px; bottom: 18px; z-index: 1; font-family: 'Montserrat', sans-serif;
	font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #FCFDFD;
}

/* ---------- vencimentos ---------- */
.ga-venc { background: #F6F4EF; padding: 90px 20px 80px; scroll-margin-top: 90px; }
.ga-filtro { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-bottom: 22px; }
.ga-filtro label { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #0E3B2D; }
.ga-filtro select {
	min-height: 48px; min-width: 260px; padding: 0 44px 0 16px; border: 1px solid #C8A96A; border-radius: 0; background: #FCFDFD;
	font-family: 'Montserrat', sans-serif; font-size: 15px; color: #0E3B2D; appearance: none; cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, #C8A96A 50%), linear-gradient(135deg, #C8A96A 50%, transparent 50%);
	background-position: calc(100% - 22px) 21px, calc(100% - 16px) 21px; background-size: 6px 6px; background-repeat: no-repeat;
}
.ga-filtro select:hover, .ga-filtro select:focus, .ga-filtro select:active { border-color: #0E3B2D; outline: none; }
.ga-legenda { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 13px; color: #6E7A74; }
.ga-legenda span { display: inline-flex; align-items: center; gap: 7px; }
.ga-legenda i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.ga-legenda .v i { background: #C8A96A; } .ga-legenda .e i { border: 1px solid #B9C3BE; } .ga-legenda .p i { border: 1px dashed #0E3B2D; }
.ga-legenda .hoje { background: #EFF3F0; padding: 6px 12px; color: #0E3B2D; }
.ga-tabela { overflow-x: auto; background: #FCFDFD; box-shadow: 0 18px 40px -28px rgba(14,59,45,.45); }
.ga-tabela table { width: 100%; min-width: 860px; border-collapse: collapse; margin: 0; font-family: 'Montserrat', sans-serif; font-size: 14px; }
.ga-tabela thead th {
	background: #0E3B2D; color: #FCFDFD; font-weight: 500; text-align: center; padding: 16px 12px 14px; vertical-align: bottom;
	border: 0; border-bottom: 3px solid #C8A96A;
}
.ga-tabela thead th:first-child { text-align: left; padding-left: 24px; }
.ga-tabela thead th b { display: block; font-family: 'Marcellus', serif; font-weight: 400; font-size: 20px; color: #D2AE6D; line-height: 1; white-space: nowrap; }
.ga-tabela thead th small { display: block; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; opacity: .75; margin-top: 6px; }
.ga-tabela tbody th { text-align: left; font-family: 'Marcellus', serif; font-weight: 400; font-size: 17px; color: #0E3B2D; padding: 14px 12px 14px 24px; border: 0; white-space: nowrap; }
.ga-tabela tbody td { text-align: center; padding: 14px 12px; white-space: nowrap; border: 0; font-variant-numeric: tabular-nums; color: #1F2B26; }
.ga-tabela tbody tr { border-bottom: 1px solid #E3E8E4; }
.ga-tabela tbody tr:nth-child(even) { background: #F8FAF9; }
.ga-tabela tbody tr:hover { background: #F1EBDD; }
.ga-tabela td span { display: inline-flex; align-items: center; gap: 8px; }
.ga-tabela td.ent { font-weight: 600; color: #0E3B2D; background: rgba(200,169,106,.1); }
.ga-tabela td.ent small { font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: #A9873F; font-weight: 600; }
.ga-tabela tr.prev td.ent span { flex-direction: column; gap: 0; }
.ga-tabela td.vig span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #C8A96A; }
.ga-tabela td.enc { color: #A3ADA8; }
.ga-tabela tr.prev td:not(.ent) span { border-bottom: 1px dashed #0E3B2D; color: #0E3B2D; }
.ga-obs { font-family: 'Montserrat', sans-serif; font-size: 13.5px; line-height: 1.7; color: #6A6E68; margin: 22px 0 0; max-width: 860px; }

/* ---------- cuidados ---------- */
.ga-cuidados { position: relative; background: #0E3B2D; padding: 100px 20px 110px; overflow: hidden; }
.ga-cuidados__foto { position: absolute; inset: 0; }
.ga-cuidados__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ga-cuidados__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,59,45,.97) 0%, rgba(14,59,45,.92) 55%, rgba(14,59,45,.72) 100%); }
.ga-cuidados .ga-wrap { position: relative; z-index: 1; }
.ga-intro--claro .ga-rotulo { color: #D2AE6D; }
.ga-intro--claro .ga-titulo { color: #FCFDFD; }
.ga-intro--claro p { color: rgba(252,253,253,.82); }
.ga-regras { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-bottom: 50px; }
.ga-regras div { border-top: 1px solid rgba(210,174,109,.55); padding-top: 20px; }
.ga-regras h3 { font-family: 'Marcellus', serif !important; font-weight: 400; font-size: 21px; color: #D2AE6D; margin: 0 0 8px; }
.ga-regras p { font-family: 'Montserrat', sans-serif; font-size: 14.5px; line-height: 1.7; color: rgba(252,253,253,.85); margin: 0; }

/* ---------- responsivo ---------- */
@media (max-width: 1024px) {
	.ga-cards { grid-template-columns: 1fr 1fr; }
	.ga-card--foto { grid-column: auto; }
	.ga-regras { grid-template-columns: 1fr 1fr; }
	.ga-legenda { margin-left: 0; }
}
@media (max-width: 767px) {
	.ga-hero .ga-hero__foto { width: 100%; opacity: .45; }
	.ga-hero .ga-hero__foto::after { background: linear-gradient(0deg, #0E3B2D 10%, rgba(14,59,45,.5)); }
	.ga-hero > .pp-hero__inner::after { display: none; }
	.ga-regua, .ga-itens, .ga-venc { padding: 64px 18px 56px; }
	.ga-cuidados { padding: 70px 18px 80px; }
	.ga-escala, .ga-faixa { grid-template-columns: 78px 1fr; }
	.ga-escala > div, .ga-faixa { margin-right: 0; padding-right: 0; }
	.ga-escala i:last-child { transform: translateX(-80%); }
	.ga-faixa__rot b { font-size: 32px; }
	.ga-notas, .ga-cards, .ga-regras { grid-template-columns: 1fr; }
	.ga-grupo__cab em { display: none; }
	.ga-filtro select { min-width: 0; width: 100%; }
	.ga-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ga-faixa__trilho i { animation: none; } }
