/**
Theme Name: Dmuchańce Raszowa theme
Author: Jakub Hopciaś
Author URI: https://hopcias.pl
Description: -
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dmuchance-raszowa-theme
Template: astra
*/
h1 { font-size: 5.0625rem !important; line-height: 1em !important; font-family: 'Fredoka', sans-serif !important; }
h2 { font-size: 4.21875rem !important; line-height: 1.15em !important }
h3 { font-size: 3.375rem !important; line-height: 1.2em !important }
h4 { font-size: 2.53125rem !important; line-height: 1.25em !important }
h5 { font-size: 1.6875rem !important; line-height: 1.3em !important }
h6 { font-size: 1rem !important; line-height: 1.4em !important }

@media (max-width: 1024px) {
  h1 { font-size: 4rem !important }
  h2 { font-size: 3.375rem !important }
  h3 { font-size: 2.75rem !important }
  h4 { font-size: 2.125rem !important }
  h5 { font-size: 1.5rem !important }
  h6 { font-size: 1rem !important }
}

@media (max-width: 768px) {
  h1 { font-size: 3rem !important }
  h2 { font-size: 2.5rem !important }
  h3 { font-size: 2rem !important }
  h4 { font-size: 1.5rem !important }
  h5 { font-size: 1.25rem !important }
  h6 { font-size: 1rem !important }
}
/*
p{
	max-width:700px !important;
}
.has-text-align-center{
	margin-left:auto !important;
}
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
	margin-left:0 !important
}*/
.circle{
	animation:circle 1.5s ease-in-out infinite;
}
@keyframes circle{
	20%{transform:scaleX(1.2)}
	40%{transform:scale(1,1.2)}
	50%{transform:scale(1)}
}
.triangle{
animation:triangle 3s ease-in-out infinite;
	animation-delay:0.5s;
}
@keyframes triangle{
	20%{transform:rotate(90deg)}
	45%{transform:rotate(180deg)}
	70%{transform:rotate(270deg)}
	90%{transform:rotate(360deg)}
}
.rect{
	animation:rect 0.7s ease-in-out infinite;
	animation-delay:1s;
}
@keyframes rect{
	100%{transform:rotate(90deg)}
}
.justify-start{
	justify-content:flex-start !important;
}
h2{
	margin-bottom:0 !important;
}
svg{
	margin:0 !important;
}
.bento-image{
	max-width:50%;
	flex:1;
}
.bento-heading{
	font-size:110px !important;
}
@media screen and (max-width:995px){
	.bento-heading{
		font-size:70px !important;
	}
}
.flex-row{
	display:flex;
	flex-direction:row;
	gap:2em;
	align-items:center;
	*{
		margin:0 !important;
	}
}
.flex-row-wrap{
	display:flex;
	flex-direction:row;
	gap:4em;
	justify-content:space-between;
	flex-wrap:wrap;
	align-items:center;
	*{
		margin:0 !important
	}
}
@media screen and (max-width:925px){
	.flex-row-wrap{
		justify-content:center;
	}
}
.gap-05{
	gap:0.5em !important;
}
.flex-1{
	flex:1;
}

section{
	margin-bottom:15vh;
}
.slide-group{
	box-shadow:0 4px 11px rgba(0,0,0,0.1);
	border-radius:16px;
	overflow:clip;
	img{
		width:100%;
	}
}
.cb-slide{
	padding-bottom:12px;
}
.uagb-marketing-btn__link.wp-block-button__link{
	display:flex !important;
	flex-direction:row !important;
	gap:6px !important;
}
.max-width-450{
	max-width:450px;
}
@media screen and (max-width:758px){
	.no-padding-mobile{
		padding-left:8px !important;
		padding-right:8px !important;
	}
	.dmuchaniec-opis-container{
		padding-left:0.5em !important;
		padding-right:0.5em !important;
	}
	.bento-heading{
		font-size:60px !important;
	}
	form .wrapper:has(textarea){
		display:block;
	}
	form .wrapper:has(textarea) textarea{
		min-height:110px;
	}
} 

form .wrapper{
	display:flex;
	gap:1em;
}

