/*
Theme Name: Proreels 2025
*/

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}


:root {
    /* --heading-font: 'Times New Roman', serif;
    --text-font: 'Verdana', sans-serif; */
    --heading-font: 'Neue Haas Grotesk Display Pro', sans-serif;
    --text-font: 'Neue Haas Grotesk Display Pro', sans-serif;
    --primary: #FF7700;
    --dark-primary: #E96D00;
    --light: #F3F3F3;
    --navbar-bg: #DBDBDB;
    --dark: #404040;
    --white: #FFF;
    --black: #000;
    --navbar-height: 3rem;
    --full-vh: 100vh;
    --full-vh: 100dvh;
    --slider-h: 100vh;
}

body {
    font-family: var(--text-font);
}

section {
    overflow-x: hidden;
}

html, body {
    /* overflow-x: hidden; */
    /* overflow-y: auto; */
}

@media (max-width: 767.98px) {

    html, body {
        /* overflow-x: hidden; */
    }

}

@media (min-width: 1400px) {

    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1140px;
    }

}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--dark-primary);
    --bs-btn-hover-border-color: var(--dark-primary);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--dark-primary);
    --bs-btn-active-border-color: var(--dark-primary);
    /* --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); */
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
}

.navbar-brand img {
    width: min(250px, 33vw);
}

.main-site-navbar {
    background-color: var(--navbar-bg);
    box-shadow: 0 0 .5rem rgba(0,0,0,.5);
}

@media (max-width: 767.98px) {

    .main-site-navbar {
        --padding-y: 2rem;
        padding-top: var(--padding-y);
        padding-bottom: var(--padding-y);
    }

}

.bg-light {
    background-color: var(--light);
}

.section-start {
    height: 100vh;
    height: max(400px, calc(100vh - var(--navbar-height)));
    height: calc(100dvh - var(--navbar-height));
    /* height: calc(var(--full-vh) - var(--navbar-height)); */
    height: calc(var(--slider-h) - var(--navbar-height));
    position: relative;
    background-color: var(--light);
    transition: all .5s;
}

.section-start::before {
    /* content: '';
    background: url('img/start_bg.webp') center center no-repeat;
    background-size: auto;
    background-position: left bottom;
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    height: 100%;
    width: 50%;
    opacity: .4;
    display: block; */
}

.section-start .carousel {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    height: 100%;
    width: 50%;
}

.carousel img {
    object-fit: cover;
    object-position: center;
}

.carousel-indicators [data-bs-target]:not(.active) {
    opacity: 1;
    background-color: #777777;
}

@media (max-width: 767.98px) {

    .section-start .carousel .slogan-title div,
    .section-start .slide-text-outer .slogan-title div {
        margin-bottom: 3px;
    }

    .section-start .carousel .slogan-title div span,
    .section-start .slide-text-outer .slogan-title div span {
        padding-left: 4px;
        padding-right: 4px;
    }

    .section-start .carousel [data-slide-key="2"] .slogan-title div span,
    .section-start .slide-text-outer[data-slide-key="2"] .slogan-title div span {
        display: inline-block;
        background: rgba(243, 243, 243, 0.5);
    }

}

@media (min-width: 992px) {

    .section-start .carousel [data-slide-key="0"] img {
        object-position: 0% 60%;
    }

}

@media (min-width: 992px) and (min-height: 600px) {

    .section-start .carousel [data-slide-key="0"] img {
        /* object-fit: none; */
        transform: scale(1.125);
        object-position: 0% 90%;
    }

}

@media (min-width: 1400px) {

    .section-start::before {
        background-size: 130% auto;
    }

}

@media (max-width: 767.98px) {

    .section-start::before {
        /* width: 100%;
        background-position: left 35% bottom; */
    }

    .section-start {
        background: transparent;
    }

    .section-start > .container {
        z-index: 2;
    }

    .section-start .carousel {
        height: 100%;
        width: 100%;
        z-index: 1;
    }

}

.section-start > * {
    position: relative;
}

.fw-600,
.strong-as-600 strong {
    font-weight: 600;
}

.text-decoration-none {
    text-decoration: none;
}

.text-dark {
    color: var(--dark) !important;
}

.text-primary {
    color: var(--primary) !important;
}

.text-black {
    color: var(--black) !important;
}

.text-shadow {
    text-shadow: 0 .2rem .125rem rgba(0, 0, 0, 0.15);
}

.strong-as-primary strong {
    color: var(--primary);
}

.slogan-title {
    font-size: 3rem !important;
}

.top-social-icon {
    --size: 2.5rem;
    height: var(--size);
    width: var(--size);
}

@media (max-width: 767.98px) {

    .slogan-title {
        font-size: 2rem !important;
    }

    .top-social-icon {
        --size: 1.5rem;
    }

}

@media (min-width: 768px) and (max-width: 991.98px) {

    .slogan-title {
        font-size: 2rem !important;
    }

}

