/*
Theme Name: Residale Capital
Theme URI: https://residalecapital.com/
Author: Fingrow Group
Description: Dedykowany, jednostronicowy motyw WordPress dla funduszu Residale Capital (alternatywna spółka inwestycyjna / nieruchomości modułowe). Elegancki układ funduszowy z sekcjami: Zarządzający, Strategia, Przewagi, Ekonomika, Kryteria, Warunki, ESG, Kontakt. Zawiera jednoklikowy importer treści i konfiguracji oraz tryb „coming soon" z podglądem na hasło (do czasu zatwierdzenia przez KNF).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: residale-capital
*/

/* ============================================================
   0. Zmienne / paleta (styl Vivara: ciemna zieleń + złoto)
   ============================================================ */
:root{
	--color-primary:      #16281b; /* deep forest green */
	--color-primary-soft: #1e3626;
	--color-accent:       #c6a45f; /* gold */
	--color-accent-dark:  #a5854a;
	--color-ink:          #1f2a22; /* near-black text on light */
	--color-ink-soft:     #45514a;
	--color-muted:        #6d776f;
	--color-bg:           #e8ebe3; /* light sage/greige */
	--color-bg-alt:       #eef1ea;
	--color-panel:        #f4f6f0; /* card on light */
	--color-line:         #cfd6ca;
	--color-on-dark:      #edefe6;
	--color-on-dark-soft: #b9c2b4;

	--font-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--font-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--font-mono:  "IBM Plex Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;

	--maxw: 1180px;
	--gutter: clamp(20px, 5vw, 64px);
	--radius: 2px;
}

/* ============================================================
   1. Reset / podstawy
   ============================================================ */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--font-sans);
	color:var(--color-ink);
	background:var(--color-bg);
	line-height:1.6;
	font-size:17px;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-weight:400; line-height:1.1; }
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

/* ============================================================
   2. Elementy współdzielone
   ============================================================ */
