

/* ============================
   DESIGN SYSTEM
============================ */

:root{
  --primary:#702fde;
  --primary-dark:#702fde;         
  --dark:#111111;
  --gray-100:#fafafa;
  --gray-200:#f2f2f2;        
  --gray-300:#e6e6e6;
  --text:#2b2b2b;
  --cta:#22C55E;

  --shadow-sm:0 4px 10px rgba(0,0,0,0.05);
  --shadow-md:0 15px 40px rgba(0,0,0,0.08);
  --shadow-lg:0 30px 80px rgba(0,0,0,0.12);

  --radius:14px;
  --transition:0.3s ease;
}


.faq-item{
  color: var(--text)!important;
}




/* GLOBAL SCROLLBAR HIDE */

/* === HIDE SCROLLBAR BUT KEEP SCROLL === */

html, body {
  overflow-y: scroll;        /* scroll zostane funkčný */
  -ms-overflow-style: none;  /* IE, Edge legacy */
  scrollbar-width: none;     /* Firefox */
}

/* Chrome, Safari, Edge */
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

/* =========================================
   MOBILE FORM FIX (Safari + zoom + inputs)
========================================= */

/* zablokuje double tap zoom */
html,
body {
  touch-action: manipulation;
}

/* inputy – minimálne 16px aby Safari nezoomoval */
.input-group input,
.input-group textarea,
.input-group select,
input,
textarea,
select {
  font-size: 16px !important;
  padding: 14px 16px;
}

/* placeholder text */
::placeholder {
  font-size: 16px;
  opacity: 0.6;
}

/* lepšie správanie formulárov */
input,
textarea,
select {
  -webkit-text-size-adjust: 100%;
}

/* vizuálne vyhladenie inputov */
input,
textarea {
  border-radius: 10px;
}

/* zlepší touch UX */
button,
a,
label,
input,
textarea,
select {
  touch-action: manipulation;
  text-decoration: none;
}
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:white;
  line-height:1.7;
}

.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}

section{
  padding:100px 0;
  position:relative;
}

h1{
  font-size:56px;
  font-weight:800;
  line-height:1.1;
}

h2{
  font-size:38px;
  font-weight:800;
  margin-bottom:20px;
}

h3{
  font-size:20px;
  font-weight:700;
  margin-bottom:10px;
}

p{
  color:#666;
  margin-bottom:15px;
}


/* ============================
   HEADER
============================ */

#header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:4000;
    padding: 15px 0;
background: #702fde;
  box-shadow:0 2px 15px rgba(0,0,0,0.05);
  transition:all 0.3s ease;
}

#header.scrolled{
  padding: 5px 0;
background: rgb(112 47 222 / 90%);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

/* LOGO */

.logo {
    /* font-size: 26px; */
    font-weight: 800;
    transition: all 0.3s ease;
    width: 17%;
}

#header.scrolled .logo{
width: 12%;
}

/* NAV */

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.nav ul{
  display:flex;
  gap:35px;
  list-style:none;
}

.nav a{
  text-decoration:none;
  font-weight:600;
     color: #ffffff;
  position:relative;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0%;
  height:2px;
  background:#fff;
  transition:var(--transition);
}

.nav a:hover::after{
  width:100%;
}

.nav-menu a.active{
  color: #fff;
}

.nav-menu a.active::after{
  width: 100%;
}



/* ===== NAV LAYOUT ===== */

.container.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
}

/* ===== BURGER ===== */

.burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 28px;
  height: 22px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 3001;
}

.burger span {
  width: 100%;
  height: 3px;
  background: #fff;
  border-radius: 3px;
  transition: 0.3s ease;
}

/* Burger → X */

.burger.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.burger.active span:nth-child(2) {
  opacity: 0;
}

.burger.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}


/* ===== MOBILE OVERLAY ===== */


.mobile-menu {
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(1.05);
    transition: opacity 0.35s ease, transform 0.45s cubic-bezier(.2, .8, .2, 1);
    z-index: 99;
    padding: 40px 0;
    /* margin-top: 100px; */
}

.mobile-menu.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1);
}

/* ===== MOBILE LINKS ===== */

.mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  text-align: center;
  width: 100%;
  padding: 0 40px;
}

.mobile-nav a {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.6px;
  color: #6226c7;
  text-decoration: none;
  position: relative;
  padding: 20px 0;
  border-bottom: 1px solid rgba(98, 38, 199, 0.1);

  opacity: 0;
  transform: translateY(20px);
  transition: 
    opacity 0.4s ease,
    transform 0.5s cubic-bezier(.2,.8,.2,1),
    color 0.2s ease;
}

.mobile-nav a:first-child {
  border-top: 1px solid rgba(98, 38, 199, 0.1);
}

.mobile-nav a:hover {
  color: #4f1fa3;
}

/* STAGGER EFFECT */

.mobile-menu.active .mobile-nav a {
  opacity: 1;
  transform: translateY(0);
}

.mobile-menu.active .mobile-nav a:nth-child(1) { transition-delay: 0.05s; }
.mobile-menu.active .mobile-nav a:nth-child(2) { transition-delay: 0.10s; }
.mobile-menu.active .mobile-nav a:nth-child(3) { transition-delay: 0.15s; }
.mobile-menu.active .mobile-nav a:nth-child(4) { transition-delay: 0.20s; }
.mobile-menu.active .mobile-nav a:nth-child(5) { transition-delay: 0.25s; }
.mobile-menu.active .mobile-nav a:nth-child(6) { transition-delay: 0.30s; }

/* underline animation */

.mobile-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 0%;
  height: 2px;
  background: #6226c7;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

.mobile-nav a:hover::after {
  width: 40%;
}

/* ===== SOCIAL IKONY ===== */

.mobile-social {
  display: flex;
  gap: 20px;
  margin-top: 40px;

  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease 0.4s, transform 0.4s ease 0.4s;
}

.mobile-menu.active .mobile-social {
  opacity: 1;
  transform: translateY(0);
}

.mobile-social a {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(98, 38, 199, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6226c7;
  text-decoration: none;
  font-size: 18px;
  transition: background 0.2s ease, color 0.2s ease;
}

.mobile-social a:hover {
  background: #6226c7;
  color: #fff;
}

/* CTA button v menu */
.mobile-menu-cta {
  margin-top: 32px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease 0.35s, transform 0.4s ease 0.35s;
}

.mobile-menu.active .mobile-menu-cta {
  opacity: 1;
  transform: translateY(0);
}

.mobile-menu-cta a {
  display: inline-block;
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.3px;
  transition: background 0.2s ease;
}

.mobile-menu-cta a:hover {
  background: #4f1fa3;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 900px) {

  .nav-menu {
    display: none !important;
  }

  .burger {
    display: flex;
  }


  #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 1000;
    padding: 15px 0;
    background: #702fde;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

}


.slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.slide.active {
  opacity: 1;
}

.slide picture,
.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.best{
  transform: scale(1.05);
}





/* ================= CLIENTS ================= */

/* 
.clients-section {
  padding: 200px 0;
}
*/
.clients-label {
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 32px;
}

.clients-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
}

