/*
Theme Name: MyBumblebee (Astra Child)
Template: astra
Version: 1.0.0
Text Domain: astra-child-mybumblebee
*/

:root{
	--c-bg:#ffffff;
	--c-bg-soft:#f7f7f5;
	--c-bg-soft2:#efeee9;
	--c-ink:#161616;
	--c-ink-soft:#55534d;
	--c-accent:#c89b3c;
	--c-accent-dark:#a37c26;
	--c-border:#e7e5e0;
	--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--container:1200px;
}

/* ---------- Reset / base ---------- */
body{
	font-family:var(--font);
	color:var(--c-ink);
	background:var(--c-bg);
	font-size:17px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
	font-family:var(--font);
	font-weight:800;
	letter-spacing:-0.02em;
	line-height:1.1;
	color:var(--c-ink);
}
h1{font-size:clamp(2.2rem,4.5vw,3.4rem);}
h2{font-size:clamp(1.7rem,3vw,2.4rem);}
h3{font-size:clamp(1.2rem,1.8vw,1.5rem);}
p{color:var(--c-ink-soft);}
a{color:var(--c-accent-dark);}
a:hover{color:var(--c-accent);}

.ast-container{max-width:var(--container);}

/* ---------- Header ---------- */
#masthead.site-header{
	background:#fff;
	border-bottom:1px solid var(--c-border);
	box-shadow:none !important;
}
.ast-primary-header-bar{background:#fff;}
.site-title, .site-title a{
	font-weight:800 !important;
	letter-spacing:-0.01em;
	color:var(--c-ink) !important;
	font-size:1.35rem !important;
}
.main-header-menu .menu-item > .menu-link{
	font-weight:600;
	font-size:0.92rem;
	letter-spacing:0.02em;
	color:var(--c-ink) !important;
	text-transform:none;
}
.main-header-menu .menu-item > .menu-link:hover{color:var(--c-accent-dark) !important;}
.main-header-menu .current-menu-item > .menu-link{color:var(--c-accent-dark) !important;}

.lang-switch{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-left:20px;
	font-size:0.82rem;
	font-weight:700;
	letter-spacing:0.02em;
}
.lang-switch a{
	color:#b9b6ad;
	text-decoration:none;
	padding:2px 3px;
}
.lang-switch a.active{color:var(--c-ink);}
.lang-switch a:hover{color:var(--c-accent-dark);}
.lang-switch a:not(:last-child)::after{content:"/";margin-left:6px;color:#d8d5cd;}

/* hide Astra default page title bar (also disabled per-page via 'site-post-title' meta) */
.ast-archive-title, .page-header{display:none;}

/* ---------- Buttons ---------- */
.btn, .wp-block-button__link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-weight:700;
	font-size:0.95rem;
	padding:14px 28px !important;
	border-radius:999px !important;
	text-decoration:none !important;
	transition:all .15s ease;
}
.wp-block-button.is-style-fill .wp-block-button__link,
.btn-primary{
	background:var(--c-ink) !important;
	color:#fff !important;
	border:1px solid var(--c-ink) !important;
}
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.btn-primary:hover{
	background:var(--c-accent-dark) !important;
	border-color:var(--c-accent-dark) !important;
	color:#fff !important;
}
.wp-block-button.is-style-outline .wp-block-button__link,
.btn-outline{
	background:transparent !important;
	color:var(--c-ink) !important;
	border:1.5px solid var(--c-ink) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.btn-outline:hover{
	background:var(--c-ink) !important;
	color:#fff !important;
}

/* ---------- Sections / rhythm ---------- */
.section{padding:88px 24px;}
.section-soft{background:var(--c-bg-soft);}
.section-tight{padding:56px 24px;}
.section-narrow{max-width:760px;margin:0 auto;}
.section .eyebrow{
	text-transform:uppercase;
	letter-spacing:0.12em;
	font-size:0.8rem;
	font-weight:700;
	color:var(--c-accent-dark);
	margin-bottom:10px;
	display:block;
}
.center{text-align:center;}

/* ---------- Hero ---------- */
.hero{
	position:relative;
	min-height:64vh;
	display:flex;
	align-items:flex-end;
	color:#fff;
	border-radius:0;
	overflow:hidden;
}
.hero::after{
	content:"";
	position:absolute;inset:0;
	background:linear-gradient(180deg,rgba(20,20,18,.15) 0%,rgba(20,20,18,.72) 100%);
	z-index:1;
}
.hero-bg{
	position:absolute;inset:0;
	overflow:hidden;
	background:linear-gradient(135deg,#3a3a36 0%,#232320 55%,#161615 100%);
}
.hero-bg::before{
	content:"";
	position:absolute;inset:0;
	background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px);
	pointer-events:none;
}
.hero-bg img{
	width:100%;height:100%;
	object-fit:cover;
	display:block;
}
.hero-content{
	position:relative;z-index:2;
	max-width:var(--container);
	margin:0 auto;
	padding:64px 24px 56px;
	width:100%;
}
.hero-content h1{color:#fff;max-width:820px;}
.hero-content p{color:rgba(255,255,255,.85);max-width:560px;font-size:1.1rem;margin-top:14px;}
.hero-content .btn{margin-top:28px;}
.hero-tag{
	position:absolute;left:24px;top:24px;z-index:3;
	font-size:11px;letter-spacing:.06em;text-transform:uppercase;
	color:rgba(255,255,255,.7);background:rgba(0,0,0,.35);
	padding:6px 12px;border-radius:999px;
}

/* ---------- Placeholder images ---------- */
.placeholder-img{
	position:relative;
	width:100%;
	aspect-ratio:var(--ar,4/3);
	border-radius:6px;
	overflow:hidden;
	background:linear-gradient(135deg,#4a4a45 0%,#2c2c29 60%,#1c1c1a 100%);
}
.placeholder-img::before{
	content:"";
	position:absolute;inset:0;
	background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 2px,transparent 2px 14px);
}
.placeholder-img .ph-tag{
	position:absolute;left:12px;bottom:12px;
	font-size:11px;letter-spacing:.05em;text-transform:uppercase;
	color:#fff;background:rgba(0,0,0,.5);
	padding:6px 11px;border-radius:999px;
}
.placeholder-img.tone-warm{background:linear-gradient(135deg,#6b5326 0%,#3a2d16 60%,#201a0d 100%);}

/* ---------- Real photos (same footprint as placeholders) ---------- */
.photo{
	position:relative;
	width:100%;
	aspect-ratio:var(--ar,4/3);
	border-radius:6px;
	overflow:hidden;
	background:#1c1c1a;
}
.photo img{
	width:100%;height:100%;
	object-fit:cover;
	display:block;
}
.card .photo{border-radius:0;}

/* ---------- Card grid ---------- */
.card-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:28px;
	max-width:var(--container);
	margin:0 auto;
}
.card{
	background:#fff;
	border:1px solid var(--c-border);
	border-radius:8px;
	overflow:hidden;
	transition:border-color .15s ease;
}
.card:hover{border-color:var(--c-ink);}
.card .placeholder-img{border-radius:0;}
.card-body{padding:22px 24px 26px;}
.card-body h3{margin:0 0 8px;}
.card-body p{margin:0 0 14px;font-size:0.96rem;}
.card-link{
	font-weight:700;font-size:0.9rem;color:var(--c-ink);
	display:inline-flex;align-items:center;gap:6px;text-decoration:none;
}
.card-link:hover{color:var(--c-accent-dark);}

/* ---------- Split (image/text alternating) ---------- */
.split{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:56px;
	align-items:center;
	max-width:var(--container);
	margin:0 auto;
}
.split.reverse .split-media{order:2;}
.split.reverse .split-text{order:1;}
.split-text ul{margin:18px 0 0;padding:0;list-style:none;}
.split-text ul li{
	padding:10px 0 10px 22px;
	position:relative;
	border-bottom:1px solid var(--c-border);
	font-size:0.97rem;
	color:var(--c-ink-soft);
}
.split-text ul li:before{
	content:"";
	position:absolute;left:0;top:19px;
	width:8px;height:2px;background:var(--c-accent-dark);
}

/* ---------- Step list ---------- */
.step-list{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:18px;
	max-width:var(--container);
	margin:0 auto;
	counter-reset:step;
}
.step{position:relative;padding-top:56px;}
.step:before{
	counter-increment:step;
	content:counter(step);
	position:absolute;top:0;left:0;
	width:40px;height:40px;
	border-radius:999px;
	background:var(--c-ink);
	color:#fff;
	font-weight:800;
	display:flex;align-items:center;justify-content:center;
	font-size:1rem;
}
.step h3{font-size:1.05rem;margin:0 0 6px;}
.step p{font-size:0.92rem;margin:0;}

/* ---------- Quote / philosophy ---------- */
.pull-quote{
	max-width:760px;
	margin:0 auto;
	font-size:clamp(1.3rem,2.2vw,1.7rem);
	font-weight:700;
	line-height:1.4;
	color:var(--c-ink);
	border-left:3px solid var(--c-accent-dark);
	padding-left:24px;
}

/* ---------- CTA band ---------- */
.cta-band{
	background:var(--c-ink);
	color:#fff;
	padding:64px 24px;
	text-align:center;
}
.cta-band h2{color:#fff;}
.cta-band p{color:rgba(255,255,255,.75);max-width:520px;margin:12px auto 0;}
.cta-band .btn-primary{
	background:var(--c-accent) !important;
	border-color:var(--c-accent) !important;
	color:var(--c-ink) !important;
	margin-top:24px;
}
.cta-band .btn-primary:hover{background:#fff !important;border-color:#fff !important;}

/* ---------- Impressum box ---------- */
.info-box{
	background:var(--c-bg-soft);
	border:1px solid var(--c-border);
	border-radius:8px;
	padding:24px 28px;
	max-width:520px;
}
.info-box h3{margin:0 0 10px;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;}
.info-box p{margin:0;font-size:0.92rem;}

/* ---------- Contact form (CF7) ---------- */
.wpcf7-form p{margin:0 0 18px;}
.wpcf7-form label{
	display:block;font-weight:700;font-size:0.88rem;
	margin-bottom:6px;color:var(--c-ink);
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=date],
.wpcf7-form input[type=number],
.wpcf7-form textarea,
.wpcf7-form select{
	width:100%;
	padding:13px 16px;
	border:1.5px solid var(--c-border);
	border-radius:6px;
	font-family:var(--font);
	font-size:0.98rem;
	background:#fff;
	color:var(--c-ink);
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus{
	outline:none;
	border-color:var(--c-accent-dark);
}
.wpcf7-form input[type=submit]{
	background:var(--c-ink);
	color:#fff;
	border:none;
	padding:15px 32px;
	border-radius:999px;
	font-weight:700;
	cursor:pointer;
}
.wpcf7-form input[type=submit]:hover{background:var(--c-accent-dark);}
.wpcf7-form input[type=checkbox]{width:auto;margin-right:8px;}

/* ---------- Footer ---------- */
#colophon, .site-footer, .ast-small-footer{
	background:var(--c-bg-soft) !important;
	border-top:1px solid var(--c-border);
}
.ast-small-footer, .ast-small-footer *{
	color:var(--c-ink-soft) !important;
	font-size:0.88rem;
}
.ast-small-footer a{color:var(--c-ink) !important;font-weight:600;}

.legal-links{
	text-align:center;
	padding:14px 20px;
	font-size:0.85rem;
	background:var(--c-bg-soft);
	border-top:1px solid var(--c-border);
}
.legal-links a{color:var(--c-ink-soft);text-decoration:none;}
.legal-links a:hover{color:var(--c-accent-dark);}
.legal-links span{margin:0 10px;color:var(--c-border);}

/* ---------- Responsive ---------- */
@media(max-width:781px){
	.section{padding:56px 20px;}
	.card-grid{grid-template-columns:1fr;}
	.split{grid-template-columns:1fr;gap:32px;}
	.split.reverse .split-media,.split.reverse .split-text{order:0;}
	.step-list{grid-template-columns:1fr 1fr;}
	.hero{min-height:56vh;}
}
@media(max-width:480px){
	.step-list{grid-template-columns:1fr;}
}
