.ek-testimonials{--ek-blue:#09009b;--ek-yellow:#e4c101;display:grid;gap:24px;grid-template-columns:repeat(4,minmax(0,1fr));font-family:inherit}.ek-testimonials.ek-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ek-testimonial-card{background:#fff;border:1px solid rgba(9,0,155,.10);border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(9,0,80,.08);display:flex;flex-direction:column;min-width:0;transition:transform .2s ease,box-shadow .2s ease}.ek-testimonial-card:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(9,0,155,.13)}.ek-card-image{aspect-ratio:16/9;overflow:hidden;background:#f4f5ff}.ek-card-image img{width:100%;height:100%;object-fit:cover;display:block}.ek-card-body{padding:25px;display:flex;flex-direction:column;flex:1}.no-image .ek-card-body{padding-top:30px}.ek-stars{color:var(--ek-yellow);letter-spacing:2px;font-size:18px;line-height:1}.ek-quote{font-size:17px;line-height:1.65;color:#282b4b;margin:15px 0;flex:1}.no-image .ek-quote{font-size:18px}.ek-divider{height:1px;background:rgba(9,0,155,.12);margin:0 0 17px}.ek-person{display:block}.ek-person strong{display:block;color:var(--ek-blue);font-size:16px;font-weight:700}.ek-person small{display:block;color:#596078;margin-top:3px}.ek-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#535b73;font-size:13px;margin-top:15px}.ek-meta span:first-child{color:#383f5c}.ek-more{width:100%;margin-top:20px;border:0;border-radius:999px;background:var(--ek-blue);color:#fff;padding:14px 18px;font-weight:700;letter-spacing:.035em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.ek-more:hover{background:#07007d;transform:translateY(-1px);box-shadow:0 8px 20px rgba(9,0,155,.20)}.ek-more:focus-visible{outline:3px solid rgba(228,193,1,.45);outline-offset:2px}.ek-more span{margin-left:6px}.ek-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}.ek-modal.is-open{display:flex}.ek-modal-backdrop{position:absolute;inset:0;background:rgba(5,4,38,.72);backdrop-filter:blur(3px)}.ek-modal-panel{position:relative;z-index:1;background:#fff;border-radius:18px;max-width:920px;width:100%;max-height:88vh;overflow:auto;display:grid;grid-template-columns:minmax(280px,44%) 1fr;box-shadow:0 25px 80px rgba(0,0,0,.3);border:1px solid rgba(9,0,155,.10)}.ek-modal-panel:not(:has(.ek-modal-image)){grid-template-columns:1fr;max-width:680px}.ek-modal-image{min-height:100%;background:#f4f5ff}.ek-modal-image img{width:100%;height:100%;object-fit:cover;display:block}.ek-modal-content{padding:42px}.ek-modal-content h3{font-size:28px;color:var(--ek-blue);margin:13px 0 16px}.ek-full-text{color:#353953;font-size:16px;line-height:1.75}.ek-modal-person{border-top:1px solid rgba(9,0,155,.12);margin-top:22px;padding-top:18px;display:flex;flex-direction:column}.ek-modal-person strong{color:var(--ek-blue)}.ek-modal-person span{color:#626981;font-size:14px;margin-top:3px}.ek-modal-close{position:absolute;right:14px;top:10px;z-index:3;border:0;background:rgba(255,255,255,.94);width:38px;height:38px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;color:var(--ek-blue);box-shadow:0 2px 12px rgba(9,0,155,.10)}.ek-modal-open{overflow:hidden}@media(max-width:1100px){.ek-testimonials,.ek-testimonials.ek-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ek-testimonials,.ek-testimonials.ek-cols-3{grid-template-columns:1fr}.ek-modal{padding:12px}.ek-modal-panel{grid-template-columns:1fr}.ek-modal-image{height:230px}.ek-modal-content{padding:28px 22px}.ek-card-body{padding:22px}}

/* v1.0.3: title + visitor impression form. Typography inherits the active theme/Elementor global font. */
.ek-testimonials-wrap,.ek-testimonials-wrap button,.ek-testimonials-wrap input,.ek-testimonials-wrap textarea{font-family:inherit}
.ek-testimonials-toolbar{display:flex;justify-content:flex-end;margin:0 0 22px}
.ek-submit-impression{border:0;border-radius:999px;background:#09009b;color:#fff;padding:13px 22px;font-weight:700;letter-spacing:.035em;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.ek-submit-impression:hover{background:#07007d;transform:translateY(-1px);box-shadow:0 8px 20px rgba(9,0,155,.18)}
.ek-submit-impression:focus-visible{outline:3px solid rgba(228,193,1,.45);outline-offset:2px}
.ek-testimonial-title{font-family:inherit;color:#09009b;font-size:20px;line-height:1.3;margin:12px 0 0;font-weight:700}
.ek-testimonial-title+.ek-quote{margin-top:10px}
.ek-form-panel{display:block!important;max-width:620px!important}
.ek-form-panel .ek-modal-content{padding:38px 42px 42px}
.ek-form-panel h3{font-family:inherit;margin:0 0 8px;color:#09009b}
.ek-form-intro{margin:0 0 24px;color:#596078}
.ek-impression-form{display:grid;gap:17px}
.ek-impression-form label{display:grid;gap:7px;color:#282b4b;font-weight:600}
.ek-impression-form input,.ek-impression-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(9,0,155,.20);border-radius:10px;background:#fff;color:#282b4b;padding:12px 14px;font:inherit;outline:none}
.ek-impression-form input:focus,.ek-impression-form textarea:focus{border-color:#09009b;box-shadow:0 0 0 3px rgba(9,0,155,.08)}
.ek-impression-form textarea{resize:vertical;min-height:150px}
.ek-form-submit{border:0;border-radius:999px;background:#09009b;color:#fff;padding:14px 20px;font-weight:700;letter-spacing:.035em;cursor:pointer}
.ek-form-submit:hover{background:#07007d}.ek-form-submit:disabled{opacity:.65;cursor:wait}
.ek-form-status{min-height:22px;font-size:14px}.ek-form-status.is-success{color:#237a32}.ek-form-status.is-error{color:#b42318}
.ek-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:700px){.ek-testimonials-toolbar{justify-content:stretch}.ek-submit-impression{width:100%}.ek-form-panel .ek-modal-content{padding:30px 22px}}

/* v1.0.5 metadata icons */
.ek-meta span{display:inline-flex;align-items:center;gap:7px}.ek-meta-icon{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#09009b}.ek-meta span:first-child .ek-meta-icon{color:#e4c101}

/* v1.0.6 compact card layout — keeps all content and artwork while reducing vertical footprint */
.ek-testimonials{gap:20px;align-items:stretch}
.ek-testimonial-card{border-radius:14px}
.ek-card-image{aspect-ratio:auto;height:145px;flex:0 0 145px}
.ek-card-body{padding:17px 18px 16px}
.no-image .ek-card-body{padding-top:18px}
.ek-stars{font-size:16px;letter-spacing:1.5px}
.ek-testimonial-title{font-size:18px;line-height:1.22;margin:8px 0 0}
.ek-testimonial-title+.ek-quote{margin-top:7px}
.ek-quote,.no-image .ek-quote{font-size:14.5px;line-height:1.48;margin:8px 0 10px;flex:0 0 auto}
.ek-divider{margin:0 0 10px}
.ek-person strong{font-size:14.5px;line-height:1.25}
.ek-person small{font-size:12.5px;line-height:1.25;margin-top:2px}
.ek-meta{gap:6px 13px;font-size:12px;line-height:1.25;margin-top:9px}
.ek-meta span{gap:5px}
.ek-meta-icon{width:15px;height:15px;flex-basis:15px}
.ek-more{margin-top:auto;padding:10px 14px;min-height:40px;font-size:12.5px;line-height:1.2}
@media(max-width:1100px){.ek-card-image{height:155px;flex-basis:155px}}
@media(max-width:700px){.ek-card-image{height:170px;flex-basis:170px}.ek-card-body{padding:18px}.ek-quote,.no-image .ek-quote{font-size:15px}.ek-testimonial-title{font-size:19px}}

/* v1.0.8 — CTA anchored to card bottom; metadata keeps fixed breathing room */
.ek-meta{margin-bottom:18px}
.ek-more{margin-top:auto}
.ek-meta + .ek-more{margin-top:auto}


/* v1.0.10 — compact inline read-more; shown only when the excerpt is actually truncated */
.ek-card-body .ek-more{align-self:flex-start;width:auto;min-height:0;margin:0 0 10px;padding:0;border:0;border-radius:0;background:transparent;color:#09009b;font-size:12.5px;line-height:1.35;font-weight:700;letter-spacing:0;box-shadow:none;text-decoration:none}
.ek-card-body .ek-more:hover{background:transparent;color:#07007d;transform:none;box-shadow:none;text-decoration:underline;text-underline-offset:3px}
.ek-card-body .ek-more:focus-visible{outline:2px solid rgba(228,193,1,.65);outline-offset:3px}
.ek-card-body .ek-more span{margin-left:3px}
.ek-card-body .ek-more + .ek-divider{margin-top:1px}
.ek-meta{margin-bottom:0}


/* v1.0.11 — keep guest/location/date aligned at the bottom of equal-height cards */
.ek-card-footer{margin-top:auto}
.ek-card-footer .ek-divider{margin-top:0}
.ek-card-body>.ek-more{margin-bottom:10px}

/* v1.0.12 — slightly airier grid and card rhythm */
.ek-testimonials{column-gap:26px;row-gap:26px}
.ek-testimonial-title{margin-top:11px}
.ek-testimonial-title+.ek-quote{margin-top:10px}
.ek-quote,.no-image .ek-quote{margin-bottom:13px}
.ek-card-body>.ek-more{margin-bottom:13px}
.ek-card-footer .ek-divider{margin-bottom:13px}
.ek-person small{margin-top:4px}
.ek-meta{margin-top:12px}
@media(max-width:700px){.ek-testimonials{column-gap:22px;row-gap:22px}}