.clients-logos img {
  height: 100px;
  width: auto;
  opacity: 0.35;
  filter: grayscale(100%);
  transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease;
}

.clients-logos img:hover {
  opacity: 1;
  filter: none;
  transform: scale(1.08);
}

.clients-logos img {
  height: 100px;
  width: auto;
  opacity: 0;
  filter: grayscale(100%);
  transform: translateY(20px);
  transition: opacity 0.5s ease, filter 0.3s ease, transform 0.5s ease;
}

.clients-logos img.visible {
  opacity: 0.35;
  transform: translateY(0);
}

.clients-logos img.visible:hover {
  opacity: 1;
  filter: none;
  transform: scale(1.08);
}



.quote-section a,
.quote-block a,
.testimonial a {
  color: inherit !important;
  text-decoration: none !important;
}


/* ================= GARANCIA ================= */


.garancia-wrap {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.garancia-icon {
  font-size: 48px;
  margin-bottom: 24px;
}

.garancia-wrap h2 {
  font-size: 32px;
  font-weight: 800;
  color: #111;
  margin-bottom: 16px;
}

.garancia-text {
  font-size: 16px;
  color: #666;
  line-height: 1.7;
  margin-bottom: 32px;
}

.garancia-body {
  display: inline-block;
  background: #6c47ff;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  padding: 16px 32px;
  border-radius: 50px;
  margin-bottom: 40px;
}

.garancia-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 40px;
  text-align: left;
}

.garancia-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: #333;
}

.garancia-check {
  width: 24px;
  height: 24px;
  background: #6c47ff;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .garancia-items {
    grid-template-columns: 1fr;
  }

  .garancia-wrap h2 {
    font-size: 26px;
  }

  .garancia-body {
    font-size: 16px;
    padding: 14px 24px;
  }
}

/* ================= GARANCIA INVERSE ================= */

.garancia-inverse .pricing-main h3,
.garancia-inverse .pricing-title {
  color: #fff;
}

.garancia-inverse .delivery-badge {
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.25);
}

.garancia-inverse .pricing-main > div {
  color: rgba(255,255,255,0.75) !important;
}

.garancia-inverse [style*="color:#6c47ff"] {
  color: #fff !important;

}


.garancia-inverse .feature-text {
  color: #fff;
}

.garancia-inverse .price-icon img {
    filter: brightness(0) saturate(100%) invert(39%) sepia(188%) saturate(1189%) hue-rotate(86deg) brightness(138%) contrast(119%);
}

.garancia-inverse .pricing-btn {
  background: #fff;
  color: #6c47ff;
  border-color: #fff;
}

.garancia-inverse .pricing-btn:hover {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

.garancia-inverse .pricing-full {
    background: #7f44e2;
    border: none;
    box-shadow: none;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.04);
}
.garancia-inverse .pricing-full {
 background: #7f44e2;
  border: none;
  box-shadow: none;
}

.garancia-inverse .pricing-main h3,
.garancia-inverse .pricing-title,
.garancia-inverse .delivery-badge,
.garancia-inverse .feature-text,
.garancia-inverse .pricing-main p,
.garancia-inverse .pricing-main div {
  color: #fff !important;
  border-color: rgba(255,255,255,0.2) !important;
  background: transparent !important;
  text-align: center;
}

.garancia-inverse .pricing-btn {
  background: #4ade80;
  color: #fff;
  border-color: #4ade80;
}

.garancia-inverse .pricing-btn:hover {
  background: #22c55e;
  border-color: #22c55e;
  color: #fff;
}






/* ================= PORTFOLIO ================= */



.portfolio-slider-wrap {
  position: relative;
  padding: 20px 0 32px;
  overflow: hidden;
  max-width: 90vw;
  margin: 0 auto;
}

.portfolio-slider-wrap::before,
.portfolio-slider-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}

.portfolio-slider-wrap::before {
  left: 0;
  background: linear-gradient(to right, #fff 0%, transparent 100%);
}

.portfolio-slider-wrap::after {
  right: 0;
  background: linear-gradient(to left, #fff 0%, transparent 100%);
}

/* Na mobile vypni fade */
@media (max-width: 768px) {
  .portfolio-slider-wrap::before,
  .portfolio-slider-wrap::after {
    display: none;
  }

  .clients-section {
    padding: 0px 0;
}

#garancia {

  padding-bottom:0;
  margin:0;

}

.garancia-inverse .pricing-full {
    background: #7f44e2;
    border: none;
    box-shadow: none;
    /* padding: 0; */
    margin-bottom: 0;
}
}



.portfolio-section {
  padding: 80px 0;
  background: #fff;
  overflow: hidden;
}

.portfolio-slider-wrap {
  position: relative;
  padding: 100px 0 100px;
  overflow: hidden;
  max-width: 90vw;
  margin: 0 auto;
}

.portfolio-slider {
  display: flex;
  gap: 24px;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.portfolio-slide {
  min-width: 680px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #eee;
  background: #fff;
  transition: transform 0.4s ease, box-shadow 0.4s ease, opacity 0.4s ease;
  opacity: 0.45;
  transform: scale(0.75);
  flex-shrink: 0;
}

.portfolio-slide.active {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 20px 50px rgba(0,0,0,0.10);
}

.portfolio-slide a {
  text-decoration: none;
  color: inherit;
  display: block;
}

.portfolio-img {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.portfolio-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.portfolio-slide.active:hover .portfolio-img img {
  transform: scale(1.04);
}

.portfolio-info {
  padding: 20px 24px 24px;
}

.portfolio-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6c47ff;
  display: block;
  margin-bottom: 8px;
}

.portfolio-info h3 {
  font-size: 20px;
  font-weight: 700;
  color: #111;
  margin: 0 0 6px;
}

.portfolio-info p {
  font-size: 14px;
  color: #888;
  margin: 0;
}

/* NAVIGÁCIA */
.portfolio-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 8px;
}

.portfolio-dots {
  display: flex;
  gap: 16px;
}

.portfolio-dots .dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #ddd;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.portfolio-dots .dot.active {
  background: #6c47ff;
  transform: scale(1.3);
}

