/* =========================================================
   Growth Capital - Main Stylesheet
   Palette: Navy #0f2a4a / #16345c | Gold #d4af37 / #c9a227 | Cream #f7f5f0
   ========================================================= */

:root{
	--gc-navy: #0f2a4a;
	--gc-navy-light: #1c3d63;
	--gc-navy-dark: #0a1d33;
	--gc-gold: #d4af37;
	--gc-gold-dark: #b8912a;
	--gc-cream: #f8f6f1;
	--gc-white: #ffffff;
	--gc-text: #24303d;
	--gc-text-light: #5b6b7a;
	--gc-border: #e6e2d8;
	--gc-shadow: 0 10px 30px rgba(15,42,74,0.10);
	--gc-radius: 14px;
	--gc-font-heading: 'Playfair Display', Georgia, serif;
	--gc-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

*,*::before,*::after{ box-sizing: border-box; }
[hidden]{ display:none !important; }
html{ scroll-behavior: smooth; }
body{
	margin:0;
	font-family: var(--gc-font-body);
	color: var(--gc-text);
	background: var(--gc-white);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4{
	font-family: var(--gc-font-heading);
	color: var(--gc-navy);
	line-height: 1.2;
	margin: 0 0 16px;
}
h1{ font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 800; }
h2{ font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 700; }
h3{ font-size: 1.25rem; font-weight: 700; }
p{ margin:0 0 16px; color: var(--gc-text-light); }
a{ text-decoration:none; color: inherit; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }

.gc-container{ max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.gc-center{ text-align:center; margin-top: 36px; }

/* ---------- Buttons ---------- */
.gc-btn{
	display:inline-flex; align-items:center; justify-content:center;
	padding: 14px 32px; border-radius: 50px; font-weight:600; font-size:.95rem;
	transition: all .25s ease; cursor:pointer; border: 2px solid transparent;
}
.gc-btn-primary{ background: var(--gc-navy); color:#fff; }
.gc-btn-primary:hover{ background: var(--gc-navy-light); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15,42,74,.25); }
.gc-btn-gold{ background: linear-gradient(135deg, var(--gc-gold), var(--gc-gold-dark)); color: var(--gc-navy-dark); }
.gc-btn-gold:hover{ transform: translateY(-2px); box-shadow: 0 8px 20px rgba(212,175,55,.35); }
.gc-btn-outline{ border-color: rgba(255,255,255,.5); color:#fff; }
.gc-btn-outline:hover{ background: rgba(255,255,255,.12); }
.gc-btn-block{ width:100%; }
.gc-link-arrow{ font-weight:600; color: var(--gc-navy); border-bottom: 2px solid var(--gc-gold); padding-bottom:2px; }

.gc-eyebrow{
	display:inline-block; text-transform:uppercase; letter-spacing:2px;
	font-size:.78rem; font-weight:700; color: var(--gc-gold-dark); margin-bottom:12px;
}

/* ---------- Topbar ---------- */
.gc-topbar{ background: var(--gc-navy-dark); color: rgba(255,255,255,.85); font-size:.82rem; }
.gc-topbar-inner{ display:flex; gap:28px; padding:8px 24px; }

/* ---------- Header ---------- */
.gc-header{ background:#fff; box-shadow: 0 2px 12px rgba(0,0,0,.05); position: sticky; top:0; z-index:100; }
.gc-header-inner{ display:flex; align-items:center; justify-content:space-between; padding:14px 24px; }
.gc-logo-img{ height:52px; width:auto; }
.gc-nav-menu{ display:flex; gap:32px; align-items:center; }
.gc-nav-menu a{ font-weight:600; font-size:.95rem; color: var(--gc-navy); position:relative; }
.gc-nav-menu a::after{
	content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px;
	background: var(--gc-gold); transition: width .2s ease;
}
.gc-nav-menu a:hover::after{ width:100%; }
.gc-nav-menu li.gc-menu-cta a{
	background: var(--gc-navy); color:#fff; padding:10px 22px; border-radius:50px;
}
.gc-nav-menu li.gc-menu-cta a::after{ display:none; }
.gc-nav-menu li.gc-menu-cta a:hover{ background: var(--gc-navy-light); }

.gc-burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; }
.gc-burger span{ width:26px; height:2px; background: var(--gc-navy); }
.gc-mobile-nav{ display:none; }

/* ---------- Hero ---------- */
.gc-hero{
	position:relative; overflow:hidden;
	background: radial-gradient(circle at 20% 20%, var(--gc-navy-light), var(--gc-navy) 60%, var(--gc-navy-dark));
	padding: 100px 0 120px; color:#fff;
}
.gc-hero-bg-shapes{ position:absolute; inset:0; overflow:hidden; }
.gc-shape{ position:absolute; border-radius:50%; opacity:.15; filter: blur(2px); animation: gc-float 10s ease-in-out infinite; }
.gc-shape-1{ width:320px;height:320px; background: var(--gc-gold); top:-80px; right:-60px; }
.gc-shape-2{ width:180px;height:180px; border:2px solid var(--gc-gold); top:60%; left:-60px; animation-delay:2s; }
.gc-shape-3{ width:100px;height:100px; background: rgba(255,255,255,.2); bottom:10%; right:20%; animation-delay:4s; }
@keyframes gc-float{ 0%,100%{ transform: translateY(0px);} 50%{ transform: translateY(-24px);} }

.gc-hero-inner{ display:grid; grid-template-columns: 1.1fr .9fr; gap:60px; align-items:center; position:relative; z-index:2; }
.gc-hero-text h1{ color:#fff; }
.gc-hero-sub{ color: rgba(255,255,255,.82); font-size:1.08rem; max-width:520px; }
.gc-hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin: 28px 0 36px; }
.gc-hero-trust{ display:flex; gap:36px; }
.gc-trust-item{ display:flex; flex-direction:column; }
.gc-trust-item strong{ font-family: var(--gc-font-heading); color: var(--gc-gold); font-size:1.5rem; }
.gc-trust-item span{ font-size:.78rem; color: rgba(255,255,255,.7); }

.gc-hero-visual{ perspective: 1000px; }
.gc-parallax-card{
	background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15);
	border-radius: 20px; padding:36px; backdrop-filter: blur(10px);
	transform-style: preserve-3d; transition: transform .1s ease-out;
	box-shadow: 0 30px 60px rgba(0,0,0,.35);
}
.gc-card-glow{ position:absolute; width:200px; height:200px; background: var(--gc-gold); filter: blur(80px); opacity:.25; top:-40px; right:-40px; }
.gc-card-chart{ display:flex; align-items:flex-end; gap:14px; height:160px; margin-bottom:20px; position:relative; z-index:1;}
.gc-bar{ flex:1; height: var(--h); background: linear-gradient(180deg, var(--gc-gold), var(--gc-gold-dark)); border-radius:6px 6px 0 0; animation: gc-grow 1.2s ease-out; }
@keyframes gc-grow{ from{ transform: scaleY(0); transform-origin:bottom;} to{ transform: scaleY(1);} }
.gc-card-line{ height:2px; background: linear-gradient(90deg, transparent, var(--gc-gold), transparent); margin-bottom:16px; }
.gc-card-caption{ color: rgba(255,255,255,.75); font-size:.9rem; text-align:center; margin:0; }

/* ---------- Sections ---------- */
.gc-section{ padding: 90px 0; }
.gc-section-alt{ background: var(--gc-cream); }
.gc-section-head{ max-width:640px; margin: 0 auto 48px; text-align:center; }
.gc-section-head-light .gc-eyebrow{ color: var(--gc-gold); }
.gc-section-head-light h2{ color:#fff; }

.gc-cards-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:28px; }
.gc-service-card{
	background:#fff; border:1px solid var(--gc-border); border-radius: var(--gc-radius);
	padding: 32px 26px; transition: all .25s ease;
}
.gc-service-card:hover{ transform: translateY(-6px); box-shadow: var(--gc-shadow); border-color: transparent; }
.gc-icon-badge{
	width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center;
	font-size:1.6rem; background: linear-gradient(135deg, var(--gc-navy), var(--gc-navy-light)); margin-bottom:18px;
}

/* How it works */
.gc-how-it-works{ background: var(--gc-navy); }
.gc-steps{ display:grid; grid-template-columns: repeat(3,1fr); gap:32px; }
.gc-step{ text-align:center; color:#fff; }
.gc-step-num{ font-family: var(--gc-font-heading); font-size:2.6rem; color: var(--gc-gold); font-weight:800; margin-bottom:8px; }
.gc-step h3{ color:#fff; }
.gc-step p{ color: rgba(255,255,255,.7); }

/* Calc teaser */
.gc-calc-teaser-inner{ display:grid; grid-template-columns: 1.1fr .9fr; gap:60px; align-items:center; }
.gc-calc-preview{ background: var(--gc-cream); border-radius: var(--gc-radius); padding:32px; border:1px solid var(--gc-border); }
.gc-calc-preview-row{ display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--gc-border); }
.gc-calc-preview-row:last-child{ border-bottom:none; }
.gc-calc-preview-highlight strong{ color: var(--gc-gold-dark); font-size:1.3rem; }

/* Blog cards */
.gc-blog-grid{ grid-template-columns: repeat(3, 1fr); }
.gc-blog-card{
	background:#fff; border:1px solid var(--gc-border); border-radius: var(--gc-radius); padding:26px;
	display:flex; flex-direction:column; gap:8px; transition: all .25s ease;
}
.gc-blog-card:hover{ transform: translateY(-6px); box-shadow: var(--gc-shadow); }
.gc-blog-date{ font-size:.78rem; color: var(--gc-gold-dark); font-weight:700; text-transform:uppercase; letter-spacing:1px; }
.gc-blog-card h3{ font-size:1.1rem; margin:0; }

/* CTA final */
.gc-cta-final{ background: linear-gradient(135deg, var(--gc-navy), var(--gc-navy-dark)); text-align:center; }
.gc-cta-final-inner h2{ color:#fff; }
.gc-cta-final-inner p{ color: rgba(255,255,255,.75); max-width:520px; margin:0 auto 28px; }

/* ---------- Page hero (inner pages) ---------- */
.gc-page-hero{ background: var(--gc-cream); padding: 70px 0 50px; text-align:center; border-bottom:1px solid var(--gc-border); }
.gc-page-hero-small{ padding: 50px 0 34px; }
.gc-page-hero p{ max-width:600px; margin:0 auto; }

/* Two column / values */
.gc-two-col{ display:grid; grid-template-columns: 1fr 1fr; gap:60px; align-items:start; }
.gc-values-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:20px; }
.gc-value-card{ background: var(--gc-cream); border-radius:12px; padding:22px; border:1px solid var(--gc-border); }
.gc-value-card h3{ font-size:1.05rem; margin-bottom:6px; }
.gc-value-card p{ margin:0; font-size:.92rem; }

/* Service detail list */
.gc-service-detail-list{ display:flex; flex-direction:column; gap:56px; }
.gc-service-detail{ display:grid; grid-template-columns: 100px 1fr; gap:32px; align-items:start; }
.gc-service-detail-icon{
	width:80px; height:80px; border-radius:18px; background: linear-gradient(135deg, var(--gc-navy), var(--gc-navy-light));
	display:flex; align-items:center; justify-content:center; font-size:2rem;
}
.gc-check-list li{ padding-left:28px; position:relative; margin-bottom:10px; color: var(--gc-text); }
.gc-check-list li::before{ content:'✓'; position:absolute; left:0; color: var(--gc-gold-dark); font-weight:800; }

/* ---------- Calculator ---------- */
.gc-calculator-box{
	display:grid; grid-template-columns: 1.1fr .9fr; gap:50px;
	background: var(--gc-cream); border:1px solid var(--gc-border); border-radius:20px; padding:48px;
}
.gc-field{ margin-bottom:26px; }
.gc-field label{ display:flex; justify-content:space-between; font-weight:600; margin-bottom:10px; color: var(--gc-navy); font-size:.92rem; }
.gc-field label span{ color: var(--gc-gold-dark); font-weight:700; }
input[type="range"]{
	width:100%; height:6px; border-radius:3px; background: var(--gc-border); appearance:none; outline:none;
}
input[type="range"]::-webkit-slider-thumb{
	appearance:none; width:22px; height:22px; border-radius:50%;
	background: var(--gc-navy); border:3px solid var(--gc-gold); cursor:pointer;
}
.gc-calc-results{ background:#fff; border-radius:16px; padding:32px; align-self:start; box-shadow: var(--gc-shadow); }
.gc-result-main{ text-align:center; padding-bottom:20px; border-bottom:1px solid var(--gc-border); margin-bottom:16px; }
.gc-result-main span{ display:block; font-size:.85rem; color: var(--gc-text-light); margin-bottom:6px; }
.gc-result-main strong{ font-family: var(--gc-font-heading); font-size:2.4rem; color: var(--gc-navy); }
.gc-result-row{ display:flex; justify-content:space-between; padding:8px 0; font-size:.92rem; }
.gc-calc-cta{ width:100%; margin-top:20px; }
.gc-calc-disclaimer{ font-size:.8rem; color: var(--gc-text-light); text-align:center; max-width:700px; margin:28px auto 0; }

.gc-rate-note{ font-size:.8rem; color: var(--gc-text-light); margin: 4px 0 0; }
.gc-field-hint{ font-size:.8rem; color: var(--gc-text-light); margin: 6px 0 0; }

/* ---------- Forms ---------- */
.gc-form-wrap{ max-width:760px; }
.gc-form{ background:#fff; }
.gc-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.gc-form input[type="text"], .gc-form input[type="email"], .gc-form input[type="tel"],
.gc-form input[type="number"], .gc-form select, .gc-form textarea{
	width:100%; padding:13px 16px; border:1px solid var(--gc-border); border-radius:10px;
	font-family: var(--gc-font-body); font-size:.95rem; background: var(--gc-cream);
	transition: border-color .2s ease;
}
.gc-form input:focus, .gc-form select:focus, .gc-form textarea:focus{ outline:none; border-color: var(--gc-gold); background:#fff; }
.gc-checkbox-field{ display:flex; align-items:flex-start; gap:10px; }
.gc-checkbox-field input{ margin-top:4px; }
.gc-checkbox-field label{ font-size:.85rem; color: var(--gc-text-light); }
.gc-form-response{ margin-top:16px; padding:14px 18px; border-radius:10px; font-size:.92rem; display:none; }
.gc-form-response.gc-success{ display:block; background:#e5f6ec; color:#1e7e42; }
.gc-form-response.gc-error{ display:block; background:#fdecea; color:#c0392b; }

/* Contact */
.gc-contact-grid{ display:grid; grid-template-columns: .8fr 1.2fr; gap:56px; }
.gc-contact-item{ margin-bottom:28px; }
.gc-contact-item h3{ font-size:1rem; margin-bottom:4px; }
.gc-contact-item p{ margin:0; }

/* Timeline (About page) */
.gc-timeline{ max-width:700px; margin:0 auto; position:relative; padding-left:36px; }
.gc-timeline::before{ content:''; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background: var(--gc-border); }
.gc-timeline-item{ position:relative; margin-bottom:36px; }
.gc-timeline-item:last-child{ margin-bottom:0; }
.gc-timeline-dot{ position:absolute; left:-36px; top:4px; width:16px; height:16px; border-radius:50%; background: var(--gc-gold); border:3px solid #fff; box-shadow:0 0 0 2px var(--gc-gold); }
.gc-timeline-content h3{ font-size:1.05rem; margin-bottom:4px; }
.gc-timeline-content p{ margin:0; font-size:.9rem; }

/* Comparison table */
.gc-table-wrap{ overflow-x:auto; }
.gc-compare-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--gc-radius); overflow:hidden; }
.gc-compare-table th{ background: var(--gc-navy); color:#fff; text-align:left; padding:16px 20px; font-size:.85rem; text-transform:uppercase; letter-spacing:.5px; }
.gc-compare-table td{ padding:16px 20px; border-bottom:1px solid var(--gc-border); font-size:.92rem; }
.gc-compare-table tr:last-child td{ border-bottom:none; }
.gc-compare-table tr:hover td{ background: var(--gc-cream); }

/* Status tracking page */
.gc-status-result{ margin-top:32px; background: var(--gc-cream); border-radius: var(--gc-radius); padding:32px; border:1px solid var(--gc-border); }
.gc-status-result-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:10px; }
.gc-status-result-ref{ font-family: var(--gc-font-heading); font-weight:800; font-size:1.3rem; color: var(--gc-navy); }
.gc-status-badge{ padding:6px 16px; border-radius:20px; font-size:.8rem; font-weight:700; color:#fff; background:#888; }
.gc-status-neu{ background:#c0392b; }
.gc-status-in_bearbeitung{ background: var(--gc-gold); color: var(--gc-navy-dark); }
.gc-status-kontaktiert{ background:#2980b9; }
.gc-status-akzeptiert{ background:#27ae60; }
.gc-status-abgelehnt{ background:#7f2d2d; }
.gc-status-abgeschlossen{ background:#5b6b7a; }
.gc-status-result-desc{ font-size:.95rem; color: var(--gc-text-light); margin-bottom:24px; }
.gc-status-result-details{ display:grid; grid-template-columns: repeat(3,1fr); gap:16px; }
.gc-status-result-details div{ background:#fff; border-radius:10px; padding:16px; text-align:center; border:1px solid var(--gc-border); }
.gc-status-result-details span{ display:block; font-size:.75rem; color: var(--gc-text-light); margin-bottom:6px; text-transform:uppercase; letter-spacing:.5px; }
.gc-status-result-details strong{ font-family: var(--gc-font-heading); color: var(--gc-navy); font-size:1.1rem; }

/* Contact page extras */
.gc-hours-table{ width:100%; border-collapse:collapse; margin: 20px 0; }
.gc-hours-table td{ padding:12px 0; border-bottom:1px solid var(--gc-border); font-size:.95rem; }
.gc-hours-table td:first-child{ font-weight:600; color: var(--gc-navy); }
.gc-hours-table td:last-child{ text-align:right; color: var(--gc-text-light); }
.gc-hours-note{ font-size:.85rem; }
.gc-map-card{ border-radius: var(--gc-radius); overflow:hidden; }
.gc-map-placeholder{
	background: linear-gradient(135deg, var(--gc-navy), var(--gc-navy-light)); color:#fff;
	min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px;
}
.gc-map-placeholder span{ font-size:2.4rem; margin-bottom:12px; }
.gc-map-placeholder p{ color: rgba(255,255,255,.85); margin:0; }

/* Legal */
.gc-legal-content{ max-width:800px; margin:0 auto; }
.gc-legal-content h2{ font-size:1.2rem; margin-top:36px; }
.gc-legal-note{ margin-top:40px; padding:16px 20px; background: var(--gc-cream); border-radius:10px; font-size:.85rem; }

/* Blog layout */
.gc-blog-layout{ display:grid; grid-template-columns: 2.2fr 1fr; gap:48px; align-items:start; }
.gc-widget{ background: var(--gc-cream); border-radius: var(--gc-radius); padding:26px; }
.gc-widget-title{ font-size:1.05rem; }
.gc-single-post .gc-post-content{ font-size:1.02rem; color: var(--gc-text); }
.gc-single-post .gc-post-content h2{ font-size:1.4rem; margin-top:32px; }
.gc-post-thumb{ margin-bottom:28px; border-radius: var(--gc-radius); overflow:hidden; }
.gc-pagination{ margin-top:36px; display:flex; gap:12px; }
.gc-pagination a, .gc-pagination span{ padding:8px 16px; border:1px solid var(--gc-border); border-radius:8px; }

/* Footer */
.gc-footer{ background: var(--gc-navy-dark); color: rgba(255,255,255,.75); padding-top:64px; }
.gc-footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1); }
.gc-footer-logo{ height:44px; margin-bottom:16px; filter: brightness(0) invert(1); }
.gc-footer-col h4{ color:#fff; font-size:.95rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:18px; }
.gc-footer-menu li, .gc-footer-contact li{ margin-bottom:10px; font-size:.9rem; }
.gc-footer-menu a:hover{ color: var(--gc-gold); }
.gc-footer-bottom-inner{ display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-size:.8rem; gap:20px; flex-wrap:wrap; }
.gc-disclaimer{ max-width:520px; margin:0; opacity:.7; }

/* ---------- Responsive ---------- */
@media (max-width: 960px){
	.gc-hero-inner, .gc-two-col, .gc-calc-teaser-inner, .gc-calculator-box, .gc-contact-grid, .gc-blog-layout{
		grid-template-columns: 1fr;
	}
	.gc-cards-grid{ grid-template-columns: repeat(2,1fr); }
	.gc-blog-grid{ grid-template-columns: repeat(2,1fr); }
	.gc-steps{ grid-template-columns: 1fr; }
	.gc-footer-grid{ grid-template-columns: 1fr 1fr; }
	.gc-service-detail{ grid-template-columns: 1fr; }
	.gc-nav-menu{ display:none; }
	.gc-burger{ display:flex; }
	.gc-lang-switcher--desktop{ display:none; }
	.gc-mobile-nav.active{ display:block; background:#fff; padding:20px 24px; border-top:1px solid var(--gc-border); }
	.gc-mobile-menu{ display:flex; flex-direction:column; gap:16px; }
	.gc-topbar-inner{ flex-wrap:wrap; gap:12px; font-size:.72rem; }
}
/* ---------- Trust badges ---------- */
.gc-trust-badges{ padding: 40px 0; }
.gc-badges-row{ display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
.gc-badge-item{ display:flex; align-items:center; gap:10px; font-weight:600; font-size:.92rem; color: var(--gc-navy); }
.gc-badge-item span{ font-size:1.4rem; }

/* ---------- FAQ accordion ---------- */
.gc-faq-list{ max-width:800px; margin:0 auto; }
.gc-faq-item{ border-bottom:1px solid var(--gc-border); }
.gc-faq-question{
	width:100%; text-align:left; background:none; border:none; padding:20px 4px; cursor:pointer;
	font-family: var(--gc-font-heading); font-size:1.05rem; font-weight:700; color: var(--gc-navy);
	display:flex; justify-content:space-between; align-items:center;
}
.gc-faq-question span{ color: var(--gc-gold-dark); font-size:1.4rem; transition: transform .2s ease; }
.gc-faq-item.active .gc-faq-question span{ transform: rotate(45deg); }
.gc-faq-answer{ max-height:0; overflow:hidden; transition: max-height .3s ease; }
.gc-faq-item.active .gc-faq-answer{ max-height:200px; }
.gc-faq-answer p{ padding: 0 4px 20px; margin:0; }

/* ---------- Language switcher ---------- */
.gc-lang-switcher{ position:relative; margin-left:16px; }
.gc-lang-current{
	display:flex; align-items:center; gap:6px; background: var(--gc-cream); border:1px solid var(--gc-border);
	border-radius:20px; padding:8px 14px; font-size:.85rem; font-weight:700; color: var(--gc-navy); cursor:pointer;
}
.gc-lang-current:hover{ border-color: var(--gc-gold); }
.gc-lang-icon{ font-size:1rem; }
.gc-lang-menu{
	position:absolute; top: calc(100% + 8px); right:0; background:#fff; border:1px solid var(--gc-border);
	border-radius:12px; box-shadow: 0 10px 30px rgba(15,42,74,.15); min-width:160px; z-index:200; overflow:hidden; padding:6px;
}
.gc-lang-option{
	display:block; width:100%; text-align:left; background:none; border:none; padding:9px 12px; border-radius:8px;
	font-size:.88rem; color: var(--gc-text); cursor:pointer;
}
.gc-lang-option:hover{ background: var(--gc-cream); color: var(--gc-navy); }

/* Mobile menu's language switcher instance */
.gc-mobile-nav-lang{ margin-top:20px; padding-top:20px; border-top:1px solid var(--gc-border); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gc-mobile-nav-lang-label{ font-weight:700; font-size:.9rem; color: var(--gc-navy); }
.gc-lang-switcher--mobile{ margin-left:0; }
.gc-lang-switcher--mobile .gc-lang-menu{ right:0; left:auto; }

/* Hide Google Translate's own UI - we use our custom dropdown instead */
.gc-translate-hidden-widget{ position:absolute; left:-9999px; top:-9999px; }
body > .skiptranslate{ display:none !important; }
.goog-te-banner-frame{ display:none !important; }
body{ top:0 !important; position:static !important; }
.goog-tooltip, .goog-tooltip:hover{ display:none !important; }
.goog-text-highlight{ background:none !important; box-shadow:none !important; }

/* ---------- Chat widget ---------- */
.gc-chat-widget{ position: fixed; bottom: 24px; right: 24px; z-index: 999; font-family: var(--gc-font-body); }
.gc-chat-bubble{
	width:64px; height:64px; border-radius:50%; border:none; cursor:pointer;
	background: linear-gradient(135deg, var(--gc-gold), var(--gc-gold-dark));
	box-shadow: 0 10px 26px rgba(212,175,55,.4); font-size:1.6rem; position:relative;
	display:flex; align-items:center; justify-content:center; transition: transform .2s ease;
}
.gc-chat-bubble:hover{ transform: scale(1.06); }
.gc-chat-bubble-dot{ position:absolute; top:2px; right:2px; width:14px; height:14px; border-radius:50%; background:#e74c3c; border:2px solid #fff; }
.gc-chat-bubble-online{ position:absolute; bottom:3px; right:3px; width:13px; height:13px; border-radius:50%; background:#2ecc71; border:2px solid #fff; }

.gc-chat-panel{
	position:absolute; bottom:80px; right:0; width:340px; max-width:88vw;
	background:#fff; border-radius:16px; box-shadow: 0 20px 50px rgba(0,0,0,.22);
	display:flex; flex-direction:column; overflow:hidden; height:460px;
}
.gc-chat-panel-header{
	background: var(--gc-navy); color:#fff; padding:16px 18px; display:flex; justify-content:space-between; align-items:flex-start;
}
.gc-chat-panel-header strong{ display:block; font-size:.95rem; }
.gc-chat-online{ display:flex; align-items:center; gap:6px; font-size:.75rem; color: rgba(255,255,255,.75); }
.gc-chat-online-dot{ width:8px; height:8px; border-radius:50%; background:#2ecc71; box-shadow:0 0 0 2px rgba(46,204,113,.25); }
.gc-chat-close{ background:none; border:none; color:#fff; cursor:pointer; font-size:1rem; opacity:.8; }
.gc-chat-close:hover{ opacity:1; }

.gc-chat-panel-body{ flex:1; overflow-y:auto; padding:18px; background: var(--gc-cream); }
.gc-chat-intro p{ font-size:.88rem; margin-bottom:14px; }
.gc-chat-intro input{ width:100%; padding:11px 14px; border:1px solid var(--gc-border); border-radius:8px; margin-bottom:10px; font-family: var(--gc-font-body); }

.gc-chat-messages{ display:flex; flex-direction:column; gap:10px; }
.gc-chat-bubble-msg{ max-width:82%; padding:10px 14px; border-radius:14px; font-size:.88rem; position:relative; }
.gc-chat-bubble-msg p{ margin:0 0 4px; color:inherit; }
.gc-chat-bubble-msg span{ font-size:.68rem; opacity:.6; }
.gc-chat-bubble-msg.gc-chat-visitor{ align-self:flex-end; background: var(--gc-navy); color:#fff; border-bottom-right-radius:2px; }
.gc-chat-bubble-msg.gc-chat-admin{ align-self:flex-start; background:#fff; color: var(--gc-text); border:1px solid var(--gc-border); border-bottom-left-radius:2px; }
.gc-chat-system-notice{ align-self:center; background:#fdecea; color:#c0392b; font-size:.78rem; padding:8px 14px; border-radius:20px; max-width:90%; text-align:center; }

.gc-chat-panel-input{ display:flex; border-top:1px solid var(--gc-border); }
.gc-chat-panel-input input{ flex:1; border:none; padding:14px 16px; font-family: var(--gc-font-body); outline:none; }
.gc-chat-panel-input button{ background: var(--gc-navy); color: var(--gc-gold); border:none; width:52px; cursor:pointer; font-size:1.1rem; }
.gc-chat-panel-input button:hover{ background: var(--gc-navy-light); }

@media (max-width: 600px){
	.gc-chat-widget{ bottom:16px; right:16px; }
	.gc-chat-panel{ width: calc(100vw - 32px); height: 60vh; bottom:76px; }
}

@media (max-width: 600px){
	.gc-cards-grid{ grid-template-columns: 1fr; }
	.gc-blog-grid{ grid-template-columns: 1fr; }
	.gc-footer-grid{ grid-template-columns: 1fr; }
	.gc-form-row{ grid-template-columns: 1fr; }
	.gc-values-grid{ grid-template-columns: 1fr; }
}
