.elementor-kit-119{--e-global-color-primary:#DC2626;--e-global-color-secondary:#0A0A0A;--e-global-color-text:#0A0A0A;--e-global-color-accent:#DC2626;--e-global-color-ground:#FFFFFF;--e-global-color-surface:#F5F5F5;--e-global-color-cardbg:#E5E7EB;--e-global-color-accntink:#FEF2F2;--e-global-color-mutedink:#737373;--e-global-color-bordercl:#E5E5E5;--e-global-color-rulecl:#D4D4D4;--e-global-typography-primary-font-family:"Georgia";--e-global-typography-primary-font-size:72px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-font-style:italic;--e-global-typography-primary-line-height:1em;--e-global-typography-secondary-font-family:"Passions Conflict";--e-global-typography-secondary-font-size:60px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:1em;--e-global-typography-text-font-family:"Titillium Web";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-font-style:normal;--e-global-typography-text-line-height:1.625em;--e-global-typography-accent-font-family:"Titillium Web";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-line-height:1.625em;color:#0A0A0A;font-family:"Titillium Web", Sans-serif;font-size:16px;font-weight:300;line-height:1.625em;}.elementor-kit-119 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-119{--e-global-typography-primary-font-size:56px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-119{--e-global-typography-primary-font-size:48px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Contact Form 7, matched to the Next.js contact form. */
.wpcf7 .mv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media (max-width: 767px) { .wpcf7 .mv-grid { grid-template-columns: 1fr; } }
.wpcf7 .mv-field { margin: 0 0 28px; }
.wpcf7 p { margin: 0 0 28px; }
.wpcf7 label {
  display: block; font-family: "Titillium Web", sans-serif; font-size: 14px;
  font-weight: 500; color: #737373; margin-bottom: 6px; transition: color .3s;
}
.wpcf7 input[type=text], .wpcf7 input[type=email] {
  width: 100%; border: 0; border-bottom: 1px solid #E5E5E5; border-radius: 0;
  background: transparent; padding: 8px 0; box-shadow: none; outline: none;
  font-family: "Titillium Web", sans-serif; font-size: 16px; color: #0A0A0A;
  transition: border-color .3s;
}
.wpcf7 input[type=text]:focus, .wpcf7 input[type=email]:focus { border-bottom-color: #262626; }
.wpcf7 textarea {
  width: 100%; min-height: 150px; border: 1px solid #E5E5E5; border-radius: 6px;
  padding: 12px; background: transparent; outline: none; resize: vertical;
  font-family: "Titillium Web", sans-serif; font-size: 16px; color: #0A0A0A;
  transition: border-color .3s;
}
.wpcf7 textarea:focus { border-color: #262626; }
.wpcf7 ::placeholder { color: #9CA3AF; font-style: normal; }
.wpcf7 .mv-submit { text-align: right; margin-top: 32px; margin-bottom: 0; }
.wpcf7 input[type=submit] {
  color: #FFFFFF; border: 2px solid #DC2626; border-radius: 0;
  padding: 14px 40px; cursor: pointer; transition: background .3s;
  font-family: "Titillium Web", sans-serif; font-size: 16px; font-weight: 400;
}
.wpcf7 input[type=submit]:hover { background: #B91C1C; border-color: #B91C1C; }
.wpcf7 .wpcf7-not-valid-tip { color: #DC2626; font-size: 13px; margin-top: 4px; }
.wpcf7 form .wpcf7-response-output {
  border-color: #E5E5E5; border-radius: 6px; font-size: 14px; margin: 16px 0 0; padding: 12px;
}
/* --- mv additions --- */

/* Decorative ring: the source's animate-pulse. */
@keyframes mv-pulse { 0%, 100% { opacity: .4; } 50% { opacity: .18; } }
.mv-pulse { animation: mv-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; }

/* blur-3xl on the large background disc. */
.mv-blur { filter: blur(64px); }

@media (prefers-reduced-motion: reduce) {
  .mv-pulse { animation: none; }
}

/* Legal copy: the source sets every paragraph to mb-3 (12px). */
.mv-legal p { margin: 0 0 12px; }
.mv-legal p:last-child { margin-bottom: 0; }

/* Contact card: dashed offset frame and the rotated mail badge. */
.mv-dashed-frame { pointer-events: none; }
.mv-mail-badge i, .mv-mail-badge svg { transform: rotate(-12deg); }

/* Contact photo: gradient scrim from the bottom-left, as the source draws it. */
.mv-photo-scrim::after {
  content: "→ Vaša správa"; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top right, rgba(38, 38, 38, .4), transparent);
  z-index: 2;
}
/* --- mv decor visibility --- */
.mv-decor { pointer-events: none; }
@media (max-width: 1024px) { .mv-decor { display: none !important; } }

/* --- mv stars --- */
/* icon-list ignores icon_color for these icons; the source renders five
   20px lucide stars in yellow-400 with no gap. */
.mv-stars .elementor-icon-list-icon i,
.mv-stars .elementor-icon-list-icon svg { color: #FACC15; fill: #FACC15; }
.mv-stars .elementor-icon-list-items { gap: 0; }
.mv-stars .elementor-icon-list-item { margin: 0; }
.mv-stars .elementor-icon-list-text { display: none; }

/* --- mv partners --- */
/* media-carousel paints each logo as a background on a 205x230 cell. The source
   uses 150px-wide <img>s at natural height (32-64px), centred in the cell. */
.mv-partners .swiper-slide { display: flex; align-items: center; justify-content: center; }
.mv-partners .swiper-slide > a { display: flex; justify-content: center; width: 100%; }
.mv-partners .elementor-carousel-image {
  width: 100%;
  max-width: 150px;
  height: 64px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

/* --- mv anchor offset --- */
/* The sticky header would otherwise cover anything scrolled to the top,
   including the portfolio service anchors and the contact submit button. */
html { scroll-padding-top: 90px; }

/* --- mv stars --- */
.mv-star-row { display: flex; gap: 0; line-height: 0; }
.mv-star-row svg { display: block; width: 20px; height: 20px; }


/* --- mv carousel arrows --- */
/* Source arrows are white circles with shadow-md. */
.elementor-swiper-button {
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);
  color: #0A0A0A;
}
.elementor-swiper-button:hover { color: #DC2626; }
/* mv-carousel-arrow */

/* --- mv nav divider --- */
/* Elementor's nav_menu_divider control produced nothing here; the source draws
   a 16px hairline between the left-hand menu items. */
.mv-nav-left .elementor-nav-menu > li:not(:last-child)::after {
  content: ""; width: 1px; height: 16px; background: #737373;
  align-self: center; margin: 0 2px; flex: 0 0 1px;
}
.mv-nav-left .elementor-nav-menu { display: flex; align-items: center; }
/* --- mv cf7 metrics --- */
/* Measured off the source dialog: label 20px, input 50px, textarea 148px,
   submit 211x40. The same component renders on /kontakt, so this serves both. */
.wpcf7 label { line-height: 20px; margin-bottom: 4px; }
.wpcf7 input[type=text], .wpcf7 input[type=email] { height: 50px; padding: 0 0 10px; }
.wpcf7 textarea { height: 148px; min-height: 0; }
.wpcf7 .mv-field { margin: 0 0 22px; }
.wpcf7 p { margin: 0 0 22px; }
.wpcf7 .mv-submit { margin-top: 24px; }
.wpcf7 input[type=submit] {
  height: 40px; padding: 0 32px; line-height: 1; min-width: 211px;
}
/* --- mv cf7 extras --- */
/* Source button carries a lucide "send" icon; CF7 renders an <input>, which
   cannot hold a child element, so the icon rides as a background image. */
.wpcf7 input[type=submit] {
  background-color: #DC2626;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 24px center;
  padding: 0 52px 0 32px;
}
.wpcf7 input[type=submit]:hover { background-color: #B91C1C; }

/* The small hint the source pins inside the message field. */
.wpcf7 .mv-field:has(textarea) { position: relative; }
.wpcf7 .mv-field:has(textarea)::after {
  content: "→ Vaša správa";
  position: absolute; right: 12px; bottom: 12px;
  font-size: 12px; color: #A3A3A3; pointer-events: none;
  font-family: "Titillium Web", sans-serif;
}

/* --- mv cf7 focus --- */
/* Source darkens a field's label while that field has focus. */
.wpcf7 .mv-field:focus-within label { color: #262626; }/* End custom CSS */