/* ===== Variables ===== */
:root {
	--header-h: 101px;
	--peek: 20px;
	--homepage-sections-border-radius: 40px;
	--vh-visible: calc(100vh - var(--header-h))
}

/* ===== Buttons ===== */

.btn-info {
  /* podstawowy wygląd */
  --bs-btn-bg:           #f9f9f9;

  /* stany */
  --bs-btn-hover-bg:     #f9f9f9;
  --bs-btn-hover-color:  #002f5d;
  --bs-btn-hover-border-color: #a0a0a08a;

  --bs-btn-active-bg:    #f0f0f0;
  --bs-btn-active-color: #002f5d;
}

.btn.btn-info {
	border: 1px solid #f9f9f9;
	color: #002f5d;;
}

.btn.btn-info:hover,
.btn.btn-info:focus-visible {
	border: 1px solid rgba(88, 88, 88, 0.15);
	box-shadow:
    0 0px 6px rgba(90, 90, 90, 0.1),
    0 0px 3px  rgba(90, 90, 90, 0.05);
}

.btn-show-offer {
	color:    var(--wp--preset--color--base-2);
	font-size: var(--wp--preset--font-size--medium);
}

.btn-show-offer:hover {
	color:  var(--wp--preset--color--base-2);
}

.btn-show-contact {
	color:  var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--medium);
}

.btn-show-contact:hover {
	color:  var(--wp--preset--color--contrast);
}

.phone-icon{
	height: 14px;
	fill: #002f5d;
}
/* ===== General styles ===== */
.border-primary{
	border-color: #be7c18 !important;
}

.sidebar-categories h3{
	font-size: 1.125rem;
}
.sidebar-categories-header{
	font-size: 1.25rem;
}

/* ===== Menu Link Hover ===== */

