.wpt-wrap{position:relative}
/* Containers */
.wpt-grid .wpt-items{display:grid;gap:var(--wpt-gap)}
.wpt-grid[data-grid-style="masonry"] .wpt-items{display:block;column-gap:var(--wpt-gap);padding-left:calc(var(--wpt-gap)/2);padding-right:calc(var(--wpt-gap)/2)}
.wpt-slider .wpt-items{display:flex;overflow:hidden;scroll-behavior:smooth}
/* Slider slides */
.wpt-slider .wpt-slide{flex:0 0 auto;min-width:100%;max-width:100%;padding-inline:calc(var(--wpt-gap)/2);box-sizing:border-box;display:flex;justify-content:center}
/* Grid items */
.wpt-grid .wpt-item{padding:0}
.wpt-grid[data-grid-style="equal"] .wpt-item{display:flex}
.wpt-grid[data-grid-style="equal"] .wpt-card{flex:1;height:100%}
.wpt-grid[data-grid-style="masonry"] .wpt-item{break-inside:avoid;margin:0 0 var(--wpt-gap)}
/* Card wrapper */
.wpt-card{width:100%;max-width:var(--wpt-card-max);margin:0 auto}
/* Reset default blockquote margins to prevent column offset */
.wpt-wrap blockquote.wpt-bubble{
  /* Use the shortcode variables for border and spacing */
  border-width: var(--wpt-bq-border, 0px);
  border-left: var(--wpt-bq-border, 0px) solid var(--wpt-accent, currentColor);
  margin-bottom: 1em;
}
.wpt-bubble{
  margin:0;
  background: var(--wpt-card-bg, #fff);
  color: var(--wpt-text, inherit);
  border-radius: var(--wpt-radius, 0);
  padding: var(--wpt-padding, 0);
  box-shadow: var(--wpt-shadow, none);
}
/* Author row basic layout (visual spacing controlled by Divi) */
.wpt-author{display:flex;align-items:center;gap:12px}
.wpt-author-text{font-size: var(--wpt-author-text-size, inherit); color: var(--wpt-text, inherit)}
.wpt-photo{object-fit:cover}
/* Stars use accent color and size from variables */
.wpt-stars{display:inline-flex;gap:2px;color: var(--wpt-accent, currentColor); font-size: var(--wpt-stars-size, inherit)}
.wpt-stars .star{position:relative;display:inline-block;line-height:1}
.wpt-stars .star.half{color:currentColor}
.wpt-stars .star.half::before{content:'★';position:absolute;left:0;top:0;overflow:hidden;width:0.5em}
/* arrows */
.wpt-prev,.wpt-next{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:1;transition:opacity .2s}
.wpt-prev{left:-8px}
.wpt-next{right:-8px}
/* arrows visibility modes */
.wpt-wrap[data-arrows="hide"] .wpt-prev,
.wpt-wrap[data-arrows="hide"] .wpt-next{display:none}
.wpt-wrap[data-arrows="hover"] .wpt-prev,
.wpt-wrap[data-arrows="hover"] .wpt-next{opacity:0}
.wpt-wrap[data-arrows="hover"]:hover .wpt-prev,
.wpt-wrap[data-arrows="hover"]:hover .wpt-next{opacity:1}
/* dots */
.wpt-dots{display:flex;gap:6px;justify-content:center}
.wpt-dots button{width:8px;height:8px;border-radius:50%;border:none}

/* Minimal visual defaults for elements without Divi controls */
.wpt-bubble{position:relative;overflow:visible !important}
/* Bubble tail variants + border notch mask */
/* Hide tail entirely */
.wpt-bubble.bubble-none::after{content:none}

/* The tail shape (behind the bubble) */
.wpt-bubble[class*="bubble-"]::after{
  content:"";position:absolute;width:14px;height:14px;background-color:inherit;border:inherit;box-shadow:inherit;transform:rotate(45deg);pointer-events:none;z-index:-1;
}
.wpt-bubble.bubble-bottom-left::after{bottom:calc(-1 * var(--wpt-border-width, 0px) - 7px);left:24px}
.wpt-bubble.bubble-bottom-center::after{bottom:calc(-1 * var(--wpt-border-width, 0px) - 7px);left:50%;margin-left:-7px}
.wpt-bubble.bubble-bottom-right::after{bottom:calc(-1 * var(--wpt-border-width, 0px) - 7px);right:24px}

/* Border notch: use a tail-shaped mask above the bubble border to hide the intersecting segment under the tail. */
.wpt-bubble[class*="bubble-"]::before{
  content:""; position:absolute; width:14px; height:14px;
  background-color:inherit; transform:rotate(45deg); pointer-events:none;
  z-index:1; bottom: -7px;
}
/* Align the mask to the same horizontal position as the tail */
.wpt-bubble.bubble-bottom-left::before{ left: calc(24px + var(--wpt-border-width, 0px)) }
.wpt-bubble.bubble-bottom-center::before{ left:50%; margin-left:-7px; }
.wpt-bubble.bubble-bottom-right::before{ right: calc(24px + var(--wpt-border-width, 0px)) }
/* Avatar rounding + size (override-ready) */
.wpt-photo{width:var(--wpt-photo-size,48px);height:var(--wpt-photo-size,48px);border-radius:50%}

/* Half star rendering (non-intrusive; colors controlled by Divi) */
.wpt-stars{display:inline-flex;gap:2px}
.wpt-stars .star{position:relative;display:inline-block;line-height:1}
.wpt-stars .star.half{color:currentColor}
.wpt-stars .star.half::before{content:'★';position:absolute;left:0;top:0;overflow:hidden;width:0.5em}