/* ---- MOBIL ---- */
@media (max-width: 768px) {

  .portfolio-section {
    padding: 60px 0;
    overflow: hidden;
  }

  .portfolio-slider-wrap {
    overflow-x: scroll;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 16px 0 28px;
    max-width: 100vw;
    margin: 0;
  }

  .portfolio-slider-wrap::-webkit-scrollbar {
    display: none;
  }

  .portfolio-slider {
    transform: none !important;
    transition: none !important;
    gap: 16px;
    padding: 0 24px;
    width: max-content;
  }

  .portfolio-slide {
    min-width: calc(100vw - 48px);
    max-width: calc(100vw - 48px);
    scroll-snap-align: center;
    transform: scale(1) !important;
    opacity: 1 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  }

  .portfolio-slide.active {
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  }

  .portfolio-img {
    aspect-ratio: 4/3;
  }

  .portfolio-info {
    padding: 16px 20px 20px;
  }

  .portfolio-info h3 {
    font-size: 17px;
  }

  .portfolio-info p {
    font-size: 13px;
  }

  .clients-logos {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 40px;
    justify-content: flex-end;
    flex-direction: column;
  }
}















/* =========================
   FINAL CTA
========================= */

.final-cta {
  position: relative;
  padding: 120px 20px;
  text-align: center;
  background: #ffffff;
  color: #000000;
  overflow: hidden;
  margin-bottom: 100px;
}

/* jemný glow efekt */

.final-cta::before {
  content: "";
  position: absolute;
  width: 600px;
  height: 600px;

  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}

.final-cta-inner {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}

/* TITLE */

.final-cta-title {
  font-size: 42px;
  font-weight: 800;
  margin-bottom: 20px;
  letter-spacing: -0.5px;
}

/* SUBTITLE */

.final-cta-subtitle {
  font-size: 18px;
  opacity: 0.85;
  margin-bottom: 40px;
}

/* BUTTON */

.final-cta-btn {
display: inline-block;
   background: linear-gradient(135deg, #34D399, #16A34A);
    color: #fff;
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
box-shadow: 
0 10px 25px rgba(34,197,94,0.35),
0 4px 10px rgba(34,197,94,0.25);
}




/* ================================
   PROCESS SECTION
================================ */

.process-section {
  padding: 120px 0;
  background: #f8f9fc;
}

/* =========================
   TYPOGRAFIA
========================= */

.process-card h3 {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 14px;
  letter-spacing: -0.02em;
  color: #111;
}

.process-card h4 {
    font-weight: 600;
    margin-bottom: 28px;
    color: var(--primary);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .25em;
}

.process-card p {
  font-size: 18px;
  line-height: 1.9;
  color: #555;
  max-width: 620px;
  margin-bottom: 36px;
}

/* =========================
   WATERMARK ČÍSLO
========================= */

.process-card::before {
  content: attr(data-step);
  position: absolute;
  top: 25px;
  right: 50px;
  font-size: 120px;
  font-weight: 800;
  opacity: .035;
  letter-spacing: -0.04em;
}

/* =========================
   BUTTON
========================= */

.process-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  border-radius: 14px;
  background: linear-gradient(135deg,#6c5ce7,#8e7bff);
  color: #fff;
  transition: all .35s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 15px 40px rgba(108,92,231,0.25);
  position: relative;
  overflow: hidden;
}

.process-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,#7d6bff,#b6a8ff);
  opacity: 0;
  transition: .35s ease;
}

.process-link:hover {
  transform: translateY(-4px);
}

.process-link:hover::after {
  opacity: 1;
}

.payment-strip{

background:#f7f7f9;
border-top:1px solid #eee;
border-bottom:1px solid #eee;

padding:14px 0;

}

.payment-inner{

display:flex;
align-items:center;
justify-content:center;
gap:30px;
flex-wrap:wrap;
height: 100px;

}

.payment-text{

font-size:18px;
opacity:.7;

}

.payment-icons {
    display: flex;
    gap: 100px;
    align-items: center;
}


.payment-icons img{
height:56px;
opacity:1;
}

.payment-icons:hover img{
height:56px;
opacity:1;
transform: scale(1.05);
}
/* =========================
   LAYOUT
========================= */

.process-scroll {
  position: relative;
  height: 600px;
  overflow-y: auto;
  scroll-behavior: smooth;
  overscroll-behavior: auto;

  /* FADE MASK */
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
     
}

/* skrytý scrollbar */
.process-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.process-scroll {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.process-wrapper {
  position: relative;
}

.process-wrapper::before {
    content: "";
    position: absolute;
    left: 65px;
    top: 0;
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, #6c5ce7, #a29bfe);
}

/* =========================
   ROW
=========================
/*
.process-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 60px;
  align-items: center;
  margin: 120px 0;
  position: relative;
  transition: transform .55s cubic-bezier(.4,0,.2,1),
              box-shadow .55s cubic-bezier(.4,0,.2,1);
  transform: scale(.96);

}
 */
.process-row {
    display: grid;
    /* grid-template-columns: 90px 1fr; */
    gap: 60px;
    align-items: center;
    margin: 120px 0;
    position: relative;
    transition: transform .55s cubic-bezier(.4, 0, .2, 1), box-shadow .55s cubic-bezier(.4, 0, .2, 1);
    transform: scale(.96);
    justify-content: stretch;
    align-content: space-between;
    justify-items: center;
}

/* =========================
   TIMELINE CIRCLE
========================= */

.timeline-step {
  width: 90px;
  height: 90px;
  background: #702edd;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
  transition: transform .55s cubic-bezier(.4,0,.2,1);
  position: relative;
  z-index: 2;
}

.timeline-step span {
  font-weight: 100;
  font-size: 32px;
  color: #ffffff;
}

/* =========================
   CARD
========================= */

.process-card {
  background: #fff;
  padding: 65px 70px;
  border-radius: 30px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.05);
  transition: box-shadow .55s cubic-bezier(.4,0,.2,1);
  position: relative;
   width: 90%;
}

/* =========================
   APPLE CENTER FOCUS
========================= */

.process-row.is-active {
  transform: scale(1.04);
}



.process-row.is-active .timeline-step {
  transform: scale(1.28);
}

.section-sub {
    text-align: center;
    font-size: 20px;
    margin-top: -67px;
}

/* =====================================
   APPLE SCROLL CENTER ZOOM – PAGE MODE
===================================== */

.process-row {
  transition: transform .55s cubic-bezier(.4,0,.2,1),
              box-shadow .55s cubic-bezier(.4,0,.2,1);
  transform: scale(.86);
}

