/*
Theme Name: Psikoloji Cocuk (Block)
Theme URI: https://psikolojicocuk.com.tr
Author: Meiyo Solutions
Author URI: https://psikolojicocuk.com.tr
Description: Psikoloji Cocuk psikolojik danismanlik merkezi icin ozel tasarlanmis, Full Site Editing (FSE) uyumlu block temasi. Tum bolumler WordPress blok editorunden duzenlenebilir. Cocuk ve ergen psikolojisi hizmetlerini one cikaran yesil marka paletinde tek sayfa tasarim.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.7
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: psikoloji-cocuk
Tags: one-column, custom-colors, custom-menu, full-site-editing, block-styles, landing-page, editor-style
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --pc-green: #8DC63F;
  --pc-green-dark: #6fa82e;
  --pc-green-light: #b8dc78;
  --pc-green-pale: #f0f8e6;
  --pc-green-muted: #e8f4d4;
  --pc-off-white: #fafcf7;
  --pc-text-dark: #2a3520;
  --pc-text-mid: #4a5a38;
  --pc-text-light: #7a8a68;
  --pc-border: #dcecc4;
  --pc-shadow: 0 8px 40px rgba(141,198,63,0.12);
}

body { overflow-x: hidden; }

/* ==================== SITE HEADER (NAV) ==================== */

.wp-site-blocks > header,
.pc-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--pc-border);
}

.pc-logo-icon {
  width: 40px; height: 40px;
  background: var(--pc-green);
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px;
}

.pc-nav-cta a {
  background: var(--pc-green) !important;
  color: #fff !important;
  padding: 10px 24px !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background .2s, transform .15s;
}
.pc-nav-cta a:hover { background: var(--pc-green-dark) !important; transform: translateY(-1px); }

/* ==================== HERO ==================== */

.pc-hero {
  position: relative;
  overflow: hidden;
  padding: 100px 5% 80px !important;
  min-height: 90vh;
}

.pc-hero::before {
  content: '';
  position: absolute; right: -100px; top: -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(141,198,63,0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: pcFloat 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
.pc-hero::after {
  content: '';
  position: absolute; left: -80px; bottom: -80px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(141,198,63,0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.pc-hero > * { position: relative; z-index: 2; }

@keyframes pcFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-30px); }
}

.pc-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--pc-green-pale);
  border: 1px solid var(--pc-border);
  border-radius: 50px;
  padding: 6px 16px;
  font-size: 12px; font-weight: 600;
  color: var(--pc-green-dark);
  letter-spacing: 1px; text-transform: uppercase;
  margin-bottom: 28px;
  width: fit-content;
}
.pc-hero-badge::before {
  content: ''; width: 8px; height: 8px;
  background: var(--pc-green); border-radius: 50%;
}

.pc-stat-num {
  font-family: 'Playfair Display', serif;
  font-size: 32px; font-weight: 700;
  color: var(--pc-green);
  line-height: 1;
}
.pc-stat-label { font-size: 13px; color: var(--pc-text-light); margin-top: 4px; }

/* Hero visual card stack */
.pc-hero-visual {
  position: relative;
  min-height: 500px;
}
.pc-hero-card {
  background: #fff;
  border-radius: 24px;
  box-shadow: var(--pc-shadow);
  border: 1px solid var(--pc-border);
  padding: 20px;
  transition: transform .3s;
}
.pc-hero-card-main {
  text-align: left;
}
.pc-hero-card-main .pc-card-emoji {
  width: 100%; height: 200px;
  background: linear-gradient(135deg, var(--pc-green-pale), var(--pc-green-muted));
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 80px;
  margin-bottom: 16px;
}

/* ==================== SECTION HELPERS ==================== */

.pc-section {
  padding: 100px 5% !important;
}

.pc-section-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--pc-green) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

/* ==================== SERVICE / TEAM / REVIEW CARDS ==================== */