.rc-container{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.rc-section{ padding:clamp(64px,9vw,120px) 0; }
.rc-section--tight{ padding:clamp(48px,6vw,80px) 0; }

.rc-eyebrow{
	font-family:var(--font-mono);
	font-size:12px;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:var(--color-muted);
	margin:0 0 24px;
}
.rc-section-title{
	font-family:var(--font-sans);
	font-weight:500;
	letter-spacing:-.015em;
	font-size:clamp(30px,4.6vw,52px);
	line-height:1.05;
	color:var(--color-ink);
	max-width:16ch;
}
.rc-lead{
	font-family:var(--font-serif);
	font-size:clamp(19px,2.2vw,25px);
	line-height:1.5;
	color:var(--color-ink-soft);
	max-width:42ch;
	margin-top:26px;
}
.rc-head--split{ display:grid; grid-template-columns:minmax(0,220px) 1fr; gap:clamp(16px,4vw,56px); align-items:start; }
.rc-head--split .rc-eyebrow{ margin-top:14px; }
@media(max-width:820px){ .rc-head--split{ grid-template-columns:1fr; } .rc-head--split .rc-eyebrow{ margin-top:0; } }

/* Buttons */
.rc-btn{
	display:inline-block;
	font-family:var(--font-mono);
	font-size:12.5px;
	letter-spacing:.16em;
	text-transform:uppercase;
	padding:16px 30px;
	border:1px solid transparent;
	transition:background .2s, color .2s, border-color .2s;
	border-radius:var(--radius);
}
.rc-btn--primary{ background:var(--color-accent); color:#22180a; }
.rc-btn--primary:hover{ background:var(--color-accent-dark); }
.rc-btn--ghost{ background:transparent; border-color:currentColor; color:inherit; }
.rc-btn--ghost:hover{ background:rgba(255,255,255,.08); }
.rc-btn--light{ background:var(--color-panel); color:var(--color-ink); }
.rc-btn--light:hover{ background:#fff; }

/* Spec list (dotted rows: label left, value right) */
.rc-specs{ margin:0; }
.rc-spec{
	display:grid;
	grid-template-columns:minmax(120px,190px) 1fr;
	gap:clamp(16px,4vw,48px);
	padding:20px 0;
	border-top:1px solid var(--color-line);
	align-items:start;
}
.rc-spec:last-child{ border-bottom:1px solid var(--color-line); }
.rc-spec__label{
	font-family:var(--font-mono);
	font-size:11.5px;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--color-muted);
	line-height:1.5;
	padding-top:2px;
}
.rc-spec__value{ font-size:16.5px; color:var(--color-ink); }
@media(max-width:640px){
	.rc-spec{ grid-template-columns:1fr; gap:6px; }
}

/* ============================================================
   3. Header / nawigacja
   ============================================================ */
.rc-header{
	position:fixed; inset:0 0 auto 0; z-index:60;
	background:transparent;
	transition:background .3s, box-shadow .3s, color .3s;
}
.rc-header__inner{
	display:flex; align-items:center; justify-content:space-between;
	height:78px;
}
.rc-brand{ display:flex; align-items:center; gap:12px; font-weight:600; font-size:19px; letter-spacing:-.01em; color:var(--color-on-dark); }
.rc-brand__mark{ width:26px; height:18px; flex:none; }
.rc-brand img{ max-height:34px; width:auto; }
.rc-nav{ display:flex; align-items:center; gap:clamp(16px,2.4vw,40px); }
.rc-nav a{
	font-family:var(--font-mono);
	font-size:12px; letter-spacing:.14em; text-transform:uppercase;
	color:var(--color-on-dark-soft);
	transition:color .2s;
}
.rc-nav a:hover{ color:var(--color-on-dark); }
.rc-lang{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; color:var(--color-on-dark-soft); }
.rc-lang b{ color:var(--color-accent); font-weight:600; }

/* scrolled / solid header */
.rc-header.is-solid{ background:var(--color-bg); box-shadow:0 1px 0 rgba(0,0,0,.06); }
.rc-header.is-solid .rc-brand{ color:var(--color-ink); }
.rc-header.is-solid .rc-nav a{ color:var(--color-muted); }
.rc-header.is-solid .rc-nav a:hover{ color:var(--color-ink); }
.rc-header.is-solid .rc-lang{ color:var(--color-muted); }

.rc-burger{ display:none; background:none; border:0; padding:8px; color:inherit; }
.rc-burger svg{ width:26px; height:26px; }

@media(max-width:900px){
	.rc-nav{
		position:fixed; inset:78px 0 auto 0;
		flex-direction:column; align-items:flex-start; gap:0;
		background:var(--color-primary);
		padding:8px var(--gutter) 24px;
		transform:translateY(-120%); transition:transform .3s; z-index:55;
	}
	.rc-nav.is-open{ transform:translateY(0); }
	.rc-nav a{ color:var(--color-on-dark); padding:14px 0; width:100%; border-bottom:1px solid rgba(255,255,255,.08); }
	.rc-burger{ display:inline-flex; }
}

/* ============================================================
   4. Hero
   ============================================================ */
.rc-hero{
	position:relative;
	min-height:100vh;
	display:flex; align-items:flex-end;
	color:var(--color-on-dark);
	background:var(--color-primary);
	overflow:hidden;
}
.rc-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.rc-hero__bg::after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(12,22,15,.72) 0%, rgba(12,22,15,.55) 45%, rgba(12,22,15,.82) 100%);
}
.rc-hero__inner{ position:relative; z-index:2; width:100%; padding-top:120px; padding-bottom:56px; }
.rc-hero__eyebrow{
	font-family:var(--font-mono); font-size:12.5px; letter-spacing:.24em; text-transform:uppercase;
	color:var(--color-accent); margin:0 0 26px;
}
.rc-hero__title{
	font-family:var(--font-serif); font-weight:300;
	font-size:clamp(52px,10vw,128px); line-height:.96; letter-spacing:-.02em;
	margin:0 0 28px;
}
.rc-hero__lead{ font-family:var(--font-serif); font-size:clamp(19px,2.3vw,26px); line-height:1.5; max-width:34ch; color:#e5e8de; }

.rc-hero__stats{
	display:grid; grid-template-columns:repeat(4,1fr);
	gap:clamp(16px,3vw,40px);
	margin-top:clamp(36px,5vw,60px);
	padding-top:26px; border-top:1px solid rgba(255,255,255,.22);
}
.rc-hero__stat .rc-hero__stat-label{
	font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
	color:var(--color-on-dark-soft); margin:0 0 12px;
}
.rc-hero__stat .rc-hero__stat-value{ font-family:var(--font-mono); font-size:clamp(18px,2.2vw,24px); color:#fff; }
.rc-hero__cta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:clamp(30px,4vw,44px); }
@media(max-width:760px){ .rc-hero__stats{ grid-template-columns:1fr 1fr; row-gap:26px; } }

/* ============================================================
   5. Sekcje jasne / ciemne
   ============================================================ */
.rc-section--dark{ background:var(--color-primary); color:var(--color-on-dark); }
.rc-section--dark .rc-section-title{ color:var(--color-on-dark); }
.rc-section--dark .rc-eyebrow{ color:var(--color-accent); }
.rc-section--dark .rc-lead{ color:#d5dccf; }
.rc-section--alt{ background:var(--color-bg-alt); }

/* Manager */
.rc-manager__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,72px); margin-top:clamp(40px,5vw,64px); align-items:start; }
.rc-manager__body p{ font-family:var(--font-serif); font-size:19px; line-height:1.62; color:var(--color-ink-soft); max-width:46ch; }
.rc-figure figcaption{ font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; color:var(--color-muted); margin-top:14px; line-height:1.6; }
.rc-manager__specs{ margin-top:40px; }
@media(max-width:900px){ .rc-manager__grid{ grid-template-columns:1fr; } }