.process-row.is-active {
  transform: scale(0.90);
}



.process-row.is-active .timeline-step {
  transform: scale(0.98);
}
/* =====================================
   MOBILE PROCESS
===================================== */

@media (max-width: 900px) {

  /* sekcia menej vzduchu */
  .process-section {
    padding: 120px 0;
  }

  /* wrapper sa správa normálne */
  .process-scroll {
    height: auto;
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
  }

  /* timeline vertikálna línia vypnutá */
  .process-wrapper::before {
    display: none;
  }

  /* row na jeden stĺpec */
  .process-row {
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 80px 0;
    transform: scale(1); /* zruší default scale */
  }

  /* timeline kruh nad kartou */
  .timeline-step {
    margin: 0 auto 10px auto;
    width: 70px;
    height: 70px;
  }

  .timeline-step span {
    font-size: 22px;
  }

  /* karta menšie paddingy */
  .process-card {
    padding: 40px 28px;
    border-radius: 22px;
  }

  /* watermark menší */
  .process-card::before {
    font-size: 70px;
    top: 15px;
    right: 20px;
  }

  /* typografia menšia */
  .process-card h3 {
    font-size: 24px;
  }

  .process-card h4 {
    font-size: 11px;
    letter-spacing: .22em;
  }

  .process-card p {
    font-size: 16px;
    line-height: 1.7;
  }

  /* Apple focus jemnejší */
  .process-row.is-active {
    transform: scale(1.02);
  }

  .process-row.is-active .timeline-step {
    transform: scale(1.15);
  }


    .process-row {
        /* display: grid; */
        /* grid-template-columns: 90px 1fr; */
        gap: 0px;
        align-items: center;
        margin:30px 0px;
        position: relative;
        transition: transform .55s cubic-bezier(.4, 0, .2, 1), box-shadow .55s cubic-bezier(.4, 0, .2, 1);
        /* transform: scale(.96); */
        padding-left: 0px;
    }


    .process-card {
    background: #fff;
            padding: 30px;
    border-radius: 30px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.05);
    transition: box-shadow .55s cubic-bezier(.4, 0, .2, 1);
    /* position: relative; */
    width: 100%;
    text-align: center;
}

}





.logo img {
    /* font-size: 26px; */
    font-weight: 800;
    transition: all 0.3s ease;
    width: 100%;
}



.hero-slider {
  position: relative;
  height: 80vh;
  overflow: hidden;
}

/* SLIDES */

.slides {
  position: absolute;
  inset: 0;
}

.slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity .8s ease, transform 4s ease;
}

.slide.active {
  opacity: 1;
  transform: scale(1);
}

/* CONTENT */

.hero-content {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 8%;
  z-index: 5;
}

.content-inner {
    max-width: 26vw;
    padding: 50px;
    border-radius: 20px;
    -webkit-backdrop-filter: blur(25px);
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

/* TEXT */

.content-inner h1 {
  font-size: 42px;
  margin-bottom: 20px;
}

.content-inner p {
  font-size: 18px;
  opacity: .85;
  margin-bottom: 30px;
  color: #fff;
}

/* BUTTON */

.hero-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 50px;
  background: var(--cta);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  transition: .3s ease;
}

.hero-btn:hover {
  transform: translateY(-3px);
  box-shadow:
0 10px 25px rgba(34,197,94,0.35),
0 4px 10px rgba(34,197,94,0.25);
}

/* DOTS */

.dots {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  z-index: 10;
}

.dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
  transition: .3s ease;
}

.dot.active {
  background: #fff;
  transform: scale(1.2);
}

/* ANIMATION */

.animate {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp .8s forwards;
}

.delay-1 {
    animation-delay: .2s;
    font-size: 22px !important;
    margin-bottom: 30px !important;
    line-height: 28px;
}

.delay-2 { animation-delay: .4s; font-size: 18px!important;margin-top: -10px !important; line-height: 24px; }

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* MOBILE */

@media (max-width: 900px) {

  .hero-content {
    justify-content: center;
    padding: 0 20px;
  }

  .content-inner {
    max-width: 100%;
    padding: 30px;
    text-align: center;
  }

  .content-inner h1 {
    font-size: 28px;
  }

  .content-inner p {
    font-size: 16px;
  }

}


/* ============================
   HERO
============================ */

.hero{
  min-height:60vh;
  display:flex;
  align-items:center;
  padding:120px 0 80px;
  background-size:cover;
  background-position:center;
  position:relative;
}



.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to right,rgba(255,255,255,0.9),rgba(255,255,255,0.7));
}

.hero-inner {
    display: flex;
    grid-template-columns: 1fr 1fr;
    /* gap: 60px; */
    align-items: center;
    position: relative;
    z-index: 2;
    text-align: center;
    justify-content: center;
}

.hero-text p{
  font-size:20px;
  margin:20px 0;
}

.btn{
  display:inline-block;
  padding:14px 34px;
  border-radius:50px;
  background:var(--primary);
  color:white;
  text-decoration:none;
  font-weight:600;
  transition:var(--transition);
      border: none;
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
  background:var(--primary-dark);
}

 /* SECTION TITLE (univerzálne pre všetky sekcie) */

.section-title{
  text-align:center;
  margin-bottom:70px;
}

/* ABOUT GRID */

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

/* TEXT */

.about-text{
  font-size:18px;
}

/* IMAGE CARD */

.about-card{
  background:white;

  border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,0.08);
}

.about-image{
  overflow:hidden;
  border-radius:14px;
}

.about-image img{
  width:100%;
  display:block;
  transition: transform 0.5s ease;
}

.about-card:hover img{
  transform:scale(1.05);
}

/* RESPONSIVE */

@media(max-width:1000px){
  .about-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
}


/* ============================
   ABOUT SECTION
============================ */

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.about-card{

  width:100%; border-radius:12px; margin-bottom:20px;
}

.about-card img{
  width:100%;
  border-radius:12px;
    border-radius:var(--radius);
  box-shadow:var(--shadow-md);
}

/* ============================
   ABOUT IMAGE HOVER
============================ */

.about-image{
  border-radius:12px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
}

.about-image img{
  width:100%;
  display:block;
  transition:transform 0.6s ease;
}

.about-image:hover img{
  transform:scale(1.06);
}

.quote-box{
  background:white;
  padding:25px;
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  margin-top:20px;
}

/* ============================
   SERVICES
============================ */

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  margin-top:50px;
}

.service-card{
  background:var(--gray-100);
  padding:40px;
  border-radius:var(--radius);
  transition:var(--transition);
  box-shadow:var(--shadow-sm);
  text-align: center;
}

