/*
Theme Name: Gânduri pentru Copii v2
Author: Info PC Electric
Description: Temă colorată și modernă pentru Asociația „Gânduri pentru Copiii din Rediu, Neamț”. Pagină principală cu secțiuni gata făcute (prezentare, despre, activități, cum poți ajuta, noutăți, contact) și formular de contact inclus.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ganduri
*/

/* ---------- Baza ---------- */
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
.gpc-main > * { margin-block-start: 0; }
.gpc-section { padding-top: 104px; padding-bottom: 104px; }

/* Etichete rotunde (pill) */
.gpc-pill {
	display: inline-block; width: fit-content; margin: 0;
	font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	padding: 6px 14px; border-radius: 999px; line-height: 1.5;
}
.gpc-pill--loc { font-size: 14px; letter-spacing: 0; text-transform: none; padding: 8px 16px; }
.gpc-pill--coral { background: #FFE1D8; color: #9A3A22; }
.gpc-pill--yellow { background: #FFC94A; color: #1B2430; }
.gpc-pill--mint { background: #D9F3E6; color: #1F5C40; }
.gpc-pill--sky { background: #DDEEFF; color: #1E3A6B; }
.gpc-pill--primary { background: #2448B8; color: #fff; }
.gpc-pill--coral-solid { background: #F2785C; color: #1B2430; }

.gpc-lead { font-size: 19px; color: #4B5563; max-width: 480px; }
.gpc-center { text-align: center; }
.gpc-center .gpc-pill { margin-inline: auto; }

/* Butoane */
.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: #fff; color: #1B2430; border: 2px solid #1B2430;
	padding: 13px 26px;
}
.is-style-outline .wp-block-button__link:hover { background: #1B2430; color: #fff; }
.gpc-btn-dark .wp-block-button__link { background: #1B2430; color: #fff; }
.gpc-btn-dark .wp-block-button__link:hover { background: #000; color: #fff; }

/* ---------- Antet ---------- */
.gpc-header { padding-top: 22px; padding-bottom: 22px; position: relative; z-index: 5; }
.gpc-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #1B2430; }
.gpc-brand:hover { color: #1B2430; }
.gpc-brand svg { width: 52px; height: 52px; flex: 0 0 auto; }
.gpc-brand__name { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.gpc-brand__name small { display: block; font-size: 15px; font-weight: 600; color: #C2492C; letter-spacing: 0; margin-top: 3px; }
.gpc-header .wp-block-navigation { font-weight: 600; font-size: 15px; }
.gpc-header .wp-block-navigation a:hover { color: #2448B8; }
@media (min-width: 600px) {
	.gpc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
		background: #fff; border: 1px solid #F0E6D6; border-radius: 999px; padding: 10px 22px; gap: 26px;
	}
}
.gpc-header .wp-block-buttons .wp-block-button__link { padding: 11px 20px; font-size: 15px; }

/* ---------- Prima secțiune ---------- */
.gpc-hero { position: relative; padding-top: 64px; padding-bottom: 104px; }
.gpc-hero::before, .gpc-hero::after { content: ""; position: absolute; border-radius: 50%; z-index: 0; pointer-events: none; }
.gpc-hero::before { width: 520px; height: 520px; background: #FFC94A; opacity: .35; top: -240px; right: -140px; }
.gpc-hero::after { width: 220px; height: 220px; background: #7BCFA6; opacity: .35; bottom: 40px; left: -90px; }
.gpc-hero > * { position: relative; z-index: 1; }
.gpc-hero__cols { gap: 56px; }
.gpc-hero__title { margin: 0; line-height: 1.02; letter-spacing: -.035em; }
.gpc-hero__title mark { background: none; color: #2448B8; }
.gpc-hero__title mark.gpc-mark { background: #FFC94A; color: #1B2430; padding: 0 .16em; border-radius: 16px; }
.gpc-hero__photos { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 200px 200px; gap: 16px; position: relative; }
.gpc-hero__photos > * { margin: 0 !important; }
.gpc-photo { overflow: hidden; border-radius: 32px; margin: 0; height: 100%; }
.gpc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gpc-photo--main { grid-row: span 2; border-radius: 32px 32px 32px 120px; }
.gpc-photo--b { border-radius: 120px 32px 32px 32px; }
.gpc-badge {
	position: absolute; left: -28px; bottom: -28px; z-index: 2;
	background: #fff; border-radius: 20px; padding: 14px 18px 14px 66px;
	box-shadow: 0 12px 32px rgba(27,36,48,.12);
	font-size: 14px; font-weight: 700; line-height: 1.35; max-width: 230px;
}
.gpc-badge::before {
	content: ""; position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
	width: 40px; height: 40px; border-radius: 50%;
	background: #F2785C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 21s-8-4.8-8-10.2A4.3 4.3 0 0 1 12 8.6a4.3 4.3 0 0 1 8 2.2C20 16.2 12 21 12 21z'/%3E%3C/svg%3E") center / 20px no-repeat;
}
@media (max-width: 781px) {
	.gpc-hero { padding-top: 32px; padding-bottom: 72px; }
	.gpc-hero__photos { grid-template-rows: 150px 150px; }
	.gpc-badge { left: 12px; bottom: -24px; }
}

/* ---------- Despre ---------- */
.gpc-panel {
	background: #2448B8; color: #E4EAFB; border-radius: 40px;
	padding: 80px 64px; position: relative; overflow: hidden;
}
.gpc-panel::after {
	content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%;
	border: 40px solid rgba(255,255,255,.08); right: -60px; bottom: -90px; pointer-events: none;
}
.gpc-panel h2, .gpc-panel h3 { color: #fff; }
.gpc-panel .wp-block-columns { gap: 56px; position: relative; z-index: 1; }
.gpc-panel a { color: #fff; }

/* ---------- Carduri activități ---------- */
.gpc-cards { gap: 20px; }
.gpc-cards > .wp-block-column { display: flex; }
.gpc-card { border-radius: 32px; padding: 36px; width: 100%; box-sizing: border-box; }
.gpc-card > * { margin: 0; }
.gpc-card > * + * { margin-top: 14px; }
.gpc-card p { color: #4B5563; font-size: 16px; }
.gpc-card h3 { font-size: 26px; }
.gpc-card::before {
	content: ""; display: block; width: 64px; height: 64px; border-radius: 20px; margin-bottom: 18px;
	background-position: center; background-repeat: no-repeat; background-size: 32px;
}
.gpc-card--yellow { background: #FFF1C9; }
.gpc-card--yellow::before { background-color: #FFC94A; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2430' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6.5 12 3l10 3.5-10 3.5z'/%3E%3Cpath d='M6 8.2v5.3c0 1.6 2.7 3 6 3s6-1.4 6-3V8.2'/%3E%3C/svg%3E"); }
.gpc-card--coral { background: #FFE1D8; }
.gpc-card--coral::before { background-color: #F2785C; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2430' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E"); }
.gpc-card--sky { background: #DDEEFF; }
.gpc-card--sky::before { background-color: #5AA9E6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2430' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 4l9 6.5'/%3E%3Cpath d='M5 9.5V20h14V9.5'/%3E%3Cpath d='M12 17s-3-1.8-3-3.8a1.6 1.6 0 0 1 3-.8 1.6 1.6 0 0 1 3 .8c0 2-3 3.8-3 3.8z'/%3E%3C/svg%3E"); }

/* ---------- Galerie ---------- */
.gpc-section--tight { padding-top: 0; }
.gpc-pill--yellow-soft { background: #FFF1C9; color: #6B5310; }
.gpc-gallery.wp-block-gallery.has-nested-images { gap: 20px; margin-top: 40px; }
.gpc-gallery.wp-block-gallery.has-nested-images figure.wp-block-image { border-radius: 28px; overflow: hidden; position: relative; }
.gpc-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(4n+2) { border-radius: 28px 28px 28px 96px; }
.gpc-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(4n+4) { border-radius: 96px 28px 28px 28px; }
.gpc-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; height: 100%; }
.gpc-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none; }
.gpc-gallery.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: absolute; left: 14px; bottom: 14px; right: auto; top: auto; width: auto; max-height: none; margin: 0;
	background: #fff; color: #1B2430; text-shadow: none; text-align: left;
	font-size: 14px; font-weight: 700; padding: 8px 14px; border-radius: 999px;
	box-shadow: 0 6px 18px rgba(27,36,48,.10); overflow: visible;
}
@media (max-width: 781px) {
	.gpc-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: calc(50% - 10px); }
}

/* ---------- Implică-te ---------- */
.gpc-dark { background: #1B2430; color: #fff; position: relative; overflow: hidden; }
.gpc-dark::before { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; background: #F2785C; opacity: .25; top: -140px; left: -100px; pointer-events: none; }
.gpc-dark > * { position: relative; z-index: 1; }
.gpc-dark h2 { color: #fff; font-size: clamp(34px, 5vw, 52px); }
.gpc-dark h2 mark { background: none; color: #FFC94A; }
.gpc-give { border-radius: 32px; padding: 36px; width: 100%; box-sizing: border-box; color: #1B2430; display: flex; flex-direction: column; }
.gpc-give > * { margin: 0; }
.gpc-give > * + * { margin-top: 14px; }
.gpc-give h3 { color: #1B2430; font-family: 'Manrope', system-ui, sans-serif; font-size: 20px; letter-spacing: 0; }
.gpc-give p { font-size: 16px; }
.gpc-give .wp-block-buttons { margin-top: auto; padding-top: 10px; }
.gpc-give .wp-block-button__link { font-size: 15px; padding: 12px 20px; }
.gpc-give--yellow { background: #FFC94A; }
.gpc-give--white { background: #fff; }
.gpc-give--white p { color: #4B5563; }
.gpc-give--mint { background: #7BCFA6; }
.gpc-big { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-size: 64px !important; line-height: 1; font-weight: 800; letter-spacing: -.04em; }
.gpc-give--white .gpc-big { color: #2448B8; }
.gpc-iban { font-weight: 700; color: #1B2430 !important; letter-spacing: .02em; word-break: break-word; }

/* ---------- Noutăți ---------- */
.gpc-news-head { margin-bottom: 40px; }
.gpc-news-head h2 { margin: 0; }
.gpc-news .wp-block-post-template { gap: 20px; }
.gpc-news .wp-block-post {
	background: #fff; border-radius: 28px; padding: 12px 12px 24px;
	box-shadow: 0 8px 24px rgba(27,36,48,.06);
	display: flex; flex-direction: column; gap: 10px;
}
.gpc-news .wp-block-post > * { margin: 0; }
.gpc-news .wp-block-post > *:not(.wp-block-post-featured-image) { padding-inline: 12px; }
.gpc-news .wp-block-post-featured-image { border-radius: 20px; overflow: hidden; }
.gpc-news .wp-block-post-featured-image img { border-radius: 20px; }
.gpc-news .wp-block-post-date { align-self: flex-start; margin-left: 12px !important; padding: 4px 10px !important; font-size: 12px; font-weight: 700; color: #1E3A6B; background: #DDEEFF; border-radius: 999px; }
.gpc-news .wp-block-post-title { font-family: 'Manrope', system-ui, sans-serif; font-size: 19px; font-weight: 700; letter-spacing: 0; line-height: 1.35; }
.gpc-news .wp-block-post-title a { color: #1B2430; text-decoration: none; }
.gpc-news .wp-block-post-title a:hover { color: #2448B8; }
.gpc-news .wp-block-post-excerpt { font-size: 15px; color: #4B5563; }

/* ---------- Contact ---------- */
.gpc-contact-panel { background: #DDEEFF; border-radius: 40px; padding: 72px 64px; }
.gpc-contact-panel .wp-block-columns { gap: 56px; }
.gpc-contact-info p { color: #334155; }
.gpc-contact-info strong { color: #1B2430; }
.gpc-form { display: flex; flex-direction: column; gap: 16px; background: #fff; border-radius: 28px; padding: 32px; box-shadow: 0 12px 32px rgba(30,58,107,.10); }
.gpc-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 700; }
.gpc-form input[type=text], .gpc-form input[type=email], .gpc-form textarea {
	font: inherit; font-weight: 400; font-size: 16px; padding: 14px 16px; border: 2px solid transparent; border-radius: 14px; background: #F3F6FB; color: #1B2430;
}
.gpc-form input:focus, .gpc-form textarea:focus { outline: none; border-color: #2448B8; background: #fff; }
.gpc-form .gpc-check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 500; font-size: 14px; color: #4B5563; }
.gpc-form .gpc-check input { margin-top: 4px; width: 18px; height: 18px; accent-color: #2448B8; }
.gpc-form button { font: inherit; font-weight: 700; font-size: 16px; background: #2448B8; color: #fff; border: 0; border-radius: 999px; padding: 16px 30px; cursor: pointer; align-self: flex-start; }
.gpc-form button:hover { background: #16307F; }
.gpc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.gpc-notice { padding: 14px 18px; border-radius: 14px; font-weight: 600; font-size: 15px; margin: 0; }
.gpc-notice--ok { background: #D9F3E6; color: #1F5C40; }
.gpc-notice--err { background: #FFE1D8; color: #9A3A22; }

/* ---------- Subsol ---------- */
.gpc-footer { background: #1B2430; color: #CBD5E1; padding-top: 48px; padding-bottom: 48px; font-size: 14px; }
.gpc-footer a { color: #CBD5E1; }
.gpc-footer a:hover { color: #fff; }
.gpc-footer .gpc-footer__name { color: #fff; font-weight: 700; font-size: 16px; margin: 0; }
.gpc-footer p { margin: 0; }
.gpc-footer svg { width: 48px; height: 48px; flex: 0 0 auto; }
.gpc-footer__brand { display: flex; align-items: center; gap: 14px; }

/* ---------- Pagini și articole ---------- */
.gpc-page { padding-top: 56px; padding-bottom: 96px; }
.gpc-page .wp-block-post-featured-image img { border-radius: 28px; }
.gpc-page .wp-block-post-date { color: #4B5563; font-size: 14px; font-weight: 600; }

/* ---------- Mobil ---------- */
@media (max-width: 781px) {
	.gpc-section { padding-top: 72px; padding-bottom: 72px; }
	.gpc-panel, .gpc-contact-panel { padding: 48px 24px; border-radius: 28px; }
}

/* ---------- Logo ilustrat în „Despre noi” ---------- */
.gpc-despre-logo { margin: 0 0 8px; }
.gpc-despre-logo img { width: 220px; height: auto; transform: rotate(-4deg); filter: drop-shadow(0 14px 28px rgba(0,0,0,.25)); }
@media (max-width: 781px) { .gpc-despre-logo img { width: 180px; } }

/* ---------- Logo rotund în antet ---------- */
.gpc-brand .gpc-brand__logo { width: 72px; height: 72px; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(27,36,48,.12)); }
@media (max-width: 600px) { .gpc-brand .gpc-brand__logo { width: 56px; height: 56px; } }
