
:root{--navy:#10273b;--navy2:#071822;--gold:#c8a15a;--cream:#f6f0e7;--paper:#fffdf9;--ink:#1c2831;--muted:#56636c;}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.58;font-weight:400} p{color:var(--muted);font-size:1rem;font-weight:400}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-weight:600;margin:0 0 .55em} h2{font-size:clamp(2rem,4vw,3.5rem)} h3{font-size:1.35rem}
a{color:inherit} .wrap{max-width:1180px;margin:auto;padding:0 22px} .section{padding:82px 0} .eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--gold);font-weight:700}
.btn{display:inline-block;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer}
.btn.gold{background:var(--gold);color:#111} .btn.outline{border-color:#fff;color:#fff} .btn.dark{background:var(--navy);color:white}
.hero{min-height:78vh;position:relative;display:grid;align-items:center;color:white;background:var(--navy2);overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,28,.93) 0%,rgba(5,18,28,.70) 48%,rgba(5,18,28,.18) 100%);z-index:1}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.82}
.hero .content{position:relative;z-index:2;max-width:760px;padding:80px 22px;margin-left:max(calc((100vw - 1180px)/2),0px)}
.brand{font-size:.84rem;letter-spacing:.22em;text-transform:uppercase;color:#efd8ad;margin-bottom:20px}
.hero h1{font-size:clamp(3rem,7vw,6.3rem);line-height:.98;color:white} .hero .lead{font-size:1.22rem;max-width:680px;color:#eef2f4}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.trust{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;color:#ead8b7;font-size:.95rem}
.trust span:not(:last-child):after{content:" •";margin-left:12px}
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center} .intro img{width:100%;border-radius:22px;box-shadow:0 18px 44px rgba(0,0,0,.12)}
.quote{font-family:Georgia,serif;font-size:1.35rem;color:var(--navy);border-left:3px solid var(--gold);padding-left:18px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px} .card{background:white;border:1px solid #e7dfd4;border-radius:18px;padding:26px;box-shadow:0 8px 30px rgba(16,39,59,.05)}
.card .num{font-family:Georgia,'Times New Roman',serif;color:var(--gold);font-size:2rem;font-weight:700}.card h3{color:var(--navy);font-weight:600}.card p{color:var(--ink);font-weight:400}
.dark-section{background:var(--navy);color:white}.dark-section h2{color:white}.dark-section>div>p,.dark-section .wrap>p{color:#e7edf1}.dark-section .card{color:var(--ink)}.dark-section .card p{color:var(--ink)}
.gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px} .gallery img{width:100%;height:290px;object-fit:cover;border-radius:18px} .gallery img:first-child{grid-row:span 2;height:594px}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px} .price-card{border:1px solid #e4ddd3;border-radius:18px;padding:24px;background:white}
.price-row{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #eee6db;padding:12px 0} .price-row:first-of-type{border-top:0} .price{white-space:nowrap;font-weight:800;color:var(--navy)}
.paywrap{display:grid;grid-template-columns:1fr .9fr;gap:38px;align-items:start} .paybox{background:white;border-radius:22px;padding:26px;color:var(--ink);box-shadow:0 16px 50px rgba(0,0,0,.18)}
label{display:block;font-weight:700;margin:14px 0 6px} select,input{width:100%;padding:13px;border:1px solid #cfd5d9;border-radius:10px;font:inherit;background:white}
.amountline{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px} .amountline span{padding-bottom:12px;font-weight:700}
#qr{background:white;padding:14px;border-radius:14px;width:max-content;max-width:100%;margin:20px auto 8px} #qr canvas{display:block;max-width:100%;height:auto}
.note{font-size:.92rem;color:#56636c;font-weight:400} .status{font-weight:700;color:var(--navy);margin-top:8px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center} .contactbox{background:var(--cream);padding:28px;border-radius:20px}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.footer{background:var(--navy2);color:#cbd5db;text-align:center;padding:34px 20px;font-size:.9rem}
.mobilebar{display:none}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px} .badge{background:var(--cream);padding:18px;border-radius:14px;text-align:center;font-weight:700;color:var(--navy)}
.voucher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.voucher-card{background:white;border:1px solid #e5dccf;border-radius:20px;padding:26px;text-align:center;box-shadow:0 8px 28px rgba(16,39,59,.05)}.voucher-value{font-family:Georgia,'Times New Roman',serif;font-size:2.15rem;color:var(--navy);font-weight:700;margin:6px 0 14px}.voucher-info{background:var(--cream);border-left:4px solid var(--gold);border-radius:14px;padding:18px 20px;margin-top:24px}.voucher-info p{margin:.35em 0}.verifybox{margin-top:28px;background:white;border:1px solid #e5dccf;border-radius:18px;padding:24px}.verifyline{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.verify-result{margin-top:12px;font-weight:700;color:var(--navy)}
@media(max-width:900px){.intro,.paywrap,.contact{grid-template-columns:1fr}.voucher-grid{grid-template-columns:1fr 1fr} .cards{grid-template-columns:repeat(2,1fr)} .gallery{grid-template-columns:1fr 1fr} .gallery img:first-child{grid-row:auto;height:320px} .gallery img{height:260px} .price-grid{grid-template-columns:1fr}}
@media(max-width:620px){#indikace .cards,#doporuceni .cards,#reference .cards{grid-template-columns:1fr !important}.voucher-grid{grid-template-columns:1fr}.verifyline{grid-template-columns:1fr} body{padding-bottom:0} .section{padding:58px 0} .hero{min-height:82vh} .hero:before{background:linear-gradient(180deg,rgba(5,18,28,.48),rgba(5,18,28,.92) 72%)} .hero .content{align-self:end;padding:80px 22px 66px;margin:0} .hero h1{font-size:3.1rem} .cards,.badges{grid-template-columns:1fr} .gallery{grid-template-columns:1fr} .gallery img,.gallery img:first-child{height:280px} .price-row{font-size:.94rem} .mobilebar a{padding:15px 8px;text-align:center;text-decoration:none;font-weight:700;color:var(--navy)} .mobilebar a:nth-child(2){background:var(--navy);color:white}}

/* Production navigation */
.topnav{position:absolute;top:0;left:0;right:0;z-index:20;background:linear-gradient(180deg,rgba(7,24,34,.82),rgba(7,24,34,.18));color:#fff}
.topnav-inner{max-width:1180px;margin:auto;padding:18px 22px;display:flex;align-items:center;gap:24px}
.topbrand{font-family:Georgia,'Times New Roman',serif;text-decoration:none;font-size:1.05rem;font-weight:700;color:#fff;white-space:nowrap}
.toplinks{display:flex;align-items:center;gap:18px;margin-left:auto}.toplinks a{font-size:.86rem;text-decoration:none;color:#f2f3f4}.toplinks a:hover{text-decoration:underline;text-underline-offset:5px}
.topcta{text-decoration:none;background:var(--gold);color:#111;padding:9px 14px;border-radius:999px;font-weight:700;font-size:.86rem}
@media(max-width:900px){.toplinks{display:none}.topnav-inner{justify-content:space-between}}
@media(max-width:620px){.topbrand{font-size:.95rem}.topcta{font-size:.8rem;padding:8px 12px}}


/* Test round 2 – odsouhlasené UX a vizuální úpravy */
.services-section{background:linear-gradient(180deg,#f8f2e9 0%,#f4ecdf 100%);position:relative;overflow:hidden}
.services-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(200,161,90,.12),transparent 28%);pointer-events:none}
.services-section .wrap{position:relative}.services-section h2{color:var(--navy)}.services-section .wrap>p{color:var(--muted)}
.services-section .card{background:rgba(255,253,249,.88);border-color:#e2d4c0}
.price-pay{cursor:pointer;position:relative;padding-right:92px;border-radius:10px;transition:background .18s ease,transform .18s ease}
.price-pay:hover,.price-pay:focus{background:#faf4e9;outline:none;transform:translateX(2px)}
.price-pay:after{content:"Zaplatit ›";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.78rem;font-weight:800;color:#9b722f;letter-spacing:.02em}
.voucher-section{position:relative;overflow:hidden;background:#f5eddf}
.voucher-section:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(250,246,238,.88),rgba(250,246,238,.92)),url('../img/poukaz-original-bg.png') center/cover no-repeat;opacity:.95;pointer-events:none}
.voucher-section .wrap{position:relative;z-index:1}
.voucher-section .voucher-card{background:rgba(255,253,249,.92);border-color:#d9c39d;box-shadow:0 12px 32px rgba(16,39,59,.08)}
.voucher-section .voucher-info{background:rgba(255,253,249,.78);border-left-color:var(--gold)}
.voucher-section .verifybox{background:rgba(255,253,249,.92)}
@media(max-width:620px){.price-pay{padding-right:12px;padding-bottom:38px}.price-pay:after{top:auto;bottom:9px;right:12px;transform:none}}

/* V5: richer visual rhythm + voucher cards based on the real voucher artwork */
#cenik{background:var(--paper)}
#oblicej{background:linear-gradient(135deg,#f4eadc 0%,#fbf8f2 58%,#efe2cf 100%) !important}
#kontraindikace{background:#fffdf9}
#doporuceni{background:linear-gradient(180deg,#f4ecdf,#faf6ef) !important}
#reference{background:#fff}
.voucher-section{background:#efe2cf}
.voucher-section:before{background:linear-gradient(rgba(250,246,238,.74),rgba(247,239,226,.80)),url('../img/poukaz-original-bg.png') center/cover no-repeat;opacity:1}
.voucher-section .voucher-grid{gap:24px}
.voucher-section .voucher-ticket{position:relative;isolation:isolate;overflow:hidden;min-height:245px;padding:0;border:1px solid #cba766;border-radius:16px;background:url('../img/poukaz-original-bg.png') center/cover no-repeat;box-shadow:0 16px 35px rgba(16,39,59,.16);transition:transform .18s ease,box-shadow .18s ease}
.voucher-section .voucher-ticket:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(16,39,59,.22)}
.voucher-section .voucher-ticket:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,248,.94) 0%,rgba(255,253,248,.83) 58%,rgba(255,253,248,.22) 100%);z-index:-1}
.voucher-ticket-inner{min-height:245px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.voucher-brand{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--navy);font-size:1.05rem;margin-bottom:16px}
.voucher-ticket .eyebrow{color:#8b672b;margin-bottom:2px}
.voucher-ticket .voucher-value{font-size:2.45rem;margin:4px 0 18px;text-shadow:0 1px 0 #fff}
.voucher-ticket .btn{box-shadow:0 6px 16px rgba(85,57,14,.18)}
.voucher-section .voucher-info{background:rgba(16,39,59,.94);color:white;border-left:0;border-top:3px solid var(--gold);box-shadow:0 10px 26px rgba(16,39,59,.12)}
.voucher-section .voucher-info p{color:#f6f1e8}
.voucher-section .verifybox{background:rgba(255,253,249,.96);box-shadow:0 10px 26px rgba(16,39,59,.08)}
@media(max-width:620px){.voucher-section .voucher-ticket,.voucher-ticket-inner{min-height:210px}.voucher-section .voucher-ticket:before{background:rgba(255,253,248,.84)}}

/* V6: stronger section rhythm + real voucher miniatures */
.about-section{background:#fffdf9}
.services-section{background:linear-gradient(135deg,#0f2b42 0%,#173d58 100%);color:#fff}
.services-section:before{background:radial-gradient(circle at 88% 12%,rgba(200,161,90,.22),transparent 30%)}
.services-section h2{color:#fff}
.services-section .wrap>p{color:#d8e1e6}
.services-section .card{background:#fffaf1;border-color:rgba(200,161,90,.38);box-shadow:0 12px 36px rgba(0,0,0,.18)}
.services-section .card p{color:#31424e}
.gallery-section{background:#eadfce;border-top:1px solid #dcc7a7;border-bottom:1px solid #dcc7a7}
.gallery-section .gallery img{box-shadow:0 12px 32px rgba(16,39,59,.12)}
.pricing-section{background:#fffdf9}
#oblicej{background:linear-gradient(135deg,#f0e3d1 0%,#faf6ef 55%,#e8d8c0 100%) !important}
.contraindications-section{background:#fffdf9}
#doporuceni{background:#eee2d2 !important}
.references-section{background:#f9f5ee}
.contact-section{background:#fffdf9}

/* Calm voucher area: the artwork belongs on the voucher cards, not across the whole section */
.voucher-section{background:linear-gradient(180deg,#f1e4d2 0%,#f8f1e7 100%)}
.voucher-section:before{background:none;opacity:1}
.voucher-section .wrap{position:relative}
.voucher-section .wrap:before,.voucher-section .wrap:after{content:"";position:absolute;width:170px;height:300px;opacity:.14;pointer-events:none;background:url('../img/poukaz-original-bg.png') left center/auto 100% no-repeat;filter:saturate(.8)}
.voucher-section .wrap:before{left:-150px;top:20px}
.voucher-section .wrap:after{right:-150px;top:70px;transform:scaleX(-1)}
.voucher-grid-real{align-items:start;gap:24px}
.voucher-choice{display:flex;flex-direction:column;gap:14px;align-items:center}
.voucher-choice img{display:block;width:100%;aspect-ratio:1452/1024;object-fit:cover;border:1px solid #caa865;border-radius:14px;box-shadow:0 14px 34px rgba(16,39,59,.16);transition:transform .18s ease,box-shadow .18s ease}
.voucher-choice:hover img{transform:translateY(-3px);box-shadow:0 19px 42px rgba(16,39,59,.22)}
.voucher-choice .btn{min-width:190px;box-shadow:0 7px 16px rgba(85,57,14,.14)}
.voucher-section .voucher-info{background:var(--navy);color:#fff;border-left:0;border-top:3px solid var(--gold)}
.voucher-section .voucher-info p{color:#f7f2ea}
.voucher-section .verifybox{background:#fffdf9}

/* Section separation without adding clutter */
.about-section,.services-section,.gallery-section,.pricing-section,#oblicej,#indikace,.contraindications-section,#doporuceni,.references-section,#platba,.voucher-section,.contact-section{position:relative}
.about-section:after,.gallery-section:after,.pricing-section:after,#oblicej:after,.contraindications-section:after,#doporuceni:after,.references-section:after,.voucher-section:after{content:"";position:absolute;left:50%;bottom:0;width:min(180px,35vw);height:2px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}

@media(max-width:900px){.voucher-grid-real{grid-template-columns:1fr 1fr}.voucher-section .wrap:before,.voucher-section .wrap:after{display:none}}
@media(max-width:620px){.voucher-grid-real{grid-template-columns:1fr}.services-section{background:linear-gradient(180deg,#10273b,#17384f)}.voucher-choice img{border-radius:12px}}

/* V7: stronger chapter rhythm — graphics only, photos unchanged */
.pricing-section{background:linear-gradient(135deg,#0b2234 0%,#123a55 100%);color:#eef4f7;border-top:1px solid rgba(200,161,90,.35);border-bottom:1px solid rgba(200,161,90,.35)}
.pricing-section h2{color:#fff}.pricing-section .eyebrow{color:#d5ad63}.pricing-section .price-grid{gap:20px}
.pricing-section .price-card{background:#fffaf1;border:1px solid rgba(200,161,90,.45);box-shadow:0 14px 34px rgba(0,0,0,.20)}
.pricing-section .price-card h3{color:var(--navy)}.pricing-section .price-row{border-color:#eadfce;color:#263744}
.pricing-section .price{color:var(--navy)}.pricing-section .price-pay:hover{background:#f3e7d4}
.pricing-section:after{background:linear-gradient(90deg,transparent,#d6b36d,transparent)!important;opacity:.8!important}

#oblicej{background:#fffaf2!important}
#oblicej .price-card{background:#fff;border-color:#e5d6c2;box-shadow:0 10px 28px rgba(16,39,59,.07)}

/* Indications + contraindications read as one health-information chapter */
#indikace{background:linear-gradient(180deg,#e9dfd0 0%,#f2eadf 100%);color:var(--ink);padding-bottom:34px}
#indikace h2{color:var(--navy)}#indikace>div>p,#indikace .wrap>p{color:var(--muted)}
#indikace .card{background:#fffdf9;border:1px solid #ddc9aa;box-shadow:0 9px 24px rgba(16,39,59,.06)}
.contraindications-section{background:linear-gradient(180deg,#f2eadf 0%,#e9dfd0 100%);padding-top:34px}
.contraindications-section:before{content:"";position:absolute;left:50%;top:0;width:min(1080px,84vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(16,39,59,.22),transparent)}
.contraindications-section .price-card{background:#fffdf9;border-color:#ddc9aa;box-shadow:0 9px 24px rgba(16,39,59,.06)}

/* Recommendations become their own dark chapter */
#doporuceni{background:linear-gradient(135deg,#10273b 0%,#173d58 100%)!important;color:#edf3f6}
#doporuceni h2{color:#fff}#doporuceni .eyebrow{color:#d5ad63}
#doporuceni .card{background:#fffaf1;border:1px solid rgba(200,161,90,.42);box-shadow:0 12px 30px rgba(0,0,0,.16)}
#doporuceni .card p{color:#31424e}

/* Reviews get a clean light chapter after the dark recommendations */
.references-section{background:#fffdf9}
.references-section .card{background:#f5ecdf;border-color:#dfceb4;box-shadow:0 9px 26px rgba(16,39,59,.06)}

@media(max-width:620px){
 .pricing-section{background:linear-gradient(180deg,#0b2234,#153d57)}
 #indikace{padding-bottom:28px}.contraindications-section{padding-top:28px}
 #doporuceni{background:linear-gradient(180deg,#10273b,#17384f)!important}
}

/* V7.1 hotfix: force pricing chapter background across browsers/cache */
section#cenik.pricing-section{
  background-color:#0b2234 !important;
  background-image:linear-gradient(135deg,#0b2234 0%,#123a55 100%) !important;
  color:#eef4f7 !important;
}
section#cenik.pricing-section h2{color:#ffffff !important;}
section#cenik.pricing-section .eyebrow{color:#d5ad63 !important;}
section#cenik.pricing-section .price-card{
  background:#fffaf1 !important;
  border:1px solid rgba(200,161,90,.48) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.14) !important;
}

/* V7.3: compact vertical rhythm — colors/photos unchanged */
#oblicej.section{padding-top:58px;padding-bottom:58px}
#indikace.section{padding-top:56px;padding-bottom:24px}
#kontraindikace.section{padding-top:24px;padding-bottom:56px}
#doporuceni.section{padding-top:58px;padding-bottom:58px}
.references-section.section{padding-top:54px;padding-bottom:54px}

/* Keep cards comfortable while removing dead vertical space around short chapters */
#oblicej .price-grid,#indikace .cards,#kontraindikace .price-grid,#doporuceni .cards,.references-section .cards{margin-top:20px}

@media(max-width:620px){
 #oblicej.section{padding-top:46px;padding-bottom:46px}
 #indikace.section{padding-top:44px;padding-bottom:20px}
 #kontraindikace.section{padding-top:20px;padding-bottom:44px}
 #doporuceni.section{padding-top:46px;padding-bottom:46px}
 .references-section.section{padding-top:44px;padding-bottom:44px}
}


/* V7.7: safe visual balancing of informational bands — no fixed heights, no clipping */
@media (min-width: 901px) {
  #indikace.section {
    padding-top: 82px !important;
    padding-bottom: 74px !important;
  }
  #kontraindikace.section {
    padding-top: 28px !important;
    padding-bottom: 34px !important;
  }
  #doporuceni.section {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }
  #indikace.section,
  #kontraindikace.section,
  #doporuceni.section {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: block !important;
  }
}

/* V7.8 – doručení online poukazu */
.voucher-customer{margin-top:16px;padding:16px;border:1px solid rgba(195,145,61,.45);border-radius:14px;background:#fff8ea}
.voucher-customer[hidden]{display:none!important}
.voucher-customer label{display:block;margin-bottom:7px;font-weight:700;color:#102f49}
.voucher-customer input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #d9c8a7;border-radius:10px;background:#fff;color:#102f49;font:inherit}
.voucher-customer input:focus{outline:2px solid rgba(201,154,70,.35);border-color:#c99a46}
.voucher-customer .note{margin:9px 0 12px;font-size:.88rem;line-height:1.45;color:#56616a}
.voucher-customer .btn{width:100%;justify-content:center}
.voucher-customer.is-created input{background:#f3f0ea;color:#666}

/* V7.9 – souhrn konkrétního online poukazu pod platebním QR */
.voucher-order-summary{
  margin:16px 0 8px;
  padding:14px 16px;
  border:1px solid rgba(183,132,48,.45);
  border-radius:14px;
  background:#f8f0e2;
  color:#10273b;
  text-align:left;
}
.voucher-order-summary[hidden]{display:none!important}
.voucher-order-summary>div{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:7px 0;
  border-bottom:1px solid rgba(16,39,59,.10);
}
.voucher-order-summary>div:last-of-type{border-bottom:0}
.voucher-order-summary span{font-size:.88rem;color:#53606b}
.voucher-order-summary strong{font-size:1rem;color:#10273b;text-align:right;word-break:break-word}
.voucher-order-summary p{margin:10px 0 0;font-size:.82rem;line-height:1.45;color:#53606b}
@media(max-width:640px){
  .voucher-order-summary>div{display:block}
  .voucher-order-summary strong{display:block;margin-top:2px;text-align:left}
}

/* Dream of Moravia Digital – logo v pravém dolním rohu patičky */
.footer .domdigital-credit{display:block;width:280px;max-width:100%;margin:14px 0 0 auto;line-height:0}
.footer .domdigital-credit img{display:block;width:100%;height:auto;border:1px solid #c8a15a;border-radius:5px}

/* OBNOVA SCHVALENYCH TLAČÍTEK: doplněk na konec stávajícího assets/css/style.css */
/* LymfoGabi: sjednocena odezva ovladacich prvku, bez zmeny jejich funkci */
.btn,.topcta,.loyalty-btn,.contact a.btn,.voucher-ticket .btn{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.btn.gold:hover,.topcta:hover,.loyalty-btn.scan:hover,.voucher-ticket .btn.gold:hover{background-color:#e6c481;color:#10273b;box-shadow:0 5px 14px rgba(0,0,0,.17)}
.btn.dark:hover,.loyalty-btn.open:not(:disabled):hover{background-color:#254b68;color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.14)}
.btn.outline:hover{background-color:rgba(213,173,99,.19);border-color:#d5ad63;color:inherit}
.btn:active,.topcta:active,.loyalty-btn:not(:disabled):active{transform:translateY(1px)}
.btn:focus-visible,.topcta:focus-visible,.loyalty-btn:focus-visible,.price-contact-link:focus-visible{outline:3px solid #d5ad63;outline-offset:3px}
.loyalty-btn:disabled{transform:none;box-shadow:none}
.price-contact-link{display:inline-block;color:#9b722f;font-size:.82rem;font-weight:800;text-decoration:none;padding:9px 3px;transition:color .18s ease,text-decoration-color .18s ease}
.price-contact-link:hover{color:#6d4a16;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.btn,.topcta,.loyalty-btn,.price-contact-link{transition:none}}

/* Oprava chybějícího stylu odkazu na věrnostní účet – pouze tento prvek */
.loyalty-install-btn{display:inline-block;padding:14px 20px;border-radius:999px;background:#d5ad63;color:#10273b;text-decoration:none;font-weight:800;text-align:center;border:1px solid #d5ad63;cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.loyalty-install-btn:hover{background:#e6c481;color:#10273b;box-shadow:0 5px 14px rgba(0,0,0,.17)}
.loyalty-install-btn:focus-visible{outline:3px solid #d5ad63;outline-offset:3px}
.loyalty-install-btn:active{transform:translateY(1px)}
.loyalty-install-note{display:block;margin-top:12px;font-size:.82rem;line-height:1.5;color:#56636c}
@media(prefers-reduced-motion:reduce){.loyalty-install-btn{transition:none}}

/* Navigace testovací vícestránkové verze */
.newnav .newsubmenu a{display:block}
.service-detail .wrap{max-width:1000px}
.service-detail .card{max-width:720px}
.newpageheading{padding:30px 18px 15px}
.newpageheading h1{margin:0}

/* Pouze schválená úprava společné patičky – kontakty a recenze */
.footer .shared-footer-content{max-width:1120px;margin:0 auto 26px;text-align:left}
.footer .shared-footer-content .section{padding:24px 0;background:transparent;color:#f8f1e6}
.footer .shared-footer-content .wrap{max-width:100%;padding:0}
.footer .shared-footer-content h2,.footer .shared-footer-content h3{color:#fffaf1}
.footer .shared-footer-content .eyebrow{color:#d5ad63}
.footer .shared-footer-content .contactbox,.footer .shared-footer-content .card{background:#fffaf1;color:#10273b}
.footer .shared-footer-content .contactbox h3,.footer .shared-footer-content .card h3{color:#10273b}
.footer .shared-footer-content .contactbox a:not(.btn){color:#10273b}
.footer .shared-footer-content .references-section{border-top:1px solid rgba(255,250,241,.22)}
.footer .shared-footer-content .references-section .cards{gap:12px}
@media(max-width:650px){.footer .shared-footer-content .references-section .cards{grid-template-columns:1fr!important}}

/* KROK 5: pouze kompaktni uvodni fotograficky blok na desktopu. */
@media (min-width: 621px) {
  .hero { min-height: 42vh; }
  .hero .content { padding-top: 32px; padding-bottom: 32px; }
  .hero h1 { font-size: clamp(2.5rem, 4vw, 3.9rem); line-height: 1.05; }
  .hero .lead { font-size: 1rem; }
  .hero .brand { margin-bottom: 12px; }
  .hero .trust { margin-top: 14px; font-size: .86rem; }
}

/* Krok 6: pouze kompaktní sekce O mne na uvodni strance */
@media (min-width: 901px) {
  .about-section.section { padding-top: 36px; padding-bottom: 34px; }
  .about-section .intro { gap: 32px; align-items: center; }
  .about-section h2 { font-size: clamp(2rem, 3vw, 2.65rem); margin-bottom: 12px; }
  .about-section .eyebrow { margin: 0 0 10px; }
  .about-section .quote { font-size: 1.12rem; line-height: 1.4; margin: 0 0 14px; }
  .about-section .intro p:not(.eyebrow):not(.quote) { margin: 0 0 11px; line-height: 1.48; }
  .about-section .badges { margin-top: 15px; gap: 10px; }
  .about-section .badge { padding: 11px 9px; font-size: .88rem; line-height: 1.35; }
}

/* KROK 9 – pouze oprava čitelnosti a šířky na stránce lymfodrenáží */
.service-detail .lymfo-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-detail .lymfo-three .card{min-width:0;max-width:none}
.service-detail .lymfo-three .card h2{color:#10273b;font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.22;overflow-wrap:break-word}
#oblicej h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.18}
@media(max-width:800px){.service-detail .lymfo-three{grid-template-columns:1fr}}

/* KROK 10 – zhutnění pouze tří úvodních karet lymfodrenáží; velikost písma beze změny */
.service-detail.services-section.section{padding-top:38px;padding-bottom:38px}
.service-detail .lymfo-three{align-items:start;gap:16px}
.service-detail .lymfo-three .card{padding:18px 22px;min-height:0}
.service-detail .lymfo-three .card .num{margin:0 0 4px;line-height:1.1}
.service-detail .lymfo-three .card h2{margin:5px 0 12px}
.service-detail .lymfo-three .card p{margin:0;line-height:1.48}
@media(max-width:800px){.service-detail.services-section.section{padding-top:30px;padding-bottom:30px}.service-detail .lymfo-three{gap:12px}}

/* KROK 11: jen vyrazne kompaktnejsi tri uvodni karty lymfodrenazi.
   Pismo, texty, barvy a ostatni sekce beze zmeny. */
.service-detail.services-section.section{padding-top:18px;padding-bottom:18px}
.service-detail .lymfo-three{gap:12px;align-items:start}
.service-detail .lymfo-three .card{padding:12px 18px;min-height:0;height:auto}
.service-detail .lymfo-three .card .num{margin:0 0 2px}
.service-detail .lymfo-three .card h2{margin:2px 0 7px}
.service-detail .lymfo-three .card p{margin:0}
@media(max-width:800px){.service-detail.services-section.section{padding-top:18px;padding-bottom:18px}.service-detail .lymfo-three{gap:10px}}

/* KROK 12 – pouze stránka lymfodrenáží: kompaktní nadpis a stejně vysoké karty. */
body:has(.lymfo-three) .newpageheading{background:#10273b;padding:12px 18px 8px;text-align:center}
body:has(.lymfo-three) .newpageheading h1{color:#d5ad63;font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.2}
.service-detail .lymfo-three{align-items:stretch}
.service-detail .lymfo-three .card{height:auto;align-self:stretch}
@media(max-width:800px){.service-detail .lymfo-three{align-items:stretch}}

/* Krok 14: kompaktní svislé odsazení pouze na stránce lymfodrenáží */
body:has(.lymfo-three) #oblicej.section,
body:has(.lymfo-three) #indikace.section,
body:has(.lymfo-three) #kontraindikace.section {padding-top:48px;padding-bottom:44px}
body:has(.lymfo-three) #doporuceni.section {padding-top:36px;padding-bottom:36px}
body:has(.lymfo-three) #doporuceni .lymfo-recommendations {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body:has(.lymfo-three) #doporuceni .lymfo-recommendations .card {padding:20px 24px}
@media(max-width:620px){
 body:has(.lymfo-three) #oblicej.section,body:has(.lymfo-three) #indikace.section,body:has(.lymfo-three) #kontraindikace.section {padding-top:32px;padding-bottom:30px}
 body:has(.lymfo-three) #doporuceni.section {padding-top:30px;padding-bottom:30px}
 body:has(.lymfo-three) #doporuceni .lymfo-recommendations {grid-template-columns:1fr;gap:12px}
}

/* KROK 15 – pouze rozměry sekcí na stránce Lymfodrenáže; bez změny textů a běžného písma. */
body:has(.lymfo-three) #oblicej.section {padding-top:28px;padding-bottom:26px}
body:has(.lymfo-three) #indikace.section h2,
body:has(.lymfo-three) #kontraindikace.section h2 {font-size:clamp(1.85rem,3.1vw,2.75rem);line-height:1.18}
@media(max-width:620px){
 body:has(.lymfo-three) #oblicej.section {padding-top:26px;padding-bottom:24px}
 body:has(.lymfo-three) #indikace.section h2,
 body:has(.lymfo-three) #kontraindikace.section h2 {font-size:clamp(1.7rem,6vw,2.15rem)}
}

/* KROK 17 – jednotné kompaktní popisy tří procedur, pouze stránka Lymfodrenáže. */
body:has(.lymfo-three) .lymfo-detail-list{display:grid;gap:12px;margin-top:18px}
body:has(.lymfo-three) .lymfo-detail{padding:20px 24px;border:1px solid rgba(16,39,59,.15);border-radius:12px;background:#fffaf1}
body:has(.lymfo-three) .lymfo-detail h3{margin:0 0 9px;color:var(--navy,#10273B)}
body:has(.lymfo-three) .lymfo-detail p{margin:0 0 9px}
body:has(.lymfo-three) .lymfo-detail p:last-child{margin-bottom:0}
@media(max-width:620px){body:has(.lymfo-three) .lymfo-detail{padding:16px}}

/* Krok 18: pouze stránka sportovních masáží */
.sport-massage-intro .sport-massage-copy,.sport-massage-cautions .sport-massage-copy{max-width:920px}
.sport-massage-intro .sport-massage-copy p,.sport-massage-cautions .sport-massage-copy p{line-height:1.75;margin:0 0 1.1em}
.sport-massage-intro .sport-massage-copy h2{margin-bottom:24px}
.sport-massage-cautions{background:#fffaf1}
.sport-massage-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.sport-massage-tips{grid-template-columns:1fr}}

/* Krok 19: pouze citelnost uvodniho textu a kompaktnejsi sekce opatrnosti. */
.sport-massage-intro .sport-massage-copy > p:not(.eyebrow){color:#e7edf1}
.sport-massage-cautions.section{padding-top:54px;padding-bottom:48px}
@media(max-width:620px){.sport-massage-cautions.section{padding-top:38px;padding-bottom:34px}}

/* Krok 20: jednotný styl informačních karet, výhradně Sportovní masáže */
.sport-massage-intro .sport-massage-panel{max-width:100%;background:#fffaf1;color:#10273b;border:1px solid rgba(200,161,90,.48);border-radius:18px;padding:28px 34px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.sport-massage-intro .sport-massage-panel h2{color:#10273b}
.sport-massage-intro .sport-massage-panel > p:not(.eyebrow){color:#243746}
.sport-massage-cautions .sport-massage-panel{max-width:100%;background:#fff;border:1px solid rgba(200,161,90,.3);border-radius:18px;padding:24px 30px;box-shadow:0 8px 20px rgba(0,0,0,.07)}
.sport-massage-cautions .sport-massage-panel p{color:#243746}
body:has(.sport-massage-intro) #doporuceni{background:#10273b;color:#fff}
body:has(.sport-massage-intro) #doporuceni h2{color:#fff}
body:has(.sport-massage-intro) #doporuceni .card{background:#fffaf1;color:#10273b;border:1px solid rgba(200,161,90,.48)}
body:has(.sport-massage-intro) #doporuceni .card p{color:#243746}
@media(max-width:620px){.sport-massage-intro .sport-massage-panel,.sport-massage-cautions .sport-massage-panel{padding:18px 20px}}

/* Krok 21: pouze hierarchie nadpisu na strance Sportovni masaze. */
.sport-massage-intro .sport-massage-panel h1{color:#10273b;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.15;margin:0 0 12px}
.sport-massage-intro .sport-massage-panel .sport-massage-subtitle{color:#10273b;font-family:Georgia,serif;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:600;line-height:1.3;margin:0 0 24px}

/* Krok 23: jednotný zlatý nadpis služby nad kartou */
body:has(.sport-massage-intro) .newpageheading{background:#10273b;padding:12px 18px 8px;text-align:center}
body:has(.sport-massage-intro) .newpageheading h1{color:#d5ad63;font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.2;display:block;visibility:visible}

/* Krok 24: stejna hierarchie uvodnich nadpisu ve vsech trech sekcich. */
.sport-massage-intro .sport-massage-section-title{color:#fff;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.15;margin:0 0 30px;font-weight:700}
.sport-massage-intro .eyebrow{color:#d5ad63}

/* Krok 25: jednotna typografie obsahovych karet na strankach sluzeb.
   Rozliseni: bezny text Arial 16px; nadpis karty Georgia 21.6px. */
body:has(.service-detail) .card p,
body:has(.service-detail) .sport-massage-panel p:not(.eyebrow),
body:has(.service-detail) .lymfo-three .card p {
  font-family:Arial,Helvetica,sans-serif;
  font-size:1rem;
  font-weight:400;
  line-height:1.58;
}
body:has(.service-detail) .card h3 {
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.35rem;
  font-weight:600;
  line-height:1.3;
}
/* Zlaty drobny nadpis ve vsech trech sekcich Sportovnich masazi. */
body:has(.sport-massage-intro) .sport-massage-intro .eyebrow,
body:has(.sport-massage-intro) .sport-massage-cautions .eyebrow,
body:has(.sport-massage-intro) #doporuceni .eyebrow {
  color:#d5ad63;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.78rem;
  font-weight:700;
}

/* KROK 26: pouze citelnost odstavcu informacnich karet na strankach sluzeb.
   Bez zasahu do nadpisu, navigace, ceniku, uvodni stranky a obsahu. */
body:has(.service-detail) .card p,
body:has(.service-detail) .sport-massage-panel p:not(.eyebrow),
body:has(.service-detail) .lymfo-detail p,
body:has(.service-detail) #kontraindikace .price-card p,
body:has(.service-detail) #oblicej .price-card p {
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  line-height:1.6;
}
@media(max-width:620px){
  body:has(.service-detail) .card p,
  body:has(.service-detail) .sport-massage-panel p:not(.eyebrow),
  body:has(.service-detail) .lymfo-detail p,
  body:has(.service-detail) #kontraindikace .price-card p,
  body:has(.service-detail) #oblicej .price-card p {font-size:18px;line-height:1.6}
}

/* KROK 27: spolecna citelnost INFORMACNICH karet, bez zasahu do formulare, ceniku a navigace. */
body .section .cards .card p,
body .section .lymfo-three .card p,
body .section .lymfo-detail p,
body .section .price-card p,
body .section .sport-massage-panel p:not(.eyebrow),
body .section .sport-massage-copy p:not(.eyebrow),
body .section .voucher-info p {
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  line-height:1.6;
}
@media(max-width:620px){
 body .section .cards .card p,
 body .section .lymfo-three .card p,
 body .section .lymfo-detail p,
 body .section .price-card p,
 body .section .sport-massage-panel p:not(.eyebrow),
 body .section .sport-massage-copy p:not(.eyebrow),
 body .section .voucher-info p {font-size:18px;line-height:1.6}
}

/* Aktuality: schvalena uvítaci nabidka pod uvodnim obrazkem. */
.newupdates{background:#10273B;color:#FFFAF1;padding:30px 18px 36px}
.newupdates-inner{max-width:1080px;margin:0 auto}
.newupdates-label{color:#D5AD63;font-size:13px;font-weight:700;letter-spacing:.12em;margin:0 0 12px}
.newupdates-card{background:#FFFAF1;color:#10273B;border-left:5px solid #D5AD63;border-radius:10px;padding:25px 30px;box-shadow:0 5px 20px rgba(0,0,0,.12)}
.newupdates-card h2{font-size:clamp(23px,3vw,32px);line-height:1.2;color:#10273B;margin:0 0 12px}
.newupdates-card h3{font-size:clamp(22px,3vw,30px);line-height:1.25;color:#10273B;margin:0 0 16px}
.newupdates-card p{font-size:18px;line-height:1.55;margin:0 0 13px;color:#10273B}
.newupdates-card a{display:inline-block;color:#936a2c;font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-top:3px}
@media(max-width:620px){.newupdates{padding:22px 14px 28px}.newupdates-card{padding:20px 18px}.newupdates-card p{font-size:16px}}

/* Oprava citelnosti schvalenych odstavcu v Aktualitach. */
.newupdates .newupdates-card p{color:#10273B}

/* Mobilni uprava navigace a uvodni fotografie – bez vlivu na desktop. */
@media (max-width:760px){
  .newnav .newnav-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:9px 10px;
    padding:10px 12px 9px;
  }
  .newnav .newbrand{
    width:auto;min-width:0;display:flex;align-items:center;
    gap:7px;font-size:clamp(.77rem,3.3vw,.98rem);line-height:1.2;
  }
  .newnav .newbrand span{min-width:0;overflow-wrap:normal}
  .newnav .newbrand-logo{width:31px;height:31px;flex-shrink:0}
  .newnav .neworder{
    margin:0;padding:9px 10px;font-size:.78rem;
    text-align:center;white-space:nowrap;
  }
  .newnav .newlinks{
    grid-column:1 / -1;min-width:0;width:100%;margin:0;
    flex-basis:auto;order:initial;gap:2px;
    overflow-x:auto;overflow-y:hidden;
  }
  .newnav .newlinks a{font-size:.82rem;padding:7px 8px}
}
@media (max-width:620px){
  .hero{min-height:0}
  .hero .content{
    align-self:center;
    padding:30px 18px 32px;
    margin:0;
  }
  .hero .brand{font-size:.68rem;letter-spacing:.12em;margin-bottom:11px}
  .hero h1{font-size:clamp(2.05rem,8vw,2.8rem);line-height:1.08}
  .hero .lead{font-size:.96rem;line-height:1.5}
  .hero .trust{font-size:.79rem;margin-top:12px;gap:5px 10px}
  .hero .trust span:not(:last-child):after{margin-left:8px}
}

/* Mobil: odsazeni kontaktu pri prechodu z horni navigace. */
@media (max-width:760px){
  #kontakt{scroll-margin-top:115px}
}