.wp-block-navigation:hover .wp-block-navigation-item__content,
.link-block:hover .link-block-item{
	opacity: .65;
	transition: opacity .45s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.link-block .link-block-item:hover,
.link-block .link-block-item:focus-visible{
	opacity: 1;
	transition: opacity .45s ease;
}
.link-block-item a{
	text-decoration: none !important;
	font-family: Lato;
	font-size: 0.875rem;
}


/* ===== Hero Banner =====  */
@media (max-width: 767.98px) {
	.hero-banner { min-height: 60vh; }
}

.hero-banner img{
    object-fit: cover;
    max-height: 550px;
	max-width: 100%;
}

.hero-header {
	font-family: Libre Baskerville;
    font-weight: 700;
    font-size: 0.875rem;
    color: #fff;
}
.hero-header-2 {
	font-size: 1.25rem;
	font-weight: 500;
	color: #fff!important;
}

.overlay-mobile{
	position:absolute; bottom:0; left:0; width:100%;
	padding:.75rem; background:rgba(0,0,0,.55); color:#fff;
}

.lead {
	font-size: 1rem;
}

/* ===== Offer Block ===== */
.offer-homepage {
	background-color: #002f5d;
	position: relative;
}

.offer-homepage-item-static {
	background-color: #ffffff;
	border-radius: 8px;
	font-weight: 700;
	font-size: 1.125rem;
	color: #002f5d;
	min-height:clamp(60px, 8vw + 40px, 140px);
}

.offer-homepage-item {
	background-color: #ffffff;
	border-radius: 8px;
	font-weight: 700;
	font-size: 1.125rem;
	color: #002f5d;
	position: relative;
	overflow: hidden;
	min-height:clamp(70px, 8vw + 50px, 150px);
	transition:
    border-color 0.6s ease,
    box-shadow   0.6s ease,
    transform     0.6s ease;
	transform-origin: center center;
	will-change: transform, box-shadow;
}
.offer-homepage-item:hover,
.offer-homepage-item:focus,
.offer-homepage-item:focus-visible {

	box-shadow:
		0 8px 16px rgba(0,0,0,0.7),
		0 4px 8px  rgba(0,0,0,0.6);
	transform: scale(1.02);
}

.offer-text {
	transition: transform .5s ease;
	transform: translateY(86%);
}
.offer-homepage-item:hover   .offer-text,
.offer-homepage-item:focus   .offer-text,
.offer-homepage-item:focus-visible .offer-text {
	transform: translateY(0);
}

.offer-card {
	border-radius:8px;
	background: #fff;
	
}

.offer-homepage-item:hover   .offer-desc,
.offer-homepage-item:focus   .offer-desc,
.offer-homepage-item:focus-visible .offer-desc {
	opacity: 1;
}
.offer-desc {
	height: 80px;
	color: #002f5d;
	font-weight: 400;
	font-size: .9375rem;
	line-height: 1.4;
	opacity: 1;
  	transition: opacity 0.85s ease .02s;
}

.offer-more{
	color: #be7c18;
}

.offer-title {
	margin-bottom: 0.25rem;
	font-family: 'Lato';
}
.offer-title-h2 {
	font-size: 1.25rem;
	font-family: 'Lato';
}
.offer-title-mobile {
	font-size: 1.125rem;
}
.offer-title-h2-mobile {
	font-size: 1.25rem;
	color: #fff;
}

/* ===== Swiper Carousel ===== */
.offer-swiper {
	perspective: 1200px;
}

.offer-swiper .swiper-slide {
	width: 70vw;
	max-width: 240px;
	height: 350px;
	transform-origin: center center;
}

.offer-swiper .swiper-slide{
	opacity: .6;
}

.offer-swiper .swiper-slide-next,
.offer-swiper .swiper-slide-prev {
	opacity: .8;
}

.offer-swiper .swiper-slide-active {
	transition: transform .5s ease, opacity .5s ease!important;
	opacity: 1;
	z-index: 2;
}

.offer-swiper .swiper-slide a {
	pointer-events: auto;
}

.swiper-pagination-bullet {
	background: #fff!important;
}

/* ===== Map Block ===== */
.map-homepage {
	background-color: #e3e7eb;
	position: relative;
}

.contact-homepage-item {
	background-color: #ffffff;
	border-radius: 8px;
	font-weight: 700;
	font-size: 1.125rem;
	color: #002f5d;
	min-height:clamp(40px, 8vw + 40px, 100px);
	transition:
    border-color 0.6s ease,
    box-shadow   0.6s ease,
    transform     0.6s ease;
	transform-origin: center center;
	will-change: transform, box-shadow;
}
.contact-homepage-item:hover,
.contact-homepage-item:focus {
	box-shadow:
		0 0px 6px rgba(90, 90, 90, 0.15),
		0 0px 3px  rgba(90, 90, 90, 0.1);
	transform: scale(1.02);
}

.map-homepage a{
	text-decoration: none!important;
}

/* ===== General Blocks ===== */
.scroll-stack {
	position: relative;
}

/* Viewport Block */
.v-block {
	min-height: calc(80vh - 111px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	overflow: visible;
}

/* Overlapping Viewport Blocks */
.v-block:not(:first-child) {
	min-height: calc(65vh + var(--homepage-sections-border-radius));
	margin-top: calc(-1 * var(--homepage-sections-border-radius));
	padding-top: var(--header-h);
	border-top-left-radius: var(--homepage-sections-border-radius);
	border-top-right-radius: var(--homepage-sections-border-radius);
}

footer > .v-block {
	margin-top: calc(-1 * (var(--homepage-sections-border-radius) + 1.2rem));
	padding-top: var(--header-h);
	border-top-left-radius:  var(--homepage-sections-border-radius);
	border-top-right-radius: var(--homepage-sections-border-radius);
	min-height: auto;
	background: #f9f9f9;
}

/* Reduced animations */
@media (prefers-reduced-motion: reduce) {
	.js-vblock { transform: none !important; }
}

/* === STICKY HEADER === */
.site-header,
.navbar.navbar-expand-lg.bg-light {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1050;
}
body { 
	padding-top: var(--header-h); 
}

#primaryNav.collapsed {
	height: 0vh!important;
}

#primaryNav.collapsing {
	height: 100vh!important;
}
#primaryNav.collapse.show{
	height: 100vh!important;
}
.navbar-toggler-icon {
	width: 1.25rem;
	height: 1.25rem;
	background-size: contain;
}

/* hamburger */
.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='%23002f5d' stroke-linecap='round' stroke-width='2' d='M2 4h12M2 8h12M2 12h12'/%3e%3c/svg%3e");
}

.navbar-toggler[aria-expanded='true'] .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='%23002f5d' stroke-linecap='round' stroke-width='2' d='M3 3l10 10M13 3L3 13'/%3e%3c/svg%3e");
}

.navbar-toggler:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* === FOOTER === */
.accordion-button {
	color: #002f5d;
}

.accordion-body {
	color: #002f5d;
}

.accordion-button:not(.collapsed) {
	background-color: #fff;
}

.accordion-button:focus {
  outline: none !important;
  box-shadow: none !important;
}

body:not(.home) footer .v-block{
	background:#002f5d;
	color:#fff;
}
body:not(.home) footer .v-block a{
	color:#fff;
}
body:not(.home) footer .v-block .border-light-subtle{
	border-color:rgba(255,255,255,.25)!important;
}

