/**
Theme Name: Království Makronek
Author: Pointus
Author URI: https://pointus.cz/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kralovstvi-makronek
Template: astra
*/

/* =========================
   Variables
========================= */
:root {
  --c-primary: #14847e;
  --c-text: #383838;
  --c-accent: #fac9c4;
  --c-accent-soft: #ffe5e2;
  --radius: 8px;
}

/* =========================
   Responsive helpers
========================= */
@media (max-width: 767px) {
  .hide-on-mobile { display: none; }
}

@media (min-width: 768px) {
  .hide-on-tablet-desktop { display: none; }
}

@media (max-width: 1024px) {
  .hide-on-tablet { display: none; }
}

@media (min-width: 1025px) {
  .hide-on-desktop { display: none; }
}

/* =========================
   Utilities
========================= */
strong { font-weight: 500; }

.no-underline a { text-decoration: none !important; }
.inherit-color a { color: inherit !important; }

.fw-300 { font-weight: 300 !important; }
.mt-0 { margin-top: 0 !important; }

@media (max-width: 1024px) {
  .list-style-position-inside ul { list-style-position: inside; }
}

@media (min-width: 1025px) and (max-width: 1204px) {
  .pt-0 > .e-con-inner { padding: 30px 0 !important; }
}

/* =========================
   Header
========================= */
#menu-item-26.current-menu-item a { color: var(--c-primary); }
#menu-item-942.current-menu-item a { color: var(--c-text); }

#ast-hf-menu-1,
#ast-hf-menu-2 {
  gap: 30px;
}

#ast-hf-mobile-menu {
  text-align: center;
  background-image: url(/wp-content/uploads/2026/01/usp-bg-pattern.svg);
  background-position: center center;
  background-repeat: repeat-y;
  background-size: inherit;
}

#ast-hf-mobile-menu li a { background: none !important; }

.header-social-item { margin-top: -10px; }

@media (min-width: 1206px) {
  .site-header-primary-section-left,
  .site-header-primary-section-right {
    align-items: flex-end;
    border-bottom: 1px solid var(--c-primary);
    padding-bottom: 30px;
  }

  .site-logo-img { margin-bottom: -40px; }

  .site-primary-header-wrap .ast-builder-grid-row { grid-column-gap: 60px; }
}

/* =========================
   Footer
========================= */
footer a { color: inherit !important; }

.before-footer .elementor-widget .elementor-icon-list-items {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.before-footer .elementor-icon-list-item {
  display: flex;
  align-items: var(--icon-vertical-align, center);
}

@media (max-width: 767px) {
  .before-footer .elementor-icon-list-item,
  .before-footer .elementor-icon-list-item a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }
}

/* =========================
   Homepage
========================= */
.hero strong { font-weight: 700; }
.hp-main-headline strong { font-style: italic; }

@media (max-width: 1204px) {
  .hero { background: none !important; }

  #hp-hero img { width: 100%; }

  .tablet-position-relative { position: relative !important; }
}

#hp-hero > .e-con-inner { padding-bottom: 0 !important; }

@media (max-width: 1099px) {
  #hp-hero > .e-con-inner {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  #hp-hero .text-content,
  #hp-hero .buttons {
    justify-content: center;
    align-items: center;
  }

  #hp-hero h1,
  #hp-hero p {
    text-align: center;
  }
}

#hp-hero .tablet-position-relative img {
  cursor: url("/wp-content/uploads/2026/01/cursor-makronka.png"), auto;
}

/* Ellipse animation */
.bg-ellipse {
  transform-origin: 50% 50%;
  will-change: transform;
  backface-visibility: hidden;
  animation: ellipseWobble 11.5s linear infinite;
}

