.ocean-google-reviews {
  --ocean-blue: #0077b6;
  --ocean-deep: #023047;
  --ocean-soft: #eef9ff;
  --ocean-card: #fff;
  --ocean-gold: #f5a400;
  --ods-gap: 20px;
  --ods-per-view: 4;
  position: relative;
  padding: 48px 20px;
  overflow: hidden;
  border-radius: 28px;
  background: radial-gradient(circle at top left, rgba(0,180,216,.18), transparent 34%), linear-gradient(135deg,#f5fcff 0%,#eaf8ff 100%);
  color: var(--ocean-deep);
}
.ocean-review-head { text-align:center; max-width:860px; margin:0 auto 28px; }
.ocean-review-head h2 { margin:0 0 10px; font-size:clamp(28px,4vw,44px); line-height:1.1; }
.ocean-review-intro { margin:0 auto 14px; opacity:.78; font-size:17px; }
.ocean-google-rating { display:inline-flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:center; margin:10px 0 0; }
.ocean-rating-stars,.ocean-review-stars { color:var(--ocean-gold); letter-spacing:1px; }
.ods-review-carousel { position:relative; max-width:1460px; margin:0 auto; padding:0 64px; }
.ods-review-viewport { overflow:hidden; scroll-behavior:smooth; scrollbar-width:none; outline:none; }
.ods-review-viewport::-webkit-scrollbar { display:none; }
.ods-review-track { display:flex; align-items:stretch; gap:var(--ods-gap); }
.ods-review-slide { flex:0 0 100%; min-width:0; display:flex; }
.ods-review-slider[data-per-view="2"] .ods-review-slide { flex-basis:calc((100% - 20px) / 2); }
.ods-review-slider[data-per-view="4"] .ods-review-slide { flex-basis:calc((100% - 60px) / 4); }
.ocean-review-card { width:100%; min-height:100%; background:var(--ocean-card); border:1px solid rgba(0,119,182,.08); border-radius:22px; padding:22px; box-shadow:0 18px 45px rgba(2,48,71,.09); display:flex; flex-direction:column; transition:transform .25s ease,box-shadow .25s ease; }
.ocean-review-card:hover { transform:translateY(-3px); box-shadow:0 22px 52px rgba(2,48,71,.13); }
.ocean-review-top { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.ocean-review-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.ocean-review-avatar-fallback { display:grid; place-items:center; background:var(--ocean-soft); color:var(--ocean-blue); }
.ocean-review-author { display:block; color:var(--ocean-deep); text-decoration:none; font-weight:800; }
.ocean-review-time { display:block; font-size:13px; opacity:.62; margin-top:2px; }
.ocean-review-stars { font-size:19px; margin-bottom:10px; }
.ocean-review-stars span { opacity:.22; }
.ocean-review-badge { display:inline-block; align-self:flex-start; margin-bottom:10px; border-radius:999px; padding:5px 10px; background:rgba(0,119,182,.09); color:var(--ocean-blue); font-size:12px; font-weight:700; }
.ocean-review-text { font-size:15px; line-height:1.62; margin:0; }
.ocean-review-original { margin-top:14px; font-size:13px; opacity:.75; }
.ocean-review-original summary { cursor:pointer; font-weight:700; }
.ods-review-nav { position:absolute; top:50%; z-index:3; width:92px; height:72px; padding:0; border:0; background:transparent; cursor:pointer; transform:translateY(-50%); transition:transform .2s ease,filter .2s ease; }
.ods-review-nav img { width:100%; height:100%; object-fit:contain; pointer-events:none; }
.ods-review-prev { left:-12px; }
.ods-review-next { right:-12px; }
.ods-review-nav:hover,.ods-review-nav:focus-visible { transform:translateY(-50%) scale(1.1) rotate(-2deg); filter:drop-shadow(0 8px 8px rgba(2,48,71,.18)); outline:none; }
.ods-review-next:hover,.ods-review-next:focus-visible { transform:translateY(-50%) scale(1.1) rotate(2deg); }
.ods-review-nav:active { transform:translateY(-50%) scale(.96); }
.ods-review-dots { display:flex; justify-content:center; gap:9px; margin-top:22px; }
.ods-review-dot { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:rgba(0,119,182,.22); cursor:pointer; transition:width .2s ease,background .2s ease; }
.ods-review-dot.is-active { width:28px; border-radius:999px; background:var(--ocean-blue); }
.ocean-review-error { text-align:center; padding:18px; background:rgba(255,255,255,.72); border-radius:18px; }
.ocean-review-actions { text-align:center; margin-top:28px; }
.ocean-review-button { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border-radius:999px; color:#fff; background:linear-gradient(135deg,#0077b6,#00b4d8); text-decoration:none; font-weight:800; box-shadow:0 14px 28px rgba(0,119,182,.22); transition:transform .2s ease; }
.ocean-review-button:hover,.ocean-review-button:focus { color:#fff; transform:translateY(-1px); }
@media (max-width:719px) {
  .ocean-google-reviews { padding:34px 12px; border-radius:20px; }
  .ods-review-carousel { padding:0 38px; }
  .ods-review-nav { width:62px; height:54px; }
  .ods-review-prev { left:-12px; }
  .ods-review-next { right:-12px; }
  .ocean-review-card { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .ods-review-viewport { scroll-behavior:auto; }
  .ocean-review-card,.ods-review-nav,.ods-review-dot,.ocean-review-button { transition:none; }
}
