/* Página de contactos [portosigns_contactos] — mesma identidade da página "A nossa história" */
.pct {
	--pct-cobalt: #1d3b8b;
	--pct-cobalt-d: #142b69;
	--pct-cobalt-dd: #0e1f4d;
	--pct-cobalt-l: #3a5bb5;
	--pct-coral: #c84b2f;
	--pct-green: #1c7350;
	--pct-wa: #1f8f4e;
	--pct-sky: #e9eff9;
	--pct-tile: #f6f8fc;
	--pct-ink: #16213f;
	--pct-mute: #5a6480;
	--pct-line: rgba(29, 59, 139, .12);
	--pct-r: clamp(20px, 3vw, 32px);
	--pct-pad: clamp(20px, 5vw, 72px);
	--pct-gap: clamp(56px, 8vw, 112px);
	--pct-azulejo-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.4'%3E%3Ccircle cx='20' cy='20' r='6.5'/%3E%3Cpath d='M20 1q8 9.5 0 19q-8-9.5 0-19zM20 39q8-9.5 0-19q-8 9.5 0 19zM1 20q9.5-8 19 0q-9.5 8-19 0zM39 20q-9.5-8-19 0q9.5 8 19 0z'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.4' fill='%23ffffff'/%3E%3C/svg%3E");
	max-width: 1360px; margin: 0 auto; padding: 14px clamp(12px, 3vw, 40px) var(--pct-gap);
	font-family: Jost, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 17px; line-height: 1.65; color: var(--pct-ink);
}
.pct *, .pct *::before, .pct *::after { box-sizing: border-box; }
.pct p { margin: 0; }
.pct a { text-decoration: none; }
.pct svg { width: 22px; height: 22px; flex: none; }
.pct .pct-h2, .pct .pct-h3, .pct .pct-hero__t {
	margin: 0; padding: 0; font-family: "Playfair Display", Georgia, serif !important; font-weight: 600 !important;
	color: var(--pct-ink) !important; letter-spacing: -.01em; text-wrap: balance; text-transform: none;
}
.pct em { font-style: italic; font-family: "Playfair Display", Georgia, serif; font-weight: 500; color: var(--pct-cobalt); }
.pct .pct-h2 { font-size: clamp(30px, 4vw, 52px) !important; line-height: 1.1 !important; }
.pct .pct-h3 { font-size: clamp(24px, 2.2vw, 30px) !important; line-height: 1.15 !important; }
.pct-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px !important; font-size: 12.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--pct-cobalt-l); }
.pct-kicker::before { content: ""; width: 28px; height: 1.5px; background: currentColor; }
.pct-kicker--light { color: #b9c9f0; }
.pct-head { max-width: 760px; margin-bottom: clamp(24px, 3vw, 40px); }

/* capa */
.pct-hero { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--pct-r); min-height: clamp(440px, 64vh, 640px); display: flex; align-items: flex-end; padding: var(--pct-pad); background: var(--pct-cobalt-dd); }
.pct-hero__img { position: absolute; inset: 0; z-index: -2; }
.pct-hero__img img { width: 100%; height: 100% !important; object-fit: cover; object-position: center 55%; display: block; }
.pct-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14, 31, 77, .12) 0%, rgba(14, 31, 77, .35) 45%, rgba(14, 31, 77, .9) 100%); }
.pct-hero__in { max-width: 820px; }
.pct-hero .pct-kicker { color: #dbe5fb; }
.pct .pct-hero__t { color: #fff !important; font-size: clamp(48px, 8vw, 112px) !important; line-height: .98 !important; letter-spacing: -.02em; text-shadow: 0 10px 40px rgba(0, 0, 0, .28); }
.pct .pct-hero__t em { color: #fff; }
.pct-hero__sub { margin-top: 18px !important; max-width: 600px; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; color: rgba(255, 255, 255, .9); }
.pct-status { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px !important; padding: 9px 16px 9px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); backdrop-filter: blur(6px); color: #fff; font-size: 15px; font-weight: 500; }
.pct-status svg { width: 18px; height: 18px; }
.pct-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #c9d4ea; }
.pct-status.is-open::before { background: #4ade80; box-shadow: 0 0 0 4px rgba(74, 222, 128, .25); }
.pct-status.is-closed::before { background: #f59e0b; }

/* contactos rápidos */
.pct-quick { position: relative; z-index: 2; display: grid; gap: 14px; margin: -48px clamp(10px, 3vw, 40px) 0; }
.pct-q { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: 22px; background: #fff; color: var(--pct-ink) !important; box-shadow: 0 1px 0 var(--pct-line), 0 22px 50px -30px rgba(22, 33, 63, .45); transition: transform .25s, box-shadow .25s; }
.pct-q:hover { transform: translateY(-3px); box-shadow: 0 1px 0 var(--pct-line), 0 28px 60px -30px rgba(22, 33, 63, .55); }
.pct-q__ic { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 16px; background: var(--pct-sky); color: var(--pct-cobalt); flex: none; }
.pct-q__ic svg { width: 26px; height: 26px; }
.pct-q--wa .pct-q__ic { background: #e3f5ea; color: var(--pct-wa); }
.pct-q__tx { display: flex; flex-direction: column; min-width: 0; }
.pct-q__tx b { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pct-mute); }
.pct-q__tx > span { font-size: 18px; font-weight: 600; color: var(--pct-ink); overflow-wrap: anywhere; }
.pct-q__tx small { font-size: 13.5px; color: var(--pct-mute); }
.pct-q__go { margin-left: auto; color: var(--pct-cobalt-l); transition: transform .25s; }
.pct-q:hover .pct-q__go { transform: translateX(4px); }

/* lojas */
.pct-stores { margin-top: var(--pct-gap); }
.pct-stores__grid { display: grid; gap: 22px; }
.pct-store { display: grid; overflow: hidden; border-radius: var(--pct-r); background: var(--pct-tile); box-shadow: inset 0 0 0 1px var(--pct-line); }
.pct-store__map { position: relative; min-height: 260px; background: var(--pct-sky); }
.pct-store__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.85); }
.pct-store__body { position: relative; padding: clamp(24px, 3vw, 40px); }
.pct-store__n { display: block; font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 500; font-size: 64px; line-height: .9; color: transparent; -webkit-text-stroke: 1.3px rgba(29, 59, 139, .35); margin-bottom: 8px; }
.pct-store__list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.pct-store__list li { display: flex; gap: 12px; align-items: flex-start; color: var(--pct-mute); font-size: 16px; }
.pct-store__list svg { color: var(--pct-cobalt); margin-top: 2px; }
.pct-store__list a { color: var(--pct-ink); font-weight: 500; }
.pct-btn { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; min-height: 50px; padding: 0 24px; border-radius: 999px; font-size: 16px; font-weight: 500; color: #fff !important; background: var(--pct-cobalt); box-shadow: 0 14px 28px -16px rgba(29, 59, 139, .7); transition: transform .25s, background .25s; }
.pct-btn:hover { background: var(--pct-cobalt-d); transform: translateY(-2px); }
.pct-btn svg { width: 20px; height: 20px; }

/* formulário */
.pct-form-wrap { position: relative; overflow: hidden; isolation: isolate; display: grid; gap: clamp(28px, 4vw, 56px); margin-top: var(--pct-gap); padding: clamp(32px, 5vw, 72px) var(--pct-pad); border-radius: var(--pct-r); background: linear-gradient(160deg, var(--pct-cobalt) 0%, var(--pct-cobalt-dd) 100%); }
.pct-form-wrap::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pct-azulejo-w) 0 0 / 70px 70px; opacity: .07; }
.pct .pct-h2--light, .pct .pct-h2--light em { color: #fff !important; }
.pct-p--light { margin-top: 14px !important; color: rgba(255, 255, 255, .8); }
.pct-ticks { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; color: #fff; }
.pct-ticks li { display: flex; gap: 12px; align-items: center; }
.pct-ticks svg { width: 20px; height: 20px; color: #9fd4b4; }
.pct-form { display: grid; gap: 14px; padding: clamp(22px, 3vw, 36px); border-radius: 24px; background: #fff; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45); }
.pct-row { display: grid; gap: 14px; }
.pct-f { display: grid; gap: 6px; font-size: 14px; font-weight: 500; color: var(--pct-ink); }
.pct-f input, .pct-f select, .pct-f textarea { width: 100%; margin: 0; padding: 12px 14px; border: 0; border-radius: 14px; background: var(--pct-tile); box-shadow: inset 0 0 0 1px var(--pct-line); font: 400 16px/1.4 Jost, system-ui, sans-serif; color: var(--pct-ink); transition: box-shadow .2s, background .2s; }
.pct-f input:focus, .pct-f select:focus, .pct-f textarea:focus { outline: none; background: #fff; box-shadow: inset 0 0 0 2px var(--pct-cobalt-l); }
.pct-f textarea { resize: vertical; min-height: 130px; }
.pct-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: var(--pct-mute); }
.pct-consent input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--pct-cobalt); flex: none; }
.pct-consent a { color: var(--pct-cobalt); text-decoration: underline; }
.pct-submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--pct-coral); color: #fff; font: 600 16.5px/1 Jost, system-ui, sans-serif; cursor: pointer; transition: transform .25s, filter .25s; }
.pct-submit:hover { transform: translateY(-2px); filter: brightness(1.05); }
.pct-submit[disabled] { opacity: .65; cursor: wait; transform: none; }
.pct-submit svg { width: 20px; height: 20px; }
.pct-msg { min-height: 1.4em; font-size: 15px; font-weight: 500; }
.pct-msg.is-ok { color: var(--pct-green); }
.pct-msg.is-err { color: var(--pct-coral); }
.pct-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* perguntas */
.pct-faq { margin-top: var(--pct-gap); }
.pct-faq__list { display: grid; gap: 12px; max-width: 900px; }
.pct-qa { border-radius: 18px; background: var(--pct-tile); box-shadow: inset 0 0 0 1px var(--pct-line); }
.pct-qa summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; cursor: pointer; list-style: none; font-weight: 600; font-size: 17px; }
.pct-qa summary::-webkit-details-marker { display: none; }
.pct-qa summary svg { color: var(--pct-cobalt); transition: transform .25s; }
.pct-qa[open] summary svg { transform: rotate(180deg); }
.pct-qa p { padding: 0 22px 20px; color: var(--pct-mute); }

@media (min-width: 760px) {
	.pct-quick { grid-template-columns: repeat(3, 1fr); }
	.pct-row { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1000px) {
	.pct-stores__grid { grid-template-columns: 1fr 1fr; }
	.pct-store { grid-template-rows: 280px auto; }
	.pct-form-wrap { grid-template-columns: .9fr 1.1fr; align-items: center; }
}
@media (max-width: 599px) {
	.pct { font-size: 16px; }
	.pct-hero { min-height: 76svh; padding-bottom: 80px; }
	.pct-quick { margin-top: -40px; }
	.pct-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .pct * { transition: none !important; } }
