/* DOMINIK SERVIS – agreed visual refresh, 2026-08-19
   This file intentionally overrides the existing style.css without replacing it. */

:root{
  --page-blue:#eef8ff;
  --page-blue-2:#f5fbff;
  --ink-blue:#063c7a;
  --accent-blue:#0a7fd8;
  --accent-coral:#e56b3d;
}

html{background:var(--page-blue);}
body{
  background:linear-gradient(180deg,var(--page-blue-2) 0%,var(--page-blue) 45%,#eaf6ff 100%) !important;
}

/* Keep the whole formerly-white page slightly blue, while cards stay white. */
.header,
.hero,
.trustbar,
.section,
.signature,
.gallery,
.pricing,
.reviews,
.cta-section{
  background-color:transparent !important;
}

/* Slightly tighten large vertical gaps without changing structure or wording. */
.section{
  padding-top:clamp(34px,4.2vw,62px) !important;
  padding-bottom:clamp(34px,4.2vw,62px) !important;
}
.hero{padding-bottom:clamp(30px,4vw,54px) !important;}
.trustbar{padding-top:clamp(18px,2.2vw,28px) !important;padding-bottom:clamp(18px,2.2vw,28px) !important;}

/* New agreed hero image. */
.hero-art-refresh{
  position:relative;
}
.hero-art-refresh .hero-art{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 42px rgba(6,60,122,.12);
}
.hero-art-refresh .hero-art img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.hero-art-labels{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
  padding-right:92px;
}
.hero-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  border-radius:14px;
  font-weight:800;
  color:var(--ink-blue);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(6,60,122,.10);
  box-shadow:0 8px 24px rgba(6,60,122,.07);
}
.hero-label i{
  display:inline-flex;
  width:32px;
  height:32px;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  font-style:normal;
  font-size:19px;
  color:#e96818;
  border:1px solid rgba(233,104,24,.4);
  background:#fff;
}
.hero-art-refresh .ten-badge{
  z-index:3;
}

/* Make the Prague coverage sentence more visible, without changing text. */
.praha-focus > p{
  font-size:clamp(1.02rem,1.3vw,1.16rem) !important;
  line-height:1.65 !important;
  font-weight:650 !important;
  color:#294f73 !important;
}

/* Added cleaning card follows the existing service-card system. */
.service-drains .service-icon{filter:saturate(.9);}

/* Agreed explanatory paragraph above price items. */
.price-intro-note{
  max-width:980px;
  margin:0 auto 24px;
  padding:15px 18px;
  border-radius:16px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(6,60,122,.10);
  color:#334e68;
  font-size:clamp(.98rem,1.25vw,1.08rem);
  line-height:1.65;
  text-align:center;
  box-shadow:0 8px 24px rgba(6,60,122,.05);
}

/* Reviews: larger, clearer explanatory copy and trust tags. */
.reviews-copy > p{
  font-size:clamp(1.02rem,1.35vw,1.16rem) !important;
  line-height:1.65 !important;
  color:#3d5266 !important;
}
.review-tags{
  gap:12px 16px !important;
}
.review-tags span{
  font-size:clamp(1rem,1.2vw,1.12rem) !important;
  font-weight:800 !important;
  color:var(--ink-blue) !important;
}

/* Bigger, obvious arrows on Google Maps / Firmy.cz cards.
   The whole card remains the actual clickable link. */
.review-links .review em{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 52px !important;
  width:52px !important;
  height:52px !important;
  border-radius:50% !important;
  font-size:34px !important;
  line-height:1 !important;
  font-style:normal !important;
  font-weight:900 !important;
  color:#fff !important;
  background:#0b72d0 !important;
  box-shadow:0 8px 20px rgba(11,114,208,.22) !important;
}
.review-links .firmy-card em{
  background:#e96224 !important;
  box-shadow:0 8px 20px rgba(233,98,36,.20) !important;
}
.review-links .review{
  min-height:104px;
}
.review-links .review strong{
  font-size:clamp(1.08rem,1.45vw,1.25rem) !important;
  font-weight:850 !important;
}
.review-links .review span{
  font-size:1rem !important;
}

/* Keep white content cards crisp against the blue page background. */
.service,
.trust-item,
.price,
.review,
.signature-card,
.cta,
.price-note,
.praha-focus{
  box-shadow:0 10px 30px rgba(6,60,122,.06);
}

