/* Klyvora Technology — opiniones públicas, diseño responsive */
.kv-reviews-section,.kv-reviews-list-section{position:relative}
.kv-reviews-section{padding-block:clamp(60px,7vw,98px);background:radial-gradient(ellipse at 15% 15%,rgba(21,85,155,.15),transparent 62%)}
.kv-reviews-list-section{padding-block:clamp(56px,6vw,90px) 96px;background:linear-gradient(180deg,rgba(10,32,56,.38),transparent)}
.kv-reviews-head{max-width:100%;margin-bottom:30px}
.kv-reviews-head h2{font-size:clamp(30px,4.2vw,57px);line-height:1.07;letter-spacing:-.04em;margin:14px 0 16px;color:var(--text,#f3f7ff)}
.kv-reviews-head h2 span{color:#58d9fb}
.kv-reviews-head>p{color:#adbed5;max-width:710px;font-size:17px;line-height:1.75}
.kv-reviews-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.78fr);gap:26px;align-items:start}
.kv-review-form-panel,.kv-review-side{background:linear-gradient(145deg,#112e4b,#091a30 78%);border:1px solid rgba(86,184,241,.27);border-radius:24px;box-shadow:0 24px 70px rgba(0,6,18,.18)}
.kv-review-form-panel{padding:clamp(22px,3.1vw,42px)}
.kv-form-title{display:flex;align-items:center;gap:16px;margin-bottom:30px}
.kv-form-title img{display:block;flex:0 0 72px;object-fit:contain}
.kv-form-title h3{margin:0 0 5px;font-size:24px;color:#fff;line-height:1.2}
.kv-form-title p{margin:0;color:#abc2d6}
.kv-review-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kv-field{display:flex;flex-direction:column;gap:9px;margin-bottom:23px;min-width:0}
.kv-field label,.kv-rating-field legend{font-weight:750;color:#e7f2ff;font-size:15px;margin-bottom:4px}
.kv-field input,.kv-field select,.kv-field textarea{width:100%;box-sizing:border-box;border-radius:13px;border:1px solid rgba(112,186,237,.36);background:#081b30;color:#edf8ff;font:inherit;font-size:15px;line-height:1.45;padding:14px 15px;outline:0;transition:border-color .2s,box-shadow .2s}
.kv-field input::placeholder,.kv-field textarea::placeholder{color:#91a8be;opacity:1}
.kv-field input:focus,.kv-field select:focus,.kv-field textarea:focus{border-color:#59dfff;box-shadow:0 0 0 3px rgba(55,190,235,.15)}
.kv-field select option{color:#101e32;background:white}
.kv-field textarea{resize:vertical;min-height:130px}
.kv-field small{color:#a2bcd2;font-size:12px;align-self:flex-end}
.kv-rating-field{min-width:0;padding:0;margin:0 0 20px;border:0}
.kv-rating-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
.kv-rating-buttons button{border:1px solid rgba(123,193,228,.29);background:#081e35;color:#4e708f;border-radius:12px;font:inherit;font-size:38px;line-height:1;width:57px;height:58px;cursor:pointer;transition:color .14s,background .14s,transform .14s}
.kv-rating-buttons button.is-active{color:#ffc75c;background:#18374d;border-color:rgba(255,208,97,.48);text-shadow:0 0 16px rgba(250,200,72,.17)}
.kv-rating-buttons button:hover{transform:translateY(-2px)}
.kv-rating-buttons button:focus-visible{outline:3px solid #6eeaff;outline-offset:3px}
.kv-rating-label{font-size:13px;color:#abc7dd;margin:10px 0 0}
.kv-review-privacy{font-size:12px;line-height:1.7;color:#a9c2d3;margin:15px 0 20px}
.kv-review-privacy a{color:#74e7ff;text-decoration:underline}
.kv-honeypot{position:absolute;left:-99999px;opacity:0;pointer-events:none}
.kv-review-feedback{margin:12px 0 6px;font-size:14px;line-height:1.55;color:#b8ddf1;min-height:0}
.kv-review-feedback[data-state="error"]{color:#ffb9b8}.kv-review-feedback[data-state="success"]{color:#83eab9}
.kv-review-submit{width:100%;justify-content:center;margin-top:10px;min-height:51px}
.kv-review-submit:disabled{opacity:.6;cursor:wait}
.kv-review-side{padding:34px 30px;position:relative;overflow:hidden}
.kv-review-side:before{content:"";position:absolute;inset:-80px -100px auto auto;width:235px;height:235px;border-radius:50%;background:radial-gradient(circle,rgba(55,192,245,.16),transparent 75%);pointer-events:none}
.kv-review-side>img{display:block;margin-bottom:25px;width:110px;height:110px;object-fit:contain}
.kv-review-side h3{color:#f5faff;line-height:1.18;font-size:clamp(24px,2.5vw,33px);margin:15px 0 19px}
.kv-review-side p{font-size:15px;line-height:1.8;color:#b4c9dc}
.kv-reviews-link{display:inline-block;font-weight:700;color:#75eaff;margin-top:10px}
.kv-review-list-title{display:flex;align-items:end;justify-content:space-between;gap:20px}
.kv-reviews-summary{white-space:nowrap;display:flex;align-items:center;gap:9px;border:1px solid #27658c;background:rgba(15,53,81,.5);padding:12px 15px;border-radius:14px}
.kv-reviews-summary[hidden]{display:none!important}
.kv-reviews-summary strong{color:#fff;font-size:27px}
.kv-reviews-summary span,.kv-review-card-stars{color:#ffc55b;letter-spacing:2px;font-size:20px}
.kv-reviews-summary small{color:#a8c3d6;font-size:12px}
.kv-reviews-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kv-review-card{min-width:0;background:linear-gradient(145deg,#102b49,#0a1f37);border:1px solid rgba(103,193,246,.25);padding:26px;border-radius:20px;box-shadow:0 15px 40px rgba(0,10,28,.12)}
.kv-review-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kv-review-card-person{font-weight:800;font-size:18px;color:#f6faff;overflow-wrap:anywhere}
.kv-review-card-date{color:#9db9d0;font-size:12px}
.kv-review-card-stars{margin:13px 0 10px;font-size:22px}
.kv-review-card-service{display:inline-block;font-size:12px;padding:6px 9px;border-radius:100px;color:#6ce6ff;border:1px solid rgba(90,215,248,.31);background:rgba(19,95,143,.22);margin-bottom:14px}
.kv-review-card-body{color:#c6d9e9;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap;font-size:15px;margin:0}
.kv-reviews-placeholder{grid-column:1/-1;color:#b2c6da;background:rgba(13,41,68,.48);border:1px dashed rgba(104,176,222,.28);border-radius:18px;padding:33px;margin:0}
.kv-reviews-more{text-align:center;margin-top:28px}
.kv-reviews-more button[hidden]{display:none}
html[data-theme="light"] .kv-reviews-head h2{color:#17283c}
html[data-theme="light"] .kv-review-form-panel,html[data-theme="light"] .kv-review-side,html[data-theme="light"] .kv-review-card{background:linear-gradient(145deg,#153756,#0e2742)}
html[data-theme="light"] .kv-reviews-head>p{color:#47627b}
@media(max-width:980px){.kv-reviews-layout{grid-template-columns:1fr}.kv-reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}.kv-review-side{padding:25px 28px}}
@media(max-width:620px){.kv-reviews-list{grid-template-columns:1fr}.kv-reviews-layout{gap:16px}.kv-review-form-row{grid-template-columns:1fr;gap:0}.kv-review-form-panel{padding:20px 17px}.kv-form-title img{width:57px;height:57px;flex-basis:57px}.kv-form-title h3{font-size:21px}.kv-rating-buttons{gap:7px}.kv-rating-buttons button{width:calc((100% - 28px)/5);height:54px;font-size:32px}.kv-review-list-title{align-items:start;flex-direction:column}.kv-reviews-summary{margin-bottom:14px}.kv-review-card{padding:23px}.kv-reviews-head h2{font-size:32px}}

/* Invitaciones únicas */
.kv-invitation-status{border:1px solid rgba(95,192,233,.34);border-radius:12px;background:rgba(11,48,76,.75);color:#d0e8f6;padding:12px 16px;margin:0 0 18px;font-size:14px;line-height:1.55}
.kv-invitation-status[data-state="success"]{border-color:rgba(98,220,176,.55);color:#93f2cb}

/* Distinción visible solo para opiniones recibidas mediante invitación personal */
.kv-review-verified{display:inline-flex;align-items:center;margin:0 0 14px 8px;padding:6px 9px;border-radius:100px;border:1px solid rgba(98,220,176,.44);color:#9ff2cf;background:rgba(23,93,66,.29);font-size:12px;font-weight:750;vertical-align:middle}
