/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

html {
	scroll-padding-top: 90px;
}

:where(ul:not([class]), ul.wp-block-list) {
  list-style: none;
  padding-left: 0;
}

:where(ul:not([class]), ul.wp-block-list) > li {
  position: relative;
  padding-left: 20px;
}

:where(ul:not([class]), ul.wp-block-list) > li + li {
  margin-top: 8px;
}

:where(ul:not([class]), ul.wp-block-list) > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(0.75em - 4px);   /* fallback pro line-height 1.5 */
  top: calc(0.5lh - 4px);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2D9BA3;
}

/* Fluent Form #3 – kontakt */
#fluentform_3 {
  --ff-teal: #2D9BA3;
  --ff-teal-dark: #258A91;
  --ff-text: #2A2A2A;
  --ff-muted: #5A5A5A;
  --ff-placeholder: #9A9A9A;
  --ff-bg: #F7F7F5;
  --ff-border: #E5E3DF;
}

/* ===== Blog – obsah článku ===== */
.brxe-post-content {
  --gw-teal: #2D9BA3;
  --gw-text: #2A2A2A;
  --gw-muted: #5A5A5A;
  --gw-tip-bg: #F3F9FA;
  --gw-note-bg: #F9F4F2;
  --gw-fs-body: clamp(0.9375rem, 0.9167rem + 0.0926vw, 1rem);
  --gw-fs-small: clamp(0.8125rem, 0.7917rem + 0.0926vw, 0.875rem);
  --gw-fs-quote: clamp(1.125rem, 1.0833rem + 0.1852vw, 1.25rem);
}

.brxe-post-content > * {
  margin-top: 0;
  margin-bottom: 0;
}

.brxe-post-content > * + * {
  margin-top: 16px;
}

/* Text */
.brxe-post-content p {
  font-size: var(--gw-fs-body);
  line-height: 1.8;
  color: var(--gw-muted);
}

.brxe-post-content .gw_post-lead {
  color: var(--gw-text);
}

.brxe-post-content .gw_post-lead + p {
  margin-top: 24px;
}

/* Nadpisy */
.brxe-post-content h2 {
  margin-top: 48px;
  font-family: "Crimson Pro", serif;
  font-weight: 500;
  font-size: clamp(1.375rem, 1.2083rem + 0.7407vw, 1.875rem);
  line-height: 1.25;
  color: var(--gw-text);
}

.brxe-post-content h2 + * {
  margin-top: 12px;
}

/* Citace */
.brxe-post-content .gw_post-quote {
  margin-top: 32px;
  margin-bottom: 32px;
  padding: 4px 0 4px 24px;
  border-left: 3px solid var(--gw-teal);
}

.brxe-post-content .gw_post-quote p {
  margin: 0;
  font-family: "Crimson Pro", serif;
  font-style: italic;
  font-size: var(--gw-fs-quote);
  line-height: 1.6;
  color: var(--gw-teal);
}

/* Tip box */
.brxe-post-content .gw_post-tip {
  margin-top: 24px;
  margin-bottom: 24px;
  padding: 24px 28px;
  background: var(--gw-tip-bg);
  border-radius: 16px;
}

.brxe-post-content .gw_post-tip > * {
  margin: 0;
}

.brxe-post-content .gw_post-tip > * + * {
  margin-top: 8px;
}

.brxe-post-content .gw_post-tip p {
  font-size: var(--gw-fs-small);
  line-height: 1.7;
}

.brxe-post-content .gw_post-tip .gw_post-tip-label {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gw-teal);
}

.brxe-post-content .gw_post-tip strong {
  font-weight: 600;
  color: var(--gw-text);
}

/* Číslované kroky */
.brxe-post-content .gw_post-steps {
  margin-top: 20px;
  padding: 0;
  list-style: none;
  counter-reset: gw-step;
}

.brxe-post-content .gw_post-steps > li {
  position: relative;
  padding-left: 44px;
  counter-increment: gw-step;
  font-size: var(--gw-fs-small);
  line-height: 1.7;
  color: var(--gw-muted);
}