.service-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
}


/* =====================================
   DESIGNS SECTION
===================================== */



.designs-section {
  padding: 120px 0;
  background: #ffffff;
}

.designs-stack {
    margin-top: 120px;
    margin-bottom: -150px;
}

.design-row {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 100px;
  align-items: center;
  margin-bottom: 180px;
  padding: 50px 0; /* horizontálny padding presunieme do inner */
  z-index: 1;

}

/* FULL WIDTH BACKGROUND */
.design-row::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 90vw;
  height: 100%;

  z-index: -1;
    border-radius: 40px;
}

.design-row1 {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 100px;
  align-items: center;
  margin-bottom: 180px;
  padding: 50px 0; /* horizontálny padding presunieme do inner */
  z-index: 1;

}

.design-row1 {

  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 100px;
  align-items: center;
  margin-bottom: 180px;
  padding: 50px 0;
  z-index: 1;
  /* FEATURED EFFECT */
  transform: scale(1.03);
  transition: transform 0.35s ease, box-shadow 0.35s ease;

  border-radius: 18px;

}

/* HOVER */

.design-row1:hover {
  transform: scale(1.05);

}

.design-row1:hover .design-image img {
  transform: scale(1.03);
}



/* FULL WIDTH BACKGROUND */
.design-row1::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 90vw;
    height: 100%;
  background: #f8f9fc;
    z-index: -1;
    border-radius: 40px;
    /*box-shadow: 0 20px 50px rgb(243 244 246); */
}

/* striedanie layoutu */
.design-row.reverse {
  grid-template-columns: 1fr 1.1fr;
}

.design-row.reverse .design-image {
  order: 2;
}

.design-row.reverse .design-content {
  order: 1;
}


/* striedanie layoutu */
.design-row1.reverse {
  grid-template-columns: 1fr 1.1fr;
}

.design-row1.reverse .design-image {
  order: 2;
}

.design-row1.reverse .design-content {
  order: 1;
}


/* IMAGE */

.design-image img {
  width: 100%;
  border-radius: 30px;
  box-shadow: 0 60px 150px rgba(0,0,0,0.08);
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}

.design-row:hover .design-image img {
  transform: scale(1.03);
}

/* CONTENT */

.design-label {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .25em;
  margin-bottom: 20px;
  font-weight: 600;
  color: var(--primary);
 
}

.design-content h3 {
  font-size: 38px;
  margin-bottom: 25px;
  line-height: 1.2;
}

.design-content p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
  margin-bottom: 30px;
}

/* TAGS */

.design-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
}

.design-tags span {
  background: #f4f5fb;
  padding: 10px 18px;
  border-radius: 50px;
  font-size: 14px;
  transition: .3s ease;
}

.design-tags span:hover {
    background: var(--primary);
    color: #fff;
}

/* BUTTON */

.design-btn {
  display: inline-block;
  padding: 16px 32px;
  background: linear-gradient(135deg,#6c5ce7,#8e7bff);
  color: #fff;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 600;
  transition: .3s ease;
  box-shadow: 0 20px 60px rgba(108,92,231,0.3);
}

.design-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 35px 80px rgba(108,92,231,0.4);
}

/* =====================================
   RESPONSIVE
===================================== */

@media (max-width: 1100px) {

  .design-row,
  .design-row.reverse {
    grid-template-columns: 1fr;
    gap: 50px;
  }

   .design-row1,
  .design-row1.reverse {
    grid-template-columns: 1fr;
    gap: 50px;
  }


  .design-image {
    order: 1 !important;
  }

  .design-content {
    order: 2 !important;
  }

  .design-content h3 {
    font-size: 28px;
  }

}



/* =====================================
   BENEFITS SECTION
===================================== */


.mt100 {
    margin-top: 100px;
}

.mb100{
    margin-bottom: 100px;
}

.mb50{
    margin-bottom: 50px;
}

.mb0{
    margin-bottom: 0px!important;
    display: contents;
}

.mt0{
    margin-bottom: 0px!important;
    display: contents;
}

.benefits-section {
    padding: 120px 0;
    background: linear-gradient(180deg, #f8f9fc 0%, #ffffff 100%);
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  margin-top: 90px;
}

.benefit-card {
  background: #ffffff;
  padding: 60px 50px;
  border-radius: 32px;
  transition: all .4s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 30px 80px rgba(0,0,0,0.04);
}

.benefit-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 60px 140px rgba(0,0,0,0.08);
}

.benefit-icon {
  font-size: 38px;
  margin-bottom: 25px;
}

.benefit-icon img {
   width:20%;
}

.benefit-card h3 {
  font-size: 24px;
  margin-bottom: 18px;
  line-height: 1.3;
}

.benefit-card p {
  font-size: 16px;
  line-height: 1.9;
  color: #555;
}

.benefits-cta {
  text-align: center;
  margin-top: 110px;
}

/* Responsive */

@media (max-width: 1100px) {
  .benefits-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .benefit-card {
    padding: 45px;
  }
}
/* ============================
   PORTFOLIO – TRUE JS MASONRY
============================ */

#portfolio .container{
  position: relative;
}

/* GRID */

.portfolio-grid{
  position: relative;
  width: 100%;
  isolation: isolate;
}

/* ITEM */

.portfolio-item{
  position:absolute;
  z-index:1;
  padding:12px;                 /* 👈 medzera medzi dlaždicami */
  box-sizing:border-box;
  will-change:transform;
  transition: transform 0.45s cubic-bezier(.34,1.56,.64,1);
}

.portfolio-item:hover{
  z-index:5;
}

/* WRAPPER (dôležité – drží zoom vo vnútri) */

.portfolio-inner{
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  transition: box-shadow 0.3s ease;
}

/* IMAGE */

.portfolio-inner img{
  width:100%;
  display:block;
  transition: transform 0.5s cubic-bezier(.34,1.56,.64,1);
}

/* HOVER EFFECT – jemný, stabilný */

.portfolio-item:hover .portfolio-inner{
  box-shadow:0 25px 60px rgba(0,0,0,0.12);
}

.portfolio-item:hover .portfolio-inner img{
  transform: scale(1.04);       /* 👈 jemnejší zoom, už sa nebude biť */
}

/* FILTER */

.portfolio-item.hidden{
  display:none;
}



/* ============================
   PORTFOLIO HOVER
============================ */

.portfolio-item::after{
  content:"";
  position:absolute;
  inset:0;
 

  opacity:0;
  transition:0.4s ease;
}

.portfolio-item::before{

  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(0.8);
  font-size:34px;
  color:white;
  opacity:0;
  transition:0.4s ease;
  z-index:2;
}