@keyframes ellipseWobble {
  0%   { transform: rotate(0deg)   scale(1)      skew(0deg); }
  7%   { transform: rotate(18deg)  scale(1.004)  skew(0.15deg); }
  15%  { transform: rotate(52deg)  scale(0.997)  skew(-0.10deg); }
  26%  { transform: rotate(97deg)  scale(1.006)  skew(0.20deg); }
  34%  { transform: rotate(128deg) scale(0.995)  skew(-0.18deg); }
  46%  { transform: rotate(182deg) scale(1.008)  skew(0.12deg); }
  58%  { transform: rotate(232deg) scale(0.996)  skew(-0.22deg); }
  69%  { transform: rotate(276deg) scale(1.005)  skew(0.18deg); }
  81%  { transform: rotate(323deg) scale(0.997)  skew(-0.14deg); }
  92%  { transform: rotate(352deg) scale(1.003)  skew(0.10deg); }
  100% { transform: rotate(360deg) scale(1)      skew(0deg); }
}

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

.cena {
  font-weight: 700;
  color: var(--c-primary);
}

#nabidka .cena { color: inherit; }

.transition-none .elementor-icon,
.before-footer,
.before-footer a {
  transition: none !important;
}

.logo-circle:hover { transform: scale(1.1); }

/* FAQ */
.faq details {
  background-color: var(--c-accent);
  border-radius: 10px;
}

.faq summary { padding: 30px !important; }

.faq summary,
.faq details > div {
  border: none !important;
}

.faq details > div { padding: 0 30px; }

/* Stratum testimonials */
@media (min-width: 768px) {
  .stratum-main-swiper { padding: 0 40px; }
}

.elementor-widget-stratum-testimonial-carousel .stratum-testimonial-carousel__content {
  display: flex;
  flex-direction: column;
}

.elementor-widget-stratum-testimonial-carousel .stratum-testimonial-carousel__cite { order: 2; }

.elementor-widget-stratum-testimonial-carousel .stratum-testimonial-carousel__text {
  order: 1;
  padding: 10px;
}

.stratum-testimonial-carousel .swiper-slide .stratum-testimonial-carousel__wrapper .stratum-testimonial-carousel__footer > img {
  height: 20px !important;
  width: auto !important;
}

.stratum-testimonial-carousel__container {
  padding: 0 !important;
  background: none !important;
}

.testimonial-footer {
  background-color: var(--c-accent);
  padding: 10px;
  border-radius: 0 0 var(--radius) var(--radius);
}

.stratum-testimonial-carousel__cite { display: none !important; }

.stratum-swiper-button-next { right: 20px; }

.stratum-swiper-button-prev:before,
.stratum-swiper-button-next:after {
  background-color: var(--c-primary);
  border-radius: var(--radius);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1024px) {
  .elementor-widget-stratum-testimonial-carousel .stratum-swiper-button-prev,
  .elementor-widget-stratum-testimonial-carousel .stratum-swiper-button-next {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .stratum-testimonial-carousel { margin: 0 !important; }

  .stratum-testimonial-carousel__text { padding: 10px 0 !important; }

  .stratum-testimonial-carousel__wrapper {
    margin: 0 !important;
    padding: 10px !important;
  }
}

.elementor-widget-stratum-testimonial-carousel .pt-swiper-pagination {
  display: flex;
  justify-content: center;
}

@media (min-width: 1025px) {
  .elementor-widget-stratum-testimonial-carousel .pt-swiper-pagination { display: none; }
}

.elementor-widget-stratum-testimonial-carousel .pt-swiper-pagination .swiper-pagination-bullet {
  opacity: 0.35;
  width: 12px;
  height: 12px;
}

.elementor-widget-stratum-testimonial-carousel .pt-swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background-color: var(--c-primary);
}

/* =========================
   O nás
========================= */
@media (max-width: 380px) {
  .check-list ul { justify-content: flex-start !important; }
  .check-list ul li { text-align: left !important; }
}

/* =========================
   Kontakt (Forminator)
========================= */
.forminator-ui input,
.forminator-ui textarea,
.forminator-ui .select2-selection,
.forminator-file-upload button {
  padding: 25px 20px !important;
  border-radius: var(--radius) !important;
  font-size: 1.2rem !important;
}

.forminator-ui input::placeholder,
.forminator-ui textarea::placeholder,
.select2-selection__placeholder,
.forminator-button-upload {
  font-weight: 300 !important;
}

.forminator-ui .select2-selection { padding: 18px 20px !important; }

.forminator-ui input:focus,
.forminator-ui textarea:focus,
.forminator-file-upload button:focus {
  outline: 1px solid var(--c-accent) !important;
}

