/* =====================================================================
 * AppleFix Child Theme — main.css
 * Identické styly jako mockup. Apple-style dark + decentní rostliny.
 * ================================================================== */

:root{
	--bg:#000;
	--surface:#0e0e0e;
	--surface-2:#161617;
	--text:#f5f5f7;
	--muted:#86868b;
	--dim:#6e6e73;
	--border:rgba(255,255,255,.10);
	--border-2:rgba(255,255,255,.18);
	--link:#2997ff;
	--max:1240px;
	--gutter:24px;
	--radius:22px;
	--radius-sm:14px;
	--nav-h:52px;
	--ease:cubic-bezier(.16,1,.3,1);
	--font:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter','Helvetica Neue',Arial,sans-serif;

	/* Plant asset paths — relativní k themu, dají se přepsat ve functions.php */
	--af-plants-base:'../img/';
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.applefix{
	margin:0;
	font-family:var(--font);
	font-size:17px;
	line-height:1.5;
	color:var(--text);
	background:var(--bg);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	padding-top:var(--nav-h);
	overflow-x:hidden;
}
body.applefix img{max-width:100%;display:block;height:auto}
body.applefix a{color:inherit;text-decoration:none}
body.applefix button{font:inherit;cursor:pointer}

body.applefix h1,
body.applefix h2,
body.applefix h3,
body.applefix h4{margin:0 0 .4em;letter-spacing:-.025em;font-weight:600;line-height:1.08;color:var(--text)}
body.applefix h1{font-size:clamp(40px,7.2vw,84px);font-weight:700;letter-spacing:-.035em;line-height:1.04}
body.applefix h2{font-size:clamp(30px,5vw,52px);font-weight:600;letter-spacing:-.02em}
body.applefix h3{font-size:clamp(22px,2.6vw,30px);font-weight:600}
body.applefix h4{font-size:20px;font-weight:600}
body.applefix p{margin:0 0 1em;color:var(--muted);font-size:17px;line-height:1.55}

.af-container{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.af-narrow{max-width:920px;margin:0 auto;padding:0 var(--gutter)}
.af-section{padding:clamp(72px,10vw,140px) 0;position:relative}
.af-section-tight{padding:clamp(48px,7vw,90px) 0}
.af-eyebrow{display:inline-block;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.af-center{text-align:center}
.af-muted{color:var(--muted)}

/* ---------- NAV ---------- */
.af-nav{
	position:fixed;top:0;left:0;right:0;z-index:1000;
	height:var(--nav-h);
	background:rgba(0,0,0,.72);
	-webkit-backdrop-filter:saturate(180%) blur(20px);
	backdrop-filter:saturate(180%) blur(20px);
	border-bottom:1px solid var(--border);
	transition:background .25s var(--ease);
}
.af-nav.scrolled{background:rgba(0,0,0,.92)}
.af-nav__inner{
	max-width:var(--max);margin:0 auto;
	padding:0 clamp(28px, 4vw, 64px); /* logo a CTA mají ~1-1.7cm od kraje */
	height:100%;
	display:grid;
	grid-template-columns:1fr auto 1fr; /* logo : menu (center) : cta — symmetric */
	align-items:center;
	gap:24px;
}
.af-nav__logo{display:flex;align-items:center;height:100%;justify-self:start;flex-shrink:0}
.af-nav__logo img{height:22px;width:auto;display:block}
.af-nav__menu{
	display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;
	justify-self:center;
}
.af-nav__cta-wrap{justify-self:end;display:flex;align-items:center}
.af-nav__cta-mobile-li{display:none}
.af-nav__menu li{position:relative}
.af-nav__menu a{
	color:var(--text);font-size:13px;font-weight:400;
	padding:8px 12px;border-radius:8px;opacity:.86;
	transition:opacity .2s var(--ease),background .2s var(--ease);
	white-space:nowrap;
}
.af-nav__menu a:hover{opacity:1;background:rgba(255,255,255,.06)}
.af-nav__menu .menu-item-has-children > a::after{content:'⌄';margin-left:6px;opacity:.5;font-size:11px}
.af-nav__menu .sub-menu{
	position:absolute;top:100%;left:0;min-width:200px;
	background:rgba(10,10,10,.96);
	-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
	border:1px solid var(--border);border-radius:14px;
	padding:8px;margin-top:8px;
	list-style:none;
	opacity:0;pointer-events:none;transform:translateY(-6px);
	transition:opacity .2s var(--ease),transform .2s var(--ease);
}
.af-nav__menu .menu-item-has-children:hover > .sub-menu{opacity:1;pointer-events:auto;transform:none}
.af-nav__menu .sub-menu a{display:block;padding:10px 14px}

.af-nav__cta{
	background:var(--text);color:var(--bg);
	padding:8px 16px;border-radius:980px;
	font-weight:500;font-size:13px;
	display:inline-flex;align-items:center;
	transition:background .2s var(--ease);
	white-space:nowrap;text-decoration:none;
}
.af-nav__cta:hover{background:#fff}
.af-nav__toggle{
	display:none;background:transparent;border:0;color:var(--text);
	width:40px;height:40px;border-radius:8px;
	align-items:center;justify-content:center;
}
.af-nav__toggle:hover{background:rgba(255,255,255,.06)}
.af-nav__toggle svg{width:22px;height:22px}
.af-nav__toggle .icon-close{display:none}
.af-nav.open .af-nav__toggle .icon-open{display:none}
.af-nav.open .af-nav__toggle .icon-close{display:block}

@media (max-width:1100px){.af-nav__menu a{font-size:12px;padding:7px 9px}.af-nav__menu{gap:0}}

@media (max-width:900px){
	.af-nav__inner{grid-template-columns:auto 1fr auto}
	.af-nav__toggle{display:inline-flex;justify-self:end}
	.af-nav__cta-wrap{display:none}
	.af-nav__cta-mobile-li{display:block}
	.af-nav__menu{
		position:fixed;top:var(--nav-h);left:0;right:0;
		flex-direction:column;align-items:stretch;
		background:rgba(0,0,0,.96);
		-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
		padding:14px var(--gutter) 28px;gap:2px;
		border-bottom:1px solid var(--border);
		max-height:calc(100vh - var(--nav-h));overflow-y:auto;
		transform:translateY(-12px);opacity:0;pointer-events:none;
		transition:transform .3s var(--ease),opacity .25s var(--ease);
		justify-self:stretch;
	}
	.af-nav.open .af-nav__menu{transform:translateY(0);opacity:1;pointer-events:auto}
	.af-nav__menu li{width:100%}
	.af-nav__menu a{display:block;width:100%;font-size:17px;padding:14px 16px;border-radius:10px;opacity:1;border-bottom:1px solid rgba(255,255,255,.04)}
	.af-nav__menu .sub-menu{position:static;background:transparent;border:0;padding:0 0 0 16px;opacity:1;pointer-events:auto;transform:none;margin:0}
	.af-nav__cta-mobile{
		display:block;margin-top:12px;text-align:center;
		padding:14px 16px;background:var(--text);color:var(--bg)!important;
		border-radius:980px;font-weight:500;font-size:16px;text-decoration:none;
	}
}

/* ---------- HERO ---------- */
.af-hero{
	position:relative;
	/* Padding-top kompenzuje výšku hero plant obrázku (nahoru přesahuje texty plastickým efektem).
	 * Image 1800×1028 → ~57vw při full-width. Padding = leaves_bottom - ~1cm overlap. */
	padding-top:clamp(170px, 22vw, 310px);
	padding-bottom:clamp(48px,8vw,100px);
	min-height:0;
	overflow:hidden;
}
.af-hero__grid{
	display:grid;
	grid-template-columns:1.15fr .85fr;
	gap:64px;align-items:center;
	width:100%;position:relative;z-index:2;
}
/* Hero plant — plný obrázek, žádný fade, žádný crop, listy plasticky nad textem.
 * translateY(-50%) zasouvá obrázek nahoru o polovinu jeho vlastní výšky. */
.af-hero-leaves{
	position:absolute;
	top:0;left:0;right:0;
	width:100%;height:auto;
	display:block;
	z-index:3;
	pointer-events:none;
	user-select:none;
	transform:translateY(-50%);
}
.af-hero__eyebrow{color:var(--muted);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;display:inline-block}
.af-hero h1{margin-bottom:22px}
.af-hero h1 span{display:block;color:var(--muted);font-weight:500;font-size:.42em;letter-spacing:-.01em;margin-top:10px}
.af-hero__lead{font-size:clamp(18px,2.2vw,22px);color:var(--muted);max-width:560px;margin-bottom:32px}
.af-hero__search{
	display:flex;align-items:center;
	background:var(--surface);border:1px solid var(--border);
	border-radius:980px;padding:6px 6px 6px 20px;max-width:480px;
	transition:border-color .2s var(--ease),background .2s var(--ease);
}
.af-hero__search:focus-within{border-color:var(--border-2);background:var(--surface-2)}
.af-hero__search input{
	flex:1;background:transparent;border:0;outline:0;
	color:var(--text);font-family:inherit;font-size:15px;padding:10px 0;
}
.af-hero__search input::placeholder{color:var(--dim)}
.af-hero__search button{
	background:var(--text);color:var(--bg);border:0;border-radius:980px;
	height:38px;width:38px;display:inline-flex;align-items:center;justify-content:center;
}

.af-hero__actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}

.af-devices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:420px;margin-left:auto}
.af-device{
	aspect-ratio:1;
	background:linear-gradient(150deg,var(--surface) 0%,var(--surface-2) 100%);
	border:1px solid var(--border);border-radius:18px;
	display:flex;align-items:center;justify-content:center;
	color:var(--text);
	transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.af-device:hover{border-color:var(--border-2);transform:translateY(-2px)}
.af-device svg{width:46%;height:46%;opacity:.92}

@media (max-width:900px){.af-hero__grid{grid-template-columns:1fr;gap:48px}.af-devices{margin:0 auto}}

/* ---------- PLANT OVERLAYS ---------- */
.af-plant-drape{
	position:absolute;left:0;right:0;top:-1px;
	width:100%;height:clamp(120px,14vw,200px);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	pointer-events:none;z-index:1;opacity:.55;
	-webkit-mask-image:linear-gradient(to bottom,#000 5%,rgba(0,0,0,.5) 50%,transparent 95%);
	        mask-image:linear-gradient(to bottom,#000 5%,rgba(0,0,0,.5) 50%,transparent 95%);
}
.af-plant-drape--hero{background-image:var(--af-plant-hero, url('../img/plants-top-3.png'));opacity:.45}
.af-plant-drape--cta {background-image:var(--af-plant-cta,  url('../img/plants-top-1.png'));opacity:.4}

/* Sekční rozdělovač — plný obrázek bez ořezu, transparentní pozadí prokoukne na černé */
.af-plant-divider-wrap{
	padding:clamp(8px,1.5vw,24px) 0;
	display:flex;justify-content:center;
	overflow:hidden;
	pointer-events:none;
}
.af-plant-divider-img{
	display:block;
	width:100%;
	max-width:1800px;
	height:auto;
}

@media (max-width:768px){
	.af-plant-drape{height:clamp(120px,30vw,200px);opacity:.5}
}

/* ---------- PRODUCTS ---------- */
.af-products{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.af-product{
	aspect-ratio:3/4;
	background:linear-gradient(160deg,var(--surface),var(--surface-2));
	border:1px solid var(--border);border-radius:18px;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
	padding:18px;text-align:center;
	transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.af-product:hover{border-color:var(--border-2);transform:translateY(-3px)}
.af-product svg{width:46px;height:46px;opacity:.9}
.af-product__name{font-size:13px;color:var(--muted)}
@media (max-width:900px){.af-products{grid-template-columns:repeat(2,1fr)}}

/* ---------- SERVICES ---------- */
.af-services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.af-service{
	background:linear-gradient(180deg,var(--surface),#0a0a0a);
	border:1px solid var(--border);border-radius:var(--radius);
	padding:32px;position:relative;overflow:hidden;
	transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.af-service:hover{border-color:var(--border-2);transform:translateY(-4px)}
.af-service__ico{
	width:46px;height:46px;color:var(--text);margin-bottom:18px;
	background:rgba(255,255,255,.04);border-radius:12px;
	display:inline-flex;align-items:center;justify-content:center;
}
.af-service__ico svg{width:24px;height:24px}
.af-service h3{font-size:22px;margin-bottom:8px}
.af-service p{font-size:15px;margin:0;color:var(--muted)}
.af-service__link{color:var(--text);font-size:14px;margin-top:18px;display:inline-flex;align-items:center;gap:6px;opacity:.85}
.af-service__link::after{content:'→';transition:transform .2s var(--ease)}
.af-service:hover .af-service__link::after{transform:translateX(4px)}
@media (max-width:1024px){.af-services{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.af-services{grid-template-columns:1fr}}

/* ---------- ECO ---------- */
.af-eco{
	position:relative;
	background:linear-gradient(180deg,#000,#080a07 60%,#000);
	border-top:1px solid var(--border);
	border-bottom:1px solid var(--border);
}
.af-eco__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.af-eco h2{margin-bottom:12px}
.af-eco__visual{
	aspect-ratio:5/4;border-radius:24px;
	background:
		url('../img/plants-divider.png') center/contain no-repeat,
		linear-gradient(180deg,#0a120b,#000);
	border:1px solid var(--border);
}
@media (max-width:900px){.af-eco__inner{grid-template-columns:1fr;gap:32px}}

/* ---------- REVIEWS ---------- */
.af-rating{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:36px;flex-wrap:wrap}
.af-stars{color:#ffb800;font-size:22px;letter-spacing:4px}
.af-score{font-size:20px;font-weight:600}
.af-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.af-review{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px}
.af-review__stars{color:#ffb800;letter-spacing:2px;font-size:14px;margin-bottom:10px}
.af-review__text{font-size:15px;color:var(--text);margin:0 0 16px;line-height:1.55}
.af-review__author{display:flex;align-items:center;gap:10px}
.af-review__avatar{width:36px;height:36px;border-radius:50%;background:var(--surface-2);font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:500}
.af-review__name{font-size:13px;font-weight:500}
.af-review__date{font-size:12px;color:var(--dim)}
@media (max-width:900px){.af-reviews{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.af-reviews{grid-template-columns:1fr}}

/* ---------- TRIO ---------- */
.af-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.af-trio__card{
	background:linear-gradient(160deg,var(--surface),#070707);
	border:1px solid var(--border);border-radius:var(--radius);
	padding:36px;min-height:240px;
	display:flex;flex-direction:column;justify-content:space-between;
	transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.af-trio__card:hover{border-color:var(--border-2);transform:translateY(-3px)}
.af-trio__card h3{margin-bottom:8px;font-size:24px}
.af-trio__card p{margin:0;font-size:15px}
@media (max-width:900px){.af-trio{grid-template-columns:1fr;gap:14px}}

/* ---------- FAQ ---------- */
.af-faq{max-width:820px;margin:0 auto}
.af-faq details{border-bottom:1px solid var(--border);padding:22px 0;cursor:pointer}
.af-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:18px;font-weight:500;color:var(--text)}
.af-faq summary::-webkit-details-marker{display:none}
.af-faq summary::after{content:'+';font-size:22px;color:var(--muted);transition:transform .25s var(--ease);font-weight:300}
.af-faq details[open] summary::after{transform:rotate(45deg)}
.af-faq details p{margin:14px 0 0;color:var(--muted);font-size:16px;line-height:1.6}

/* ---------- CTA STRIP ---------- */
.af-cta-strip{text-align:center;padding:clamp(72px,12vw,140px) 0;position:relative;overflow:hidden}
.af-cta-strip h2{font-size:clamp(36px,7vw,72px);margin-bottom:24px;line-height:1.05}

/* ---------- BUTTONS ---------- */
.af-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:14px 26px;font-size:16px;font-weight:500;
	border-radius:980px;border:1px solid transparent;
	transition:transform .15s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
	white-space:nowrap;text-decoration:none;
}
.af-btn:hover{transform:translateY(-1px)}
.af-btn--primary{background:var(--text);color:var(--bg)}
.af-btn--primary:hover{background:#fff}
.af-btn--ghost{background:transparent;color:var(--text);border-color:var(--border-2)}
.af-btn--ghost:hover{background:rgba(255,255,255,.06)}

/* ---------- FOOTER ---------- */
.af-footer{background:var(--bg);border-top:1px solid var(--border);padding:64px 0 28px;color:var(--muted);font-size:14px}
.af-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}
.af-footer h4{font-size:14px;color:var(--text);margin:0 0 16px;font-weight:500}
.af-footer ul{list-style:none;margin:0;padding:0}
.af-footer li{margin-bottom:10px}
.af-footer a{color:var(--muted);font-size:14px;transition:color .15s var(--ease)}
.af-footer a:hover{color:var(--text)}
.af-footer__bottom{padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--dim)}
.af-social{display:flex;gap:10px;margin-top:14px}
.af-social a{
	width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
	border:1px solid var(--border);border-radius:50%;color:var(--muted);
	transition:border-color .15s var(--ease),color .15s var(--ease);
}
.af-social a:hover{border-color:var(--border-2);color:var(--text)}
.af-footer__logo img{height:22px;width:auto;margin-bottom:16px}
@media (max-width:800px){.af-footer__grid{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:480px){.af-footer__grid{grid-template-columns:1fr}}

/* ---------- Reveal ---------- */
.af-reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.af-reveal.show{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	.af-reveal{opacity:1;transform:none;transition:none}
	html{scroll-behavior:auto}
}

/* Anchor offset pod fixed nav */
section[id]{scroll-margin-top:calc(var(--nav-h) + 16px)}

/* Elementor / Hello Elementor overrides */
.elementor-section{background-color:transparent}
.elementor *, .e-con *{color:inherit}
