.testimonial-section .testimonial-slider .testimonial-card p {
  font-size: 19px !important;
  line-height: 1.74 !important;
  font-style: italic;
  color: var(--c-ink-2) !important;
  max-width: 40ch;
  margin-inline: auto;
}
.quote-left img, .quote-right img { opacity: 0.28; filter: saturate(0.3); max-height: 26px; }

/* ============================================================
   8. OTEVÍRACÍ HODINY / DARY / AFFILIATION
   ============================================================ */
.business-hour-section,
.create-vcard-section {
  background-color: transparent !important;
  background: transparent !important;
}
.business-hour-section .section-heading h2,
.create-vcard-section .section-heading h2 { color: var(--c-gold) !important; }
.business-hour-section .days {
  padding: 16px 18px !important;
  gap: 14px !important;
}
.business-hour-section .days .fs-14 { color: var(--c-ink-3) !important; text-decoration: none !important; }
.business-hour-section .days .fw-5 { color: var(--c-ink) !important; font-weight: 400 !important; }
.bussiness-hours span { color: var(--c-ink) !important; }

.create-vcard-section .vcard-link-card { padding: 16px 20px !important; }
.create-vcard-section .vcard-link-card .link-text,
.create-vcard-section .vcard-link-card a { color: var(--c-gold) !important; font-weight: 400 !important; }
.create-vcard-section .vcard-link-card .icon { color: var(--c-gold) !important; }

/* dary / offerings (components.offerings) */
.ch-section h2,
.ch-section h3:not(.card-title) {
  font-family: var(--c-caps) !important;
  font-size: 15px !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase;
  color: var(--c-gold) !important;
  text-align: center;
}
.ch-section .price,
.ch-section .offering-price,
.ch-section .amount {
  font-family: var(--c-caps) !important;
  color: var(--c-gold) !important;
  letter-spacing: 0.14em;
}
.ch-section img { border-radius: 0 !important; }

/* ============================================================
   9. SVÍČKA (components.candle)
   ============================================================ */
.candle-section,
.virtual-candle,
#candleSection {
  background: radial-gradient(120% 90% at 50% 0%, rgba(196, 158, 84, 0.14) 0%, rgba(196, 158, 84, 0) 64%) !important;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  border-left: 0; border-right: 0;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 52px 26px !important;
  text-align: center;
}
.candle-section h2, .virtual-candle h2 {
  font-family: var(--c-caps) !important;
  font-size: 15px !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase;
  color: var(--c-gold) !important;
}
.candle-section p, .virtual-candle p {
  font-size: 17px !important;
  color: var(--c-ink-2) !important;
  max-width: 34ch;
  margin-inline: auto;
}
#lightCandle {
  background: transparent !important;
  color: var(--c-gold) !important;
  border: 1px solid var(--c-gold) !important;
  border-radius: 0 !important;
  padding: 15px 34px !important;
  font-family: var(--c-caps) !important;
  font-size: 13px !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
#lightCandle:hover {
  background: rgba(138, 108, 52, 0.1) !important;
  border-color: var(--c-gold-hi) !important;
  color: var(--c-gold-hi) !important;
}
#candle img { filter: drop-shadow(0 0 20px rgba(196, 158, 84, 0.5)) !important; }
#candleCount { color: var(--c-ink-3) !important; }
#candleCount strong { color: var(--c-gold) !important; font-weight: 400; font-size: 17px; }

/* ============================================================
   10. QR
   ============================================================ */
.qr-code-section .qr-code {
  background-color: var(--c-paper-2) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
  padding: 26px !important;
  gap: 24px;
  align-items: center;
  max-width: 560px;
  margin-inline: auto !important;
}
.qr-code-section .qr-code .qr-code-img {
  background: #fff !important;
  border: 1px solid var(--c-line-2) !important;
  border-radius: 0 !important;
  width: 130px !important;
  min-width: 130px !important;
  height: 130px !important;
  padding: 8px !important;
}
.qr-code-section .qr-code .qr-code-img svg,
.qr-code-section .qr-code .qr-code-img img { border-radius: 0 !important; }
.qr-code-section h5 {
  font-family: var(--c-serif) !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  color: var(--c-ink) !important;
}

