.gws-core-comparison {
  --gws-position: 50%;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid #e7deda;
  border-radius: 24px;
  background: #f9f1f0;
  box-shadow: 0 10px 30px rgb(54 35 35 / 8%);
  user-select: none;
  isolation: isolate;
}
@media (min-width: 640px) { .gws-core-comparison { aspect-ratio: 5 / 4; } }
.gws-core-comparison img.gws-core-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
  pointer-events: none;
}
.gws-core-before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--gws-position)) 0 0); z-index: 2; pointer-events: none; }
.gws-core-label { position: absolute; top: 16px; z-index: 1; padding: 6px 12px; border-radius: 999px; font-family: inherit; font-size: 10px; line-height: 1.5; font-weight: 600; text-transform: uppercase; letter-spacing: 0.22em; backdrop-filter: blur(8px); pointer-events: none; }
.gws-core-label-after { right: 16px; background: rgb(255 255 255 / 90%); color: #332b2b; }
.gws-core-label-before { left: 16px; background: rgb(51 43 43 / 85%); color: #fff; }
.gws-core-handle { position: absolute; top: 0; bottom: 0; left: var(--gws-position); width: 3px; background: rgb(255 255 255 / 95%); transform: translateX(-50%); box-shadow: 0 0 18px rgb(0 0 0 / 35%); z-index: 3; pointer-events: none; }
.gws-core-handle > span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 48px; height: 48px; background: #fff; color: #332b2b; border: 1px solid #e7deda; border-radius: 50%; box-shadow: 0 4px 14px rgb(0 0 0 / 12%); }
.gws-core-comparison input.gws-core-range { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y; direction: ltr; }
.gws-core-comparison:focus-within { outline: 3px solid #845363; outline-offset: 4px; }

/* Testimonial cards: message, author, rating, then portrait. */
.gws-core-testimonial { box-sizing: border-box; width: 100%; margin: 0; padding: clamp(24px, 4vw, 40px); border: 1px solid #e7deda; border-radius: 24px; background: #fffaf9; color: #332b2b; box-shadow: 0 10px 30px rgb(54 35 35 / 8%); text-align: center; }
.gws-core-testimonial .gws-core-testimonial-message { margin: 0 0 24px; padding: 0; border: 0; background: none; color: inherit; font-family: inherit; font-size: clamp(16px, 2vw, 20px); font-style: normal; line-height: 1.7; overflow-wrap: anywhere; }
.gws-core-testimonial-message::before, .gws-core-testimonial-message::after { content: none; }
.gws-core-testimonial-details { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.gws-core-testimonial-author { font-size: 16px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; max-width: 100%; }
.gws-core-testimonial-rating { display: inline-flex; gap: 4px; color: #9a7025; }
.gws-core-testimonial-rating .gws-core-star { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.gws-core-testimonial-rating .gws-core-star.is-filled { fill: currentColor; }
.gws-core-testimonial img.gws-core-testimonial-avatar { display: block; width: 64px; height: 64px; max-width: 100%; margin: 4px 0 0; border-radius: 50%; object-fit: cover; border: 1px solid #e7deda; }

/* Shortcode carousel: two roomy cards, with native touch scrolling as a fallback. */
.gws-core-testimonials { width: 100%; min-width: 0; }
.gws-core-testimonial-track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #f8e5e8 #ffeff0; direction: ltr; }
.gws-core-testimonials.is-enhanced .gws-core-testimonial-track { scrollbar-width: none; }
.gws-core-testimonials.is-enhanced .gws-core-testimonial-track { cursor: grab; }
.gws-core-testimonials.is-enhanced .gws-core-testimonial-track.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
.gws-core-testimonials.is-enhanced .gws-core-testimonial-track::-webkit-scrollbar { display: none; }
.gws-core-testimonial-track > .gws-core-testimonial { display: flex; flex: 0 0 calc((100% - 12px) / 2); flex-direction: column; min-width: 0; min-height: 560px; margin: 0; padding: clamp(28px, 4.5vw, 50px); border: 0; border-radius: 18px; background: #F8E5E8; color: #302126; box-shadow: none; text-align: left; scroll-snap-align: start; }
.gws-core-testimonial-track > .gws-core-testimonial:nth-child(even) { background: #FFEFF0; }
.gws-core-testimonial-track > .gws-core-testimonial:only-child { flex-basis: 100%; }
.gws-core-testimonial-track .gws-core-testimonial-message { margin: 0 0 64px; font-size: clamp(18px, 2vw, 22px); font-weight: 400; line-height: 1.45; }
.gws-core-testimonial-track .gws-core-testimonial-details { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 20px; margin-top: auto; text-align: left; }
.gws-core-testimonial-track .gws-core-testimonial-author { grid-column: 1; font-size: 24px; font-weight: 600; }
.gws-core-testimonial-track .gws-core-testimonial-rating { grid-column: 1; color: #6d3444; gap: 2px; }
.gws-core-testimonial-track img.gws-core-testimonial-avatar { grid-column: 2; grid-row: 1 / 3; width: 72px; height: 72px; margin: 0; border: 0; }
.gws-core-testimonial-controls[hidden] { display: none; }
.gws-core-testimonial-progress { height: 4px; margin-top: 28px; overflow: hidden; background: #FFEFF0; }
.gws-core-testimonial-progress > span { display: block; height: 100%; width: var(--gws-thumb-width, 100%); transform: translateX(var(--gws-thumb-offset, 0%)); background: #F8E5E8; }
.gws-core-testimonial-navigation { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.gws-core-testimonial-navigation button { display: inline-grid; place-items: center; width: 44px; height: 44px; min-width: 44px; padding: 0; border: 1px solid #f8e5e8; border-radius: 50%; background: #ffeff0; color: #302126; font: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.gws-core-testimonial-navigation button:hover:not(:disabled) { background: #f8e5e8; }
.gws-core-testimonial-navigation button:disabled { opacity: .4; cursor: default; }
.gws-core-testimonial-track:focus-visible, .gws-core-testimonial-navigation button:focus-visible { outline: 2px solid #6d3444; outline-offset: 3px; }
@media (max-width: 767px) {
  .gws-core-testimonial-track > .gws-core-testimonial { flex-basis: 100%; min-height: 480px; padding: 30px; }
}