.pc-service-card,
.pc-team-card,
.pc-review-card {
  background: #fff;
  border: 1px solid var(--pc-border);
  border-radius: 20px;
  padding: 36px 28px !important;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  height: 100%;
}

.pc-service-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--pc-green);
  transform: scaleX(0); transform-origin: left;
  transition: transform .3s;
}
.pc-service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--pc-shadow);
}
.pc-service-card:hover::before { transform: scaleX(1); }
.pc-team-card:hover,
.pc-review-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--pc-shadow);
}

.pc-service-icon {
  width: 56px; height: 56px;
  background: var(--pc-green-pale);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 26px;
  margin-bottom: 24px;
}

/* Team photo */
.pc-team-photo {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: linear-gradient(160deg, var(--pc-green-pale) 0%, var(--pc-green-muted) 100%);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 90px;
  margin-bottom: 20px;
  overflow: hidden;
}
.pc-team-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Review card */
.pc-review-card { padding: 28px !important; }
.pc-review-stars {
  color: #f5a623;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.pc-review-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--pc-green-pale);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px;
  border: 2px solid var(--pc-border);
}

/* ==================== CONTACT & MAP ==================== */

.pc-contact-item {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 18px 0;
  border-bottom: 1px solid var(--pc-border);
}
.pc-contact-item:last-child { border-bottom: none; }
.pc-contact-icon {
  width: 44px; height: 44px;
  background: var(--pc-green-pale);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}

.pc-map-embed {
  border-radius: 24px; overflow: hidden;
  height: 400px;
  border: 1px solid var(--pc-border);
  box-shadow: var(--pc-shadow);
}
.pc-map-embed iframe { width: 100%; height: 100%; border: none; display: block; }

/* ==================== CTA (APPOINTMENT) ==================== */

.pc-cta-section {
  background: linear-gradient(135deg, var(--pc-green) 0%, var(--pc-green-dark) 100%);
  padding: 100px 5% !important;
  position: relative;
  overflow: hidden;
}
.pc-cta-section::before {
  content: '🌿';
  position: absolute; right: 5%; top: 50%; transform: translateY(-50%);
  font-size: 200px; opacity: 0.1;
  pointer-events: none;
}
.pc-cta-section h2,
.pc-cta-section p,
.pc-cta-section .pc-section-label {
  color: #fff !important;
  position: relative; z-index: 2;
}
.pc-cta-section .pc-section-label { color: rgba(255,255,255,0.7) !important; }

/* White pill button variant */
.wp-block-button.pc-btn-white .wp-block-button__link {
  background: #fff !important;
  color: var(--pc-green-dark) !important;
  font-weight: 700 !important;
}
.wp-block-button.pc-btn-outline .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
}
.wp-block-button.pc-btn-outline .wp-block-button__link:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,0.1) !important;
}

/* ==================== FOOTER ==================== */

.pc-footer {
  background: var(--pc-text-dark) !important;
  color: rgba(255,255,255,0.6);
  padding: 60px 5% 36px !important;
}
.pc-footer h4 {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}
.pc-footer a { color: rgba(255,255,255,0.55) !important; text-decoration: none; }
.pc-footer a:hover { color: var(--pc-green-light) !important; }
.pc-footer p, .pc-footer li { color: rgba(255,255,255,0.6); font-size: 14px; }
.pc-footer ul { list-style: none; padding: 0; }
.pc-footer li { margin-bottom: 10px; }

/* ==================== RESPONSIVE ==================== */

@media (max-width: 900px) {
  .pc-hero { min-height: auto; padding-top: 120px !important; text-align: center; }
  .pc-hero-badge { margin-left: auto; margin-right: auto; }
  .pc-hero-visual { display: none; }
  .pc-cta-section::before { font-size: 120px; opacity: 0.06; }
}

/* Editor tweak: give sections some visible spacing in the editor */
.editor-styles-wrapper .pc-section { padding: 60px 5% !important; }