/* Strategy: 4 steps */
.rc-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,40px); margin-top:clamp(44px,5vw,72px); }
.rc-step{ border-top:2px solid var(--color-accent); padding-top:22px; }
.rc-step__no{ font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--color-muted); margin:0 0 18px; }
.rc-step__no b{ color:var(--color-ink); font-weight:600; margin-right:6px; }
.rc-step__title{ font-family:var(--font-sans); font-weight:600; font-size:19px; line-height:1.25; margin:0 0 14px; }
.rc-step__text{ font-size:15.5px; color:var(--color-ink-soft); }
@media(max-width:900px){ .rc-steps{ grid-template-columns:1fr 1fr; row-gap:36px; } }
@media(max-width:560px){ .rc-steps{ grid-template-columns:1fr; } }

/* Advantages: 2x2 cards */
.rc-adv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:clamp(40px,5vw,64px); background:var(--color-line); border:1px solid var(--color-line); }
.rc-adv-card{ background:var(--color-panel); padding:clamp(28px,3.5vw,44px); }
.rc-adv-card__kicker{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--color-accent-dark); margin:0 0 18px; }
.rc-adv-card__title{ font-family:var(--font-sans); font-weight:600; font-size:21px; margin:0 0 20px; }
.rc-adv-card__list{ list-style:none; margin:0; padding:0; }
.rc-adv-card__list li{ position:relative; padding-left:26px; margin-bottom:16px; font-size:15.5px; color:var(--color-ink-soft); }
.rc-adv-card__list li::before{ content:"—"; position:absolute; left:0; color:var(--color-accent-dark); }
@media(max-width:760px){ .rc-adv-grid{ grid-template-columns:1fr; } }

/* Material (dark) */
.rc-material__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; }
.rc-material__stats{ display:flex; flex-wrap:wrap; gap:clamp(24px,4vw,48px); margin-top:34px; padding-top:30px; border-top:1px solid rgba(255,255,255,.2); }
.rc-material__stat .v{ font-family:var(--font-mono); font-size:clamp(20px,2.4vw,26px); color:var(--color-accent); margin:0 0 10px; }
.rc-material__stat .l{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--color-on-dark-soft); max-width:22ch; line-height:1.5; }
.rc-clt{ display:flex; flex-direction:column; gap:8px; }
.rc-clt__layer{ height:44px; border-radius:2px; background:
	repeating-linear-gradient(90deg, #c79a5e 0 6px, #b98d52 6px 12px); }
.rc-clt__layer:nth-child(even){ background:repeating-linear-gradient(0deg, #c79a5e 0 5px, #bb8f54 5px 10px); }
.rc-clt__caption{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--color-on-dark-soft); margin-top:14px; border-top:1px solid rgba(255,255,255,.18); padding-top:12px; }
@media(max-width:820px){ .rc-material__grid{ grid-template-columns:1fr; } }

/* Economics */
.rc-econ__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,4vw,56px); margin-top:clamp(40px,5vw,60px); align-items:start; }
.rc-econ__panel{ background:var(--color-panel); padding:clamp(24px,3vw,40px); }
.rc-econ__note{ font-family:var(--font-mono); font-size:12px; line-height:1.7; color:var(--color-muted); border-left:2px solid var(--color-accent); padding-left:16px; margin-bottom:22px; }
.rc-econ__img{ height:100%; min-height:320px; background-size:cover; background-position:center; border-radius:2px; }
.rc-pipeline{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,40px); margin-top:clamp(52px,6vw,80px); }
.rc-pipeline__item{ border-top:2px solid var(--color-accent); padding-top:20px; }
.rc-pipeline__v{ font-family:var(--font-mono); font-size:clamp(24px,3vw,34px); color:var(--color-ink); margin:0 0 14px; }
.rc-pipeline__l{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--color-muted); line-height:1.6; }
@media(max-width:900px){ .rc-econ__grid{ grid-template-columns:1fr; } .rc-pipeline{ grid-template-columns:1fr 1fr; row-gap:32px; } }

