/*---------------------------------------------------------------------------------

 Theme Name:   Divi-child
 Theme URI:    http://www.elegantthemes.com/gallery/divi/
 Description:  This one is divi child theme
 Author:       Elegant Themes
 Author URI:   http://www.elegantthemes.com
 Template:     Divi
 Version:      4.9.2
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

------------------------------ ADDITIONAL CSS HERE ------------------------------*/

.wptww-avtar-image{
	margin-top:100px;
}

.wptww-circle{
	min-width: 190px!important;
}

.hm-fdslide .wptww-circle{
	min-width: 190px!important;
}



/*front page8*/
.product-item .et_pb_blurb_container {
    padding: 10px;
}
/*front page end*/
div#top-header {
    display: none;
}
.et_pb_section.et_pb_section_0_tb_body.et_pb_with_background.et_section_regular {
    display: none;
}
img#logo {
    width: 133px !important;
}
elevenlabs-convai {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 9999;
}

iframe[data-tally-src] {
  width: 100% !important;
  height: auto !important;
  min-height: 90vh !important;
}


/* ===== Global rules for ALL Content Views grids on this page ===== */

/* 1) Hide the 'Products & Services:' row everywhere */
.pt-cv-view.pt-cv-grid .pt-cv-ctf-products_and_services { 
  display: none !important; 
}

/* 2) Remove "Website:" label prefix (covers label element or pseudo) */
.pt-cv-view.pt-cv-grid .pt-cv-ctf-website::before,
.pt-cv-view.pt-cv-grid .pt-cv-ctf-website > .pt-cv-ctf-label {
  content: none !important;
  display: none !important;
}

/* 3) Hide completely empty custom-field rows (phone/address/etc.) */
.pt-cv-view.pt-cv-grid .pt-cv-ctf-value:empty { display: none !important; }
/* If the plugin outputs an empty value but leaves the column, collapse it */
.pt-cv-view.pt-cv-grid .pt-cv-ctf-column:has(.pt-cv-ctf-value:empty) { display: none !important; }

/* 4) Equal-height cards across each row */
.pt-cv-view.pt-cv-grid .pt-cv-page {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;   /* stretch columns to the tallest card in the row */
}
.pt-cv-view.pt-cv-grid .pt-cv-content-item {
  display: flex;
  flex-direction: column;
}
.pt-cv-view.pt-cv-grid .pt-cv-ifield {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;         /* card body fills available height */
  box-sizing: border-box;
}

/* 5) Consistent logo area and sizing */
.pt-cv-view.pt-cv-grid .pt-cv-href-thumbnail{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 140px;          /* adjust to 130–160px if needed */
  padding: 10px;
  box-sizing: border-box;
}
.pt-cv-view.pt-cv-grid .pt-cv-thumbnail{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* 6) Tidy spacing and push meta to bottom */
.pt-cv-view.pt-cv-grid .pt-cv-title{ margin: 12px 0 8px; }
.pt-cv-view.pt-cv-grid .pt-cv-ctf-list{ margin-top: 6px; }
.pt-cv-view.pt-cv-grid .pt-cv-meta-fields{ margin-top: auto; padding-top: 8px; }

/* Center the ElevenLabs widget and keep desktop width */
elevenlabs-convai {
  display: flex !important;
  justify-content: center;
  width: 100%;
  padding: 64px 16px 120px;      /* top/bottom breathing room */
  box-sizing: border-box;
  position: relative;
  z-index: 5;
}

/* Ensure the overlay inside ElevenLabs stays visible */
elevenlabs-convai .overlay {
  display: flex !important;
  flex-direction: column-reverse;
  justify-content: end;
  align-items: center;
  width: 100%;
  max-width: 400px;              /* desktop cap */
  height: auto;
  box-sizing: border-box;
}

