/* =====================================================================
   ZŠ Bělá – patička, načítá se na všech stránkách (header/template.php).
   Lesní zelená #31645e, krémová #ffe4aa. Horní okraj = krajina pod Bezdězem.
   ===================================================================== */
.zs-footer{
	--f-forest:#2b5a54;
	--f-deep:#1e423e;
	--f-cream:#ffe4aa;
	--f-text:rgba(255,255,255,.78);
	--f-ease:cubic-bezier(.2,.8,.2,1);
	position:relative; margin-top:40px; color:var(--f-text);
	font-size:15px; line-height:1.6;
}
.zs-footer a{ color:#fff; text-decoration:none; }

/* krajina */
.zs-footer__scene{ position:relative; height:clamp(104px, 14vw, 210px); margin-bottom:-1px; overflow:hidden; }
.zs-footer__hills{ position:absolute; left:0; right:0; bottom:0; display:block; width:100%; height:46%; }
.zs-footer__bezdez{ position:absolute; bottom:0; right:7%; height:100%; width:auto; aspect-ratio:800/240; display:block; }
.zs-footer__bezdez-hill path{ fill:var(--f-forest); }
.zs-footer__bezdez-maly{ fill:#7fa49c; opacity:.35; }
.zs-footer__hills-front{ position:relative; }
.zs-footer__bezdez-okna{ fill:var(--f-cream); opacity:.55; }
.zs-footer__hills-back{ fill:#7fa49c; opacity:.35; }
.zs-footer__hills-front{ fill:var(--f-forest); }

.zs-footer__body{ background:linear-gradient(180deg, var(--f-forest) 0%, var(--f-deep) 100%); padding:10px 0 56px; position:relative; overflow:hidden; }
.zs-footer__body::after{ /* jemná tečkovaná textura */
	content:''; position:absolute; inset:0; pointer-events:none; opacity:.07;
	background-image:radial-gradient(#fff 1px, transparent 1.4px); background-size:22px 22px;
	mask-image:linear-gradient(180deg, transparent, #000 40%);
	-webkit-mask-image:linear-gradient(180deg, transparent, #000 40%);
}
.zs-footer .auto-container{ position:relative; z-index:1; }

/* kontakt: pruh pod sloupci odkazů (vpravo dole) */
.zs-footer__contact{
	grid-column:2 / -1; grid-row:2; align-self:end;
	list-style:none; margin:4px 0 0; padding:0;
	display:grid; grid-template-columns:repeat(3, auto); justify-content:space-between; align-items:center; gap:14px 0;
}
.zs-footer__contact li{ display:flex; align-items:center; padding:0 18px; position:relative; }
.zs-footer__contact li:first-child{ padding-left:0; }
.zs-footer__contact li:last-child{ padding-right:0; }
.zs-footer__contact li + li::before{ /* tenký dělič */
	content:''; position:absolute; left:0; top:15%; bottom:15%; width:1px; background:rgba(255,228,170,.22);
}
.zs-footer a.zs-tile{ display:flex; align-items:center; gap:12px; color:#fff; }
.zs-footer .zs-tile__icon{
	flex:none; width:38px; height:38px; border-radius:50%; display:grid; place-items:center;
	border:1px solid rgba(255,228,170,.55); color:var(--f-cream); font-size:15px;
	transition:background .3s, color .3s, border-color .3s, transform .45s var(--f-ease);
}
.zs-tile__text{ display:flex; flex-direction:column; min-width:0; }
.zs-footer .zs-tile__label{ font-size:13px; line-height:1.3; color:rgba(255,255,255,.6); }
.zs-footer .zs-tile__value{
	font-family:'Gilroy-Bold', sans-serif; font-size:16px; line-height:1.35; color:#fff; align-self:flex-start; white-space:nowrap;
	background:linear-gradient(var(--f-cream),var(--f-cream)) 0 100%/0 1px no-repeat;
	transition:background-size .35s var(--f-ease);
}
.zs-footer .zs-tile__go{ display:none; }
.zs-footer a.zs-tile:hover .zs-tile__icon, .zs-footer a.zs-tile:focus-visible .zs-tile__icon{
	background:var(--f-cream); border-color:var(--f-cream); color:var(--f-deep); transform:rotate(-10deg);
}
.zs-footer a.zs-tile:hover .zs-tile__value, .zs-footer a.zs-tile:focus-visible .zs-tile__value{ background-size:100% 1px; }

/* hlavní část */
.zs-footer__grid{ display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:36px 48px; padding-top:26px; }
.zs-footer__about{ grid-row:1 / span 2; }
.zs-footer__logo{ display:inline-block; margin-bottom:18px; }
.zs-footer__logo img{ height:58px; width:auto; transition:transform .4s var(--f-ease); }
.zs-footer__logo:hover img{ transform:translateY(-2px); }
.zs-footer__text{ margin:0 0 20px; max-width:46ch; color:var(--f-text); }
.zs-footer__facts{ display:flex; flex-wrap:wrap; gap:8px 26px; margin:0 0 24px; }
.zs-footer__facts dt{ font-size:12px; font-weight:400; color:rgba(255,255,255,.55); }
.zs-footer__facts dd{ margin:0; color:#fff; font-weight:600; letter-spacing:.2px; }

.zs-footer__social{ list-style:none; margin:0; padding:0; display:flex; gap:10px; }
.zs-footer__social a{
	width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-size:17px;
	border:1px solid rgba(255,255,255,.25); transition:background .3s, color .3s, transform .35s var(--f-ease), border-color .3s;
}
.zs-footer__social a:hover, .zs-footer__social a:focus-visible{ background:var(--f-cream); color:var(--f-deep); border-color:var(--f-cream); transform:translateY(-3px); }

.zs-footer .zs-footer__title{
	margin:6px 0 20px; padding:0 0 12px; position:relative;
	font-family:'Gilroy-Bold', sans-serif; font-size:19px; color:#fff; text-transform:none; letter-spacing:0;
}
.zs-footer .zs-footer__title::after{ content:''; position:absolute; left:0; bottom:0; width:36px; height:3px; border-radius:3px; background:var(--f-cream); }
.zs-footer__links{ list-style:none; margin:0; padding:0; }
.zs-footer__links li{ margin:0 0 9px; }
.zs-footer__links a{
	position:relative; display:inline-flex; align-items:center; gap:0; color:var(--f-text);
	padding:2px 0; transition:color .25s, transform .3s var(--f-ease);
}
.zs-footer__links a::before{ /* šipka vyjede při najetí */
	content:'\f105'; font-family:FontAwesome; font-size:15px; line-height:1; text-align:center; color:var(--f-cream); width:0; margin-right:0; overflow:hidden; opacity:0;
	transition:width .3s var(--f-ease), margin .3s var(--f-ease), opacity .3s;
}
.zs-footer__links--docs a[href$=".pdf"]::before{ content:'\f1c1'; }
.zs-footer__links a::after{
	content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:var(--f-cream);
	transform:scaleX(0); transform-origin:left; transition:transform .35s var(--f-ease);
}
.zs-footer__links a:hover, .zs-footer__links a:focus-visible{ color:#fff; }
.zs-footer__links a:hover::before, .zs-footer__links a:focus-visible::before{ width:16px; margin-right:8px; opacity:1; }
.zs-footer__links a:hover::after, .zs-footer__links a:focus-visible::after{ transform:scaleX(1); }

/* spodní pruh */
.zs-footer__bottom{ background:var(--f-deep); border-top:1px solid rgba(255,255,255,.08); font-size:13.5px; color:rgba(255,255,255,.6); }
.zs-footer__bottom .auto-container{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; padding-top:18px; padding-bottom:18px; padding-right:80px; }
.zs-footer__bottom p{ margin:0; color:inherit; }
.zs-footer__bottom span{ margin:0 10px; opacity:.5; }
.zs-footer__bottom a{ color:rgba(255,255,255,.85); border-bottom:1px solid rgba(255,228,170,.35); transition:color .2s, border-color .2s; }
.zs-footer__bottom a:hover{ color:var(--f-cream); border-color:var(--f-cream); }
.zs-footer .zs-footer__top{
	position:absolute; right:15px; top:50%; transform:translateY(-50%);
	width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:0;
	background:var(--f-cream); color:var(--f-deep); font-size:16px;
	transition:transform .35s var(--f-ease), box-shadow .35s;
}
.zs-footer .zs-footer__top:hover{ transform:translateY(calc(-50% - 4px)); box-shadow:0 12px 20px -10px rgba(0,0,0,.6); color:var(--f-deep); }
/* původní tlačítko „nahoru“ šablony už není potřeba */
.scroll-to-top{ display:none !important; }

.zs-footer a:focus-visible{ outline:2px solid var(--f-cream); outline-offset:3px; border-radius:6px; }

/* menší displeje */
@media (max-width:991px){
	.zs-footer__contact{ grid-column:1 / -1; grid-row:auto; }
	.zs-footer__grid{ grid-template-columns:1fr 1fr; gap:36px; }
	.zs-footer__about{ grid-column:1 / -1; grid-row:auto; }
	.zs-footer__bezdez{ right:2%; }
}
@media (max-width:575px){
	.zs-footer__grid{ grid-template-columns:1fr; }
	.zs-footer__contact{ grid-template-columns:1fr; gap:0; padding:0; }
	.zs-footer__contact li, .zs-footer__contact li:first-child, .zs-footer__contact li:last-child{ padding:12px 0; }
	.zs-footer__contact li + li::before{ left:0; right:0; top:0; bottom:auto; width:auto; height:1px; }
	.zs-footer__bottom .auto-container{ flex-direction:column; align-items:flex-start; }
}
@media print{ .zs-footer__scene, .zs-footer__contact, .zs-footer__social, .zs-footer__top{ display:none; } .zs-footer__body{ background:none; } }
@media (prefers-reduced-motion:reduce){ .zs-footer *, .zs-footer *::before, .zs-footer *::after{ transition:none !important; } }

/* ---------------------------------------------------------------- sociální sítě – velké nápovědy */
.zs-footer__social{ position:relative; }
.zs-social{ position:relative; }
.zs-social__tip{
	--brand:#1877f2;
	position:absolute; left:-14px; bottom:calc(100% + 16px); z-index:20; width:290px;
	display:flex; flex-direction:column; gap:6px; padding:18px 20px 16px;
	background:#fff; color:#3d4c49; border-radius:16px; text-align:left;
	box-shadow:0 26px 50px -18px rgba(0,0,0,.55), 0 0 0 1px rgba(0,0,0,.04);
	border-top:5px solid var(--brand);
	opacity:0; visibility:hidden; transform:translateY(10px) scale(.97); transform-origin:30px 100%;
	transition:opacity .25s, transform .35s var(--f-ease), visibility 0s .35s;
	pointer-events:none;
}
.zs-social__tip::after{ /* šipka k ikoně */
	content:''; position:absolute; left:28px; top:100%;
	border:9px solid transparent; border-top-color:#fff; border-bottom:0;
}
.zs-social__tip::before{ /* most, aby nápověda nezmizela při přejetí myší */
	content:''; position:absolute; left:0; right:0; top:100%; height:20px;
}
.zs-social--ig .zs-social__tip{ --brand:#d6249f; border-image:linear-gradient(90deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5) 1; border-top-width:5px; border-radius:0 0 16px 16px; }
.zs-social--yt .zs-social__tip{ --brand:#ff0000; }
.zs-social__brand{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--brand); }
.zs-social__brand .fa{
	width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-size:15px;
	background:var(--brand); color:#fff;
}
.zs-social--ig .zs-social__brand .fa{ background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.zs-footer .zs-social__title{ font-family:'Gilroy-Bold', sans-serif; font-size:19px; line-height:1.2; color:#1e423e; margin-top:4px; }
.zs-social__text{ font-size:14px; line-height:1.5; color:#55625f; }
.zs-social__cta{
	align-self:flex-start; margin-top:6px; padding:7px 14px; border-radius:20px;
	background:var(--brand); color:#fff; font-size:13px; font-weight:700;
}
.zs-social--ig .zs-social__cta{ background:linear-gradient(90deg,#fa7e1e,#d62976,#962fbf); }
.zs-social__cta .fa{ margin-left:4px; transition:transform .3s var(--f-ease); }
@media (hover:hover){
	.zs-social:hover .zs-social__tip, .zs-social:focus-within .zs-social__tip{
		opacity:1; visibility:visible; transform:none; pointer-events:auto;
		transition:opacity .25s, transform .35s var(--f-ease), visibility 0s;
	}
	.zs-social:hover .zs-social__cta .fa{ transform:translateX(4px); }
}
.zs-social--fb a:hover, .zs-social--fb a:focus-visible{ background:#1877f2; border-color:#1877f2; color:#fff; }
.zs-social--ig a:hover, .zs-social--ig a:focus-visible{ background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); border-color:#d6249f; color:#fff; }
.zs-social--yt a:hover, .zs-social--yt a:focus-visible{ background:#ff0000; border-color:#ff0000; color:#fff; }
@media (max-width:575px){ .zs-social__tip{ display:none; } }

/* stabilní hover u sociálních sítí: zvedá se ikona, najetí se sleduje na položce seznamu */
.zs-footer__social a:hover, .zs-footer__social a:focus-visible{ transform:none; }
.zs-social:hover > a{ transform:translateY(-3px); }