/* ESG cards */
.rc-esg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:clamp(40px,5vw,60px); background:var(--color-line); border:1px solid var(--color-line); }
.rc-esg-card{ background:var(--color-panel); padding:clamp(26px,3vw,40px); }
.rc-esg-card__title{ font-family:var(--font-sans); font-weight:600; font-size:19px; color:var(--color-primary-soft); margin:0 0 16px; }
.rc-esg-card__text{ font-size:15.5px; color:var(--color-ink-soft); }
@media(max-width:900px){ .rc-esg-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .rc-esg-grid{ grid-template-columns:1fr; } }

/* ============================================================
   6. Kontakt / stopka (dark)
   ============================================================ */
.rc-contact{ background:var(--color-primary); color:var(--color-on-dark); padding-top:clamp(72px,9vw,120px); }
.rc-contact__grid{ display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(28px,5vw,64px); align-items:start; }
.rc-contact__eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--color-accent); margin:0 0 22px; }
.rc-contact__title{ font-family:var(--font-serif); font-weight:300; font-size:clamp(34px,5vw,60px); line-height:1.02; margin:0 0 22px; }
.rc-contact__lead{ font-family:var(--font-serif); font-size:20px; line-height:1.5; color:#dbe1d4; max-width:36ch; }
.rc-contact__email{ margin-top:34px; }
.rc-contact__addr{ font-family:var(--font-mono); font-size:13.5px; line-height:2; color:var(--color-on-dark-soft); border-top:1px solid rgba(255,255,255,.2); padding-top:18px; }
.rc-contact__addr b{ color:var(--color-on-dark); font-weight:600; }

.rc-footer{ background:var(--color-primary-soft); color:var(--color-on-dark-soft); }
.rc-footer__inner{ padding:clamp(40px,5vw,64px) 0; }
.rc-footer__legal{ font-family:var(--font-mono); font-size:12px; line-height:1.9; color:#93a08e; max-width:96ch; margin:0 0 18px; }
.rc-footer__bar{ border-top:1px solid rgba(255,255,255,.14); padding-top:22px; margin-top:22px; font-family:var(--font-mono); font-size:12px; letter-spacing:.05em; color:#8b9987; }
@media(max-width:820px){ .rc-contact__grid{ grid-template-columns:1fr; } }

/* ============================================================
   7. Formularz kontaktowy (opcjonalny prosty)
   ============================================================ */
.rc-form{ margin-top:30px; display:grid; gap:14px; max-width:440px; }
.rc-form input,.rc-form textarea{
	width:100%; padding:14px 16px; border:1px solid rgba(255,255,255,.28);
	background:rgba(255,255,255,.05); color:#fff; font-family:var(--font-sans); font-size:15px; border-radius:2px;
}
.rc-form textarea{ min-height:120px; resize:vertical; }
.rc-form__hp{ position:absolute; left:-9999px; }
.rc-form__msg{ font-family:var(--font-mono); font-size:13px; margin-top:6px; }

/* ============================================================
   8. Coming soon / podgląd
   ============================================================ */
.rc-cs{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--color-primary); color:var(--color-on-dark); text-align:center; padding:40px; }
.rc-cs__inner{ max-width:520px; }
.rc-cs__mark{ width:54px; height:38px; margin:0 auto 30px; }
.rc-cs__brand{ font-family:var(--font-serif); font-weight:300; font-size:clamp(38px,7vw,64px); letter-spacing:-.02em; margin:0 0 20px; }
.rc-cs__msg{ font-family:var(--font-serif); font-size:20px; line-height:1.55; color:#d5dccf; margin:0 0 34px; }
.rc-cs__eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--color-accent); margin:0 0 26px; }
.rc-cs__lock{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; color:#7f8c7a; margin-top:40px; }
.rc-cs__lock a{ color:var(--color-accent); }
.rc-cs__form{ display:flex; gap:10px; justify-content:center; margin-top:12px; flex-wrap:wrap; }
.rc-cs__form input{ padding:14px 16px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.06); color:#fff; font-family:var(--font-mono); border-radius:2px; min-width:220px; }
.rc-cs__error{ color:#e6a1a1; font-family:var(--font-mono); font-size:12.5px; margin-top:14px; }

/* Admin bar hint for hidden mode */
#wp-admin-bar-residale-status .ab-item{ color:#ffd479 !important; }

/* Utilities */
.rc-visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