input, textarea{
	border:0 !important;
	border-bottom:2px solid var(--ast-global-color-1) !important;
	box-shadow:none !important;
		border-radius:0 !important
	min-width:50%;
}
select{
	max-width:50%;
	border-color:var(--ast-global-color-1)
}
p:has(label .wpcf7-form-control-wrap textarea){
	width:100%;
}
textarea{
	max-height:40px;
}
.flex-center{
	display:flex;
	justify-content:center;
}
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row, .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .site-footer-section {
    align-items: flex-end;
}
.wymiary-container{
	display:flex; 
	gap:0.4em;
	flex-direction:row;
	align-items:center;
	flex-wrap:wrap;
	white-space:nowrap;
	*{
		margin:0 !important;
	}
}
.between{
	justify-content:space-between;
}
.uagb-marketing-btn__title{
	white-space:nowrap;
}
.small{
	font-size:13px !important;
	line-height:120%;
}
.stats{
	display:flex; 
	flex-direction:row;
	flex-wrap:wrap;
	gap:0.4em;
}
.stat{
	padding:0.6em 0.8em;
	display:flex;
	gap:0.4em;
	flex-direction:row;
	background-color:#FBE6E6;
	max-width:fit-content;
	align-items:center;
	border-radius:24px;
	min-width:fit-content;
	.small{
		max-width:100px;
	}
	*{
		margin:0 !important;
	}
}
.stat.changed{
	border:1px solid var(--ast-global-color-0)
}
@media screen and (max-width:440px){
	.stat{
		flex-direction:column;
		justify-content:center;
		border-radius:12px;
		gap:0;
		padding:0.7em 1em;
		align-items:flex-start;
	}
}
.switch-container{
	display:flex; 
	flex-direction:column;
	gap:0.6em;
	align-items:flex-end;
	line-height:120%;
}
.switch{
	width: 60px;
    height: 25px;
    border-radius: 24px;
    border: 1px solid lightgray;
	position:relative;
	overflow:clip;
	cursor:pointer;
}
#oferta-indywidualna, #oferta-grupowa{
	transition:0.3s;
}
.switch .fill{
	width: 100%;
    height: 100%;
    background: var(--ast-global-color-1);
    position: absolute;
    left: -100%;
	transition:0.1s;
}
.price{
	color:#000 !important;
}
.switch .elipse{
	width: 40%;
    height: 100%;
    position: absolute;
    left: 0;
    background: gray;
    border-radius: 50%;
	transition:0.3s;
}
.custom-table {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
	max-width:500px;
	border:1px solid var(--ast-global-color-0)
}

.custom-table thead {
  background-color: var(--ast-global-color-0);
  color: white;
}

.custom-table th,
.custom-table td {
  padding: 12px 16px;
  text-align: left;
  border: 1px solid var(--ast-global-color-0);
}
.road-container{
	position:relative;
}
@media screen and (min-width:781px){
	.road-container{
		padding-top:140px !important;
	}
}
.road{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	max-height:100%;
	z-index:-1;
}
.step .wp-block-column:nth-of-type(2){
	display:flex;
	flex-direction:column;
	gap:1em;
}
.relative{
	position:relative;
}
.crown{
	position:absolute;
	top:-30px;
	left:10%;
	transform:rotate(-25deg)
}
.addons-table{
	margin-top:0 !important;
	border-color:#E78EAC !important;

	overflow:clip;
}
.addons-heading{
	padding:0.5em 0.8em;
	background-color:var(--ast-global-color-0);
		color:#fff !important;
	margin-bottom:0 !important;
	border-top-left-radius:16px;
	border-top-right-radius:16px;
}
.pakiet{
	min-width:257px !important;
	position:relative;
	max-height:fit-content;
}
.more{
	margin-top:0 !important;
	border-bottom-left-radius:16px;
	border-bottom-right-radius:16px;
	border:1px solid #E78EAC;
	padding:0.5em 0.8em;
	font-weight:600;
	text-align:center;
	cursor:pointer;
	transition:0.3s;
}
.more:hover{
	background-color:#E78EAC;
	color:#fff;
}
.addons-table .hidden {
    display:none;
}
.addons-table .expanded {
    display:table-row
}
@media (max-width: 1023px) {
  .pakiety > .wp-block-column {
    flex-basis: 100% !important;
    flex-grow: 1 !important;
  }
}
.flex-end{
	display:flex;
	justify-content:flex-end
}
@media screen and (max-width:781px){
	.road{
		display:none;
	}
	.hide-mobile{
		display:none !important;
	}
	header{
	margin-bottom:24px;
}
}
.font-600{
	font-weight:600 !important;
}

.dmuchaniec-opis-container summary::marker{
	color:#FDD57D;
}
.dmuchaniec-opis-container summary{
	background-color:#FDD57D;
	max-width:fit-content;
	padding:4px 12px;
	border-radius:8px;
}
.dmuchaniec-opis-container summary::after{
	content:"+";
	padding:0 6px;
	background-color:white;
	max-height:fit-content;
	display:inline-block;
	border-radius:8px;
	margin-left:12px;
		font-size:20px;
	font-weight:600;
}
.dmuchaniec-opis-container details[open] summary::after{
	content:"-"
}
@media screen and (max-width:1450px){
	.step.transform-y{
		transform:translateY(120px)
	}
}
/* Standardowy fokus dla starszych przeglądarek */
input[type="checkbox"]:focus,
input[type="radio"]:focus {
    outline: 2px solid #005a9c !important; /* Wyraźny niebieski */
    outline-offset: 2px !important;
}

/* Inteligentny fokus - tylko dla klawiatury */
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
    outline: 3px solid #005a9c !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 8px rgba(0, 90, 156, 0.5) !important;
}

/* Usunięcie domyślnego fokusu tam, gdzie wspierane jest focus-visible (żeby nie dublować) */
input[type="checkbox"]:focus:not(:focus-visible) {
    outline: none !important;
}