.elementor-editor-active [class*="pc-motion--"] { opacity: 1 !important; transform: none !important; }
.pc-contact-form p:first-child { max-width: 720px; margin: 0 0 30px; color: #d3d3d3; font-size: 14px; }

body.elementor-page { margin: 0; background: #fff; }
.pc-elementor-header { position: relative; z-index: 50; min-height: 100px; padding: 20px var(--pc-gutter); background: #fff; color: #050505; }
.pc-elementor-header > .e-con-inner,
.pc-elementor-footer > .e-con-inner { width: min(100%, var(--pc-content)); margin-inline: auto; }
.pc-elementor-brand { width: auto; gap: 10px; }
.pc-elementor-brand__mark { width: auto; margin: 0; }
.pc-elementor-brand__mark .elementor-heading-title { margin: 0; color: inherit; font: 500 44px/.78 var(--pc-display); letter-spacing: -2px; }
.pc-elementor-brand__text { width: auto; }
.pc-elementor-brand__text p { margin: 0; color: inherit; font: 500 9px/.92 var(--pc-body); text-transform: lowercase; }
.pc-elementor-nav { width: auto; gap: clamp(10px, 2.2vw, 34px); }
.pc-nav-link { width: auto; }
.pc-nav-link .elementor-button { padding: 8px 0; border: 0; border-radius: 0; background: transparent !important; color: #050505 !important; font: 500 11px/1 var(--pc-body); text-transform: uppercase; }
.pc-nav-link .elementor-button:hover { text-decoration: underline; text-underline-offset: 5px; }
.pc-menu-toggle { display: none; }
.pc-elementor-footer { min-height: 190px; padding: 52px var(--pc-gutter); background: #050505; color: #fff; }
.pc-elementor-footer__meta { width: auto; }
.pc-elementor-footer__meta p { margin: 0; color: #aaa; font: 500 10px/1.5 var(--pc-body); text-align: right; }

@media (max-width: 767px) {
  .pc-elementor-header { min-height: 0; padding-block: 17px; }
  .pc-elementor-header > .e-con-inner { flex-wrap: wrap; gap: 14px; }
  .pc-elementor-nav { width: 100%; justify-content: flex-start !important; gap: 15px; overflow-x: auto; padding-bottom: 3px; }
  .pc-nav-link .elementor-button { font-size: 9px; white-space: nowrap; }

  .pc-elementor-header.pc-menu-ready > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 0 !important;
  }
  .pc-elementor-header.pc-menu-ready .pc-elementor-brand { grid-column: 1; grid-row: 1; min-width: 0; }
  .pc-elementor-header.pc-menu-ready .pc-menu-toggle {
    display: grid;
    grid-column: 2;
    grid-row: 1;
    place-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 11px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #050505;
    cursor: pointer;
  }
  .pc-menu-toggle span {
    display: block;
    width: 27px;
    height: 2px;
    margin: 3px 0;
    background: currentColor;
    transition: transform .25s ease, opacity .2s ease;
  }
  .pc-menu-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
  .pc-menu-open .pc-menu-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .pc-menu-open .pc-menu-toggle span:nth-child(2) { opacity: 0; }
  .pc-menu-open .pc-menu-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .pc-elementor-header.pc-menu-ready .pc-elementor-nav {
    display: grid !important;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: 1fr;
    width: 100% !important;
    max-height: 0;
    gap: 0 !important;
    overflow: hidden;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: max-height .35s ease, opacity .2s ease, padding .25s ease, visibility 0s linear .35s;
  }
  .pc-elementor-header.pc-menu-open .pc-elementor-nav {
    max-height: 420px;
    padding-top: 16px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: max-height .35s ease, opacity .2s ease, padding .25s ease, visibility 0s;
  }
  .pc-elementor-header.pc-menu-ready .pc-nav-link { width: 100% !important; border-top: 1px solid rgba(5,5,5,.18); }
  .pc-elementor-header.pc-menu-ready .pc-nav-link .elementor-button {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    padding: 15px 2px;
    font-size: 16px;
    line-height: 1;
    text-align: left;
    white-space: normal;
  }
  .pc-elementor-footer { min-height: 150px; padding-block: 38px; }
}

/* Decorative circles are intentionally left for manual Elementor placement. */
.elementor .pc-circle-transition::after,
.elementor .pc-hero .elementor-widget-pc_portrait_image::before,
.elementor .pc-hero__image::before,
.elementor .pc-hero__image::after,
.elementor .pc-dot-stack,
.elementor .pc-dot-stack::before,
.elementor .pc-dot-stack::after {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
}

/* Final composition adjustments based on the approved visual master. */
#o-sluzbe > .e-con-inner,
#ukazky > .e-con-inner,
.pc-manifesto > .e-con-inner,
.pc-section:has(.pc-testimonials) > .e-con-inner { align-items: center !important; }
#o-sluzbe .pc-title,
#ukazky > .e-con-inner > .pc-title,
.pc-manifesto .pc-title,
.pc-section:has(.pc-testimonials) > .e-con-inner > .pc-title { width: 100%; text-align: center !important; }
.pc-manifesto .pc-copy { max-width: 850px; margin-inline: auto; text-align: center !important; }
#ukazky .elementor-widget-pc_portrait_carousel { width: 100%; }

.pc-section--light > .e-con-inner > .e-con:nth-child(2) > .pc-title,
.pc-section--light > .e-con-inner > .e-con:nth-child(2) > .pc-copy { text-align: right !important; }

.elementor .pc-step.e-con { min-height: 0 !important; align-items: start !important; gap: 24px !important; }
.elementor .pc-step::before {
  position: relative !important;
  inset: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  width: 84px !important;
  min-width: 84px !important;
  height: 84px !important;
  min-height: 84px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #050505 !important;
  color: #fff !important;
  opacity: 1 !important;
  transform: none !important;
  z-index: 1 !important;
}
.elementor .pc-step > .e-con { grid-column: 2 !important; grid-row: 1 !important; min-height: 0 !important; gap: 8px !important; padding: 3px 0 0 !important; }
.elementor .pc-step .elementor-widget-text-editor p { margin: 0 0 10px; }

.pc-hero .elementor-widget-pc_portrait_image { position: relative; }
.pc-hero .elementor-widget-pc_portrait_image::before {
  position: absolute;
  z-index: 5;
  top: 22%;
  left: -30px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #050505;
  box-shadow: 0 32px #050505, 0 64px #050505;
  content: "";
}

@media (max-width: 767px) {
  .elementor .pc-step::before { width: 62px !important; min-width: 62px !important; height: 62px !important; min-height: 62px !important; }
  .elementor .pc-step.e-con { gap: 16px !important; }
  .pc-section--light > .e-con-inner > .e-con:nth-child(2) > .pc-title,
  .pc-section--light > .e-con-inner > .e-con:nth-child(2) > .pc-copy { text-align: left !important; }
  .pc-hero .elementor-widget-pc_portrait_image::before { left: -12px; width: 14px; height: 14px; box-shadow: 0 23px #050505, 0 46px #050505; }
}

/* Elementor container rules have higher specificity than ordinary theme CSS. */
.elementor .pc-section.e-con {
  padding-top: var(--pc-pad-top, clamp(70px, 9vw, 140px)) !important;
  padding-right: var(--pc-pad-right, var(--pc-gutter)) !important;
  padding-bottom: var(--pc-pad-bottom, clamp(70px, 9vw, 140px)) !important;
  padding-left: var(--pc-pad-left, var(--pc-gutter)) !important;
}
.elementor .pc-section--tight.e-con {
  padding-top: var(--pc-pad-top, clamp(52px, 6vw, 90px)) !important;
  padding-bottom: var(--pc-pad-bottom, clamp(52px, 6vw, 90px)) !important;
}
.elementor .pc-hero.e-con {
  padding-top: var(--pc-pad-top, clamp(62px, 8vw, 120px)) !important;
  padding-bottom: var(--pc-pad-bottom, clamp(70px, 9vw, 130px)) !important;
}
.elementor .pc-section--dark.e-con { background-color: #050505 !important; color: #fff !important; }
.elementor .pc-section--light.e-con { background-color: #fff !important; color: #050505 !important; }
.elementor .pc-section--dark .elementor-heading-title,
.elementor .pc-section--dark .elementor-widget-text-editor,
.elementor .pc-section--dark .elementor-widget-text-editor p { color: #fff !important; }
.elementor .pc-section--light .elementor-heading-title,
.elementor .pc-section--light .elementor-widget-text-editor { color: #050505; }

.elementor :where(.pc-title) .elementor-heading-title { margin: 0; color: inherit; font-family: var(--pc-display) !important; font-size: clamp(42px, 6.1vw, 92px); font-weight: 400; line-height: .92; letter-spacing: -.025em; text-transform: uppercase; }
.elementor :where(.pc-title--small) .elementor-heading-title { font-size: clamp(34px, 4.4vw, 68px); }
.elementor .pc-copy, .elementor .pc-copy p { font-family: var(--pc-body) !important; }

.elementor .pc-process.e-con,
.elementor .pc-price-list.e-con { display: grid !important; }
.elementor .pc-step.e-con { display: grid !important; grid-template-columns: 98px minmax(0, 1fr) !important; padding: 32px 0 !important; background: transparent !important; }
.elementor .pc-step::before { display: grid !important; visibility: visible !important; }
.elementor :where(.pc-step) .elementor-heading-title { color: #050505 !important; font-family: var(--pc-display) !important; font-size: clamp(26px, 2.5vw, 40px); font-weight: 400; line-height: 1; text-transform: uppercase; }

.elementor .pc-manifesto.e-con { background-color: #050505 !important; color: #fff !important; box-shadow: inset 0 -440px 240px -150px rgba(0,0,0,.96); }
.elementor .pc-manifesto .elementor-heading-title,
.elementor .pc-manifesto .elementor-widget-text-editor,
.elementor .pc-manifesto .elementor-widget-text-editor p { color: #fff !important; }

.elementor .pc-price-list.e-con { gap: 22px !important; }
.elementor .pc-price-card.e-con { display: grid !important; grid-template-columns: minmax(230px,.85fr) minmax(380px,1.55fr) minmax(120px,.45fr) !important; min-height: 174px; padding: 0 !important; gap: 0 !important; overflow: hidden; border: 1px solid #050505 !important; border-radius: 24px !important; background: #fff !important; color: #050505 !important; }
.elementor .pc-price-card__name.e-con { min-height: 174px; padding: 28px 30px !important; gap: 10px !important; align-items: flex-start !important; justify-content: center !important; background: #050505 !important; color: #fff !important; }
.elementor .pc-price-card__name .elementor-heading-title { margin: 0; color: #fff !important; font-family: var(--pc-display) !important; font-size: clamp(34px,3.6vw,56px) !important; font-weight: 400 !important; line-height: .9 !important; white-space: nowrap; }
.elementor .pc-price-card__name .elementor-widget-text-editor,
.elementor .pc-price-card__name .elementor-widget-text-editor p { margin: 0 !important; color: #fff !important; font-family: var(--pc-body) !important; font-size: 10px !important; font-weight: 400 !important; line-height: 1.35 !important; }
.elementor .pc-price-card__name .elementor-widget-text-editor strong { color: inherit !important; font: inherit !important; font-weight: 600 !important; }
.elementor .pc-price-card__details.e-con { padding: 26px 32px !important; background: #fff !important; color: #050505 !important; }
.elementor .pc-price-card__details .elementor-widget-text-editor,
.elementor .pc-price-card__details .elementor-widget-text-editor p { color: #050505 !important; font-size: 12px; line-height: 1.5; }
.elementor .pc-price-card__details > .elementor-widget-text-editor,
.elementor .pc-price-card__details > .elementor-widget-text-editor > .elementor-widget-container { width: 100%; height: 100%; }
.elementor .pc-price-card__details > .elementor-widget-text-editor > .elementor-widget-container { display: grid; grid-template-rows: 1fr 1fr; }
.elementor .pc-price-card__details > .elementor-widget-text-editor > .elementor-widget-container > p { display: flex; flex-direction: column; justify-content: center; margin: 0 !important; padding: 14px 0; }
.elementor .pc-price-card__details > .elementor-widget-text-editor > .elementor-widget-container > p + p { border-top: 1px solid #050505; }
.elementor .pc-price-card > .elementor-widget-html { height: 100%; }
.elementor .pc-price-card > .elementor-widget-html > .elementor-widget-container { height: 100%; }
.elementor .pc-price-card__prices { height: 100%; }

/* Editable package widget. Each offer keeps its own description and price row. */
.elementor-widget-pc_packages { width: 100%; }
.pc-packages { display: grid; width: 100%; gap: 22px; }
.pc-package {
  display: grid;
  grid-template-columns: minmax(230px, .85fr) minmax(0, 1.95fr);
  grid-template-rows: minmax(88px, 1fr) minmax(88px, 1fr);
  min-height: 176px;
  overflow: hidden;
  border: 1px solid #050505;
  border-radius: 24px;
  background: #fff;
  color: #050505;
}
.pc-package__header {
  display: flex;
  grid-column: 1;
  grid-row: 1 / 3;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 28px 30px;
  background: #050505;
  color: #fff;
}
.pc-package__name {
  margin: 0;
  color: inherit;
  font-family: var(--pc-display);
  font-size: 54px;
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
.pc-package__capacity { margin-top: 12px; font-family: var(--pc-body); font-size: 14px; line-height: 1.35; }
.pc-package__capacity strong { color: inherit; font-weight: 600; }
.pc-package__offer { display: grid; grid-column: 2; grid-template-columns: minmax(0, 1fr) minmax(118px, 22%); min-width: 0; }
.pc-package__offer--print { grid-row: 1; }
.pc-package__offer--digital { grid-row: 2; border-top: 1px solid #050505; }
.pc-package__content { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 18px 30px; }
.pc-package__label { display: block; margin: 0 0 5px; font-family: var(--pc-body); font-size: 14px; font-weight: 600; line-height: 1.15; }
.pc-package__description { margin: 0; font-family: var(--pc-body); font-size: 14px; line-height: 1.4; }
.pc-package__price {
  display: grid;
  place-items: center;
  min-width: 0;
  padding: 12px 10px;
  border-left: 1px solid #050505;
  background: #fff;
  font-family: var(--pc-display);
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}
.pc-package__offer--digital .pc-package__price { background: #eee; }

.elementor .pc-section--dark input,
.elementor .pc-section--dark select,
.elementor .pc-section--dark textarea { background: #fff !important; color: #050505 !important; }
.elementor .pc-section--dark .pc-form-button { background: #fff !important; color: #050505 !important; }
.elementor .pc-elementor-footer.e-con { background-color: #050505 !important; color: #fff !important; }
.elementor .pc-elementor-footer .elementor-heading-title,
.elementor .pc-elementor-footer .elementor-widget-text-editor { color: #fff !important; }

@media (max-width: 1024px) {
  .elementor .pc-section.e-con,
  .elementor .pc-section--tight.e-con,
  .elementor .pc-hero.e-con {
    padding-top: var(--pc-pad-top-tablet, var(--pc-pad-top, clamp(64px, 8vw, 100px))) !important;
    padding-right: var(--pc-pad-right-tablet, var(--pc-pad-right, var(--pc-gutter))) !important;
    padding-bottom: var(--pc-pad-bottom-tablet, var(--pc-pad-bottom, clamp(64px, 8vw, 100px))) !important;
    padding-left: var(--pc-pad-left-tablet, var(--pc-pad-left, var(--pc-gutter))) !important;
  }
  .pc-package { grid-template-columns: minmax(200px, .8fr) minmax(0, 1.65fr); }
  .pc-package__header { padding: 24px; }
  .pc-package__content { padding-inline: 24px; }
}

@media (max-width: 767px) {
  .elementor .pc-section.e-con {
    padding-top: var(--pc-pad-top-mobile, var(--pc-pad-top-tablet, var(--pc-pad-top, 64px))) !important;
    padding-right: var(--pc-pad-right-mobile, var(--pc-pad-right-tablet, var(--pc-pad-right, var(--pc-gutter)))) !important;
    padding-bottom: var(--pc-pad-bottom-mobile, var(--pc-pad-bottom-tablet, var(--pc-pad-bottom, 64px))) !important;
    padding-left: var(--pc-pad-left-mobile, var(--pc-pad-left-tablet, var(--pc-pad-left, var(--pc-gutter)))) !important;
  }
  .elementor .pc-step.e-con { grid-template-columns: 68px minmax(0,1fr) !important; }
  .elementor .pc-price-card.e-con { grid-template-columns: 1fr 100px !important; }
  .elementor .pc-price-card__name.e-con { grid-column: 1; grid-row: 1; min-height: 150px; padding: 24px !important; }
  .elementor .pc-price-card__details.e-con { grid-column: 1 / -1; grid-row: 2; padding: 22px 24px !important; }
  .elementor .pc-price-card > .elementor-widget-html { grid-column: 2; grid-row: 1; }
  .pc-packages { gap: 16px; }
  .pc-package {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    min-height: 0;
    border-radius: 18px;
  }
  .pc-package__header { grid-column: 1; grid-row: 1; min-height: 132px; padding: 24px; }
  .pc-package__name { font-size: 44px; white-space: normal; }
  .pc-package__capacity { font-size: 15px; }
  .pc-package__offer { grid-column: 1; grid-template-columns: minmax(0, 1fr) minmax(92px, 29%); min-height: 108px; }
  .pc-package__offer--print { grid-row: 2; }
  .pc-package__offer--digital { grid-row: 3; }
  .pc-package__content { padding: 18px 20px; }
  .pc-package__label { font-size: 15px; }
  .pc-package__description { font-size: 15px; line-height: 1.35; }
  .pc-package__price { padding-inline: 8px; font-size: 34px; }
}
