.wpcf7 .screen-reader-response {
position: absolute;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
width: 1px;
margin: -1px;
padding: 0;
border: 0;
word-wrap: normal !important;
}
.wpcf7 .hidden-fields-container {
display: none;
}
.wpcf7 form .wpcf7-response-output {
margin: 2em 0.5em 1em;
padding: 0.2em 1em;
border: 2px solid #00a0d2; }
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
border-color: #46b450; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
border-color: #dc3232; }
.wpcf7 form.spam .wpcf7-response-output {
border-color: #f56e28; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
border-color: #ffb900; }
.wpcf7-form-control-wrap {
position: relative;
}
.wpcf7-not-valid-tip {
color: #dc3232; font-size: 1em;
font-weight: normal;
display: block;
}
.use-floating-validation-tip .wpcf7-not-valid-tip {
position: relative;
top: -2ex;
left: 1em;
z-index: 100;
border: 1px solid #dc3232;
background: #fff;
padding: .2em .8em;
width: 24em;
}
.wpcf7-list-item {
display: inline-block;
margin: 0 0 0 1em;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
content: " ";
}
.wpcf7-spinner {
visibility: hidden;
display: inline-block;
background-color: #23282d; opacity: 0.75;
width: 24px;
height: 24px;
border: none;
border-radius: 100%;
padding: 0;
margin: 0 24px;
position: relative;
}
form.submitting .wpcf7-spinner {
visibility: visible;
}
.wpcf7-spinner::before {
content: '';
position: absolute;
background-color: #fbfbfc; top: 4px;
left: 4px;
width: 6px;
height: 6px;
border: none;
border-radius: 100%;
transform-origin: 8px 8px;
animation-name: spin;
animation-duration: 1000ms;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
@media (prefers-reduced-motion: reduce) {
.wpcf7-spinner::before {
animation-name: blink;
animation-duration: 2000ms;
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes blink {
from {
opacity: 0;
}
50% {
opacity: 1;
}
to {
opacity: 0;
}
}
.wpcf7 [inert] {
opacity: 0.5;
}
.wpcf7 input[type="file"] {
cursor: pointer;
}
.wpcf7 input[type="file"]:disabled {
cursor: default;
}
.wpcf7 .wpcf7-submit:disabled {
cursor: not-allowed;
}
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
direction: ltr;
}
.wpcf7-reflection > output {
display: list-item;
list-style: none;
}
.wpcf7-reflection > output[hidden] {
display: none;
}:root {
--primary: #4da3eb;
--secondary: #4da3eb; --dark-blue: #163654;
--light-bg: #f4f9fd;
--accent: #C85A54;
--muted: #A8B8A0;
--background: #FFFBF0;
--foreground: #1a1a1a;
--border: #e0e0e0;
--shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.15);
}
section { position: relative;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 16px;
line-height: 1.6;
color: var(--foreground);
background-color: var(--background);
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: 'Outfit', Georgia, serif;
font-weight: 600;
line-height: 1.2;
margin-bottom: 1rem;
}
h1 {
font-size: 3rem;
}
h2 {
font-size: 2.5rem;
}
h3 {
font-size: 1.75rem;
}
h4 {
font-size: 1.5rem;
}
@media (max-width: 768px) {
h1 {
font-size: 2rem;
}
h2 {
font-size: 1.75rem;
}
h3 {
font-size: 1.5rem;
}
h4 {
font-size: 1.25rem;
}
}
p {
margin-bottom: 1rem;
}
a {
color: var(--primary);
text-decoration: none;
transition: all 0.3s ease;
}
a:hover {
color: var(--secondary);
}
.mt-5 {
margin-top: 3rem;
}
button,
.btn {
padding: 0.75rem 2.5rem;
border: none;
border-radius: 0.5rem;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
display: inline-block;
}
.btn-primary {
background-color: var(--primary);
color: white;
}
.btn-primary:hover {
background-color: var(--secondary);
box-shadow: var(--shadow-lg);
transform: translateY(-2px);
color: #fff
}
.btn-secondary {
background-color: white;
color: var(--primary);
border: 2px solid var(--primary);
}
.btn-secondary:hover {
background-color: var(--primary);
color: white;
}
.container {
max-width: 1440px;
width: 100%;
margin: 0 auto;
padding: 0 1rem;
}
@media (min-width: 768px) {
.container {
padding: 0 2rem;
}
.contact-form-wrapper {
display: flex;
}
.contact-form-wrapper>div {
flex: 0 0 50%;
}
.contact-form-shortcode {
padding-left: 60px;
}
} .skip-link {
position: absolute;
top: -40px;
left: 0;
background: var(--primary);
color: white;
padding: 8px;
text-decoration: none;
z-index: 100;
}
.skip-link:focus {
top: 0;
} .wp-smiley {
margin: 0;
}
img {
max-width: 100%;
height: auto;
display: block;
}
figure {
margin: 0;
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 1rem;
}
table td,
table th {
padding: 0.75rem;
border: 1px solid var(--border);
}
table th {
background-color: var(--primary);
color: white;
}
blockquote {
border-left: 4px solid var(--primary);
padding-left: 1rem;
margin: 1rem 0;
font-style: italic;
color: #666;
}
code {
background-color: #f5f5f5;
padding: 0.2rem 0.4rem;
border-radius: 0.25rem;
font-family: 'Courier New', monospace;
}
pre {
background-color: #f5f5f5;
padding: 1rem;
border-radius: 0.5rem;
overflow-x: auto;
margin-bottom: 1rem;
}
pre code {
background-color: transparent;
padding: 0;
} .text-center {
text-align: center;
}
.text-muted {
color: #666;
}
.mb-1 {
margin-bottom: 0.5rem;
}
.mb-2 {
margin-bottom: 1rem;
}
.mb-3 {
margin-bottom: 1.5rem;
}
.mb-4 {
margin-bottom: 2rem;
}
.mt-1 {
margin-top: 0.5rem;
}
.mt-2 {
margin-top: 1rem;
}
.mt-3 {
margin-top: 1.5rem;
}
.mt-4 {
margin-top: 2rem;
}
.py-4 {
padding-top: 2rem;
padding-bottom: 2rem;
}
.py-6 {
padding-top: 3rem;
padding-bottom: 3rem;
}
.py-10 {
padding-top: 5rem;
padding-bottom: 10rem;
}
.flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.gap-2 {
gap: 0.5rem;
}
.gap-4 {
gap: 1rem;
}
.gap-6 {
gap: 1.5rem;
}
.items-center {
align-items: center;
}
.justify-between {
justify-content: space-between;
}
.grid {
display: grid;
}
.grid-cols-1 {
grid-template-columns: 1fr;
}
@media (min-width: 768px) {
.md\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
.md\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
}
.rounded {
border-radius: 0.5rem;
}
.rounded-lg {
border-radius: 1rem;
}
.rounded-full {
border-radius: 9999px;
}
.shadow {
box-shadow: var(--shadow);
}
.shadow-lg {
box-shadow: var(--shadow-lg);
}
.bg-primary {
background-color: var(--primary);
color: white;
}
.bg-secondary {
background-color: var(--secondary);
color: white;
}
.bg-white {
background-color: white;
}
.border-l-4 {
border-left: 4px solid;
}
.border-primary {
border-color: var(--primary);
} .visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}  .site-header {
background-color: white;
box-shadow: var(--shadow);
position: sticky;
top: 0;
z-index: 1000;
}
.nav-wrapper {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
position: relative;
}
.site-branding {
display: flex;
align-items: center;
gap: 1rem;
}
.site-branding img {
height: 50px;
width: auto;
}
.site-title {
font-size: 1.5rem;
font-weight: 700;
color: var(--primary);
}
.menu-toggle {
display: none;
background: none;
border: none;
cursor: pointer;
padding: 0.5rem;
}
.hamburger {
display: flex;
flex-direction: column;
gap: 5px;
}
.hamburger span {
width: 25px;
height: 3px;
background-color: var(--foreground);
border-radius: 2px;
transition: all 0.3s ease;
}
.menu-toggle[aria-expanded="true"] .hamburger span:nth-child(1) {
transform: rotate(45deg) translate(8px, 8px);
}
.menu-toggle[aria-expanded="true"] .hamburger span:nth-child(2) {
opacity: 0;
}
.menu-toggle[aria-expanded="true"] .hamburger span:nth-child(3) {
transform: rotate(-45deg) translate(8px, -8px);
}
.primary-menu-container {
display: flex;
gap: 2rem;
align-items: center;
}
.primary-menu-container ul {
list-style: none;
display: flex;
gap: 2rem;
}
.primary-menu-container a {
color: var(--foreground);
font-weight: 500;
transition: color 0.3s ease;
}
.primary-menu-container a:hover {
color: var(--primary);
} .nav-menu {
list-style: none;
display: flex;
gap: 2rem;
margin: 0;
padding: 0;
}
.nav-menu li {
list-style: none;
margin: 0;
padding: 0;
}
.nav-menu a {
color: var(--foreground);
font-weight: 500;
transition: color 0.3s ease;
display: inline-block;
}
.nav-menu a:hover {
color: var(--primary);
} .nav-menu li.current-menu-item>a {
color: var(--primary);
font-weight: 700;
}
.nav-menu li.current-menu-parent>a {
color: var(--primary);
} .nav-menu li.menu-item-has-children>a::after {
content: ' ▼';
font-size: 0.7rem;
margin-left: 0.3rem;
} .footer-nav-menu {
list-style: none;
display: flex;
flex-direction: column;
gap: 0.5rem;
margin: 0;
padding: 0;
}
.footer-nav-menu li {
list-style: none;
margin: 0;
padding: 0;
}
.footer-nav-menu a {
color: rgba(255, 255, 255, 0.8);
transition: color 0.3s ease;
}
.footer-nav-menu a:hover {
color: white;
}
.footer-nav-menu li.current-menu-item>a {
color: white;
font-weight: 700;
}
.cta-button {
margin-left: 1rem;
} .hero-section {
padding-top: 8rem;
padding-bottom: 8rem;
min-height: 56vh; background-color: var(--light-bg);
color: var(--dark-blue);
display: flex;
align-items: stretch; position: relative;
}
.hero-content {
display: flex;
width: 100%;
height: 100%;
}
.hero-text {
width: 50%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: start;
padding-right: 2rem;
}
.hero-text h1 {
font-size: 3.5rem;
line-height: 1.2;
margin-bottom: 0.5rem;
color: var(--dark-blue);
}
.hero-subtitle-text {
font-size: 1.75rem;
font-weight: 500;
color: var(--dark-blue);
margin-bottom: 2rem;
}
.hero-phone-cta {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 30px;
width: 100%;
}
.btn-hero-phone {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-weight: 600;
font-size: 1.125rem;
text-decoration: none;
transition: opacity 0.3s;
}
.btn-hero-phone:hover {
opacity: 0.8;
}
.hero-phone-icon {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
}
.hero-phone-icon svg {
width: 100%;
height: 100%;
}
.hero-description {
font-size: 1.125rem;
line-height: 1.6;
opacity: 0.9;
margin-bottom: 2rem;
color: var(--dark-blue);
max-width: 38rem;
}
.hero-image {
position: absolute;
top: 0;
right: 0;
width: 50%; height: 100%;
z-index: 2; display: block; }
.hero-image img {
width: 100%;
height: 100%;
max-width: none;
object-fit: cover; object-position: center;
} .about-section {
background-color: #ffffff;
box-shadow: var(--shadow-xl);
}
.about-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: center;
}
.about-text h2 {
font-size: 1.5rem;
margin-bottom: 2rem;
text-transform: none; color: var(--foreground);
font-weight: 500;
}
.about-description {
font-size: 1.15rem;
line-height: 1.4;
color: #333;
}
.about-description p {
margin-bottom: 1.2rem;
}
.about-image img {
width: 100%;
max-width: 600px;
aspect-ratio: 1 / 1;
height: auto;
object-fit: cover;
border-radius: 1.5rem;
box-shadow: var(--shadow-lg);
margin-left: auto;
}
.wave-divider {
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
overflow: hidden;
line-height: 0;
z-index: 10;
}
.wave-divider svg {
display: block;
width: calc(100% + 1.3px);
height: 50px;
}
.wave-divider svg path {
fill: currentColor;
}
.fill-white {
color: #ffffff;
}
.fill-secondary {
color: var(--secondary);
}
.fill-foreground {
color: var(--foreground);
}
@media (min-width: 768px) {
.wave-divider svg {
height: 80px;
}
}
.section-heading {
max-width: 760px;
margin: 0 auto 3rem;
text-align: center;
}
.section-heading h2 {
text-transform: uppercase;
font-size: 2rem;
} .first-visit-section {
background-color: #ffffff;
color: var(--foreground);
}
.first-visit-section h2,
.first-visit-section .section-subtitle {
color: var(--foreground);
}
.section-subtitle {
font-size: 1.1rem;
opacity: 0.95;
}
.timeline {
display: flex;
flex-direction: column;
gap: 2rem;
max-width: 600px;
margin: 0 auto;
}
.timeline-item {
display: grid;
grid-template-columns: 80px 1fr;
gap: 2rem;
position: relative;
}
.timeline-line {
position: absolute;
left: 40px;
top: 80px;
width: 2px;
height: calc(100% + 2rem);
background-color: rgba(58, 114, 185, 0.22);
}
.timeline-number {
width: 80px;
height: 80px;
background-color: var(--primary);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
font-weight: 700;
flex-shrink: 0;
box-shadow: var(--shadow-lg);
}
.timeline-content h3 {
color: var(--foreground);
margin-bottom: 0.5rem;
}
.timeline-content p {
color: #555;
line-height: 1.8;
} .conditions-section {
background-color: var(--secondary);
color: white;
box-shadow: var(--shadow-xl);
}
.conditions-section h2,
.conditions-section .section-subtitle {
color: white;
}
.conditions-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.condition-card {
background-color: white;
padding: 2rem;
border-radius: 1rem;
box-shadow: var(--shadow);
text-align: center;
transition: all 0.3s ease;
position: relative;
min-height: 100%;
}
.condition-card:hover {
box-shadow: var(--shadow-lg);
transform: translateY(-5px);
}
.condition-icon {
font-size: 3rem;
margin-bottom: 1rem;
line-height: 1;
}
.condition-icon img {
max-width: 80px;
margin: 0 auto;
height: auto;
object-fit: contain;
}
.condition-content h3 {
margin-bottom: 1rem;
color: var(--primary);
}
.condition-content p {
color: #5b6470;
margin-bottom: 0;
} .certificates-section {
background-color: var(--secondary);
color: white;
}
.certificates-section h2,
.certificates-section .section-subtitle {
color: white;
}
.certificates-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.certificate-card {
background-color: #ffffff;
color: var(--foreground);
border-radius: 1rem;
padding: 2rem;
text-align: center;
box-shadow: var(--shadow);
transition: all 0.3s ease;
}
.certificate-card:hover {
box-shadow: var(--shadow-lg);
transform: translateY(-5px);
}
.certificate-icon {
width: 100%;
height: 100%;
margin: 0 auto 1rem;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background-color: rgba(58, 114, 185, 0.12);
color: var(--primary);
font-size: 2rem;
}
.certificate-icon img {
max-width: 100%;
height: auto;
object-fit: cover;
}
.certificate-card h3 {
color: var(--primary);
}
.certificate-card p {
color: #5b6470;
margin-bottom: 0;
} .testimonials-section {
background-color: #ffffff;
}
.testimonials-section h2,
.testimonials-section .section-subtitle {
color: var(--foreground);
}
.testimonials-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 2rem;
}
.testimonial-card {
background-color: #ffffff;
padding: 2.5rem;
border-radius: 1rem;
box-shadow: var(--shadow);
transition: all 0.3s ease;
}
.testimonial-rating {
color: var(--primary);
font-size: 1.25rem;
margin-bottom: 1rem;
}
.testimonial-content {
font-style: italic;
color: #555;
margin-bottom: 1rem;
line-height: 1.8;
}
.testimonial-author {
font-weight: 600;
color: var(--primary);
margin-bottom: 0.35rem;
}
.testimonial-source {
font-size: 0.95rem;
color: #7a8594;
margin-bottom: 0;
} .contact-section {
background-color: var(--secondary);
color: white;
}
.contact-section h2,
.contact-section .section-subtitle {
color: white;
}
.contact-info-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin-bottom: 4rem;
}
.contact-card {
background-color: rgba(255, 255, 255, 0.1);
padding: 2rem;
border-radius: 1rem;
text-align: center;
}
.contact-card h3 {
color: white;
margin-bottom: 1rem;
}
.contact-card a,
.contact-card p {
color: rgba(255, 255, 255, 0.9);
}
.contact-form-container h3 {
color: white;
margin-bottom: 1.5rem;
}
.contact-form-placeholder {
border: 1px dashed rgba(255, 255, 255, 0.45);
border-radius: 0.75rem;
padding: 1.5rem;
color: rgba(255, 255, 255, 0.92);
}
.contact-form-shortcode .wpcf7 {
color: white;
}
.contact-form-shortcode .wpcf7-form {
display: grid;
gap: 1rem;
}
.contact-form-shortcode .wpcf7-form p {
margin-bottom: 0;
}
.contact-form-shortcode .wpcf7-form-control-wrap {
display: block;
}
.contact-form-wrapper p a {
color: #fff;
text-decoration: underline;
}
.contact-form-wrapper p a:hover {
text-decoration: none;
}
.contact-form-shortcode input[type="text"],
.contact-form-shortcode input[type="email"],
.contact-form-shortcode input[type="tel"],
.contact-form-shortcode textarea,
.contact-form-shortcode select {
width: 100%;
padding: 0.9rem 1rem;
border: 1px solid rgba(255, 255, 255, 0.35);
border-radius: 0.5rem;
background-color: white;
color: var(--foreground);
font-family: inherit;
font-size: 1rem;
}
.contact-form-shortcode textarea {
min-height: 140px;
resize: vertical;
}
.contact-form-shortcode input[type="submit"] {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.85rem 1.5rem;
border: 2px solid white;
border-radius: 0.5rem;
background-color: white;
color: var(--primary);
font-weight: 700;
cursor: pointer;
transition: all 0.3s ease;
}
.contact-form-shortcode input[type="submit"]:hover {
background-color: transparent;
color: white;
}
.contact-form-shortcode .wpcf7-spinner {
margin: 0.5rem 0 0;
}
.contact-form-shortcode .wpcf7-not-valid-tip,
.contact-form-shortcode .wpcf7-response-output {
color: white;
border-color: rgba(255, 255, 255, 0.45);
}
.wpcf7-not-valid-tip {
position: absolute;
bottom: -22px;
left: 0px;
background: #EE8F8F;
padding: 3px 6px;
font-size: 12px;
line-height: 1;
border-radius: 3px;
}
.stopka-formularza .wpcf7-response-output {
margin: 0 0 0 30px !important;
font-size: 14px;
line-height: 1.25;
padding: 14px 10px !important;
width: 100%;
}
.wpcf7 form.sent .wpcf7-response-output {
background: #eff9f0 !important;
border: 1px solid #7BD785 !important;
color: #7BD785;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
background-color: #fcf5f5 !important;
border: 1px solid #EE8F8F !important;
color: #EE8F8F;
}
.contact-image img {
width: 100%;
height: 100%;
min-height: 320px;
object-fit: cover;
border-radius: 1rem;
box-shadow: var(--shadow-lg);
} .site-footer {
background-color: var(--foreground);
color: white;
padding: 3rem 0 1rem;
}
.footer-content {
margin-bottom: 2rem;
}
.footer-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.footer-column h4 {
color: white;
margin-bottom: 1rem;
}
.footer-column a {
color: rgba(255, 255, 255, 0.8);
}
.footer-column a:hover {
color: white;
}
.social-links {
list-style: none;
display: flex;
gap: 1rem;
}
.footer-bottom {
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 2rem;
text-align: center;
}
.footer-bottom-content {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 1rem;
}
.copyright,
.footer-credit {
font-size: 0.9rem;
opacity: 0.8;
}
.header-cta-group {
display: none;
} @media (max-width: 991px) { .menu-toggle {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 8px;
background: none;
border: none;
cursor: pointer;
z-index: 10001;
position: relative;
} .hamburger span {
transition: transform 0.35s ease, opacity 0.25s ease, background-color 0.3s;
}
.menu-toggle[aria-expanded="true"] .hamburger span {
background-color: #fff;
}
.menu-toggle[aria-expanded="true"] .hamburger span:nth-child(1) {
transform: rotate(45deg) translate(5.5px, 5.5px);
}
.menu-toggle[aria-expanded="true"] .hamburger span:nth-child(2) {
opacity: 0;
transform: scaleX(0);
}
.menu-toggle[aria-expanded="true"] .hamburger span:nth-child(3) {
transform: rotate(-45deg) translate(5.5px, -5.5px);
} .primary-menu-container {
position: fixed;
inset: 0;
background: var(--dark-blue);
display: flex !important;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2rem;
z-index: 10000;
opacity: 0;
pointer-events: none;
transform: translateY(-20px);
transition: opacity 0.35s ease, transform 0.35s ease;
padding: 2rem;
}
.primary-menu-container.active {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
} .nav-menu {
flex-direction: column;
align-items: center;
gap: 0;
}
.nav-menu li {
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
width: 100%;
text-align: center;
}
.nav-menu li:last-child {
border-bottom: none;
}
.nav-menu a {
display: block;
padding: 1.1rem 0;
color: #fff;
font-size: 1.3rem;
font-weight: 500;
letter-spacing: 0.05em;
}
.nav-menu a:hover {
color: var(--primary);
}
.nav-menu li.current-menu-item>a {
color: var(--primary);
} .header-cta-group {
order: 2;
margin-left: auto;
margin-right: 15px;
display: block;
}
.menu-toggle {
order: 3;
}
.cta-desktop {
display: flex;
padding: 0.5rem 1rem;
font-size: 0.9rem;
}
.nav-wrapper {
flex-wrap: nowrap;
} .mobile-menu-cta {
margin-top: 1rem;
}
.btn-mobile-cta {
display: inline-block;
background: #fff;
color: var(--dark-blue);
padding: 1rem 2.5rem;
border-radius: 2rem;
font-weight: 700;
font-size: 1.1rem;
text-transform: uppercase;
text-decoration: none;
transition: background-color 0.3s ease;
}
.btn-mobile-cta:hover {
background: var(--light-bg);
} .hero-section {
padding-top: 5rem;
padding-bottom: 6rem; min-height: 65vh;
}
.hero-content {
display: flex !important;
flex-direction: column;
grid-template-columns: none !important;
gap: 0;
}
.hero-text {
width: 100% !important;
padding: 2rem 0 !important;
align-items: flex-start;
z-index: 10;
color: #fff;
}
.hero-text h1 {
font-size: 2.2rem;
color: #fff;
text-shadow: 1px 1px #203955;
}
.hero-description,
.hero-subtitle-text {
color: #fff;
text-shadow: 1px 1px #203955;
}
.hero-image {
position: absolute;
width: 100% !important;
height: 100%;
max-height: 100%;
overflow: hidden;
}
.hero-image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
border-radius: 0;
}
.about-content {
flex-direction: column !important;
grid-template-columns: none !important;
}
.about-image,
.about-text {
width: 100% !important;
}
.about-image img {
aspect-ratio: 4 / 3;
width: 100%;
max-width: 100%;
object-fit: cover;
border-radius: 1rem;
margin: 0;
}
.contact-form-wrapper {
display: block !important;
grid-template-columns: none !important;
gap: 2rem;
}
.contact-form-wrapper > div {
width: 100% !important;
flex: none !important;
padding-left: 0 !important;
}
.contact-image {
display: block;
width: 100%;
height: 100%;
}
.contact-image img {
aspect-ratio: 16 / 9;
width: 100%;
height: 100% !important;
object-fit: cover;
border-radius: 1rem;
} .conditions-grid {
grid-template-columns: repeat(2, 1fr);
}
.certificates-grid {
grid-template-columns: repeat(2, 1fr);
}
.testimonials-grid {
grid-template-columns: 1fr;
}
.contact-info-cards {
grid-template-columns: 1fr;
} .py-10 {
padding-top: 4rem;
padding-bottom: 8rem; } html {
scroll-padding-top: 82px;
} .mobile-cta-bar {
display: flex;
}
} .mobile-cta-bar {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 9999;
background: var(--dark-blue);
box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2);
padding: 0.75rem 1rem;
gap: 0.75rem;
align-items: center;
justify-content: space-between;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
.mobile-cta-bar a.mobile-cta-phone {
display: flex;
align-items: center;
gap: 0.5rem;
color: #fff;
font-weight: 600;
font-size: 1rem;
text-decoration: none;
flex: 1;
}
.mobile-cta-bar a.mobile-cta-phone svg {
width: 20px;
height: 20px;
flex-shrink: 0;
}
.mobile-cta-bar a.mobile-cta-book {
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--primary);
color: #fff;
font-weight: 700;
font-size: 0.95rem;
padding: 0.7rem 1.5rem;
border-radius: 0.5rem;
text-decoration: none;
white-space: nowrap;
transition: background 0.2s;
}
.mobile-cta-bar a.mobile-cta-book:hover {
background: var(--accent);
} @media (max-width: 767px) {
.footer-content p {
font-size: 13px;
}
.section-heading h2 {
font-size: 1.5rem;
}
.hero-section {
padding-top: 5rem;
padding-bottom: 5rem;
}
.hero-text h1 {
font-size: 2.5rem;
}
.hero-subtitle-text {
font-size: 1.25rem;
} .cta-desktop {
display: none !important;
}
.cta-mobile-icon {
display: flex !important;
align-items: center;
justify-content: center;
background: var(--primary);
width: 44px;
height: 44px;
padding: 0;
border-radius: 50%;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.cta-mobile-icon svg {
width: 20px;
height: 20px;
}
.stopka-formularza .wpcf7-response-output {
width: auto;
} .hero-phone-cta {
gap: 15px;
}
.hero-phone-text {
display: none;
}
.btn-hero-phone {
background: var(--primary);
width: 48px;
height: 48px;
border-radius: 50%;
justify-content: center;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.btn-hero-phone .hero-phone-icon {
width: 20px;
height: 20px;
}
a.btn-hero-phone {
display: none !important;
} .conditions-grid,
.certificates-grid,
.testimonials-grid {
display: flex;
overflow-x: auto;
scroll-snap-type: x mandatory;
gap: 1.5rem;
padding-bottom: 1.5rem;
margin-inline: -15px;
padding-inline: 15px; scrollbar-width: none;
-ms-overflow-style: none;
}
.conditions-grid::-webkit-scrollbar,
.certificates-grid::-webkit-scrollbar,
.testimonials-grid::-webkit-scrollbar {
display: none;
}
.condition-card,
.certificate-card,
.testimonial-card {
width: 78vw;
scroll-snap-align: center;
flex: 0 0 auto;
}
.hero-description {
line-height: 1.25;
}
.hero-section {
min-height: 85vh;
}
.contact-card {
padding: 1rem;
}
.contact-card h3 {
margin-bottom: .5rem;
}
p.disclamer {
font-size: 10px;
line-height: 1.25;
}
.contact-form-wrapper {
display: flex;
flex-direction: column-reverse;
}
.contact-image {
order: -1;
height: auto;
}
.contact-image img {
aspect-ratio: 1 / 1 !important;
}
.footer-bottom-content {
flex-direction: column;
text-align: center;
}
.lightbox-close {
top: 15px;
right: 15px;
width: 40px;
height: 40px;
font-size: 24px;
}
.lightbox-prev,
.lightbox-next {
top: auto;
bottom: 20px;
transform: none;
}
.lightbox-prev {
left: calc(50% - 60px);
}
.lightbox-next {
right: calc(50% - 60px);
}
.lightbox-content {
max-width: 95%;
max-height: 75vh;
}
} @media print {
body {
background: white;
}
a {
text-decoration: underline;
}
button,
.btn {
display: none;
}
}
.certificate-card {
text-align: center;
background: transparent !important;
box-shadow: none !important;
padding: 0 !important;
border: none !important;
}
.certificate-icon img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
border-radius: 12px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.certificate-lightbox-link {
display: block;
margin-bottom: 1rem;
}
.certificate-lightbox-link:hover .certificate-icon img {
transform: translateY(-5px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}
.certificate-info h3 {
font-size: 1.1rem;
margin-bottom: 0.5rem;
line-height: 1.4;
}
.certificate-info p {
font-size: 0.95rem;
color: #666;
} #modern-lightbox {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
align-items: center;
justify-content: center;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
display: flex;
}
#modern-lightbox.active {
opacity: 1;
pointer-events: auto;
}
.lightbox-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.85);
backdrop-filter: blur(5px);
}
.lightbox-content-wrapper {
position: relative;
z-index: 1000000;
max-width: 90vw;
max-height: 90vh;
display: flex;
flex-direction: column;
align-items: center;
}
.lightbox-img {
max-width: 100%;
max-height: 80vh;
border-radius: 8px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
object-fit: contain;
}
.lightbox-caption {
color: #fff;
margin-top: 15px;
font-size: 1.2rem;
text-align: center;
max-width: 800px;
}
.lightbox-close {
position: absolute;
top: -40px;
right: -40px;
background: none;
border: none;
color: #fff;
font-size: 3rem;
cursor: pointer;
line-height: 1;
padding: 0;
transition: color 0.2s;
}
.lightbox-close:hover {
color: var(--primary);
}
.lightbox-prev,
.lightbox-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255, 255, 255, 0.1);
border: none;
color: #fff;
font-size: 2rem;
width: 50px;
height: 50px;
cursor: pointer;
border-radius: 1%;
transition: 0.3s;
display: flex;
align-items: center;
justify-content: center;
}
.lightbox-prev:hover,
.lightbox-next:hover {
background: rgba(255, 255, 255, 0.3);
}
.lightbox-prev {
left: -90px;
}
.lightbox-next {
right: -90px;
}
@media (max-width: 900px) {
.lightbox-prev {
left: 10px;
}
.lightbox-next {
right: 10px;
}
.lightbox-close {
top: -40px;
right: 0;
}
}