/* Ficha pública de proyectos · 6.9.69. No modifica header, footer ni dashboard. */
.gc-project-shell.gc-project-shell.gc-project-shell {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fafbfc !important;
}
.gc-project.gc-project.gc-project {
	--gp-ink: #192230;
	--gp-muted: #647084;
	--gp-line: #e3e8ef;
	--gp-soft: #f6f8fb;
	--gp-brand: #ff6b35;
	--gp-brand-ink: #b43c10;
	--gc-results-max: 1340px;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: calc(var(--gc-results-max) + 48px) !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	padding: 32px 24px 56px !important;
	color: var(--gp-ink) !important;
	font: 400 15px/1.65 var(--gc-font, Inter, system-ui, -apple-system, "Segoe UI", sans-serif) !important;
	text-align: left !important;
}
.gc-project.gc-project.gc-project *, .gc-project.gc-project.gc-project *::before, .gc-project.gc-project.gc-project *::after { box-sizing: border-box; }
.gc-project.gc-project.gc-project :where(h1,h2,h3,p,ul,dl,dd) { margin: 0 !important; padding: 0; }
.gc-project.gc-project.gc-project :where(h1,h2,h3) { color: var(--gp-ink) !important; font-family: inherit !important; font-weight: 750 !important; text-transform: none !important; letter-spacing: -.025em !important; }
.gc-project.gc-project.gc-project h1 { font-size: clamp(28px,3.1vw,42px) !important; line-height: 1.18 !important; overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project h2 { font-size: 21px !important; line-height: 1.35 !important; }
.gc-project.gc-project.gc-project h3 { font-size: 16px !important; line-height: 1.4 !important; }
.gc-project.gc-project.gc-project :where(a,button,summary) { font-family: inherit !important; text-decoration: none !important; }
.gc-project.gc-project.gc-project a { color: var(--gp-brand-ink); overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project :where(a,button,summary,input):focus-visible { outline: 3px solid #1c74c9 !important; outline-offset: 4px !important; }
.gc-project.gc-project.gc-project :where(svg,[data-lucide]) { width: 19px !important; height: 19px !important; flex: 0 0 19px; vertical-align: middle; }
.gc-project.gc-project.gc-project [hidden] { display: none !important; }
.gc-project.gc-project.gc-project .gc-project__breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--gp-muted); font-size: 12px; line-height: 1.7; }
.gc-project.gc-project.gc-project .gc-project__breadcrumb svg { width: 14px !important; height: 14px !important; flex-basis: 14px; }
.gc-project.gc-project.gc-project .gc-project__breadcrumb span { overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project .gc-project__hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 32px; margin-bottom: 28px; border: 1px solid var(--gp-line); border-radius: 20px; background: linear-gradient(115deg,#fff 65%,#fff4ee); box-shadow: 0 8px 30px #19223006; }
.gc-project.gc-project.gc-project .gc-project__intro { flex: 1 1 0; min-width: 0; display: grid; gap: 14px; }
.gc-project.gc-project.gc-project .gc-project__eyebrow { display: block; color: var(--gp-brand-ink); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; line-height: 1.5; }
.gc-project.gc-project.gc-project .gc-project__lead { max-width: 780px; font-size: 16px; color: var(--gp-muted); line-height: 1.7; overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project .gc-project__meta { display: flex; flex-wrap: wrap; gap: 12px 22px; color: var(--gp-muted); font-size: 13px; margin-top: 2px; }
.gc-project.gc-project.gc-project .gc-project__meta :where(span,a) { display: inline-flex; align-items: flex-start; gap: 7px; max-width: 100%; overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project .gc-project__meta svg { margin-top: 2px; color: #8793a2; }
.gc-project.gc-project.gc-project .gc-project__hero-actions { display: grid; gap: 12px; justify-items: stretch; flex: 0 0 auto; min-width: 164px; }
.gc-project.gc-project.gc-project .gc-project__button {
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important;
	width: auto !important; max-width: 100% !important; min-width: 0 !important; min-height: 46px !important; height: auto !important;
	margin: 0 !important; padding: 12px 18px !important; border: 1px solid #ff6b35 !important; border-radius: 10px !important;
	background: #ff6b35 !important; color: #fff !important; box-shadow: none !important;
	font-size: 14px !important; font-weight: 700 !important; line-height: 1.45 !important; letter-spacing: 0 !important; text-transform: none !important; text-align: center !important; white-space: normal !important;
	cursor: pointer !important; transition: background .15s,border-color .15s;
}
.gc-project.gc-project.gc-project .gc-project__button:hover { background: #df4c16 !important; border-color: #df4c16 !important; }
.gc-project.gc-project.gc-project .gc-project__button--secondary { background: #fff !important; color: var(--gp-ink) !important; border-color: #d8dfe8 !important; }
.gc-project.gc-project.gc-project .gc-project__button--secondary:hover { background: #fff5ef !important; border-color: #ffad8e !important; }
.gc-project.gc-project.gc-project .gc-project__edit { display: inline-flex; gap: 8px; align-items: center; justify-content: center; min-height: 44px; font-size: 13px; font-weight: 650; }
.gc-project.gc-project.gc-project .gc-project__share { position: relative; margin: 0; padding: 0; border: 0; }
.gc-project.gc-project.gc-project .gc-project__share summary { list-style: none !important; }
.gc-project.gc-project.gc-project .gc-project__share>summary { display: flex !important; width: 100% !important; }
.gc-project.gc-project.gc-project .gc-project__share summary::-webkit-details-marker { display: none; }
.gc-project.gc-project.gc-project .gc-project__share-panel { position: absolute; z-index: 8; top: calc(100% + 10px); right: 0; display: grid; gap: 6px; width: 260px; max-width: calc(100vw - 48px); padding: 18px; border: 1px solid var(--gp-line); border-radius: 14px; background: #fff; box-shadow: 0 10px 35px #19223021; }
.gc-project.gc-project.gc-project .gc-project__share-panel>a { display: flex; align-items: center; min-height: 44px; padding: 8px 10px; border-radius: 7px; color: var(--gp-ink); font-size: 14px; }
.gc-project.gc-project.gc-project .gc-project__share-panel>a:hover { background: var(--gp-soft); }
.gc-project.gc-project.gc-project .gc-project__share-panel>strong { margin-bottom: 4px; font-size: 14px; }
.gc-project.gc-project.gc-project .gc-project__share-panel p { font-size: 12px; color: var(--gp-muted); }
.gc-project.gc-project.gc-project .gc-project__share-panel p:empty { display: none; }
.gc-project.gc-project.gc-project .gc-project__share-panel label { display: grid; gap: 6px; font-size: 12px; }
.gc-project.gc-project.gc-project .gc-project__share-panel input { width: 100%; min-width: 0; height: 44px; padding: 8px; border: 1px solid var(--gp-line); border-radius: 6px; font-size: 16px; }
.gc-project.gc-project.gc-project .gc-project__layout { display: grid; grid-template-columns: minmax(0,1fr) 352px; gap: 28px; align-items: start; }
.gc-project.gc-project.gc-project :where(.gc-project__main,.gc-project__sidebar) { display: grid; gap: 24px; min-width: 0; }
.gc-project.gc-project.gc-project .gc-project__card { display: grid; align-content: start; gap: 20px; min-width: 0; margin: 0; padding: 28px; border: 1px solid var(--gp-line); border-radius: 16px; background: #fff; box-shadow: 0 3px 14px #19223004; }
.gc-project.gc-project.gc-project .gc-project__section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.gc-project.gc-project.gc-project .gc-project__section-head>span { color: var(--gp-muted); font-size: 12px; }
.gc-project.gc-project.gc-project .gc-project__photos { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; min-width: 0; }
.gc-project.gc-project.gc-project .gc-project__photo { display: block; position: relative; overflow: hidden; border-radius: 10px; background: var(--gp-soft); min-width: 0; }
.gc-project.gc-project.gc-project .gc-project__photo>span { display: block; aspect-ratio: 4/3; }
.gc-project.gc-project.gc-project .gc-project__photo.is-cover { grid-column: 1/-1; }
.gc-project.gc-project.gc-project .gc-project__photo.is-cover>span { aspect-ratio: 16/9; }
.gc-project.gc-project.gc-project .gc-project__photo img { display: block; width: 100% !important; height: 100% !important; max-width: 100% !important; object-fit: cover; margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
.gc-project.gc-project.gc-project .gc-project__photo small { position: absolute; bottom: 10px; right: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 8px; color: #fff; background: #192230d9; font-size: 11px; line-height: 1.4; pointer-events: none; }
.gc-project.gc-project.gc-project .gc-project__photo small svg { width: 15px !important; height: 15px !important; flex-basis: 15px; }
.gc-project.gc-project.gc-project .gc-project__richtext { overflow-wrap: anywhere; color: #465365; font-size: 15px; line-height: 1.85; }
.gc-project.gc-project.gc-project .gc-project__richtext>*+* { margin-top: 16px !important; }
.gc-project.gc-project.gc-project .gc-project__richtext :where(ul,ol) { padding-left: 22px; }
.gc-project.gc-project.gc-project .gc-project__richtext :where(img,video,iframe) { max-width: 100%; }
.gc-project.gc-project.gc-project .gc-project__richtext table { display: block; max-width: 100%; overflow-x: auto; }
.gc-project.gc-project.gc-project .gc-project__richtext pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project .gc-project__services { display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid var(--gp-line); }
.gc-project.gc-project.gc-project .gc-project__services ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.gc-project.gc-project.gc-project .gc-project__services li { padding: 6px 12px; border: 1px solid var(--gp-line); border-radius: 7px; background: var(--gp-soft); font-size: 12px; overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project .gc-project__identity { display: flex; align-items: center; gap: 14px; color: var(--gp-ink); min-width: 0; }
.gc-project.gc-project.gc-project .gc-project__identity>span:last-child { display: grid; gap: 3px; min-width: 0; }
.gc-project.gc-project.gc-project .gc-project__identity small { color: var(--gp-muted); font-size: 12px; }
.gc-project.gc-project.gc-project .gc-project__identity strong { color: var(--gp-ink); font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
.gc-project.gc-project.gc-project :where(.gc-project__identity>img,.gc-project__avatar) { display: grid; place-items: center; flex: 0 0 56px; width: 56px !important; height: 56px !important; max-width: 56px !important; object-fit: contain; border: 1px solid var(--gp-line); border-radius: 12px; background: var(--gp-soft); }
.gc-project.gc-project.gc-project .gc-project__avatar svg { width: 26px !important; height: 26px !important; color: var(--gp-muted); }
.gc-project.gc-project.gc-project .gc-project__verified { display: inline-flex; align-items: center; gap: 7px; color: #23764d; font-size: 12px; font-weight: 650; }
.gc-project.gc-project.gc-project .gc-project__owner { gap: 16px; }
.gc-project.gc-project.gc-project .gc-project__owner p { color: var(--gp-muted); font-size: 14px; line-height: 1.75; }
.gc-project.gc-project.gc-project .gc-project__note { display: flex; gap: 8px; align-items: flex-start; color: var(--gp-muted); font-size: 11px; line-height: 1.7; }
.gc-project.gc-project.gc-project .gc-project__facts { display: grid; }
.gc-project.gc-project.gc-project .gc-project__facts>div { padding: 16px 0; border-bottom: 1px solid var(--gp-line); }
.gc-project.gc-project.gc-project .gc-project__facts>div:first-child { padding-top: 0; }
.gc-project.gc-project.gc-project .gc-project__facts>div:last-child { padding-bottom: 0; border-bottom: 0; }
.gc-project.gc-project.gc-project .gc-project__facts dt { display: flex; gap: 8px; align-items: center; color: var(--gp-muted); font-size: 12px; font-weight: 500; }
.gc-project.gc-project.gc-project .gc-project__facts dd { padding: 6px 0 0 27px; font-size: 14px; font-weight: 650; overflow-wrap: anywhere; color: var(--gp-ink); }
.gc-project.gc-project.gc-project .gc-project__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding-top: 28px; margin-top: 28px; border-top: 1px solid var(--gp-line); }
.gc-project.gc-project.gc-project .gc-project__footer>a:last-child { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; }
.gc-project.gc-project.gc-project .gc-project__sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* El visor usa <dialog>: no fija el body ni deja overlays bloqueando la página. */
.gc-project-viewer.gc-project-viewer.gc-project-viewer { box-sizing: border-box !important; width: min(1100px,calc(100% - 32px)) !important; max-width: calc(100% - 32px) !important; max-height: calc(100dvh - 32px) !important; margin: auto !important; padding: 18px !important; border: 1px solid #3f4c60 !important; border-radius: 16px !important; background: #111923 !important; color: #fff !important; box-shadow: 0 24px 90px #0007 !important; font: 400 14px/1.5 Inter,system-ui,sans-serif !important; }
.gc-project-viewer::backdrop { background: #0d1726d9; }
.gc-project-viewer.gc-project-viewer.gc-project-viewer header,.gc-project-viewer.gc-project-viewer.gc-project-viewer footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 !important; padding: 0 !important; }
.gc-project-viewer.gc-project-viewer.gc-project-viewer button,.gc-project-viewer.gc-project-viewer.gc-project-viewer a { box-sizing: border-box !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 44px !important; margin: 0 !important; padding: 9px 14px !important; border: 1px solid #617088 !important; border-radius: 8px !important; background: #253143 !important; color: #fff !important; font: 600 13px/1.4 Inter,system-ui,sans-serif !important; text-decoration: none !important; text-transform: none !important; cursor: pointer !important; }
.gc-project-viewer.gc-project-viewer.gc-project-viewer :where(button,a):focus-visible { outline: 3px solid #90c8ff !important; outline-offset: 3px !important; }
.gc-project-viewer.gc-project-viewer.gc-project-viewer img { display: block !important; width: 100% !important; height: min(65dvh,700px) !important; object-fit: contain !important; margin: 16px 0 !important; border: 0 !important; }
.gc-project-viewer.gc-project-viewer.gc-project-viewer p { max-width: 100%; margin: 12px 0 !important; font-size: 13px !important; overflow-wrap: anywhere; }
.gc-project-viewer.gc-project-viewer.gc-project-viewer [hidden] { display: none !important; }
@media (max-width: 1000px) {
	.gc-project.gc-project.gc-project .gc-project__layout { grid-template-columns: minmax(0,1fr) 300px; gap: 20px; }
	.gc-project.gc-project.gc-project .gc-project__card { padding: 22px; }
	.gc-project.gc-project.gc-project .gc-project__hero { padding: 26px; }
}
@media (max-width: 800px) {
	.gc-project.gc-project.gc-project .gc-project__layout { grid-template-columns: minmax(0,1fr); }
	.gc-project.gc-project.gc-project .gc-project__sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
	.gc-project.gc-project.gc-project .gc-project__hero { flex-direction: column; }
	.gc-project.gc-project.gc-project .gc-project__hero-actions { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; }
	.gc-project.gc-project.gc-project .gc-project__share-panel { right: auto; left: 0; }
}
@media (max-width: 600px) {
	.gc-project.gc-project.gc-project { padding: 22px 16px 36px !important; }
	.gc-project.gc-project.gc-project .gc-project__breadcrumb { margin-bottom: 18px; }
	.gc-project.gc-project.gc-project .gc-project__hero { padding: 22px; gap: 20px; margin-bottom: 20px; border-radius: 16px; }
	.gc-project.gc-project.gc-project .gc-project__lead { font-size: 14px; }
	.gc-project.gc-project.gc-project .gc-project__meta { display: grid; gap: 12px; }
	.gc-project.gc-project.gc-project .gc-project__sidebar { grid-template-columns: minmax(0,1fr); }
	.gc-project.gc-project.gc-project .gc-project__photos { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
	.gc-project.gc-project.gc-project .gc-project__photo small { bottom: 6px; right: 6px; padding: 5px 7px; }
	.gc-project.gc-project.gc-project .gc-project__card { padding: 20px; gap: 18px; }
	.gc-project.gc-project.gc-project h2 { font-size: 19px !important; }
	.gc-project.gc-project.gc-project .gc-project__hero-actions>.gc-project__share { flex: 1 1 100%; }
	.gc-project.gc-project.gc-project .gc-project__hero-actions>.gc-project__button { flex: 1 1 100%; }
	.gc-project.gc-project.gc-project .gc-project__share-panel { width: 100%; max-width: 100%; }
	.gc-project.gc-project.gc-project .gc-project__footer { display: grid; gap: 14px; margin-top: 22px; padding-top: 22px; }
	.gc-project-viewer.gc-project-viewer.gc-project-viewer { padding: 12px !important; }
	.gc-project-viewer.gc-project-viewer.gc-project-viewer footer { gap: 8px; }
	.gc-project-viewer.gc-project-viewer.gc-project-viewer a { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .gc-project.gc-project.gc-project .gc-project__button { transition: none; } }