body:not(.home) footer .custom-logo{
    filter: brightness(0) invert(1) contrast(1.05);
}

body:not(.home) .accordion-button {
	color: #fff;
	background-color: #002f5d;
}

body:not(.home) footer .accordion-body {
	color: #fff;
	background-color: #002f5d;
}

body:not(.home) footer .accordion-button:not(.collapsed) {
	background-color: #002f5d;
}

body:not(.home) footer .accordion{
	--bs-accordion-bg: #ffffff36;
	--bs-accordion-btn-icon:        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M1.5 6.5l6 6 6-6'/%3e%3c/svg%3e");
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M1.5 9.5l6-6 6 6'/%3e%3c/svg%3e");
}

body:not(.home) footer .accordion-item {
	border: #ffffff6a!important;
}

.link-block-item h3{
	text-decoration: none !important;
	font-family: Lato;
}

/* === CONTACT FORM – modal === */

.contact-modal-form .wpcf7-form-control:focus {
	outline: none;
	border-color: #002f5d;
	box-shadow: 0 0 0 3px rgba(0,47,93,.15);
}

.contact-modal-form .form-input{   /* wrapper CF7 */
	display: block;
	line-height: 0;
}

/* Textarea */
.contact-modal-form textarea {
	height: 200px;
}

/* Przycisk */
.contact-modal-form .wpcf7-submit {
	align-self: center;
	width: auto;
	padding: 0.75rem 2.5rem;
	font-weight: 700;
	border-radius: 100px;
	border: 1px solid #002f5d;
	background: #002f5d;
	color: #fff;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.contact-modal-form .wpcf7-submit:hover,
.contact-modal-form .wpcf7-submit:focus-visible {
	background: #fff;
	color: #002f5d;
	box-shadow:
		0 0 0 3px rgba(0,47,93,.15),
		0 4px 10px rgba(0,0,0,.15);
}

/* Akceptacja RODO */
.contact-modal-form .wpcf7-acceptance {
	width: 90%;
	font-size: 0.75rem;
}

/* Response messages */
.contact-modal-form .wpcf7-response-output {
	width: 100%;
	margin: 0;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	font-size: 0.875rem;
}
.contact-modal-form .wpcf7-form.invalid .wpcf7-response-output,
.contact-modal-form .wpcf7-not-valid-tip {
	background: #fff3f3;
	color: #b10000;
}
.contact-modal-form .wpcf7-form.sent .wpcf7-response-output {
	background: #eef9f0;
	color: #208837;
}

.modal .btn-close {
	z-index: 2;
}

input[type="text"],
input[type="email"],
input[type="tel"]{
	margin-bottom: 15px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea{
	width: 95%;
	padding: 0.5rem 1rem;
	font-size: 1rem;
	border: 1px solid #ccd5e0;
	border-radius: 8px;
	background: #f9f9f9;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.hero-banner img{
    object-fit: cover;
    max-height: 550px;
	max-width: 100%;
}

@media ( min-width: 576px ) {
	.hero-banner img{
		object-fit: cover;
		max-width: 100%;
	}

	.hero-header {
		font-size: 1rem;
	}
	.hero-header-2 {
		font-size: 1.375rem;
		font-weight: 500;
	}
}

@media ( min-width: 768px ) {
	.hero-banner img{
		object-fit: cover;
		max-width: 100%;
	}

	.hero-header {
		font-size: 1.125rem;
	}
	.hero-header-2 {
		font-size: 1.5rem;
		font-weight: 500;
	}
	.lead {
		font-size: 1.125rem;
	}
	.offer-title-h2-mobile {
	font-size: 1.5rem;
	}
}

@media ( min-width: 992px ) {

	.hero-header {
		font-size: 1.25rem;
		color: #002f5d;
	}
	.hero-header-2 {
		font-size: 1.75rem;
		color: #002f5d!important;
		font-weight: 500;
	}
	.v-block:not(:first-child) {
	min-height: calc(55vh + var(--homepage-sections-border-radius));
	}
	.offer-text {
	transition: transform .5s ease;
	transform: translateY(80%);
}

}
@media ( min-width: 1200px ) {
	.v-block {
	min-height: calc(100vh - 111px);
	}
	.v-block:not(:first-child) {
	min-height: calc(100vh + var(--homepage-sections-border-radius));
	}
	.hero-header {
		font-size: 1.5rem;
	}
	.hero-header-2 {
		font-size: 2rem;
		font-weight: 500;
	}
	.offer-text {
	transition: transform .5s ease;
	transform: translateY(86%);
	}
}

@media ( min-width: 1400px ) {
	.hero-header {
		font-size: 1.725rem;
	}
}
