/* ==========================================================================
   VGROUP Web – stránka Servis
   ========================================================================== */
.vgw-root .vgw-serv { container-type: inline-size; background: #fff; }
.vgw-root .vgw-ssec { padding: 54px 0; background: #fff; }
.vgw-root .vgw-shead { max-width: 780px; margin-bottom: 30px; }
.vgw-root .vgw-shead--center { margin-left: auto; margin-right: auto; text-align: center; }
.vgw-root .vgw-skicker { display: inline-block; margin-bottom: 8px; font-size: 12.5px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--vgw-accent); }
.vgw-root .vgw-sh2 { font-family: var(--vgw-font-display); font-size: clamp(25px, 2.9vw, 38px); font-weight: 800; line-height: 1.12; color: var(--vgw-primary); }
.vgw-root .vgw-ssub { margin-top: 12px; font-size: 15.5px; line-height: 1.7; color: var(--vgw-muted); }
.vgw-root .vgw-slist { display: grid; gap: 9px; margin: 16px 0; }
.vgw-root .vgw-slist li { display: flex; align-items: flex-start; gap: 11px; font-size: 15px; line-height: 1.55; color: #26304a; }
.vgw-root .vgw-slist svg { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; padding: 4px; border-radius: 50%; background: #e7edf9; color: var(--vgw-primary); }

/* ---------- úvod ---------- */
.vgw-root .vgw-shero { padding: 46px 0 40px; background: linear-gradient(180deg, var(--vgw-soft) 0%, #fff 100%); }
.vgw-root .vgw-shero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 42px; align-items: center; }
.vgw-root .vgw-shero__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 20px; background: #e7edf9; color: var(--vgw-primary); font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.vgw-root .vgw-shero__badge svg { width: 17px; height: 17px; color: var(--vgw-accent); }
.vgw-root .vgw-shero__title { margin-top: 16px; font-family: var(--vgw-font-display); font-size: clamp(30px, 4vw, 50px); font-weight: 800; line-height: 1.06; color: var(--vgw-primary); text-transform: uppercase; }
.vgw-root .vgw-shero__text { margin-top: 16px; font-size: 16px; line-height: 1.72; color: var(--vgw-muted); max-width: 60ch; }
.vgw-root .vgw-shero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.vgw-root .vgw-shero__btns .vgw-btn { height: 52px; padding: 0 24px; }
.vgw-root .vgw-shero__usp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; margin-top: 26px; }
.vgw-root .vgw-shero__usp li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; font-weight: 600; color: #26304a; }
.vgw-root .vgw-shero__usp svg { flex: 0 0 20px; width: 20px; height: 20px; padding: 4px; border-radius: 50%; background: var(--vgw-primary); color: #fff; }
.vgw-root .vgw-shero__media { position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 3; background: linear-gradient(135deg, #e7edf9, #cfd9ee); box-shadow: 0 18px 44px rgba(11, 31, 86, .14); }
.vgw-root .vgw-shero__media img { width: 100%; height: 100%; object-fit: cover; }
.vgw-root .vgw-shero__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--vgw-primary); }
.vgw-root .vgw-shero__ph svg { width: 96px; height: 96px; opacity: .45; }
.vgw-root .vgw-shero__stamp { position: absolute; right: 18px; top: 18px; display: flex; align-items: center; justify-content: center; width: 104px; height: 104px; padding: 10px; border-radius: 50%; background: var(--vgw-accent); color: #fff; font-family: var(--vgw-font-display); font-size: 15px; font-weight: 800; line-height: 1.15; text-align: center; box-shadow: 0 10px 26px rgba(227, 19, 27, .35); }

/* ---------- karty služeb ---------- */
.vgw-root .vgw-scards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.vgw-root .vgw-scard { display: flex; flex-direction: column; gap: 10px; padding: 24px 22px; border-radius: 20px; background: #fff; border: 1px solid #e6eaf3; box-shadow: 0 8px 24px rgba(11, 31, 86, .06); transition: transform .25s, box-shadow .25s; }
.vgw-root .vgw-scard:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(11, 31, 86, .13); }
.vgw-root .vgw-scard__ico { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 16px; background: var(--vgw-primary); color: #fff; }
.vgw-root .vgw-scard__ico svg, .vgw-root .vgw-scard__ico img { width: 27px; height: 27px; }
.vgw-root .vgw-scard__title { font-family: var(--vgw-font-display); font-size: 17.5px; font-weight: 800; line-height: 1.25; color: var(--vgw-primary); }
.vgw-root .vgw-scard__text { font-size: 14.5px; line-height: 1.6; color: var(--vgw-muted); }
.vgw-root .vgw-scard__link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; font-size: 12.5px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--vgw-accent); }
.vgw-root .vgw-scard__link svg { width: 15px; height: 15px; transition: transform .2s; }
.vgw-root .vgw-scard:hover .vgw-scard__link svg { transform: translateX(4px); }

/* ---------- podrobné bloky ---------- */
.vgw-root .vgw-sblocks { background: var(--vgw-soft); }
.vgw-root .vgw-sblocks__list { display: grid; gap: 12px; }
.vgw-root .vgw-sblock { border: 1px solid #e3e8f2; border-radius: 18px; background: #fff; overflow: hidden; scroll-margin-top: 90px; }
.vgw-root .vgw-sblock[open] { box-shadow: 0 12px 30px rgba(11, 31, 86, .1); }
.vgw-root .vgw-sblock > summary { display: flex; align-items: center; gap: 16px; padding: 18px 20px; list-style: none; cursor: pointer; }
.vgw-root .vgw-sblock > summary::-webkit-details-marker { display: none; }
.vgw-root .vgw-sblock__ico { display: flex; align-items: center; justify-content: center; flex: 0 0 48px; height: 48px; border-radius: 14px; background: #e7edf9; color: var(--vgw-primary); transition: background-color .2s, color .2s; }
.vgw-root .vgw-sblock__ico svg, .vgw-root .vgw-sblock__ico img { width: 24px; height: 24px; }
.vgw-root .vgw-sblock[open] .vgw-sblock__ico { background: var(--vgw-accent); color: #fff; }
.vgw-root .vgw-sblock__head { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.vgw-root .vgw-sblock__head strong { font-family: var(--vgw-font-display); font-size: 18px; font-weight: 800; color: var(--vgw-primary); }
.vgw-root .vgw-sblock__head small { font-size: 13.5px; color: var(--vgw-muted); }
.vgw-root .vgw-sblock__chev { display: flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: var(--vgw-soft); color: var(--vgw-primary); transition: transform .25s; }
.vgw-root .vgw-sblock__chev svg { width: 17px; height: 17px; }
.vgw-root .vgw-sblock[open] .vgw-sblock__chev { transform: rotate(180deg); }
.vgw-root .vgw-sblock__in { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 26px; padding: 0 20px 22px 84px; }
.vgw-root .vgw-sblock__text p { font-size: 15px; line-height: 1.75; color: var(--vgw-muted); }
.vgw-root .vgw-sblock__note { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; padding: 13px 16px; border-radius: 12px; background: #eaf0fb; font-size: 14.5px; line-height: 1.6; color: #26304a; }
.vgw-root .vgw-sblock__note svg { flex: 0 0 19px; width: 19px; height: 19px; margin-top: 2px; color: var(--vgw-primary); }
.vgw-root .vgw-sblock__img { border-radius: 16px; overflow: hidden; align-self: start; background: var(--vgw-soft); }
.vgw-root .vgw-sblock__img img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- přestavby ---------- */
.vgw-root .vgw-sbuilds__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.vgw-root .vgw-sbuilds__img { border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--vgw-soft); box-shadow: 0 16px 38px rgba(11, 31, 86, .12); }
.vgw-root .vgw-sbuilds__img img { width: 100%; height: 100%; object-fit: cover; }
.vgw-root .vgw-schips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.vgw-root .vgw-schip { padding: 8px 15px; border-radius: 20px; background: var(--vgw-soft); border: 1px solid #dfe5f1; font-size: 13.5px; font-weight: 700; color: var(--vgw-primary); }
.vgw-root .vgw-sgal__title { margin: 36px 0 16px; font-family: var(--vgw-font-display); font-size: 19px; font-weight: 800; color: var(--vgw-primary); }
.vgw-root .vgw-sgal { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.vgw-root .vgw-sgal .vgw-gph:first-child { grid-column: auto; grid-row: auto; }

/* ---------- čísla ---------- */
.vgw-root .vgw-sstats { padding: 6px 0 44px; background: #fff; }
.vgw-root .vgw-sstats__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 28px; border-radius: 24px; background: linear-gradient(120deg, var(--vgw-primary) 0%, color-mix(in srgb, var(--vgw-primary) 74%, #3b6fe0) 100%); color: #fff; box-shadow: 0 18px 44px rgba(11, 31, 86, .18); }
.vgw-root .vgw-sstats__grid li { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.vgw-root .vgw-sstat__ico { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 4px; border-radius: 14px; background: rgba(255, 255, 255, .14); }
.vgw-root .vgw-sstat__ico svg, .vgw-root .vgw-sstat__ico img { width: 23px; height: 23px; }
.vgw-root .vgw-sstats__grid strong { font-family: var(--vgw-font-display); font-size: clamp(26px, 3vw, 36px); font-weight: 800; line-height: 1; }
.vgw-root .vgw-sstats__grid li > span:last-child { font-size: 13.5px; color: rgba(255, 255, 255, .82); }

/* ---------- kontakty ---------- */
.vgw-root .vgw-sconts { background: var(--vgw-soft); }
.vgw-root .vgw-sconts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.vgw-root .vgw-scont { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid #e6eaf3; box-shadow: 0 8px 24px rgba(11, 31, 86, .06); }
.vgw-root .vgw-scont__media { position: relative; aspect-ratio: 16 / 10; background: linear-gradient(135deg, #e7edf9, #cfd9ee); overflow: hidden; }
.vgw-root .vgw-scont__media img { width: 100%; height: 100%; object-fit: cover; }
.vgw-root .vgw-scont__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--vgw-primary); }
.vgw-root .vgw-scont__ph svg, .vgw-root .vgw-scont__ph img { width: 60%; height: 60%; max-width: 60%; max-height: 62%; object-fit: contain; opacity: .5; }
.vgw-root .vgw-scont__ph--own svg, .vgw-root .vgw-scont__ph--own img { opacity: .78; }
.vgw-root .vgw-scont__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 18px 20px 20px; }
.vgw-root .vgw-scont__body h3 { font-family: var(--vgw-font-display); font-size: 17px; font-weight: 800; color: var(--vgw-primary); }
.vgw-root .vgw-scont__body p { font-size: 13.5px; color: var(--vgw-muted); }
.vgw-root .vgw-scont__body ul { display: grid; gap: 6px; margin-top: auto; padding-top: 10px; }
.vgw-root .vgw-scont__body a { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; color: #26304a; }
.vgw-root .vgw-scont__body a:hover { color: var(--vgw-accent); }
.vgw-root .vgw-scont__body svg { flex: 0 0 16px; width: 16px; height: 16px; color: var(--vgw-primary); }

/* ---------- rezervace ---------- */
.vgw-root .vgw-sform { padding: 10px 0 58px; background: #fff; scroll-margin-top: 80px; }
.vgw-root .vgw-sform__box { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 30px; padding: 34px; border-radius: 24px; background: linear-gradient(120deg, var(--vgw-primary) 0%, color-mix(in srgb, var(--vgw-primary) 76%, #3b6fe0) 100%); color: #fff; box-shadow: 0 20px 46px rgba(11, 31, 86, .2); }
.vgw-root .vgw-sform__intro .vgw-sh2, .vgw-root .vgw-sform__intro .vgw-ssub { color: #fff; }
.vgw-root .vgw-sform__intro .vgw-ssub { color: rgba(255, 255, 255, .84); }
.vgw-root .vgw-sform__intro .vgw-skicker { color: #ff9b9f; }
.vgw-root .vgw-sform__intro .vgw-shead { margin-bottom: 14px; }
.vgw-root .vgw-sform__intro .vgw-slist li { color: rgba(255, 255, 255, .92); }
.vgw-root .vgw-sform__intro .vgw-slist svg { background: rgba(255, 255, 255, .16); color: #fff; }
.vgw-root .vgw-sform__phone { display: inline-flex; align-items: center; gap: 12px; margin-top: 8px; padding: 13px 18px 13px 14px; border-radius: 16px; background: rgba(255, 255, 255, .12); color: #fff; }
.vgw-root .vgw-sform__phone:hover { background: rgba(255, 255, 255, .2); color: #fff; }
.vgw-root .vgw-sform__phone svg { width: 22px; height: 22px; }
.vgw-root .vgw-sform__phone small { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .8; }
.vgw-root .vgw-sform__phone strong { font-family: var(--vgw-font-display); font-size: 19px; font-weight: 800; }
.vgw-root .vgw-sform__form { padding: 24px; border-radius: 18px; background: #fff; }
.vgw-root .vgw-inq--serv .vgw-inp select, .vgw-root .vgw-inq--serv .vgw-inp input[type="date"] { width: 100%; height: 46px; padding: 0 12px; border: 1px solid #dfe5f1; border-radius: 10px; background: var(--vgw-soft); font: inherit; color: #26304a; }
.vgw-root .vgw-inq--serv .vgw-inp input, .vgw-root .vgw-inq--serv .vgw-inp textarea { background: var(--vgw-soft); }

/* ---------- responzivita ---------- */
@container (max-width: 1080px) {
    .vgw-root .vgw-scards, .vgw-root .vgw-sconts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vgw-root .vgw-shero__grid, .vgw-root .vgw-sbuilds__grid, .vgw-root .vgw-sform__box { grid-template-columns: 1fr; gap: 26px; }
    .vgw-root .vgw-sblock__in { grid-template-columns: 1fr; padding-left: 20px; }
    .vgw-root .vgw-sstats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
    .vgw-root .vgw-sgal { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container (max-width: 640px) {
    .vgw-root .vgw-ssec { padding: 34px 0; }
    .vgw-root .vgw-shero { padding: 28px 0 24px; }
    .vgw-root .vgw-shero__usp { grid-template-columns: 1fr; }
    .vgw-root .vgw-shero__btns .vgw-btn { flex: 1 1 100%; justify-content: center; }
    .vgw-root .vgw-shero__stamp { width: 82px; height: 82px; font-size: 13px; }
    .vgw-root .vgw-scards, .vgw-root .vgw-sconts__grid { grid-template-columns: 1fr; }
    .vgw-root .vgw-sblock > summary { padding: 14px; gap: 12px; }
    .vgw-root .vgw-sblock__ico { flex-basis: 42px; height: 42px; }
    .vgw-root .vgw-sblock__head strong { font-size: 16px; }
    .vgw-root .vgw-sblock__head small { display: none; }
    .vgw-root .vgw-sblock__in { padding: 0 14px 18px; }
    .vgw-root .vgw-sgal { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .vgw-root .vgw-sform__box { padding: 20px 16px; border-radius: 18px; }
    .vgw-root .vgw-sform__form { padding: 16px; }
}
