*{margin:0;padding:0;box-sizing:border-box}
:root{--site-w:80%;--max-w:1200px;--radius:12px;--shadow:0 8px 25px rgba(0,0,0,.1)}
html,body{height:100%}
body{
  font-family:Arial,sans-serif;background:linear-gradient(135deg,#f0f4ff,#f5f7fa);
  color:#333;min-height:100vh;display:flex;flex-direction:column;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility
}
.main-nav{
  background:linear-gradient(to bottom,#0089ff,#00BFFF);
  box-shadow:0 2px 6px rgba(0,0,0,.15);position:sticky;top:0;z-index:1000;
  width:var(--site-w);max-width:var(--max-w);margin:0 auto;
  border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)
}
.nav-container{
  width:100%;margin:0 auto;padding:0 25px;display:flex;align-items:center;justify-content:space-between;height:90px
}
.logo a{font-size:1.3rem;font-weight:800;color:#fff;text-decoration:none;letter-spacing:1px}
.logo img{height:60px;width:auto;display:block;filter:brightness(0) invert(1)}
.nav-links{list-style:none;display:flex;gap:30px}
.nav-links li a{
  color:#fff;text-decoration:none;font-weight:600;font-size:1rem;position:relative;padding:5px 0;transition:color .3s ease
}
.nav-links li a::after{
  content:"";position:absolute;left:50%;bottom:-3px;width:0;height:2px;background:#fff;transition:all .3s ease;transform:translateX(-50%)
}
.nav-links li a:hover::after,.nav-links li a.active::after{width:100%}
.nav-links li a:hover,.nav-links li a.active{color:#dfe9ff}
.burger{display:none;cursor:pointer;flex-direction:column;gap:5px}
.burger span{width:26px;height:3px;background:#fff;border-radius:2px;transition:all .3s}
.burger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.container{
  flex:1;width:var(--site-w);max-width:var(--max-w);margin:40px auto;padding:40px 50px;
  background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow);animation:fadeIn .8s ease;
  position:relative;z-index:0
}
h1{color:#0089ff;margin-bottom:15px;font-size:2rem;text-wrap:balance}
h2{color:#0089ff;margin-bottom:15px;font-size:1.5rem;text-wrap:balance}
h3{color:#0089ff;margin-top:25px;font-size:1.2rem;text-wrap:balance}
p{line-height:1.6;margin-bottom:15px;text-wrap:pretty}
form{display:flex;flex-direction:column;gap:18px;margin-top:20px}
input,textarea{
  padding:14px 16px;border:1px solid #ccd3e0;border-radius:8px;font-size:1rem;width:100%;
  background:#fdfdff;transition:border-color .2s,box-shadow .2s
}
input:focus,textarea:focus{border-color:#0089ff;box-shadow:0 0 0 3px rgba(0,137,255,.2);outline:none}
textarea{min-height:120px;resize:vertical}
input[type=file]{border:none;padding:5px 0}
button,.btn{
  background:linear-gradient(135deg,#4a7bd0,#0089ff);color:#fff;padding:14px;border:none;border-radius:8px;
  cursor:pointer;font-weight:700;font-size:1rem;transition:transform .15s,box-shadow .2s
}
button:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}
button:focus-visible,.btn:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 3px rgba(255,255,255,.35),0 0 0 6px rgba(0,137,255,.6)}
button[disabled],.btn[disabled],[aria-busy=true]{opacity:.7;cursor:progress}
footer{
  background:linear-gradient(to bottom,#0089ff,#00BFFF);color:#fff;text-align:center;padding:18px;font-size:.9rem;
  box-shadow:0 -2px 10px rgba(0,0,0,.2);width:var(--site-w);max-width:var(--max-w);margin:40px auto 0;
  border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)
}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}
}
@media(max-width:992px){.container{width:90%;padding:25px 20px}}
@media(max-width:768px){
  .nav-links{
    position:absolute;top:72px;left:0;background:linear-gradient(to bottom,#0089ff,#00BFFF);
    flex-direction:column;width:100%;padding:20px 0;transform:translateY(-150%);transition:transform .3s ease-in-out;
    box-shadow:0 4px 8px rgba(0,0,0,.3);text-align:center;gap:20px;border-bottom-left-radius:12px;border-bottom-right-radius:12px
  }
  .nav-links.open{transform:translateY(0)}
  .nav-links li a{font-size:1.1rem}
  .burger{display:flex}
  form{gap:12px}
  input,textarea{font-size:.95rem;padding:12px}
  button,.btn{padding:12px;font-size:.95rem}
  .main-nav,footer{width:100%;border-radius:0;max-width:none}
  .logo img{height:44px}
}
@media(max-width:480px){
  .container{width:95%;padding:15px}
  .logo a{font-size:1rem}
  .burger span{width:28px;height:3px}
}
footer p a,footer p a:visited,footer p a:hover,footer p a:active,footer p a:focus{
  color:#fff!important;font-weight:700;text-decoration:none
}
footer p a:hover{text-decoration:underline}
.cookie-list{display:grid;gap:20px;margin:20px 0}
.cookie-item{padding:16px;border:1px solid #ccd3e0;border-radius:8px;background:#0089ff;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.cookie-item h3{margin:0 0 8px 0;color:#fff;font-size:1.1rem}
.cookie-item p{margin:4px 0;font-size:.95rem;color:#fff}
.hero{position:relative;z-index:10}
.page-content{position:relative;z-index:1;background:#fff}

.reviews-wrapper {
  max-width: 1200px;
  margin: 3rem auto;
  padding: 0 1rem;
}

.reviews-summary-inner {
  text-align: center;
  background: #fff;
  border-radius: 10px;
  padding: 1.2rem 2rem;
  box-shadow: 0 3px 8px rgba(0,0,0,0.1);
  margin-bottom: 2rem;
}

.reviews-rating {
  font-size: 2rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 0.3rem;
}

.reviews-rating .rating-value {
  color: #0dbd3c;
  font-size: 2.4rem;
  margin-right: 0.3rem;
}

.reviews-rating .stars {
  color: #ffb400;
  font-size: 1.6rem;
}

.star-empty { opacity: 0.25; }
.reviews-count { color: #555; }

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.review-tile {
  background: #f8f8f8;
  border-radius: 10px;
  padding: 1.4rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.review-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}

.review-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin-right: 0.8rem;
  flex-shrink: 0;
}

.review-author {
  font-weight: 600;
  font-size: 1.05rem;
  color: #222;
  word-break: break-word;
}

.review-stars {
  font-size: 1.1rem;
  color: #ffb400;
}

blockquote {
  margin: 0.7rem 0 1rem;
  font-style: italic;
  color: #333;
  line-height: 1.5;
  word-break: break-word;
}

.review-time {
  font-size: 0.9rem;
  color: #777;
  text-align: right;
}

.review-btn-wrapper {
  text-align: center;
  margin-top: 3rem;
}

.review-btn-wrapper .btn {
  display: inline-block;
  background-color: #af0606;
  color: #fff;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  margin: 0 0.5rem;
  transition: background-color 0.3s ease;
}

.review-btn-wrapper .btn:hover {
  background-color: #880404;
}

@media (max-width: 1024px) {
  .reviews-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
  }
}

@media (max-width: 768px) {
  .reviews-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .review-tile {
    padding: 1rem;
  }

  .review-author {
    font-size: 1rem;
  }

  blockquote {
    font-size: 0.95rem;
    line-height: 1.4;
  }

  .review-btn-wrapper .btn {
    display: block;
    width: 90%;
    margin: 0.5rem auto;
    font-size: 1rem;
    padding: 12px 0;
  }

  .reviews-summary-inner {
    padding: 1rem;
  }

  .reviews-rating {
    font-size: 1.6rem;
  }

  .reviews-rating .rating-value {
    font-size: 2rem;
  }

  .reviews-rating .stars {
    font-size: 1.3rem;
  }

  .reviews-count {
    font-size: 0.95rem;
  }
}