/* Position and size the avatar and call button correctly */
elevenlabs-convai .absolute.origin-top-left {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* —— Mobile view —— */
@media (max-width: 767.98px) {
  elevenlabs-convai {
    padding: 48px 12px 140px;    /* extra room for site’s chat bubble */
  }

  elevenlabs-convai .overlay {
    max-width: 92vw;             /* nearly full width on phones */
    border-radius: 16px;
    height: auto !important;
    max-height: none !important;
  }

  /* Scale down the round animation */
  elevenlabs-convai .relative.shrink-0.w-48.h-48 {
    width: 200px !important;
    height: 200px !important;
  }

  /* Prevent iOS zoom when typing */
  elevenlabs-convai textarea {
    font-size: 16px !important;
  }

  /* Nudge the floating call button to avoid overlap */
  elevenlabs-convai [data-shown="true"].absolute.bottom-0 {
    transform: translate(-50%, 55%) scale(1.15) !important;
  }
}


/* =====================================================
   DIVI BLOG GRID – custom-blog-grid (NO bottom empty space)
   Real grid • Images consistent • Cards NOT stretched
   ===================================================== */

/* 1) Use real CSS Grid */
.custom-blog-grid .et_pb_salvattore_content{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;

  /* IMPORTANT: prevent stretch that creates empty space INSIDE cards */
  align-items: start !important;
}

/* Salvattore columns should not interfere */
.custom-blog-grid .et_pb_salvattore_content > .column{
  display: contents;
}

/* 2) Card container (natural height) */
.custom-blog-grid article.et_pb_post{
  /* REMOVE forced equal height */
  height: auto !important;

  /* Also prevent grid item stretching */
  align-self: start !important;

  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 26px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.custom-blog-grid article.et_pb_post:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(0,0,0,.12);
}

/* 3) Featured image box (consistent height) */
.custom-blog-grid .et_pb_image_container{
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  margin: 0;
}

.custom-blog-grid .et_pb_image_container img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 4) Fallback for posts with NO thumbnail */
.custom-blog-grid article.et_pb_no_thumb::before{
  content: "";
  display: block;
  aspect-ratio: 16 / 10;
  background:
    #f3f5f7
    url("https://cleanbox-technology.websitepro-staging.com/wp-content/uploads/2021/07/logo1.png")
    center / 180px no-repeat;
}

/* 5) Inner spacing */
.custom-blog-grid .entry-title,
.custom-blog-grid .post-meta,
.custom-blog-grid .post-content{
  padding-left: 22px;
  padding-right: 22px;
}

/* Title spacing */
.custom-blog-grid .entry-title{
  padding-top: 18px;
  margin-bottom: 8px;
}

/* Meta spacing */
.custom-blog-grid .post-meta{
  margin-bottom: 10px;
  opacity: .85;
}

/* 6) Excerpt (no clamping so it can grow naturally) */
.custom-blog-grid .post-content{
  margin-top: 0 !important;
  padding-bottom: 22px;
}

.custom-blog-grid .post-content-inner p{
  display: block !important;
  overflow: visible !important;
  line-height: 1.6;
}

/* 7) Optional: clamp ONLY title to keep layout tidy */
.custom-blog-grid .entry-title a{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* 8) Responsive columns */
@media (max-width: 980px){
  .custom-blog-grid .et_pb_salvattore_content{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .custom-blog-grid .et_pb_salvattore_content{
    grid-template-columns: 1fr;
  }
}


.shipping_address {
    display: block !important;
}

.tribe-events-header--has-event-search .tribe-events-header__events-bar, .tribe-events-header--has-event-search .tribe-events-c-top-bar{display:none!important}
.tribe-common-l-container {
	max-width: 1024px;
	width: 1170px !important;
}
.tribe-common.tribe-events {
    margin-top: 150px;
}

.tribe-events-header--has-event-search{position:relative;}
.tribe-events-header--has-event-search::before {
	content: "Events";
	position: relative;
	top: -70px;
	font-family: 'Poppins',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 48px;
	color: #5d4a86 !important;
	line-height: 1.3em;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
	padding-top: 0;
	margin-top:-50px;
}

.tribe-events-calendar-list .tribe-common-g-row .tribe-events-calendar-list__event-date-tag {
	display: none;
}
.tribe-events-calendar-list .tribe-common-g-row {
	width: 50%;margin-top: 20px !important;
}
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
	flex: content;
	
}
.tribe-events .tribe-events-calendar-list__event-details {
	flex: content;
}
.tribe-events-calendar-list article.tribe-common-g-row{min-width:100%;}
.tribe-events-calendar-list {
	display: flex;
	flex-wrap: wrap;
}
.tribe-events-calendar-list .tribe-events-calendar-list__month-separator {
	min-width: 100%;
}
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper .tribe-events-calendar-list__event-featured-image-link {
	max-height: 270px;
	overflow: hidden;
	margin-bottom: 10px;
}
.tribe-events-calendar-list article.tribe-common-g-row h3 a {
	color: #6457b8;
	font-family: Poppins;
	font-weight: 500;
}
/*#tribe-events-content {
	margin-top: 140px;
}*/
.single-tribe_events .tribe-events-single-event-title {
	color: #6457b8;
	font-family: Poppins;
	font-weight: 500;
}
.tribe-events-content {
	font-family: Poppins;
	font-weight: 300;
}
.tribe-events-content p {
	font-size: 16px;
}
.single-tribe_events .type-tribe_events .tribe-events-event-image, .single-tribe_events .type-tribe_events .tribe-events-single-event-description, .single-tribe_events .type-tribe_events .tribe-events-cal-links {
	width: 80% !important;
	float: left;
}
.single-tribe_events .type-tribe_events .tribe-events-event-meta {
	position: absolute;
	top: 0;
	right:0px;
}