.portfolio-item:hover img{
  transform:scale(1.15);
}

.portfolio-item:hover::after{
  opacity:1;
}

.portfolio-item:hover::before{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}




/* ============================
   PORTFOLIO FILTERS
============================ */

.portfolio-filters{
  display:flex;
  justify-content:center;
  gap:15px;
  margin-bottom:40px;
  flex-wrap:wrap;
}

.filter-btn{
  padding:10px 22px;
  border-radius:50px;
  border:1px solid var(--gray-300);
  background:white;
  cursor:pointer;
  font-weight:600;
  transition:var(--transition);
}

.filter-btn:hover{
  background:var(--primary);
  color:white;
  border-color:var(--primary);
}

.filter-btn.active{
  background:var(--primary);
  color:white;
  border-color:var(--primary);
}

/* animácia hide */

.portfolio-item{
  transition:0.4s ease;
}

.portfolio-item.hide{
  opacity:0;
  transform:scale(0.9);
  pointer-events:none;
  position:absolute;
}

/* ================= LIGHTBOX ================= */

.lightbox-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.85);
  backdrop-filter:blur(12px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:99999;
  cursor:zoom-out;
}

.lightbox-image{
  max-width:90%;
  max-height:90%;
  border-radius:20px;
  box-shadow:0 40px 120px rgba(0,0,0,0.4);
  animation:fadeIn 0.3s ease;
}

@keyframes fadeIn{
  from{opacity:0; transform:scale(0.95);}
  to{opacity:1; transform:scale(1);}
}

/* ============================
   CONTACT
============================ */

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  margin-top:50px;
}

.contact-card{
  background:white;
  padding:40px;
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
}

iframe{
  width:100%;
  height:350px;
  border:0;
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
}

/* ============================
   FOOTER
============================ */

footer{
  background:var(--gray-200);
  padding:60px 0;

}

.footer-grid{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

@media(max-width:1000px){

.hero-inner,
.about-grid,
.contact-grid{
  grid-template-columns:1fr;
}

.services-grid{
  grid-template-columns:1fr 1fr;
}

.portfolio-grid{
  column-count:2;
}

}

@media(max-width:600px){

.services-grid{
  grid-template-columns:1fr;
}

.portfolio-grid{
  column-count:1;
}

h1{font-size:36px;}
}


/* === FIRSTPAGE ADDITIONS === */

.hero {
  padding: 120px 0;
  text-align: center;
}

.hero h1 {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}

.hero p {
  max-width: 600px;
  margin: 0 auto 30px;
  font-size: 18px;
  opacity: 0.8;
}

.btn-primary {
  background: #111;
  color: #fff;
  padding: 14px 28px;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
}

.btn-primary:hover {
  background: #333;
}

.btn-secondary {
  margin-left: 10px;
  text-decoration: none;
  color: #111;
  font-weight: 600;
}

.section {
  padding: 120px 0;
}

.light-bg {
  background: #f8f8f8;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 60px;
}

.step span {
  font-size: 40px;
  font-weight: 800;
  opacity: 0.1;
}

.design-card {
  padding: 30px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
}



/* ================= FULL WIDTH PRICE BOX ================= */


.design-price-big {
    color: #702edd;
    font-size: 64px;
    font-weight: 700;
    margin: 12px 0 20px 0;
    display: contents;
}

.price-icon {
  
    display: flex;
    flex-direction: row;
    align-content: center;

}

.price-icon img {
    width: 40%;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
}

.pricing-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* ak chceš 4 v riadku */
  gap: 18px 30px;
}

.feature-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
}

.price-icon {
  flex: 0 0 20px;
  margin-top: 2px;
}

.price-icon img {
  width: 18px;
  height: 18px;
  display: block;
}

.process-icon {
  flex: 0 0 20px;
  margin-top: 2px;
}

.process-icon img {
    width: 40px;
    height: 40px;
    display: block;
}

.feature-item {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.feature-item:hover {
  transform: scale(1.04);
}

.feature-text {
  line-height: 1.5;
  transition: color 0.3s ease;
}

.feature-item:hover .feature-text {
  color: #6A35FF; /* môžeš zmeniť na tvoju brand farbu */
}

.upsell-accordion {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px 40px;
  align-items: start; /* 🔥 DÔLEŽITÉ */
}

/* zabráni stretch efektu gridu */
.upsell-accordion {
  align-items: start;
}

/* HEADER */



.upsell-price {
  margin-left: auto;
  color: #6C2BD9;
}

/* TOGGLE ICON */

.upsell-toggle {
  font-size: 20px;
  font-weight: 500;
  transition: .3s ease;
}

/* keď je aktívny */

.upsell-item.active .upsell-toggle {
  transform: rotate(180deg);
}

/* CONTENT ANIMATION */

.upsell-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;
  font-size: 14px;
  color: #555;
  transition: max-height .35s ease, padding .3s ease;
}

.upsell-item.active .upsell-content {
  max-height: 200px;
  padding: 15px 20px 20px;
}


.pricing-full {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 80px;
    padding: 60px;
    background: #fff;
    border-radius: 30px;
    margin-top: 60px;
    margin-bottom: 80px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.04);
}

.pricing-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    align-items: center;
    /* background: #f9f9f9; */
    /* padding: 40px; */
    border-radius: 20px;
    /* border: 1px solid #eee; */
}


.delivery-badge {
  font-size: 12px;
  font-weight: 600;
  background: rgba(108,43,217,0.1);
  color: #6C2BD9;
  padding: 6px 14px;
  border-radius: 999px;
  width: fit-content;
}

.price {
  font-size: 64px;
  font-weight: 800;
}

.currency {
  font-size: 22px;
}

.pricing-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
gap: 20px 30px;
  align-content: center;
}

.feature-item {
    font-size: 14px;
    color: #444;
    display: flex;
    flex-direction: row;
}

/* ================= UPSSELL ACCORDION ================= */

.upsell-heading {
  text-align: center;
  margin-bottom: 40px;
}

.upsell-accordion {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px 40px;
}

.upsell-item {
  border: 1px solid #eee;
  border-radius: 18px;
  overflow: hidden;
  transition: .3s ease;

}

.upsell-item:hover {
  border: 1px solid #eee;
  border-radius: 18px;
  overflow: hidden;
  transition: .3s ease;
      box-shadow: 0 30px 80px rgba(0, 0, 0, 0.04);
}

.upsell-header {
  padding: 18px 20px;
  display: flex;
  align-items: center;
  font-weight: 600;
  cursor: pointer;
}



