/* vcard22 layout overrides — kept separate so Mix rebuilds do not wipe them */

.vcard22-main {
  --vcard-section-gap: 24px;
}

.vcard22-main .profile-desc {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.vcard22-main .profile-desc > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Space between contact buttons and intro description */
.vcard22-main .profile-desc.profile-desc--after-actions {
  padding-top: var(--vcard-section-gap) !important;
}

.vcard22-main .profile-desc.profile-desc--after-actions > p:first-child {
  margin-top: 0 !important;
}

/* Hide empty blocks that still reserved section gap */
.vcard22-main .social-media-section:not(:has(.social-icon)),
.vcard22-main .custom-link-section:not(:has(a)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Keep a small gap between the two button rows */
/* Cover mode: keep buttons close under the overlapping logo */
.vcard22-main .banner-section .vcard-logo-below-cover {
  height: 0;
  margin: 0 !important;
  padding: 0 !important;
}

/* Do not force banner padding here — cover mode sets its own half-logo gap */
.vcard22-main .profile-section.height_titlecard,
.vcard22-main .profile-section .card,
.vcard22-main .profile-section .card-body {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* Profile title uses layout text color (not primary/lime) */
.vcard22-main .profile-name h2,
.vcard22-main .profile-name .profile-title,
.vcard22-main .profile-name .text-primary {
  color: var(--gray-100, #000000) !important;
}

.vcard22-main .profile-name {
  margin-top: 4px !important;
  margin-bottom: 8px !important;
}

.vcard22-main .action-buttons {
  margin-top: 4px !important;
}

.vcard22-main .profile-section.has-profile-title .profile-name,
.vcard22-main .profile-name.has-profile-title {
  margin-top: 16px !important;
  margin-bottom: 18px !important;
  padding: 0 12px !important;
}

.vcard22-main .profile-section.has-profile-title .profile-title {
  line-height: 1.25 !important;
  margin-bottom: 0 !important;
}

.vcard22-main .profile-section.has-profile-title .action-buttons:not(.action-buttons--last) {
  margin-top: 16px !important;
}

/* Equal vertical rhythm between content sections */
.vcard22-main .vcard-one__event,
.vcard22-main .rs1-blog-section,
.vcard22-main .rs2-blog-section,
.vcard22-main .rs3-blog-section,
.vcard22-main .rs4-blog-section,
.vcard22-main .rs5-blog-section,
.vcard22-main .rs6-blog-section,
.vcard22-main .gallery-section,
.vcard22-main .our-services-section,
.vcard22-main .appointment-section,
.vcard22-main .product-section,
.vcard22-main .business-hour-section,
.vcard22-main .testimonial-section,
.vcard22-main .vcard-review-block,
.vcard22-main .custom-link-section,
.vcard22-main .social-media-section,
.vcard22-main .wifi-section,
.vcard22-main #wifi-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--vcard-section-gap) !important;
  padding-bottom: 0 !important;
}

.vcard22-main .rs1-blog-container,
.vcard22-main .rs2-blog-container,
.vcard22-main .rs3-blog-container,
.vcard22-main .rs4-blog-container,
.vcard22-main .rs5-blog-container,
.vcard22-main .rs6-blog-container {
  gap: 16px !important;
}

.vcard22-main .rs1-blog-heading,
.vcard22-main .rs2-blog-heading,
.vcard22-main .rs3-blog-heading,
.vcard22-main .rs4-blog-heading,
.vcard22-main .rs5-blog-heading,
.vcard22-main .rs6-blog-heading,
.vcard22-main .gallery-section .section-heading,
.vcard22-main .our-services-section .section-heading,
.vcard22-main .vcard-review-block .section-heading {
  margin-bottom: 12px !important;
}

.vcard22-main .vcard-review-block {
  padding-bottom: var(--vcard-section-gap) !important;
}

/* Blog list titles / snippets follow layout text color */
.vcard22-main .rs1-blog-subtitle,
.vcard22-main .rs2-blog-subtitle,
.vcard22-main .rs3-blog-subtitle,
.vcard22-main .rs4-blog-subtitle,
.vcard22-main .rs5-blog-subtitle,
.vcard22-main .rs6-blog-subtitle,
.vcard22-main .rs1-blog-snippet,
.vcard22-main .rs2-blog-snippet,
.vcard22-main .rs3-blog-snippet,
.vcard22-main .rs4-blog-snippet,
.vcard22-main .rs5-blog-snippet,
.vcard22-main .rs6-blog-snippet,
.vcard22-main .rs1-blog-more,
.vcard22-main .rs2-blog-more,
.vcard22-main .rs3-blog-more,
.vcard22-main .rs4-blog-more,
.vcard22-main .rs5-blog-more,
.vcard22-main .rs6-blog-more {
  color: var(--gray-100, #000000) !important;
}

.vcard22-main .rs1-blog-heading h2,
.vcard22-main .rs2-blog-heading h2,
.vcard22-main .rs3-blog-heading h2,
.vcard22-main .rs4-blog-heading h2,
.vcard22-main .rs5-blog-heading h2,
.vcard22-main .rs6-blog-heading h2,
.vcard22-main .profile-company {
  color: var(--gray-100, #000000) !important;
}

/* Service / product / testimonial titles on light cards:
   never use neon --primary-color (lime) — use layout text color */
.vcard22-main .our-services-section .services .service-card .card-title,
.vcard22-main .our-services-section .services .services-slider-view .service-card .card-title,
.vcard22-main .product-section .product-card .product-head,
.vcard22-main .product-section .product-card .text-primary,
.vcard22-main .product-section .product-card .amount,
.vcard22-main .product-section .product-card .amount span,
.vcard22-main .testimonial-section .testimonial-card h3,
.vcard22-main .testimonial-section .testimonial-card .text-primary,
.vcard22-main .testimonial-section .testimonial-card .profile-desc h3 {
  color: #ffffff !important;
}

/* Testimonials: balanced padding, no awkward empty gap / scrollbar */
.vcard22-main .testimonial-section .section-heading {
  margin-bottom: 14px !important;
}

.vcard22-main .testimonial-section .testimonial-slider .testimonial-card {
  padding: 22px 22px 18px !important;
  margin: 0 8px !important;
  overflow: hidden;
}

.vcard22-main .testimonial-section .testimonial-slider .testimonial-card .card-body {
  padding: 0 !important;
}

.vcard22-main .testimonial-section .testimonial-card-inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vcard22-main .testimonial-section .testimonial-slider .testimonial-card .card-body .desc {
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  word-break: break-word;
}

.vcard22-main .testimonial-section .testimonial-card-footer {
  margin-top: 0 !important;
  gap: 10px;
}

.vcard22-main .testimonial-section .testimonial-profile-img {
  margin-top: 0 !important;
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  overflow: hidden;
}

.vcard22-main .testimonial-section .profile-desc {
  margin-top: 0 !important;
}

.vcard22-main .testimonial-section .testimonial-slider .testimonial-card .card-body .quote-img {
  width: 42px !important;
  min-width: 42px !important;
  height: 32px !important;
  opacity: 0.85;
}

/* Space between testimonials and the map below */
.vcard22-main .testimonial-section {
  padding-bottom: 28px !important;
  margin-bottom: 0 !important;
}

.vcard22-main iframe[src*="maps.google"],
.vcard22-main .embed-responsive.embed-responsive-16by9 {
  margin-top: 4px;
}

@media (max-width: 575px) {
  .vcard22-main .testimonial-section .testimonial-slider .testimonial-card {
    padding: 18px 16px 14px !important;
  }

  .vcard22-main .testimonial-section .testimonial-card-inner {
    gap: 12px;
  }

  .vcard22-main .testimonial-section .testimonial-slider .testimonial-card .card-body .quote-img {
    width: 32px !important;
    min-width: 32px !important;
    height: 24px !important;
  }

  .vcard22-main .testimonial-section {
    padding-bottom: 22px !important;
  }
}

/* Inline text-primary links/icons on the page (white/light bg) */
.vcard22-main .product-section .view-more a.text-primary,
.vcard22-main .product-section a.text-primary.text-decoration-underline,
.vcard22-main .create-vcard-section .text-primary,
.vcard22-main .create-vcard-section .vcard-link-card .link-text {
  color: var(--green-100, #3182bd) !important;
}

/* Section headings that still map to primary/lime */
.vcard22-main .section-heading h2,
.vcard22-main .vcard-twentytwo-heading,
.vcard22-main .vcard-prodcut-heading {
  color: var(--gray-100, #000000) !important;
}

/* Social icon captions (Τοποθεσία / Facebook / …) use absolute positioning and
   overflow into the next section (e.g. under the WiFi title). Hide on vcard22. */
.vcard22-main .title_icons_social,
.vcard22-main .social-media-section .title_icons_social,
.vcard22-main .social-icon .title_icons_social {
  display: none !important;
}