/* ============================================================
   11. FORMULÁŘE A TLAČÍTKA
   ============================================================ */
.contact-us-section .contact-form { padding: 30px !important; }
.contact-us-section .contact-form form .form-control,
.form-control,
.input-box,
.appointment-input {
  background: #fff !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
  color: var(--c-ink) !important;
  height: auto !important;
  min-height: 52px;
  padding: 15px 16px !important;
  font-family: var(--c-body) !important;
  font-size: 16px !important;
  box-shadow: none !important;
}
.contact-us-section .contact-form form .form-control:focus,
.form-control:focus {
  border-color: var(--c-gold) !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none;
}
.contact-us-section .contact-form form .form-control::placeholder,
.form-control::placeholder,
::placeholder { color: var(--c-ink-3) !important; opacity: 1 !important; }
.input-box h4 { color: var(--c-ink-2) !important; opacity: 1 !important; }
.file-list li { color: var(--c-ink-2) !important; }
.selected-files h5 { color: var(--c-ink) !important; }
small { color: var(--c-gold) !important; }
.form-check-input {
  background-color: #fff;
  border: 1px solid var(--c-line);
  border-radius: 0;
}
.form-check-input:checked { background-color: var(--c-gold); border-color: var(--c-gold); }
.form-check-label { color: var(--c-ink-2) !important; }