.forminator-ui label, .forminator-label {
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  margin-bottom: 10px !important;
  padding-left: 10px;
}

.forminator-ui #html-1 {
  display: flex;
  align-items: flex-end;
}

.forminator-ui #html-1 p { margin-bottom: 0 !important; }

.forminator-ui #html-1 a {
  display: block;
  width: 100%;
  padding: 25px 20px !important;
  border-radius: var(--radius) !important;
  font-size: 1.2rem !important;
  border: 1px solid var(--c-text);
  height: 75px;
  text-decoration: none !important;
  color: var(--c-text) !important;
  font-weight: 300 !important;
  line-height: 1.3em;
}

.forminator-ui #html-1 a:hover {
  background-color: var(--c-accent-soft);
  border-color: var(--c-accent-soft);
}

.forminator-description {
  padding-left: 10px;
  margin-top: -10px !important;
  margin-bottom: 10px !important;
}

.forminator-file-upload {
  flex-direction: column !important;
  row-gap: 20px;
}

.forminator-file-upload button:not(.forminator-button-delete) {
  width: 100% !important;
  margin: 0 !important;
  background-color: transparent !important;
  border: 1px solid var(--c-accent) !important;
  box-shadow: none !important;
}

.forminator-button-delete {
  background: transparent !important;
  box-shadow: none !important;
}

#forminator-module-855.forminator-design--flat .forminator-response-message.forminator-success {
	background-color: var(--c-primary) !important;
}

#forminator-module-855.forminator-design--flat .forminator-response-message.forminator-success p {
	color:#fff !important;
}

#html-2 {
  text-align: center;
  font-weight: 300 !important;
  font-size: 1.2rem !important;
}

#html-2 p { margin-bottom: 0 !important; }

#html-2 a { color: inherit !important; }

.forminator-row-last { text-align: center; }

.forminator-button-submit {
  background-color: var(--c-primary) !important;
  border-radius: var(--radius) !important;
  color: #fff !important;
  padding: 10px 20px !important;
  font-size: 1.2rem !important;
  box-shadow: none !important;
  font-weight: 300 !important;
}

.forminator-button-submit:hover {
  background-color: var(--c-accent) !important;
  color: var(--c-primary) !important;
}

@media (max-width: 968px) {
  .forminator-row {
    flex-direction: column !important;
    row-gap: 30px;
  }

  #html-1 .forminator-field { width: 100%; }
}

/* =========================
   IG Feed
========================= */
#sbi_images { gap: 30px !important; }

#sb_instagram .sbi_photo img { border-radius: 13px; }

/* =========================
   Pro firmy
========================= */
.steps-grid {
  position: relative;
}

.steps-grid > .e-con:nth-child(1)::after,
.steps-grid > .e-con:nth-child(2)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -90px;
  transform: translateY(-50%);
  width: 60px;
  height: 28px;
  background-image: url('data:image/svg+xml,<svg width="64" height="30" viewBox="0 0 64 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 12.7279C0.895431 12.7279 9.64139e-08 13.6233 0 14.7279C-9.64139e-08 15.8325 0.89543 16.7279 2 16.7279L2 14.7279L2 12.7279ZM63.4142 16.1421C64.1953 15.3611 64.1953 14.0947 63.4142 13.3137L50.6863 0.585774C49.9052 -0.195275 48.6389 -0.195275 47.8579 0.585774C47.0768 1.36682 47.0768 2.63315 47.8579 3.4142L59.1716 14.7279L47.8579 26.0416C47.0768 26.8227 47.0768 28.089 47.8579 28.87C48.6389 29.6511 49.9052 29.6511 50.6863 28.87L63.4142 16.1421ZM2 14.7279L2 16.7279L62 16.7279L62 14.7279L62 12.7279L2 12.7279L2 14.7279Z" fill="%23FAC9C4"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width:1024px) {
	.steps-grid > .e-con:nth-child(1)::after,
	.steps-grid > .e-con:nth-child(2)::after {
		bottom:-40px;
		left: 50%;
		right:unset;
		top:unset;
		transform: translate(-50%, 0) rotate(90deg);
		transform-origin: center;
		width:40px;
		height:19px;
	}
}