@media (max-width:760px){
  body{
    background:linear-gradient(180deg,#f5fbff 0%,#edf8ff 50%,#eaf6ff 100%) !important;
  }
  .section{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
  .hero-art-refresh .hero-art{
    border-radius:18px;
  }
  .hero-art-labels{
    gap:8px;
    margin-top:10px;
    padding-right:66px;
  }
  .hero-label{
    min-height:40px;
    gap:6px;
    border-radius:12px;
    font-size:.93rem;
  }
  .hero-label i{
    width:27px;
    height:27px;
    font-size:16px;
  }
  .reviews-copy > p{
    font-size:1.04rem !important;
  }
  .review-tags span{
    font-size:1.02rem !important;
  }
  .review-links .review em{
    flex-basis:46px !important;
    width:46px !important;
    height:46px !important;
    font-size:30px !important;
  }
  .praha-focus > p{
    font-size:1.04rem !important;
  }
}

/* Final agreed price list – added without changing the existing base price cards or notes. */
.common-price-block{
  max-width:1100px;
  margin:26px auto 24px;
  padding:22px;
  border-radius:20px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,60,122,.10);
  box-shadow:0 10px 30px rgba(6,60,122,.06);
}
.common-price-block h3{
  margin:0 0 16px;
  text-align:center;
  color:var(--ink-blue);
  font-size:clamp(1.18rem,1.8vw,1.45rem);
}
.common-price-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
.common-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:56px;
  padding:12px 15px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(6,60,122,.09);
}
.common-price span{
  color:#263f5b;
  font-weight:700;
  line-height:1.35;
}
.common-price strong{
  flex:0 0 auto;
  color:#063c7a;
  font-size:1.03rem;
  white-space:nowrap;
}
.common-price-includes{
  margin:16px 0 0;
  padding:14px 16px;
  border-radius:14px;
  background:#f5fbff;
  color:#40566d;
  line-height:1.6;
}
.common-price-includes strong{color:#063c7a;}

/* Reviews: preserve title and three trust labels exactly as they are; only the explanatory text is stronger. */
.review-tags span{
  font-size:inherit !important;
  font-weight:inherit !important;
  color:inherit !important;
}

/* Review cards styled like the agreed mock-up: large clean arrow, whole card clickable. */
.review-links .review{
  position:relative;
  padding-right:78px !important;
}
.review-links .review em{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:60px !important;
  padding-left:14px !important;
  border-left:1px solid rgba(6,60,122,.14) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#0b72d0 !important;
  font-size:46px !important;
  font-weight:700 !important;
}
.review-links .firmy-card em{color:#e96224 !important;}

@media (max-width:760px){
  .common-price-block{padding:16px 13px;margin-top:20px;}
  .common-price-grid{grid-template-columns:1fr;gap:8px;}
  .common-price{min-height:52px;padding:11px 12px;}
  .common-price strong{font-size:.98rem;}
  .review-links .review{padding-right:64px !important;}
  .review-links .review em{
    right:12px !important;
    width:44px !important;
    height:52px !important;
    padding-left:10px !important;
    font-size:38px !important;
  }
}


/* ===== Final corrections agreed after live-site review, 2026-08-19 ===== */

/* Hero: keep the exact two approved pictures, but remove the empty lower part of the rounded frame.
   Labels and 10+ badge now sit inside the picture instead of creating a white area below it. */
.hero-art-refresh{
  position:relative !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 16px 42px rgba(6,60,122,.12) !important;
}
.hero-art-refresh .hero-art{
  overflow:hidden !important;
  border-radius:inherit !important;
  background:transparent !important;
  box-shadow:none !important;
}
.hero-art-refresh .hero-art img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:cover !important;
}
.hero-art-refresh .hero-art-labels{
  position:absolute !important;
  left:14px !important;
  right:104px !important;
  bottom:14px !important;
  z-index:4 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}
.hero-art-refresh .hero-label{
  min-height:44px !important;
  background:rgba(255,255,255,.90) !important;
  backdrop-filter:blur(4px);
  box-shadow:0 6px 18px rgba(6,60,122,.10) !important;
}
.hero-art-refresh .ten-badge{
  position:absolute !important;
  top:auto !important;
  left:auto !important;
  right:14px !important;
  bottom:12px !important;
  transform:none !important;
  z-index:5 !important;
}

/* Price explanations: same readable scale as the "Co je v ceně práce" text above. */
.price-note-compact{
  gap:18px !important;
}
.price-note-compact > span{
  font-size:clamp(.98rem,1.25vw,1.08rem) !important;
  line-height:1.62 !important;
  color:#40566d !important;
}
.price-note-compact > span > strong{
  font-size:1.08em !important;
  line-height:1.35 !important;
  margin-bottom:4px !important;
}

/* Approved review graphic, inserted exactly in the review position.
   Invisible overlays keep Google Maps and Firmy.cz clickable. */
.reviews-showcase-section{
  background:transparent !important;
}
.reviews-showcase-shell{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(6,60,122,.08);
}
.reviews-showcase-img{
  display:block;
  width:100%;
  height:auto;
}
.reviews-showcase-hit{
  position:absolute;
  z-index:3;
  left:53.7%;
  width:41.6%;
  cursor:pointer;
}
.reviews-showcase-google{
  top:19.0%;
  height:35.5%;
}
.reviews-showcase-firmy{
  top:58.3%;
  height:37.0%;
}

@media (max-width:760px){
  .hero-art-refresh{
    border-radius:18px !important;
  }
  .hero-art-refresh .hero-art-labels{
    left:8px !important;
    right:74px !important;
    bottom:8px !important;
    gap:6px !important;
  }
  .hero-art-refresh .hero-label{
    min-height:34px !important;
    font-size:.82rem !important;
    gap:4px !important;
    border-radius:10px !important;
  }
  .hero-art-refresh .hero-label i{
    width:23px !important;
    height:23px !important;
    font-size:14px !important;
  }
  .hero-art-refresh .ten-badge{
    right:7px !important;
    bottom:7px !important;
  }
  .price-note-compact > span{
    font-size:1.02rem !important;
  }
  .reviews-showcase-shell{
    border-radius:12px;
  }
}
