/* FRN Atlántico — final staging editorial refinements. */

/* The anti-spam honeypot must never be visible to real visitors. */
.frn-hp {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   Header utility bar: location on the left, then languages -> email -> social
   links on the right. Social profiles remain hidden until URLs are configured.
   -------------------------------------------------------------------------- */
.frn-header__langs { order: 1; }
.frn-header__utility-mail { order: 2; }
.frn-header__socials { order: 3; }
.frn-header__socials {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	padding-left: 0.9rem;
	margin-left: 0.15rem;
	border-left: 1px solid rgba(169, 130, 63, 0.28);
}
.frn-header__socials a {
	display: inline-grid;
	place-items: center;
	min-width: 1.55rem;
	height: 1.55rem;
	padding: 0 0.28rem;
	border: 1px solid rgba(169, 130, 63, 0.35);
	border-radius: 999px;
	font-size: 0.66rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	color: var(--frn-gold);
}
.frn-header__socials a:hover,
.frn-header__socials a:focus-visible {
	border-color: var(--frn-gold);
	color: var(--frn-ivory);
}

/* --------------------------------------------------------------------------
   Home cadence: no ivory/white islands. The home now alternates only between
   the two approved near-black tones already used in Proposition and Markets.
   -------------------------------------------------------------------------- */
.home .frn-section--ivory {
	background: var(--frn-jet) !important;
	color: var(--frn-ivory) !important;
}
.home .frn-section--ivory h1,
.home .frn-section--ivory h2,
.home .frn-section--ivory h3 {
	color: var(--frn-ivory) !important;
}
.home .frn-section--ivory .frn-section-intro {
	color: var(--frn-steel) !important;
}
.home .frn-section--ivory a:not(.frn-btn) {
	color: var(--frn-gold) !important;
}
.home section:has(.frn-home-company--rich) {
	background: var(--frn-navy);
}
.home .frn-section + .frn-section {
	border-top: 1px solid rgba(145, 151, 157, 0.08);
}

.frn-documentation-cards {
	margin-top: 2rem;
	gap: 1.4rem;
}
.frn-documentation-cards article {
	padding: 1.35rem 0 0;
	border-top: 2px solid rgba(116, 88, 36, 0.55);
}
.frn-documentation-cards h3 {
	margin-bottom: 0.55rem;
	font-size: 1.18rem;
}
.frn-documentation-cards p {
	margin-bottom: 0;
	line-height: 1.65;
	color: var(--frn-steel);
}

.frn-work-closing {
	max-width: 82ch;
	margin: 2.2rem 0 0;
	padding: 1.25rem 0 0 1.25rem;
	border-top: var(--frn-hairline);
	border-left: 2px solid var(--frn-gold);
	color: var(--frn-steel);
}

.frn-home-company--rich {
	display: grid;
	gap: 2rem;
	align-items: start;
}
.frn-home-company__copy p {
	max-width: 78ch;
	color: var(--frn-steel);
}
.frn-company-proof {
	list-style: none;
	margin: 2.25rem 0 0;
	padding: 1.4rem 0 0;
	border-top: var(--frn-hairline-gold);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem 2rem;
}
.frn-company-proof li {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.frn-company-proof strong {
	font-family: var(--frn-font-display);
	font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.7rem);
	font-weight: 400;
	color: var(--frn-gold);
}
.frn-company-proof span {
	max-width: 26ch;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--frn-steel);
}

@media (min-width: 900px) {
	.frn-home-company--rich {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
		gap: 4rem;
	}
	.frn-company-proof {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.frn-header__utility-mail {
		display: none;
	}
	.frn-header__socials {
		padding-left: 0.55rem;
	}
}

/* Avoid the "empty island" feeling between consecutive home chapters. */
.home #frn-s-mercados,
.home #frn-s-specs,
.home #frn-s-como,
.home #frn-s-empresa,
.home #frn-s-recursos {
	scroll-margin-top: 140px;
}

/* Branded missing-photo state from the Core helper. */
.frn-product-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1.7rem;
	text-align: center;
}
.frn-product-placeholder-category {
	order: 2;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--frn-steel);
}
.frn-product-placeholder-name {
	order: 3;
	margin-top: 0.35rem;
	font-family: var(--frn-font-display);
	font-size: 1.35rem;
	line-height: 1.2;
	color: var(--frn-ivory);
}
.frn-product-placeholder-mark {
	order: 4;
	margin-top: 0.9rem;
	font-size: 0;
}
.frn-product-placeholder-mark::after {
	content: "SIN FOTO ASIGNADA";
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--frn-gold);
}

/* Core-active placeholder already carries a localized missing-photo note;
 * keep the logo but avoid printing the same status twice. */
.frn-photo-pending::after {
	content: none !important;
	display: none !important;
}