.btn,
.btn-primary,
.contact-btn,
.send-btn,
.act-now,
.pwa-install-button,
.vcard-twelve-btn,
.product-btn {
  background-color: var(--c-gold) !important;
  background: var(--c-gold) !important;
  border: 1px solid var(--c-gold) !important;
  color: #fffdf8 !important;
  border-radius: 0 !important;
  padding: 16px 40px !important;
  font-family: var(--c-caps) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.btn:hover,
.btn-primary:hover,
.contact-btn:hover,
.send-btn:hover,
.act-now:hover {
  background-color: var(--c-gold-hi) !important;
  background: var(--c-gold-hi) !important;
  border-color: var(--c-gold-hi) !important;
  color: #fffdf8 !important;
}
.pwa-cancel-button {
  background-color: transparent !important;
  border: 1px solid var(--c-line) !important;
  color: var(--c-ink-2) !important;
  border-radius: 0 !important;
}

/* „Více" a „Číst dál" jako obrysové odkazy */
.view-more,
.read-more {
  background: transparent !important;
  border: 1px solid rgba(138, 108, 52, 0.45) !important;
  border-radius: 0 !important;
  color: var(--c-gold) !important;
  padding: 11px 22px !important;
  font-family: var(--c-caps) !important;
  font-size: 12px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.view-more a,
.read-more { color: var(--c-gold) !important; }
.view-more:hover,
.read-more:hover {
  background: rgba(138, 108, 52, 0.08) !important;
  border-color: var(--c-gold) !important;
}
.view-more:hover a { color: var(--c-gold-hi) !important; }

/* vlastní odkazy (rodina) */
.custom-link { gap: 12px !important; padding-top: 40px !important; }
.custom-link .link-text,
.custom-link a {
  min-width: 200px;
  padding: 14px 26px !important;
  border-radius: 0 !important;
  border: 1px solid var(--c-line) !important;
  background: var(--c-paper-2) !important;
  background-color: var(--c-paper-2) !important;
  color: var(--c-ink) !important;
  font-family: var(--c-caps) !important;
  font-size: 13px !important;
  letter-spacing: 0.16em;
  text-transform: none;
  transition: all 0.3s ease;
}
.custom-link .link-text:hover,
.custom-link a:hover {
  border-color: rgba(138, 108, 52, 0.6) !important;
  background: #fff !important;
  color: var(--c-gold) !important;
}

/* ============================================================
   12. MAPA
   ============================================================ */
.map-border-main,
.mapy-section .map-wrap {
  background: var(--c-paper-2) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
  padding: 10px !important;
}
.map-border-main iframe,
.mapy-section iframe {
  border-radius: 0 !important;
  display: block;
  filter: grayscale(0.25) contrast(0.96) brightness(1.02);
}

/* tlačítko Navigovat, pokud je v komponentě mapy */
.dn-nav-btn,
.nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border: 1px solid rgba(138, 108, 52, 0.45);
  color: var(--c-gold);
  font-family: var(--c-caps);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.dn-nav-btn:hover,
.nav-btn:hover { background: rgba(138, 108, 52, 0.08); border-color: var(--c-gold); }

/* ============================================================
   13. INSTAGRAM
   ============================================================ */
.insta-toggle { border-radius: 0 !important; border-bottom: 1px solid var(--c-line); }
.instagram-btn { color: var(--c-ink-3) !important; }
.instagram-btn::before { background-color: var(--c-gold) !important; }
.instagram-btn .svg-post-icon line,
.instagram-btn .svg-post-icon rect { stroke: var(--c-gold) !important; }
.instagram-btn.active .svg-post-icon line,
.instagram-btn.active .svg-post-icon rect { fill: var(--c-gold) !important; stroke: var(--c-paper) !important; }
.instagram-btn .svg-reels-icon path,
.instagram-btn .svg-reels-icon rect { fill: var(--c-gold) !important; }
.insta-feed-iframe iframe,
.instagram-media {
  border: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
  background: var(--c-paper-2) !important;
}
.insta-feed::-webkit-scrollbar-thumb,
.insta-feed::-webkit-scrollbar-track { background-color: transparent !important; }

/* ============================================================
   14. PLOVOUCÍ TLAČÍTKA A PATIČKA
   ============================================================ */
.btn-section .fixed-btn-section .bars-btn,
.bars-btn,
.lawyer-bars-btn {
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  background-color: var(--c-paper-2) !important;
  border: 1px solid rgba(138, 108, 52, 0.45) !important;
  box-shadow: 0 6px 18px rgba(96, 78, 46, 0.12) !important;
}
.bars-btn img {
  width: 19px;
  filter: brightness(0) saturate(100%) invert(43%) sepia(28%) saturate(900%) hue-rotate(2deg);
}
.vcard16-btn-group,
.vcard16-sticky-btn,
.wp-btn {
  width: 46px !important;
  height: 46px !important;
  background-color: var(--c-paper-2) !important;
  background: var(--c-paper-2) !important;
  border: 1px solid rgba(138, 108, 52, 0.45) !important;
  border-radius: 50% !important;
  color: var(--c-gold) !important;
  box-shadow: 0 6px 18px rgba(96, 78, 46, 0.12) !important;
}
.vcard16-btn-group i,
.vcard16-sticky-btn i,
.wp-btn i { color: var(--c-gold) !important; }
.search-input {
  background: #fff !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
  color: var(--c-ink) !important;
}
.sticky-vcard-div {
  background: none !important;
  box-shadow: none !important;
  pointer-events: none;
}
.sticky-vcard-div > * { pointer-events: auto; }

.made-by-section,
.main-content > .d-flex.justify-content-evenly:last-of-type {
  border-top: 1px solid var(--c-line-2);
  margin-top: 60px;
  padding: 24px 30px !important;
}
.made-by-section a,
.made-by-section small,
.main-content > .d-flex.justify-content-evenly a,
.main-content > .d-flex.justify-content-evenly small {
  color: var(--c-ink-2) !important;
  font-size: 14px !important;
  letter-spacing: 0.04em;
}
.main-content > .d-flex.justify-content-evenly a:hover { color: var(--c-gold) !important; }
.terms-policies-btn { color: var(--c-ink-3) !important; }

/* ============================================================
   15. MODALY A BANNERY
   ============================================================ */
.modal { background-color: rgba(43, 40, 35, 0.45) !important; }
.modal .modal-content,
#vcard10-shareModel .modal-content,
#newsLatter-content {
  background: var(--c-paper-2) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 28px 70px rgba(60, 48, 26, 0.24) !important;
}
.modal .modal-title {
  font-family: var(--c-caps) !important;
  font-size: 14px !important;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--c-gold) !important;
}
#vcard10-shareModel .share { border-bottom: 1px solid var(--c-line-2); display: block; padding: 4px 0; }
#vcard10-shareModel .share p { color: var(--c-ink) !important; margin-bottom: 0; }
#vcard10-shareModel .arrow g { fill: var(--c-gold) !important; }
.support-banner,
.pwa-support {
  background: var(--c-paper-2) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 22px 60px rgba(60, 48, 26, 0.2) !important;
}
.support_heading,
.pwa-heading {
  font-family: var(--c-serif) !important;
  font-weight: 400 !important;
  color: var(--c-ink) !important;
}
.support_text,
.pwa-text { color: var(--c-ink-2) !important; }
#email-send { background: var(--c-gold) !important; color: #fffdf8 !important; }