.upsell-price {
  margin-left: auto;
  margin-right: 15px;
  color: #6C2BD9;
}

.upsell-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;
  font-size: 14px;
  color: #555;
  transition: .3s ease;
}

.upsell-item.active .upsell-content {
  max-height: 120px;
  padding: 15px 20px 20px;
}

.upsell-item.active .icon {
  transform: rotate(45deg);
}

/* ================= MOBILE ================= */

@media (max-width: 1000px) {

.pricing-full {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 40px;
    }

  .pricing-features {
    grid-template-columns: auto;
  }

  .upsell-accordion {
    grid-template-columns: 1fr;
  }
}

/* ================= FIRSTPAGE CUSTOM ================= */

.firstpage-hero {
  background: linear-gradient(135deg, #f8f9fa, #ffffff);
  padding: 120px 0;
}

.firstpage-hero h1 {
  font-size: 48px;
  font-weight: 800;
}

.price-big {
  font-size: 42px;
  font-weight: 800;
  text-align: center;
  margin: 20px 0;
}

.pricing-list {
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

.pricing-list li {
  margin-bottom: 10px;
  text-align: left;
}

.firstpage-pricing {
  max-width: 600px;
  margin: 60px auto;
  padding: 40px;
}


.faq-wrapper {
  width: 100%;
  margin: 60px auto 0;
}

.faq-item {
  border-bottom: 1px solid #ddd;
}

.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: 20px 0;
  text-align: left;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  color: #000000 !important;
}

.faq-question::after {
  content: "+";
  position: absolute;
  right: 0;
  font-size: 22px;
  transition: transform 0.3s ease;
}

.faq-item.active .faq-question::after {
  content: "–";
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-answer p {
  padding-bottom: 20px;
  opacity: 0.8;
}

.section-header {
    text-align: center;
}
/* ================= ORDER FORM ================= */


.radio-group,
.checkbox-group {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 15px;
}

.price-summary {
  margin-top: 40px;
  font-size: 20px;
  text-align: center;
}

.design-price {
  color: #702edd;
  font-size: 28px;
  font-weight: 700;
  margin: 12px 0 20px 0;
}

.design-price .price-note {
  display: block;
  font-size: 13px;
  font-weight: 400;
  opacity: 0.6;
  margin-top: 4px;
}


/* ================= MODERN FORM UI ================= */

.fp-form {
  max-width: 900px;
  margin: 60px auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.form-card {
  background: #fff;
  padding: 40px;
  border-radius: 14px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.05);
}


/* RADIO PILLS */

.radio-pills {
  display: flex;
  gap: 15px;
}

.pill input {
  display: none;
}

.pill span {
  padding: 10px 20px;
  border: 1px solid #ddd;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.2s ease;
}

.pill input:checked + span {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* SWITCH */

.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 28px;
  margin-top: 10px;
}

.switch input {
  display: none;
}

.slider {
  position: absolute;
  cursor: pointer;
  background-color: #ccc;
  border-radius: 50px;
  inset: 0;
  transition: .3s;
}

.slider:before {
  content: "";
  position: absolute;
  height: 22px;
  width: 22px;
  left: 3px;
  top: 3px;
  background: white;
  border-radius: 50%;
  transition: .3s;
}

.switch input:checked + .slider {
  background-color: #111;
}

.switch input:checked + .slider:before {
  transform: translateX(22px);
}

/* ADDON CARDS */

.addon-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border: 1px solid #eee;
  border-radius: 12px;
  margin-top: 15px;
  cursor: pointer;
  transition: 0.2s ease;
}

.addon-card input {
  display: none;
}

.addon-card:hover {
  border-color: #111;
}

.addon-card input:checked + div,
.addon-card input:checked ~ span {
  font-weight: 700;
}

.addon-card input:checked ~ span {
  color: #111;
}

/* PRICE BOX */

.price-box {
  background: #111;
  color: #fff;
  padding: 30px;
  border-radius: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}


/* ===== SUPPORT BOX ===== */

.support-box {
  margin-top: 40px;
  text-align: center;
  padding: 25px;
  background: #f8f9fb;
  border-radius: 14px;
  border: 1px solid #eee;
}

.support-links {
  margin: 10px 0;
  font-weight: 600;
}

.support-links a,
.support-links a:visited,
.support-links a:active,
.support-links a:focus {
  text-decoration: none;
  background: var(--primary);
  color: #fff;
}

.support-links a:hover {
  text-decoration: underline;
  opacity: 0.9;
   background: #8653de;
  color: #fff;
}

/* ===== FLOATING SUPPORT ===== */

.floating-support {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 1000;
}

/* BUTTON */


.demo {
    display: inline-block;
    background: #fff;
    color: var(--primary);
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
    box-shadow: 0 20px 50px rgb(222 223 224);
    border: 1px solid #e4e4e4;
    margin-left: 50px;
}

.demo:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 50px rgb(216, 217, 218);
}



.support-fab {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: linear-gradient(135deg, #7C3AED, #6C2BD9);
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  box-shadow: 0 15px 35px rgba(108,43,217,0.35);
  transition: .3s ease;
}

.support-fab:hover {
  transform: scale(1.1);
  box-shadow: 0 20px 45px rgba(108,43,217,0.45);
}

/* POPUP */

.support-popup {
  position: absolute;
  bottom: 75px;
  right: 0;
  width: 260px;
  background: #fff;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
  border: 1px solid #eee;

  opacity: 0;
  visibility: hidden;
  transform: translateY(15px) scale(.95);
  transition: .3s ease;
}

.support-popup.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}



/* LINKS */

.support-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.support-link {
  text-decoration: none;
  font-weight: 600;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8f7ff;
  color: var(--primary);
  transition: .2s ease;
  text-align: center;
}

.support-link:hover {
  background: #ede9fe;
}


/* ===== FOOTER BASE ===== */
/* =========================
   FOOTER
========================= */

.main-footer {
  background: #702fde;
  color: #fff;
  padding: 80px 0 0;
}

/* GRID */

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 60px;
  padding: 0 30px;
}

/* BRAND */

.footer-logo {
  width: 140px;
  margin-bottom: 20px;
}

.footer-description {
  color: rgba(255,255,255,0.75);
  font-size: 16px;
  line-height: 1.6;
  max-width: 280px;
}

/* HEADINGS */

.footer-col h4 {
  font-size: 16px;
  margin-bottom: 18px;
  color: #fff;
  font-weight: 700;
}

/* LINKS */

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li {
  margin-bottom: 12px;
}

.footer-col a {
  text-decoration: none;
  color: rgba(255,255,255,0.75);
  transition: 0.2s ease;
  font-size: 14px;
}

