.pp-op-root { --pp-op-blue:#174d77; --pp-op-dark:#142c42; --pp-op-gray:#657384; --pp-op-border:#dce4eb; font-family:inherit; max-width:1120px; margin:0 auto; color:var(--pp-op-dark); }
.pp-op-root *, .pp-op-root *:before, .pp-op-root *:after { box-sizing:border-box; }
.pp-op-intro { margin:0 0 22px; }
.pp-op-intro h2 { font-size:clamp(24px,3vw,34px); font-weight:700; line-height:1.25; margin:0 0 10px; }
.pp-op-intro p { max-width:730px; color:var(--pp-op-gray); }
.pp-op-intro .pp-op-eyebrow { text-transform:uppercase; color:var(--pp-op-blue); letter-spacing:.13em; font-size:12px; font-weight:700; margin:0 0 6px; }
.pp-op-summary { background:#f0f6fa; border-radius:14px; padding:20px 24px; margin:22px 0; display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; }
.pp-op-summary p { margin:0; color:#526171; }
.pp-op-score { display:flex; gap:12px; align-items:center; }
.pp-op-score strong { font-size:31px; line-height:1; }
.pp-op-display-stars { letter-spacing:.08em; color:#e3a026; white-space:nowrap; font-size:19px; }
.pp-op-form-section { background:#fff; border:1px solid var(--pp-op-border); box-shadow:0 8px 25px rgba(18,42,61,.035); padding:clamp(18px,4vw,30px); border-radius:16px; margin:28px 0 42px; scroll-margin-top:30px; }
.pp-op-heading h3,.pp-op-reviews h3 { font-size:clamp(20px,2.4vw,25px); margin:0 0 8px; }
.pp-op-heading p { color:var(--pp-op-gray); margin:0 0 22px; }
.pp-op-form { display:grid; gap:18px; }
.pp-op-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pp-op-field { display:flex; flex-direction:column; gap:7px; position:relative; }
.pp-op-field>label,.pp-op-rating legend { display:block; font-size:14px; font-weight:700; color:#1c3043; margin:0; }
.pp-op-field>label small { font-size:12px; font-weight:400; color:var(--pp-op-gray); }
.pp-op-root .pp-op-field input[type=text],.pp-op-root .pp-op-field input[type=search],.pp-op-root .pp-op-field textarea { color:#1a2e41; display:block; width:100%; max-width:100%; min-height:45px; border:1px solid #cfd9e2; border-radius:8px; padding:10px 12px; margin:0; font-size:15px; background:#fff; box-shadow:none; }
.pp-op-root .pp-op-field textarea { min-height:125px; resize:vertical; }
.pp-op-root .pp-op-field input:focus,.pp-op-root .pp-op-field textarea:focus { border-color:var(--pp-op-blue); outline:2px solid rgba(23,77,119,.16); }
.pp-op-help { margin:0; color:var(--pp-op-gray); font-size:12px; line-height:1.5; }
.pp-op-suggestions { position:absolute; z-index:15; width:100%; top:100%; background:#fff; border:1px solid var(--pp-op-border); box-shadow:0 10px 28px rgba(18,40,61,.17); max-height:290px; overflow-y:auto; border-radius:0 0 10px 10px; }
.pp-op-suggestions[hidden] { display:none; }
.pp-op-result { display:flex; width:100%; gap:10px; align-items:center; cursor:pointer; text-align:left; border:0; border-bottom:1px solid #edf1f4; padding:10px; background:#fff; font-size:14px; color:#1c3043; text-transform:none; font-weight:500; letter-spacing:normal; min-height:57px; }
.pp-op-result:hover,.pp-op-result:focus { background:#f1f6fa; color:#1c3043; }
.pp-op-result img,.pp-op-selected-product img,.pp-op-review-product img { width:56px; height:56px; object-fit:contain; flex:0 0 auto; border:1px solid #e8edf1; border-radius:7px; background:#fff; }
.pp-op-no-results { padding:12px; font-size:13px; color:var(--pp-op-gray); }
.pp-op-selected-product { margin-top:8px; display:flex; gap:12px; align-items:center; padding:10px; border:1px solid #c7dfd4; border-radius:9px; background:#f4faf7; }
.pp-op-selected-copy { min-width:0; display:flex; flex:1; flex-direction:column; gap:2px; }
.pp-op-selected-copy strong { font-size:14px; line-height:1.35; }
.pp-op-selected-copy a { font-size:12px; text-decoration:underline; color:var(--pp-op-blue); }
.pp-op-root .pp-op-clear { min-height:30px; padding:6px 9px; border-radius:6px; background:#fff; color:var(--pp-op-blue); border:1px solid #c8d5dd; text-transform:none; font-weight:600; font-size:12px; }
.pp-op-search-status { display:block; font-size:12px; color:var(--pp-op-gray); }
.pp-op-rating { margin:0; padding:0; border:0; }
.pp-op-stars { display:flex; flex-direction:row-reverse; justify-content:flex-end; width:max-content; gap:3px; margin-top:5px; }
.pp-op-stars input { position:absolute; width:1px; height:1px; opacity:0; }
.pp-op-stars label { display:inline-block; cursor:pointer; font-size:33px; line-height:1; color:#c8cdd1; padding:2px; transition:color .15s; }
.pp-op-stars label:hover,.pp-op-stars label:hover ~ label,.pp-op-stars input:checked ~ label { color:#e3a026; }
.pp-op-stars input:focus-visible + label { outline:2px solid #174d77; border-radius:3px; }
.pp-op-consent { display:flex; align-items:flex-start; gap:10px; color:#4f6070; font-size:13px; line-height:1.55; font-weight:400; }
.pp-op-consent input { flex:0 0 auto; width:17px; height:17px; margin:2px 0 0; }
.pp-op-root .pp-op-submit { appearance:none; display:inline-block; justify-self:start; padding:13px 24px; border-radius:8px; background:var(--pp-op-blue); border:1px solid var(--pp-op-blue); color:#fff; text-transform:none; letter-spacing:0; font-weight:700; font-size:14px; cursor:pointer; transition:filter .2s; }
.pp-op-submit:hover,.pp-op-submit:focus { filter:brightness(.9); color:#fff; }
.pp-op-notice { margin:0 0 20px; padding:12px 14px; border-radius:7px; font-size:14px; }
.pp-op-success { background:#e8f7ef; color:#215c3a; border:1px solid #a6d1b8; }
.pp-op-warning { background:#fff6e8; color:#75521d; border:1px solid #ead4af; }
.pp-op-trap { position:absolute; left:-9999px; height:0; width:0; overflow:hidden; }
.pp-op-reviews { margin:32px 0; }
.pp-op-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.pp-op-review-card { padding:23px; background:#fff; border:1px solid var(--pp-op-border); border-radius:12px; display:flex; flex-direction:column; gap:16px; min-width:0; }
.pp-op-review-top { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; align-items:center; }
.pp-op-verified { background:#e8f7ef; color:#286249; border-radius:12px; font-size:11px; font-weight:700; padding:5px 8px; }
.pp-op-review-card .pp-op-comment { white-space:normal; color:#263c50; line-height:1.65; margin:0; flex:1; overflow-wrap:anywhere; }
.pp-op-review-product { display:flex; align-items:center; gap:12px; background:#f5f8fa; padding:9px; border-radius:9px; }
.pp-op-review-product div { display:flex; flex-direction:column; gap:2px; }
.pp-op-review-product span { font-size:11px; color:#617284; }
.pp-op-review-product a { color:#174d77; font-size:13px; line-height:1.35; font-weight:650; }
.pp-op-byline { font-size:13px; color:#617284; border-top:1px solid #edf0f3; padding-top:13px; }
.pp-op-byline strong { color:#1f3b52; }
.pp-op-byline span { display:block; margin-top:4px; font-size:12px; }
.pp-op-empty { margin-top:12px; color:#697787; }
@media (max-width:700px) { .pp-op-form-grid,.pp-op-review-grid { grid-template-columns:1fr; } .pp-op-form-section { padding:17px; } .pp-op-root .pp-op-submit { width:100%; justify-self:stretch; } .pp-op-summary { padding:16px; } .pp-op-selected-product { flex-wrap:wrap; } }

/* Inicio 1.3 — editorial, responsive testimonial feature. No afecta al formulario. */
.pp-op-root.pp-op-home { width:100%; max-width:1050px; margin:0 auto; padding:clamp(20px,4vw,42px) 0 clamp(24px,4vw,44px); text-align:center; }
.pp-op-home .pp-op-home-eyebrow { display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 10px; color:#1b658b; font-size:11px; font-weight:800; letter-spacing:.19em; line-height:1.4; }
.pp-op-home .pp-op-home-eyebrow>span { width:23px; height:2px; border-radius:2px; background:#c49b53; }
.pp-op-home h2 { margin:0 0 10px; font-size:clamp(24px,2.9vw,36px); line-height:1.17; font-weight:750; letter-spacing:-.025em; color:#122d48; }
.pp-op-home .pp-op-home-lead { margin:0 auto 24px; max-width:580px; font-size:14px; line-height:1.7; color:#647689; }
.pp-op-home .pp-op-reviews { margin:0 0 23px; }
.pp-op-home-slider { max-width:960px; margin:0 auto; position:relative; }
.pp-op-home .pp-op-home-track { display:flex; gap:18px; width:100%; max-width:960px; margin:0 auto; padding:2px 2px 14px; overflow-x:auto; overflow-y:hidden; text-align:left; scroll-snap-type:x mandatory; scroll-snap-stop:always; scroll-behavior:smooth; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }
.pp-op-home .pp-op-home-track::-webkit-scrollbar { display:none; }
.pp-op-home .pp-op-review-card.pp-op-feature-card { padding:0; gap:0; flex:0 0 100%; width:100%; min-width:0; min-height:310px; scroll-snap-align:start; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,.72fr); border:1px solid #dce7f0; border-radius:18px; background:#fff; box-shadow:0 7px 23px rgba(13,48,75,.07); overflow:hidden; transition:box-shadow .18s ease, border-color .18s ease; }
.pp-op-home .pp-op-review-card.pp-op-feature-card:hover { border-color:#cbdce8; box-shadow:0 12px 34px rgba(13,48,75,.105); }
.pp-op-home .pp-op-review-card.pp-op-feature-card--no-product { grid-template-columns:1fr; }
.pp-op-feature-story { position:relative; display:flex; flex-direction:column; min-width:0; padding:clamp(22px,3.5vw,38px); background:linear-gradient(145deg,#fff 35%,#f7fafe 100%); }
.pp-op-feature-rating { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 clamp(17px,2.3vw,27px); min-height:30px; }
.pp-op-feature-quotation { display:inline-block; height:29px; line-height:1; margin-right:5px; font:700 54px/1 Georgia,serif; color:#d1e0ea; transform:translateY(-3px); user-select:none; }
.pp-op-home .pp-op-feature-rating .pp-op-display-stars { font-size:21px; color:#df9b34; letter-spacing:.075em; }
.pp-op-home .pp-op-feature-rating .pp-op-verified { display:inline-flex; align-items:center; gap:4px; margin-left:auto; font-size:11px; padding:6px 10px; border-radius:100px; background:#e9f7ef; border:1px solid #cfebd8; color:#286044; white-space:nowrap; }
.pp-op-home .pp-op-review-card .pp-op-comment { margin:0 0 clamp(21px,2.2vw,30px); padding:0; border:0; background:transparent; color:#19354d; font-size:clamp(17px,1.7vw,20px); font-weight:450; line-height:1.7; overflow-wrap:anywhere; flex:1; text-wrap:pretty; }
.pp-op-feature-buyer { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid #dfebf1; }
.pp-op-feature-buyer-icon { display:flex; flex:0 0 38px; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:#e8f2f8; color:#1b5578; font-size:17px; font-weight:700; }
.pp-op-feature-buyer-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.pp-op-feature-buyer-copy strong { font-size:14px; font-weight:750; color:#173b57; overflow-wrap:anywhere; }
.pp-op-feature-buyer-copy span { font-size:12px; color:#627789; overflow-wrap:anywhere; }
.pp-op-feature-product { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:25px 23px; text-align:center; background:linear-gradient(155deg,#153c5c,#08263f); color:#fff; }
.pp-op-feature-product-label { font-size:10px; font-weight:800; letter-spacing:.13em; color:#bad0e1; }
.pp-op-feature-product-photo { display:flex; align-items:center; justify-content:center; width:clamp(120px,12vw,152px); height:clamp(120px,12vw,152px); background:#fff; border-radius:13px; padding:8px; border:1px solid rgba(255,255,255,.4); transition:transform .2s; }
.pp-op-feature-product-photo:hover,.pp-op-feature-product-photo:focus-visible { transform:translateY(-2px); }
.pp-op-feature-product-photo img { display:block; max-width:100%; max-height:100%; width:100%; height:100%; object-fit:contain; }
.pp-op-home .pp-op-feature-product-name { display:block; max-width:260px; color:#fff; font-size:14px; font-weight:700; line-height:1.48; text-decoration:none; overflow-wrap:anywhere; }
.pp-op-home .pp-op-feature-product-name:hover,.pp-op-home .pp-op-feature-product-name:focus-visible { color:#fff; text-decoration:underline; }
.pp-op-home .pp-op-feature-product-link { color:#d7e9f5; font-size:12px; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(215,233,245,.55); padding:0 0 3px; }
.pp-op-home .pp-op-feature-product-link:hover,.pp-op-home .pp-op-feature-product-link:focus-visible { color:#fff; border-color:#fff; }
.pp-op-home .pp-op-empty { margin:0 auto 12px; padding:24px; max-width:750px; border:1px solid #dce7f0; border-radius:13px; font-size:14px; color:#657789; background:#f6f9fc; }
.pp-op-carousel-controls { display:flex; flex-wrap:wrap; gap:15px; justify-content:center; align-items:center; margin:10px 0 2px; }
.pp-op-carousel-controls[hidden],.pp-op-carousel-position[hidden] { display:none!important; }
.pp-op-root .pp-op-carousel-button { display:inline-flex; justify-content:center; align-items:center; width:39px; height:39px; margin:0; padding:0; border:1px solid #cfdfeb; border-radius:50%; color:#184969; background:#fff; font-size:27px; font-weight:400; line-height:1; letter-spacing:0; text-transform:none; box-shadow:none; cursor:pointer; transition:background .2s,border-color .2s; }
.pp-op-root .pp-op-carousel-button:hover,.pp-op-root .pp-op-carousel-button:focus-visible { background:#eaf2f8; color:#184969; border-color:#a8c4d4; }
.pp-op-root .pp-op-carousel-button:disabled { opacity:.3; cursor:default; }
.pp-op-carousel-dots { display:flex; flex-wrap:wrap; justify-content:center; gap:3px; align-items:center; }
.pp-op-root .pp-op-carousel-dot { display:flex; align-items:center; justify-content:center; width:27px; height:39px; padding:0; border:0; background:transparent; box-shadow:none; cursor:pointer; }
.pp-op-carousel-dot:before { content:''; width:8px; height:8px; background:#c4d5e0; border-radius:100px; transition:background .2s,width .2s; }
.pp-op-carousel-dot[aria-current=true]:before { width:23px; background:#174d77; }
.pp-op-carousel-position { margin:0 auto; font-size:12px; color:#688095; }
.pp-op-home-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:11px; }
.pp-op-home .pp-op-home-link { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:45px; margin:0; padding:11px 20px; border-radius:9px; border:1px solid #164d76; background:#164d76; color:#fff; font-size:13px; font-weight:700; text-decoration:none; text-transform:none; letter-spacing:0; transition:background .2s,transform .2s; }
.pp-op-home .pp-op-home-link:hover,.pp-op-home .pp-op-home-link:focus-visible { color:#fff; background:#0c3658; transform:translateY(-1px); }
.pp-op-home .pp-op-home-link-secondary { background:#fff; color:#174d77; }
.pp-op-home .pp-op-home-link-secondary:hover,.pp-op-home .pp-op-home-link-secondary:focus-visible { color:#174d77; background:#edf4f8; }
.pp-op-home a:focus-visible, .pp-op-home button:focus-visible { outline:2px solid #e0ae58; outline-offset:3px; }
@media (max-width:750px) {
 .pp-op-root.pp-op-home { padding:20px 0 30px; }
 .pp-op-home .pp-op-home-lead { margin-bottom:19px; }
 .pp-op-home .pp-op-review-card.pp-op-feature-card { display:flex; flex-direction:column; min-height:0; }
 .pp-op-feature-story { padding:23px 21px 22px; }
 .pp-op-feature-product { flex-direction:row; display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; justify-items:start; text-align:left; gap:3px 14px; padding:16px 19px; }
 .pp-op-feature-product-label { grid-column:2; grid-row:1; }
 .pp-op-feature-product-photo { grid-column:1; grid-row:1/span 3; width:76px; height:76px; border-radius:9px; padding:5px; }
 .pp-op-home .pp-op-feature-product-name { grid-column:2; grid-row:2; max-width:none; font-size:13px; }
 .pp-op-home .pp-op-feature-product-link { grid-column:2; grid-row:3; font-size:11px; }
 .pp-op-home .pp-op-review-card .pp-op-comment { font-size:16px; line-height:1.65; }
 .pp-op-home .pp-op-feature-rating .pp-op-verified { margin-left:0; }
 .pp-op-home .pp-op-home-link { width:100%; max-width:330px; }
}
@media (max-width:430px) {
 .pp-op-feature-rating { gap:7px; }
 .pp-op-feature-quotation { margin-right:0; }
 .pp-op-home .pp-op-feature-rating .pp-op-verified { font-size:10px; }
 .pp-op-feature-story { padding:19px 16px; }
}
@media (prefers-reduced-motion:reduce) {
 .pp-op-home .pp-op-home-track { scroll-behavior:auto; }
 .pp-op-home .pp-op-review-card.pp-op-feature-card,.pp-op-feature-product-photo,.pp-op-home .pp-op-home-link,.pp-op-root .pp-op-carousel-button,.pp-op-carousel-dot:before { transition:none; }
}