/* přístupnost */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--c-gold) !important;
  outline-offset: 3px;
}

/* ============================================================
   16. DESKTOP (≥ 992 px) — jeden sloupec, vzdušný rytmus
   ============================================================ */
@media (min-width: 992px) {
  .main-content { max-width: 1040px !important; padding-bottom: 150px; }
  .banner-section .banner-img { height: 380px !important; }

  .profile-section .card { margin-top: -140px; }
  .profile-section .card .card-img,
  .profile-section .card-img {
    width: 186px !important; min-width: 186px !important; height: 186px !important;
  }
  .profile-section .profile-name h2 { font-size: 60px !important; }
  .profile-section .profile-name::before { font-size: 13px; letter-spacing: 0.46em; }
  .profile-desc p { font-size: 21px !important; max-width: 46ch; }

  .pt-50 { padding-top: 104px !important; }
  .px-30 { padding-left: 72px !important; padding-right: 72px !important; }
  .px-20 { padding-left: 62px !important; padding-right: 62px !important; }
  .px-10 { padding-left: 62px !important; padding-right: 62px !important; }

  .section-heading h2,
  .section-heading h3 { font-size: 17px !important; letter-spacing: 0.38em !important; }
  .section-heading::before,
  .section-heading::after { width: 190px; }
  .section-heading { margin-bottom: 48px !important; }

  .contact-section .contact-box { max-width: 520px; margin-inline: auto; padding: 34px 30px !important; }
  .contact-us-section .contact-form { max-width: 640px; margin-inline: auto; padding: 40px !important; }
  .testimonial-section .testimonial-slider .testimonial-card { padding: 54px 60px 44px !important; }
  .testimonial-section .testimonial-slider .testimonial-card p { font-size: 21px !important; }
  .candle-section, .virtual-candle { padding: 76px 40px !important; }
  .fixed-btn-section { right: 40px !important; }
}
@media (min-width: 1280px) {
  .main-content { max-width: 1240px !important; }
}

/* tablet */
@media (min-width: 576px) and (max-width: 991px) {
  .px-30 { padding-left: 40px !important; padding-right: 40px !important; }
  .pt-50 { padding-top: 88px !important; }
  .section-heading::before, .section-heading::after { width: 120px; }
}

/* ============================================================
   17. MOBIL (≤ 767 px) — vzhled aplikace
   ============================================================ */