.footer-col a:hover {
  color: #fff;
}

/* CONTACT TEXT */

.footer-col p {
  color: rgba(255,255,255,0.75);
  font-size: 14px;
  line-height: 1.6;
}

/* BOTTOM */

.footer-bottom {
  text-align: center;
  padding: 30px 20px;
  margin-top: 70px;
  border-top: 1px solid rgba(255,255,255,0.1);
  font-size: 13px;
  color: rgba(255,255,255,0.6);
}


/* =========================
MANIFESTO
========================= */

.manifesto-section{

padding:160px 20px;

background:#ffffff;

}

.manifesto-inner{

max-width:780px;
margin:auto;
text-align:center;
position:relative;

}

/* QUOTE ICON */

.manifesto-quote-icon {
    width: 351px;
    opacity: 0.15;
    margin-bottom: -66px;
}

/* TEXT */

.manifesto-text {
    font-family: 'Montserrat', sans-serif;
font-weight: 300;
    font-size: 18px;
    line-height: 2.2;
    font-style: italic;
 color: #989797;
}
/* HIGHLIGHT */

.manifesto-highlight {
    display: block;
    margin-top: 10px;
    font-size: 20px;
    font-weight: 300;
color:var(--primary);
}

/* STRONG */

.manifesto-text strong{
font-weight:400;
color:var(--primary);

}

/* =========================
MANIFESTO SCROLL EFFECT
========================= */

.manifesto-inner{

opacity:0;
transform:translateY(60px) scale(0.96);

transition:
opacity 1.5s cubic-bezier(.22,.61,.36,1),
transform 1.5s cubic-bezier(.22,.61,.36,1);

will-change: transform, opacity;

}

.manifesto-inner.visible{

opacity:1;
transform:translateY(0) scale(1);

}

/* =========================
   TABLET
========================= */

@media (max-width: 1000px) {

  .footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 50px;
  }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {

  .main-footer {
    padding-top: 60px;
  }

  .footer-inner {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    gap: 40px;
  }

  .footer-brand {
    align-items: center;
  }

  .footer-description {
    max-width: 100%;
  }

  .footer-col {
    width: 100%;
    max-width: 320px;
  }

  #header.scrolled .logo {
    width: 30%;
}

.logo {
    /* font-size: 26px; */
    font-weight: 800;
    transition: all 0.3s ease;
    width: 34%;
}

  .demo {
    display: inline-block;
    background: #fff;
    color: var(--primary);
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
    box-shadow: 0 20px 50px rgb(222 223 224);
    border: 1px solid #e4e4e4;
    margin-left: 20px;
}

.design-row::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: #f8f9fc;
    z-index: -1;
    border-radius: 0px;
}
.design-row {
    position: relative;
    display: grid;

    gap: 100px;
    align-items: center;
    margin-bottom: 100px;
    padding: 20px 20px;
    z-index: 1;
}


.design-row1::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: #f8f9fc;
    z-index: -1;
    border-radius: 0px;
}
.design-row1 {
    position: relative;
    display: grid;

    gap: 100px;
    align-items: center;
    margin-bottom: 100px;
    padding: 20px 20px;
    z-index: 1;
}

}


/* =========================
   PERFECT ALIGN DESKTOP
========================= */

.pricing-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 80px;
  align-items: stretch;
}

/* RIGHT SIDE */
.pricing-right {
  display: flex;
}

/* wrapper drží nadpis nad gridom */
.upsell-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Nadpis vizuálne nad 2 stĺpcami */
.upsell-heading {
  text-align: center;
  margin-bottom: 30px;
}

/* GRID */
.pricing-right .services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  flex: 1;
}

/* Price box natiahni */
.pricing-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.pricing-btn {
display: inline-block;
   background: linear-gradient(135deg, #34D399, #16A34A);
    color: #fff;
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
box-shadow: 
0 10px 25px rgba(34,197,94,0.35),
0 4px 10px rgba(34,197,94,0.25);
}

.pricing-btn:hover {
 transform: translateY(-3px);
box-shadow: 
0 10px 25px rgba(34,197,94,0.45),
0 4px 10px rgba(34,197,94,0.45);
}



/* =========================
   TABLET
========================= */

@media (max-width: 1100px) {

  .pricing-layout {
    grid-template-columns: 1fr;
    gap: 60px;
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}

/* =========================
   MOBILE
========================= */

@media (max-width: 700px) {

  .pricing-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .pricing-card {
    max-width: 100%;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }



}


.pricing-right .services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* aby sa karty natiahli rovnomerne */
.pricing-right .service-card {
  height: 100%;
}

@media (max-width: 900px) {
  .pricing-right .services-grid {
    grid-template-columns: 1fr;
  }
}



/* =========================
   LIVE PREVIEWS
========================= */

.preview-grid {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

/* CARD */

.preview-card {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 20px 50px rgba(0,0,0,0.06);
  transition: transform .35s ease, box-shadow .35s ease;
}

/* IMAGE */

.preview-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

/* TEXT */

.preview-card h4 {
  font-size: 20px;
  margin: 20px 20px 5px;
  font-weight: 700;
}

.preview-card p {
  margin: 0 20px 25px;
  font-size: 14px;
  opacity: .6;
}

/* HOVER */

.preview-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 70px rgba(0,0,0,0.12);
}

.preview-card:hover img {
  transform: scale(1.05);
}


/* =========================
   LIVE – TABLET
========================= */

@media (max-width: 1000px) {
  .preview-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}

/* =========================
   LIVE – MOBILE
========================= */

@media (max-width: 600px) {

  .preview-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .preview-card img {
    height: 180px;
  }

  .preview-card h4 {
    font-size: 18px;
  }

  .preview-card p {
    font-size: 13px;
  }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {

  .final-cta {
    padding: 90px 20px;
  }

  .final-cta-title {
    font-size: 32px;
  }

  .final-cta-subtitle {
    font-size: 16px;
  }

  h2 {
    font-size: 30px;
    line-height: 34px;
    font-weight: 800;
    margin-bottom: 20px;
}

.section-title {
    text-align: center;
    margin-bottom: 80px;
}

.section-sub {
    text-align: center;
    font-size: 16px;
    margin-top: -67px;
}

.faq-question {
    width: 100%;
    background: none;
    border: none;
    padding: 20px 0;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
}

.manifesto-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 2.2;
    font-style: italic;
    color: #989797;
}

.manifesto-quote-icon {
    width: 261px;
    opacity: 0.15;
    margin-bottom: -66px;
}

.payment-icons {
    display: flex;
    gap: 50px;
    align-items: center;
}

}





