/*!
Theme Name: cesta
Theme URI: https://cesta.0t.cz
Author: Cesta do Itálie
Description: Klasické téma pro web s kalkulačkou nákladů cesty autem do Itálie.
Version: 1.0.1
Requires at least: 6.5
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cesta
Tags: custom-logo, custom-menu, featured-images, translation-ready

cesta is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/* písmo */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("fonts/inter-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* základy */
:root{
	--cesta-bg:#FBFCFA;
	--cesta-paper:#FFFFFF;
	--cesta-ink:#101814;
	--cesta-muted:#5C6A62;
	--cesta-line:#E0E7E1;
	--cesta-green:#0E7A4F;
	--cesta-green-dark:#0A5C3C;
	--cesta-red:#C8332D;
	--cesta-red-dark:#A82722;
	--cesta-dark:#0E2A22;
	--cesta-wrap:1120px;
	--cesta-art-bg:#EEF4F0;
	--cesta-art-line:#B7CCC1;
	--cesta-art-soft:#D5E3DB;
	--cesta-art-sea:#CFE1DC;
}

*,
*:before,
*:after{
	box-sizing:border-box;
}

html{
	-webkit-text-size-adjust:100%;
	scroll-behavior:smooth;
}

body{
	margin:0;
	background:var(--cesta-bg);
	color:var(--cesta-ink);
	font-family:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}

img,
svg{
	max-width:100%;
}

a{
	color:inherit;
	text-decoration:none;
}

a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible{
	outline:2px solid var(--cesta-red);
	outline-offset:3px;
}

.cesta-wrap{
	width:min(var(--cesta-wrap), calc(100% - 48px));
	margin:0 auto;
}

.screen-reader-text{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip-path:inset(50%);
	white-space:nowrap;
}

.skip-link:focus{
	position:fixed;
	left:16px;
	top:16px;
	z-index:100;
	width:auto;
	height:auto;
	clip-path:none;
	background:#fff;
	padding:12px 18px;
	border:1px solid var(--cesta-ink);
}

/* header */
.site-header{
	border-bottom:1px solid var(--cesta-line);
	background:var(--cesta-bg);
}

.cesta-header-in{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	height:76px;
}

.site-branding{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:18px;
	font-weight:700;
	letter-spacing:-.03em;
}

.cesta-tri{
	display:flex;
	width:22px;
	height:18px;
	overflow:hidden;
	border:1px solid var(--cesta-line);
	border-radius:4px;
}

.cesta-tri b{
	display:block;
	flex:1;
}

.cesta-tri b:nth-child(1){
	background:var(--cesta-green);
}

.cesta-tri b:nth-child(2){
	background:#fff;
}

.cesta-tri b:nth-child(3){
	background:var(--cesta-red);
}

.site-title{
	margin:0;
	font-size:18px;
	font-weight:700;
	line-height:1.2;
	letter-spacing:-.03em;
}

.site-description{
	display:none;
}

.main-navigation{
	display:flex;
	align-items:center;
}

.main-navigation ul{
	display:flex;
	gap:26px;
	margin:0;
	padding:0;
	list-style:none;
	font-size:15px;
	color:var(--cesta-muted);
}

.main-navigation a:hover{
	color:var(--cesta-ink);
}

.menu-toggle{
	display:none;
	width:40px;
	height:40px;
	padding:0;
	border:1px solid var(--cesta-line);
	border-radius:8px;
	background:transparent;
	font-size:0;
	cursor:pointer;
}

.menu-toggle:before{
	content:"";
	display:block;
	width:16px;
	height:2px;
	margin:0 auto;
	background:var(--cesta-ink);
	box-shadow:0 -5px 0 var(--cesta-ink), 0 5px 0 var(--cesta-ink);
}

.cesta-header-cta{
	display:inline-flex;
	align-items:center;
	padding:11px 20px;
	border-radius:8px;
	background:var(--cesta-green);
	color:#fff;
	font-size:14px;
	font-weight:600;
}

.cesta-header-cta:hover{
	background:var(--cesta-green-dark);
}

/* obsah */
.site-main{
	padding:0;
}

.entry-content{
	margin:0;
}

section{
	padding:76px 0;
	border-bottom:1px solid var(--cesta-line);
}

section:last-of-type{
	border-bottom:0;
}

.uvodnik{
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:64px;
	align-items:center;
	padding:76px 0 60px;
	border-bottom:0;
}

.cesta-eyebrow{
	margin:0 0 10px;
	font-size:12px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--cesta-green);
}

.cesta-hero-text{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
}