@media (max-width: 767px) {
  .main-content { padding-bottom: calc(96px + env(safe-area-inset-bottom)); box-shadow: none; }
  .banner-section .banner-img { height: 260px !important; }
  .px-30 { padding-left: 16px !important; padding-right: 16px !important; }
  .px-20, .px-10 { padding-left: 14px !important; padding-right: 14px !important; }
  .pt-50 { padding-top: 52px !important; }

  .profile-section .card { margin-top: -84px; }
  .profile-section .card .card-img,
  .profile-section .card-img {
    width: 126px !important; min-width: 126px !important; height: 126px !important;
  }
  .profile-section .profile-name h2 { font-size: 32px !important; }
  .profile-section .profile-name::before { font-size: 10px; letter-spacing: 0.3em; margin-bottom: 12px; }
  .profile-desc p { font-size: 17px !important; }

  /* data jako chipy */
  .profile-section .profile-name h3 {
    gap: 10px !important;
    font-size: 14px !important;
  }

  /* nadpisy vlevo, bez linek */
  .section-heading { text-align: left !important; margin-bottom: 18px !important; }
  .section-heading::before, .section-heading::after { display: none; }
  .section-heading h2,
  .section-heading h3 {
    padding: 0 !important;
    font-size: 12px !important;
    letter-spacing: 0.2em !important;
    text-align: left !important;
  }
  .section-heading h2::before, .section-heading h2::after,
  .section-heading h3::before, .section-heading h3::after { display: none !important; }

  /* zaoblené listy */
  .contact-section .contact-box,
  .our-services-section .services .service-card,
  .product-section .product-slider .product-card,
  .testimonial-section .testimonial-slider .testimonial-card,
  .blog-section .blog-slider .blog-card,
  .iframe-slider .iframe-card,
  .create-vcard-section .vcard-link-card,
  .qr-code-section .qr-code,
  .contact-us-section .contact-form,
  .business-hour-section .days,
  .gallery-section .gallery-slider .gallery-img,
  .gallery-section .gallery-slider .gallery-item,
  .map-border-main,
  .ch-section .card { border-radius: 16px !important; }
  .candle-section, .virtual-candle {
    border: 1px solid var(--c-line) !important;
    border-radius: 20px !important;
    padding: 34px 20px !important;
    margin-inline: 16px;
  }
  .expand-icon { border-radius: 10px !important; }

  /* odkazy rodiny jako řádky seznamu */
  .custom-link a,
  .custom-link .link-text {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    border-radius: 14px !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
  }
  .custom-link a::after { content: "›"; color: var(--c-gold); font-size: 20px; line-height: 1; opacity: 0.75; }

  /* akce na celou šířku, dotyk min. 48 px */
  .btn-primary,
  .contact-btn,
  .send-btn,
  #lightCandle,
  .act-now {
    width: 100%;
    min-height: 52px;
    border-radius: 999px !important;
    padding: 16px 24px !important;
    letter-spacing: 0.16em;
  }
  .view-more, .read-more { border-radius: 999px !important; min-height: 44px; }
  .form-control, .input-box { border-radius: 12px !important; font-size: 16px !important; }
  .fixed-btn-section { bottom: calc(24px + env(safe-area-inset-bottom)) !important; right: 16px !important; top: auto !important; }
  .btn-section { top: auto !important; bottom: 0 !important; right: 0 !important; }
}

@media (max-width: 359px) {
  .profile-section .profile-name h2 { font-size: 27px !important; }
  .px-30 { padding-left: 13px !important; padding-right: 13px !important; }
}

/* ============================================================
   18. NÁBĚH A OMEZENÍ POHYBU
   ============================================================ */
@keyframes c-rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.banner-section,
.profile-section,
.gallery-section,
.our-services-section,
.contact-section,
.product-section,
.testimonial-section,
.blog-section,
.qr-code-section,
.contact-us-section {
  animation: c-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* ============================================================
   19. TISK
   ============================================================ */
@media print {
  html, body, .main-content {
    background: #fff !important;
    color: #111 !important;
    max-width: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  .btn-section,
  .sticky-vcard-div,
  .language-btn,
  .vector-all,
  .modal,
  .support-banner,
  .pwa-support,
  .slick-dots,
  #lightCandle,
  .view-more,
  .read-more,
  .dn-nav-btn { display: none !important; }
  .banner-section .banner-img { height: 200px !important; }
  .profile-section .card .card-img { filter: none !important; }
  .profile-section .profile-name h2 { font-size: 32pt !important; color: #111 !important; }
  .section-heading h2, .section-heading h3 { color: #6b5a2e !important; }
  .contact-box,
  .service-card,
  .testimonial-card,
  .qr-code,
  .days { break-inside: avoid; border-color: #ccc !important; }
  .section-heading { break-after: avoid; }
  a { color: #111 !important; }
}