[style*="--size"] {
    width: var(--size);
    height: var(--size);
}

.section-realizations {
    background: var(--white);
}

.section-realizations,
.section-offer,
.section-trusted,
.section-contact-icons {
    --padding-y: 6rem;
    padding-top: var(--padding-y);
    padding-bottom: var(--padding-y);
}

.section-contact-icons {
    padding-top: 0;
}

@media (min-width: 1200px) {

    .section-realizations,
    .section-offer {
        --padding-y: 8rem;
    }

}

.section-realizations .realizations-row {
    --bs-gutter-y: var(--padding-y);
}

.single-realization {
    border-radius: 1.5rem;
    overflow: hidden;
    background: linear-gradient(0deg,var(--light) 0%, var(--white) 100%);
}

.single-realization > .btn {
    border: none;
    border-radius: 0;
}

.single-realization .realization-title {
    font-style: italic;
    font-weight: 300;
    position: relative;
}

.single-realization .realization-title::before,
.single-realization .realization-title::after {
    content: '';
    position: absolute;
    top: 50%;
    bottom: 50%;
    height: 1px;
    width: 15%;
    background: var(--black);
    display: block;
}

.single-realization .realization-title::before {
    left: 0;
    right: auto;
}

.single-realization .realization-title::after {
    left: auto;
    right: 0;
}

.single-realization .realization-title strong {
    font-style: normal;
    font-weight: 700;
}

.single-realization .realization-desc {
    line-height: 1.15;
    font-size: 1.1rem;
}

.single-offer h3,
.single-offer-main h4,
.see-more-outer h3,
.see-more-outer h4 {
    color: var(--dark);
    font-weight: bold;
    font-size: 1.1rem;
    text-align: center;
}

.single-offer-main h3 {
    font-size: 1.2rem;
}

.single-offer-main h4 {
    margin-top: 3rem;
}

.single-offer h3.bigger {
    font-size: 2rem;
    text-transform: uppercase;
}

.single-offer p:last-child {
    margin-bottom: 0;
}

.offers-grey-bg {
    position: relative;
}

.offers-grey-bg::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(-.5 * var(--padding-y));
    right: calc(-.5 * var(--bs-gutter-x));
    bottom: calc(-.5 * var(--padding-y));
    left: auto;
    width: 200%;
    /* height: 100%; */
    --radius: 6rem;
    border-radius: 0 var(--radius) var(--radius) 0;
    /* background: var(--light); */
    background: var(--navbar-bg);
    z-index: 0;
}

@media (max-width: 767.98px) {

    .offers-grey-bg::before {
        --radius: 5rem;
        border-radius: var(--radius);
        width: 100%;
        left: 0;
        right: 0;
    }

}

.offers-grey-bg > * {
    position: relative;
}

.see-more-outer h3,
.see-more-outer h4 {
    text-transform: uppercase;
    margin: 2rem auto;
}

.arrow-img {
    max-width: min(170px, 100%);
}

.phone-as-link {
    display: block;
    position: relative;
}

.phone-as-link::before {
    content: '';
    /* --mask-url: inherit; */
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mask-image: var(--mask-url);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    background-color: var(--black);
}

.phone-as-link:hover::before {
  background-color: var(--primary);
}

.phone-as-link .phone-outer {
    width: 6rem;
    visibility: hidden;
}

.phone-as-link .icon-in-phone {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 30%;
}

.prizes-bg {
    position: relative;
}

.prizes-bg > * {
    position: relative;
}

.prizes-bg::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background: url('img/prizes-bg.webp') center center no-repeat;
    background-size: contain;
    opacity: .3;
}

@media (min-width: 1200px) {

    .prizes-bg {
        --padding-y: 6rem;
        padding: var(--padding-y) 0;
    }

}

.prizes-bg p {
    text-align: center;
    font-size: 1.35rem;
    line-height: 1.1;
}

.prizes-bg p em {
    font-style: normal;
    font-weight: bold;
}

.prizes-bg p strong {
    color: var(--primary);
}

.prizes-bg .big-badge,
.prizes-bg .small-badge {
    width: var(--size);
    height: var(--size);
    object-fit: contain;
}

.prizes-bg .big-badge {
    --size: 11rem;
    --margin-y: 4rem;
    display: block;
    margin: var(--margin-y) auto;
}

.prizes-bg .small-badge {
    --size: 4rem;
    --margin-x: .25rem;
    margin-left: var(--margin-x);
    margin-right: var(--margin-x);
}

.trusted-logo {
    max-width: 10rem;
    max-height: 5rem;
}

.row-trusted .single-col {
    position: relative;
    --bs-gutter-x: 4rem;
}