.uvodnik h1{
	margin:0;
	font-size:clamp(34px, 5.4vw, 66px);
	font-weight:750;
	line-height:1.02;
	letter-spacing:-.045em;
}

.uvodnik h1:after{
	content:"";
	display:block;
	width:44px;
	height:3px;
	margin-top:20px;
	background:var(--cesta-red);
}

.cesta-lead{
	max-width:46ch;
	margin:24px 0 0;
	color:var(--cesta-muted);
	font-size:19px;
	line-height:1.62;
}

.cesta-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:32px;
}

.cesta-verified{
	display:flex;
	align-items:center;
	gap:8px;
	margin:24px 0 0;
	color:var(--cesta-muted);
	font-size:13px;
}

.cesta-verified:before{
	content:"";
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--cesta-green);
}

.cesta-hero-art{
	margin:0;
	border:1px solid var(--cesta-line);
	border-radius:20px;
	overflow:hidden;
	box-shadow:0 24px 60px rgba(16, 24, 20, .08);
}

.cesta-hero-art svg{
	display:block;
	width:100%;
	height:auto;
}

/* tlačítka */
.wp-block-button__link,
.cesta-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:14px 24px;
	border:1px solid transparent;
	border-radius:8px;
	background:var(--cesta-green);
	color:#fff;
	font-family:inherit;
	font-size:15px;
	font-weight:600;
	line-height:1.2;
	cursor:pointer;
	transition:background .18s;
}

.wp-block-button__link:hover,
.cesta-btn:hover{
	background:var(--cesta-green-dark);
	color:#fff;
}

.is-style-outline .wp-block-button__link{
	border-color:var(--cesta-ink);
	background:transparent;
	color:var(--cesta-ink);
}

.is-style-outline .wp-block-button__link:hover{
	background:var(--cesta-ink);
	color:var(--cesta-bg);
}

/* pruh s čísly */
.pruh-cisel{
	padding:22px 0;
}

.cesta-stats{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
}

.cesta-stat{
	padding:0 26px;
	border-left:1px solid var(--cesta-line);
}

.cesta-stat:first-child{
	padding-left:0;
	border-left:0;
}

.cesta-stat span{
	display:block;
	color:var(--cesta-muted);
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.cesta-stat strong{
	display:block;
	margin-top:8px;
	font-size:26px;
	font-weight:700;
	letter-spacing:-.03em;
	font-variant-numeric:tabular-nums;
}

.cesta-stat--total strong{
	color:var(--cesta-red);
}

/* nadpisy sekcí */
.cesta-section-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:30px;
	margin-bottom:34px;
}

.cesta-section-head h2{
	margin:0;
	font-size:clamp(28px, 3.4vw, 40px);
	font-weight:750;
	line-height:1.1;
	letter-spacing:-.04em;
}

.cesta-section-head p{
	max-width:34ch;
	margin:0;
	color:var(--cesta-muted);
	font-size:15px;
	line-height:1.5;
}

/* kalkulačka */
.cesta-calc{
	display:grid;
	grid-template-columns:1fr 300px;
	gap:48px;
	align-items:end;
}

.cesta-fields{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	gap:14px;
}

.cesta-field{
	display:flex;
	flex-direction:column;
	gap:6px;
	color:var(--cesta-muted);
	font-size:11px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
}

.cesta-field select{
	width:100%;
	padding:12px 10px;
	border:1px solid var(--cesta-line);
	border-radius:8px;
	background:var(--cesta-paper);
	color:var(--cesta-ink);
	font-family:inherit;
	font-size:14px;
	font-weight:500;
	letter-spacing:0;
	text-transform:none;
	appearance:none;
}

.cesta-total{
	padding-left:36px;
	border-left:1px solid var(--cesta-line);
}