.brxe-post-content .gw_post-steps > li + li {
  margin-top: 20px;
}

.brxe-post-content .gw_post-steps > li::before {
  content: counter(gw-step);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2D9BA3, #5AB9BE);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #FFFFFF;
}

.brxe-post-content .gw_post-steps > li > strong:first-child {
  display: block;
  font-size: var(--gw-fs-body);
  font-weight: 600;
  line-height: 28px;
  color: var(--gw-text);
}

/* Zvýrazněná poznámka */
.brxe-post-content .gw_post-note {
  margin-top: 24px;
  padding: 20px 24px;
  background: var(--gw-note-bg);
  border-radius: 16px;
  font-size: var(--gw-fs-small);
  font-weight: 500;
  line-height: 1.6;
  color: var(--gw-text);
}

/* Zvýrazněná věta */
.brxe-post-content .gw_post-highlight {
  font-family: "Crimson Pro", serif;
  font-style: italic;
  font-size: var(--gw-fs-quote);
  line-height: 1.6;
  color: var(--gw-teal);
}

/* Sloupce a mezery */
#fluentform_3 .ff-t-container {
  gap: 20px;
}

#fluentform_3 .ff-t-cell {
  padding: 0;
}

#fluentform_3 .ff-el-group {
  margin-bottom: 20px;
}

/* Labely */
#fluentform_3 .ff-el-input--label {
  margin-bottom: 8px;
}

#fluentform_3 .ff-el-input--label label {
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ff-text);
}

#fluentform_3 .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
  color: var(--ff-teal);
  margin-left: 2px;
}

/* Inputy a textarea */
#fluentform_3 .ff-el-form-control {
  width: 100%;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ff-text);
  background-color: var(--ff-bg);
  border: 1px solid var(--ff-border);
  border-radius: 12px;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

#fluentform_3 input.ff-el-form-control {
  height: 48px;
}

#fluentform_3 textarea.ff-el-form-control {
  min-height: 128px;
  resize: none;
}

#fluentform_3 .ff-el-form-control::placeholder {
  color: var(--ff-placeholder);
  opacity: 1;
}

#fluentform_3 .ff-el-form-control:focus {
  outline: none;
  background-color: #FFFFFF;
  border-color: var(--ff-teal);
  box-shadow: 0 0 0 3px rgb(45 155 163 / 0.15);
}

/* GDPR checkbox */
#fluentform_3 .ff-el-tc label.ff_tc_label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}

#fluentform_3 .ff_tc_checkbox {
  display: flex;
  flex: 0 0 auto;
  padding: 0;
}

#fluentform_3 .ff_tc_checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  flex: 0 0 18px;
  width: 18px;
  min-width: 18px;
  max-width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  margin: 0;
  background: var(--ff-bg) center / 12px no-repeat;
  border: 1px solid var(--ff-border);
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

#fluentform_3 .ff_tc_checkbox input[type="checkbox"]:checked {
  background-color: var(--ff-teal);
  border-color: var(--ff-teal);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

#fluentform_3 .ff_tc_checkbox input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgb(45 155 163 / 0.15);
}

#fluentform_3 .ff_t_c {
  font-size: 13px;
  line-height: 1.4;
  color: var(--ff-muted);
}

/* Tlačítko */
#fluentform_3 .ff_submit_btn_wrapper {
  margin: 8px 0 0;
}

#fluentform_3 .ff-btn-submit {
  width: 100%;
  height: 52px;
  padding: 0 24px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  color: #FFFFFF;
  background-color: var(--ff-teal);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.12);
  cursor: pointer;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#fluentform_3 .ff-btn-submit:hover,
#fluentform_3 .ff-btn-submit:focus-visible {
  opacity: 1;
  background-color: var(--ff-teal-dark);
  box-shadow: 0 6px 16px rgb(0 0 0 / 0.16);
}

/* Mobil – sloupce pod sebou bez dvojité mezery */
@media (max-width: 640px) {
  #fluentform_3 .ff-t-container {
    gap: 0;
  }
}