.row-trusted .single-col::before,
.row-trusted .single-col:last-child:after {
    content: '';
    position: absolute;
    --offset-x: calc(-.5 * var(--bs-gutter-x));
    left: var(--offset-x);
    right: auto;
    top: 50%;
    width: 80px;       /* długość linii */
    height: 1px;        /* grubość linii */
    background: var(--primary);  /* kolor */
    transform: rotate(-70deg); /* kąt linii */
    transform-origin: center center; /* punkt obrotu */
}

.row-trusted .single-col:last-child:after {
    left: auto;
    right: var(--offset-x);
}

@media (max-width: 991.98px) {

    .row-trusted .single-col {
        --bs-gutter-x: 2rem;
    }

    .trusted-logo {
        max-width: min(7rem, calc(100vw / 4 - 2rem));
        max-height: 3rem;
    }
    
    .row-trusted .single-col::before,
    .row-trusted .single-col:last-child:after {
        width: 35px;
    }

}

@media (max-width: 767.98px) {

    .trusted-logo {
        max-width: min(4rem, calc(100vw / 4 - 2rem));
        max-height: 2rem;
    }
    
    .row-trusted .single-col::before,
    .row-trusted .single-col:last-child:after {
        width: 35px;
    }

}

.prizes-bg {

}

.site-footer {
    background-color: var(--light);
    border: 1px solid var(--primary);
    border-bottom: none;
    --radius: 4rem;
    border-radius: var(--radius) var(--radius) 0 0;
    color: var(--dark);
}

.site-footer .single-footer-col h3 {
    font-weight: bold;
    font-size: 1.2rem;
}

.site-footer .single-footer-col.footer3 {
    align-self: center;
}

.site-footer .single-footer-col p:last-child {
    margin-bottom: 0;
}

.site-footer .single-footer-col a {
    color: inherit;
    text-decoration: none;
}

.section-contact-icons p {
    text-align: center;
    margin: 0;
}

.section-contact-icons br {
    display: none;
}

.section-contact-icons a {
    display: inline-block;
    --size: 4rem;
}

.section-contact-icons a ~ a {
    margin-left: calc(var(--size) / 2);
}

.section-contact-icons img {
    width: var(--size);
    height: var(--size);
}

.static-page a {
    /* color: var(--primary); */
    color: inherit;
}

@media (min-width: 1200px) {

    .static-page h1 {
        font-size: 1.75rem;
    }

    .static-page h2 {
        font-size: 1.5rem;
    }

    .static-page h3 {
        font-size: 1.25rem;
    }

}

.ratio-9x16 {
  --bs-aspect-ratio: calc(16 / 9 * 100%);
}

.open-video {
    -webkit-transform: translateZ(0);
    position: relative;
    z-index: 10;
    cursor: pointer;
}

.video-modal {
    --bs-modal-bg: var(--black);
    --bs-modal-color: var(--white);
    --bs-btn-close-color: var(--white);
    --bs-modal-header-border-color: rgba(255,255,255,.1);
}

.video-modal .modal-header {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
    border: none !important;
}

.video-modal .modal-body {
    overflow-y: hidden;
}

.video-modal .btn-close {
    filter: invert(1);
    transform: scale(1.5);
}

#videoContainer video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    /* max-height: 100vh; */
    /* max-height: 100dvh; */
    /* max-height: calc(100vh - 55px); */
}


/* WhatsApp widget styles */
.whatsapp-widget {
  position: fixed;
  --offset: 1rem;
  --size: 4rem;
  right: var(--offset);            /* odległość od prawej krawędzi */
  bottom: var(--offset);           /* odległość od dolnej krawędzi */
  width: var(--size);
  height: var(--size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #25D366; /* WhatsApp green */
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
  text-decoration: none;
  z-index: 99999;
  transition: transform 180ms ease, box-shadow 180ms ease;
  -webkit-tap-highlight-color: transparent;
}

/* Delikatna animacja po najechaniu / dotknięciu */
.whatsapp-widget:hover,
.whatsapp-widget:focus {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 12px 26px rgba(0,0,0,0.22);
  outline: none;
}

.whatsapp-widget svg path {
    fill: var(--white);
}

@media (min-width: 992px) {

    .whatsapp-widget {
        display: none;
    }

}

/* Dostosowanie rozmiaru ikony (SVG wewnątrz) */
.whatsapp-widget svg {
    width: calc(var(--size) - 1rem);
    height: calc(var(--size) - 1rem);
    display: block;
}

/* Wsparcie dla preferencji reduced motion */
@media (prefers-reduced-motion: reduce) {
  .whatsapp-widget { transition: none; transform: none; }
}

/* animations */

.single-realization [data-aos="zoom-out"] {
    transform: scale(2);
}

.loader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--light);
    display: flex;
    justify-content: center;
    align-items: center; 
    z-index: 999999;
}

.loader img {
  animation: fade 2s infinite alternate;
  max-width: min(75vw, 400px);
}

@keyframes fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@media (min-width: 768px) {

    .h-md-100 {
        height: 100%;
    }

}