.cesta-total span{
	display:block;
	color:var(--cesta-muted);
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.cesta-total strong{
	display:block;
	margin:6px 0 4px;
	color:var(--cesta-red);
	font-size:46px;
	font-weight:750;
	letter-spacing:-.045em;
	line-height:1.05;
	font-variant-numeric:tabular-nums;
}

.cesta-total small{
	color:var(--cesta-muted);
	font-size:13px;
}

/* tři fakta */
.cesta-three{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
}

.cesta-fact{
	padding-right:36px;
}

.cesta-fact + .cesta-fact{
	padding-left:36px;
	border-left:1px solid var(--cesta-line);
}

.cesta-fact span{
	color:var(--cesta-muted);
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.cesta-fact h3{
	margin:10px 0 8px;
	font-size:32px;
	font-weight:750;
	letter-spacing:-.035em;
	font-variant-numeric:tabular-nums;
}

.cesta-fact p{
	margin:0;
	color:var(--cesta-muted);
	font-size:15px;
	line-height:1.6;
}

/* destinace */
.cesta-list{
	display:grid;
}

.cesta-row{
	display:grid;
	grid-template-columns:1fr auto auto;
	gap:28px;
	align-items:center;
	padding:22px 8px;
	border-bottom:1px solid var(--cesta-line);
	transition:background .15s, padding .15s;
}

.cesta-row:hover{
	padding-left:16px;
	background:var(--cesta-paper);
}

.cesta-row-name{
	font-size:20px;
	font-weight:700;
	letter-spacing:-.02em;
}

.cesta-row-note{
	display:block;
	margin-top:5px;
	color:var(--cesta-muted);
	font-size:13px;
	font-weight:400;
}

.cesta-row-time{
	color:var(--cesta-muted);
	font-size:14px;
	font-variant-numeric:tabular-nums;
}

.cesta-row-price{
	font-size:17px;
	font-weight:700;
	font-variant-numeric:tabular-nums;
	transition:color .15s;
}

.cesta-row:hover .cesta-row-price{
	color:var(--cesta-red);
}

.cesta-more{
	display:inline-block;
	margin-top:22px;
	color:var(--cesta-green);
	font-size:14px;
	font-weight:600;
}

/* cta pás */
.cta-pas{
	padding:0 0 72px;
	border-bottom:0;
}

.cesta-cta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	flex-wrap:wrap;
	padding:56px 48px;
	border-radius:20px;
	background:var(--cesta-dark);
	color:#fff;
}

.cesta-cta h2{
	margin:0;
	font-size:clamp(24px, 2.8vw, 34px);
	font-weight:750;
	letter-spacing:-.035em;
	line-height:1.15;
}

.cesta-cta p{
	margin:10px 0 0;
	color:rgba(255, 255, 255, .7);
	font-size:15px;
}

.cesta-cta .wp-block-button__link,
.cesta-cta .cesta-btn{
	background:var(--cesta-red);
	color:#fff;
}

.cesta-cta .wp-block-button__link:hover,
.cesta-cta .cesta-btn:hover{
	background:var(--cesta-red-dark);
}

/* footer */
.site-footer{
	padding:40px 0;
	border-top:1px solid var(--cesta-line);
	color:var(--cesta-muted);
	font-size:14px;
}

.cesta-footer-in{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	flex-wrap:wrap;
}

.site-footer p{
	margin:0;
}

.site-footer nav{
	display:flex;
	gap:20px;
}

/* responzivita */
@media screen and (max-width: 960px) {

	.uvodnik{
		grid-template-columns:1fr;
		gap:36px;
		padding:44px 0;
	}

	.cesta-hero-art{
		order:-1;
	}

	.cesta-stats{
		grid-template-columns:1fr 1fr;
		row-gap:22px;
	}

	.cesta-stat:nth-child(3){
		padding-left:0;
		border-left:0;
	}

	.cesta-calc{
		grid-template-columns:1fr;
	}

	.cesta-fields{
		grid-template-columns:1fr 1fr;
	}

	.cesta-total{
		padding:18px 0 0;
		border-top:1px solid var(--cesta-line);
		border-left:0;
	}

	.cesta-three{
		grid-template-columns:1fr;
		gap:26px;
	}

	.cesta-fact{
		padding-right:0;
	}

	.cesta-fact + .cesta-fact{
		padding-top:22px;
		padding-left:0;
		border-top:1px solid var(--cesta-line);
		border-left:0;
	}

	.main-navigation ul{
		display:none;
	}

	.menu-toggle{
		display:block;
	}

	.main-navigation.toggled ul{
		display:flex;
		flex-direction:column;
		position:absolute;
		left:0;
		right:0;
		top:76px;
		z-index:20;
		gap:0;
		padding:12px 24px 20px;
		background:var(--cesta-bg);
		border-bottom:1px solid var(--cesta-line);
	}

	.main-navigation.toggled ul li{
		padding:10px 0;
	}

	.site-header{
		position:relative;
	}

	.cesta-row{
		gap:16px;
	}

	.cesta-row-time{
		display:none;
	}
}

@media screen and (max-width: 640px) {

	section{
		padding:48px 0;
	}

	.cesta-wrap{
		width:calc(100% - 40px);
	}

	.cesta-header-cta{
		display:none;
	}

	.cesta-section-head{
		display:block;
	}

	.cesta-section-head p{
		margin-top:12px;
	}

	.cesta-cta{
		padding:32px 24px;
	}

	.cesta-stat strong{
		font-size:22px;
	}

	.cesta-total strong{
		font-size:38px;
	}
}
