/* Salon Pacička — demo webpj.cz */
:root{
  --cream:#fdf9f4;
  --blue:#5b4a9e;      /* borůvková */
  --blue-dark:#463781;
  --honey:#e9a13b;     /* medová */
  --honey-dark:#3a2a12;
  --rose:#f4d7d0;      /* růžovkavá */
  --ink:#3a3350;
  --muted:#6f6788;
  --card:#ffffff;
  --radius:26px;
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
body{margin:0;font-family:'Karla',Arial,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--cream)}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Baloo 2',cursive;font-weight:700;line-height:1.2;color:var(--blue);margin:0 0 .5em}
h1{font-size:clamp(2rem,5.5vw,3.1rem);font-weight:800}
h2{font-size:clamp(1.55rem,3.6vw,2.15rem)}
h3{font-size:1.22rem}
p{margin:0 0 1em}
a{color:var(--blue)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* ---------- demo ribbon ---------- */
.demo{background:var(--blue);color:#fff;font-size:13.5px;font-weight:500;text-align:center;padding:8px 14px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;line-height:1.4}
.demo a{background:var(--honey);color:var(--honey-dark);font-weight:700;text-decoration:none;padding:5px 14px;border-radius:999px;white-space:nowrap}
.demo a:hover{background:#f0af53}

/* ---------- hlavička ---------- */
.site-head{position:sticky;top:0;z-index:60;background:rgba(253,249,244,.96);backdrop-filter:blur(6px);border-bottom:1px solid #efe5d8}
.head-in{display:flex;align-items:center;gap:22px;min-height:70px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-family:'Baloo 2',cursive;font-weight:800;font-size:1.35rem;color:var(--blue);line-height:1}
.brand .pawico{width:30px;height:30px;color:var(--honey)}
.brand span{color:var(--honey)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.98rem;padding:8px 14px;border-radius:999px}
.nav a:hover{background:var(--rose)}
.nav a.act{background:var(--blue);color:#fff}
.head-cta{white-space:nowrap}
.menu-btn{display:none;margin-left:auto;background:var(--blue);color:#fff;border:0;font:700 .95rem 'Karla',sans-serif;padding:9px 15px;border-radius:999px;cursor:pointer}
.m-nav{display:none;position:absolute;left:14px;right:14px;top:calc(100% + 8px);background:#fff;border-radius:20px;box-shadow:0 18px 44px rgba(70,55,129,.22);padding:10px;flex-direction:column;gap:2px}
.m-nav.open{display:flex}
.m-nav a{text-decoration:none;color:var(--ink);font-weight:700;padding:12px 16px;border-radius:14px}
.m-nav a:hover{background:var(--cream)}
.m-nav a.act{background:var(--blue);color:#fff}

/* ---------- tlačítka ---------- */
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;font-size:1rem;padding:13px 26px;border-radius:999px;border:0;cursor:pointer;font-family:'Karla',sans-serif}
.btn:hover{background:var(--blue-dark)}
.btn-honey{background:var(--honey);color:var(--honey-dark)}
.btn-honey:hover{background:#f0af53}
.btn-line{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn-line:hover{background:var(--blue);color:#fff}

/* ---------- sekce ---------- */
section{padding:64px 0}
section.hero{padding:0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 42px}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--honey);margin-bottom:10px}
.eyebrow.on-rose{color:var(--blue)}
.paws-bg{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170' viewBox='0 0 170 170'%3E%3Cg fill='%235b4a9e' fill-opacity='.05'%3E%3Cg transform='translate(44 48) rotate(-18)'%3E%3Cellipse cx='0' cy='7' rx='11' ry='8.6'/%3E%3Cellipse cx='-14' cy='-5' rx='5' ry='6.6'/%3E%3Cellipse cx='-5' cy='-13' rx='5' ry='6.9'/%3E%3Cellipse cx='5' cy='-13' rx='5' ry='6.9'/%3E%3Cellipse cx='14' cy='-5' rx='5' ry='6.6'/%3E%3C/g%3E%3Cg transform='translate(128 130) rotate(15)'%3E%3Cellipse cx='0' cy='7' rx='11' ry='8.6'/%3E%3Cellipse cx='-14' cy='-5' rx='5' ry='6.6'/%3E%3Cellipse cx='-5' cy='-13' rx='5' ry='6.9'/%3E%3Cellipse cx='5' cy='-13' rx='5' ry='6.9'/%3E%3Cellipse cx='14' cy='-5' rx='5' ry='6.6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}

/* ---------- hero ---------- */
.hero-bg{background:linear-gradient(160deg,#fdf9f4 0%,#faeee9 55%,var(--rose) 100%);border-radius:0 0 48px 48px}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:64px 0 72px}
.hero-txt .lead{font-size:1.13rem;color:var(--muted);max-width:46ch}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 22px}
.hero-badges{display:flex;gap:18px;flex-wrap:wrap;font-size:.92rem;font-weight:700;color:var(--blue)}
.hero-badges span{display:flex;align-items:center;gap:7px}
.hero-badges .pawico{width:17px;height:17px;color:var(--honey)}
.hero-art{position:relative;max-width:460px;margin:0 auto;width:100%}
.hero-art::before{content:"";position:absolute;inset:8% -4% -5% 6%;background:var(--honey);opacity:.32;border-radius:56% 44% 61% 39% / 44% 55% 45% 56%}
.blob{position:relative;width:100%;aspect-ratio:1/1;border-radius:58% 42% 55% 45% / 46% 52% 48% 54%;overflow:hidden;background:var(--rose);box-shadow:0 24px 54px rgba(70,55,129,.25)}
.blob img{width:100%;height:100%;object-fit:cover}
.hero-paw{position:absolute;color:var(--blue);opacity:.25}
.hero-paw.p1{width:44px;height:44px;top:-6px;left:-14px;transform:rotate(-22deg)}
.hero-paw.p2{width:30px;height:30px;bottom:14px;left:-30px;transform:rotate(18deg)}

/* ---------- karty ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.card{background:var(--card);border-radius:var(--radius);padding:28px 26px;box-shadow:0 10px 30px rgba(70,55,129,.09)}
.card .ico{width:56px;height:56px;border-radius:50%;background:var(--rose);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card .ico .pawico{width:28px;height:28px;color:var(--blue)}
.card .od{display:inline-block;margin-top:6px;font-weight:700;color:var(--honey-dark);background:#fbe9cd;border-radius:999px;padding:4px 13px;font-size:.9rem}
.card p{color:var(--muted);font-size:.98rem;margin-bottom:0}

/* proč k nám */
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.why-foto{width:100%;max-width:400px;aspect-ratio:1/1;border-radius:44% 56% 52% 48% / 55% 46% 54% 45%;overflow:hidden;background:var(--rose);margin:0 auto;box-shadow:0 18px 44px rgba(70,55,129,.18)}
.why-foto img{width:100%;height:100%;object-fit:cover}
.why-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.why-list li{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:20px;padding:16px 20px;box-shadow:0 8px 22px rgba(70,55,129,.07)}
.why-list .chk{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--honey);color:var(--honey-dark);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.why-list b{color:var(--blue)}
.why-list p{margin:2px 0 0;font-size:.95rem;color:var(--muted)}

/* kroky */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;counter-reset:krok}
.step{background:#fff;border-radius:34px 34px 30px 30px;padding:30px 24px 26px;text-align:center;box-shadow:0 10px 30px rgba(70,55,129,.09);position:relative}
.step .num{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--blue);color:#fff;font-family:'Baloo 2',cursive;font-weight:800;font-size:1.4rem;display:flex;align-items:center;justify-content:center}
.step p{font-size:.95rem;color:var(--muted);margin:0}

/* citace */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.quote{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:0 10px 30px rgba(70,55,129,.09)}
.quote .stars{color:var(--honey);letter-spacing:3px;font-size:1.05rem;margin-bottom:10px}
.quote p{font-size:.98rem;font-style:italic;color:var(--ink)}
.quote footer{font-weight:700;color:var(--blue);font-size:.92rem}

/* ---------- ceník ---------- */
.size-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch}
.size-card{background:#fff;border-radius:32px;padding:30px 26px;box-shadow:0 12px 32px rgba(70,55,129,.1);text-align:center;position:relative;display:flex;flex-direction:column}
.size-card.mid{border:2px solid var(--honey)}
.size-card .tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--honey);color:var(--honey-dark);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 16px;border-radius:999px;white-space:nowrap}
.size-card .sil{height:96px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:12px;color:var(--blue)}
.size-card .sil svg{opacity:.9}
.size-card .kg{color:var(--muted);font-size:.92rem;margin-top:-6px;margin-bottom:16px}
.size-card ul{list-style:none;margin:0;padding:0;text-align:left;flex:1}
.size-card li{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px dashed #eadfd2;font-size:.96rem}
.size-card li:last-child{border-bottom:0}
.size-card li b{color:var(--blue);white-space:nowrap}
.pric-note{background:var(--rose);border-radius:24px;padding:22px 26px;margin-top:34px;font-size:.95rem}
.pric-note p{margin:0 0 6px}
.pric-note p:last-child{margin:0}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
.faq details{background:#fff;border-radius:20px;box-shadow:0 8px 22px rgba(70,55,129,.07);margin-bottom:14px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;color:var(--blue);font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Baloo 2',cursive;font-size:1.5rem;color:var(--honey);line-height:1;flex:0 0 auto}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 22px 20px;color:var(--muted);font-size:.97rem}
.faq .a p{margin:0 0 8px}

/* ---------- objednání ---------- */
.book-step{background:#fff;border-radius:var(--radius);padding:28px 26px;box-shadow:0 10px 30px rgba(70,55,129,.09);margin-bottom:24px}
.book-step h2{display:flex;align-items:center;gap:12px;font-size:1.3rem;margin-bottom:16px}
.book-step h2 .bn{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--honey);color:var(--honey-dark);font-size:1.1rem;display:flex;align-items:center;justify-content:center;font-family:'Baloo 2',cursive;font-weight:800}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:700;font-size:.92rem;margin-bottom:6px;color:var(--blue)}
input,select{width:100%;min-width:0;padding:12px 14px;border:2px solid #e7dccd;border-radius:14px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:none;border-color:var(--blue)}
.cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}
.cal .day{border:2px solid #e7dccd;background:#fff;border-radius:16px;padding:9px 4px;text-align:center;cursor:pointer;font-family:'Karla',sans-serif;color:var(--ink);line-height:1.25}
.cal .day .dw{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.cal .day .dn{display:block;font-family:'Baloo 2',cursive;font-weight:700;font-size:1.25rem;color:var(--blue)}
.cal .day .dm{display:block;font-size:.72rem;color:var(--muted)}
.cal .day:hover{border-color:var(--blue)}
.cal .day.sel{background:var(--blue);border-color:var(--blue)}
.cal .day.sel .dw,.cal .day.sel .dn,.cal .day.sel .dm{color:#fff}
.cal .day.off{background:transparent;border-style:dashed;opacity:.45;cursor:not-allowed}
.cal .day.full{background:var(--rose);border-color:var(--rose)}
.cal .day.full .dn{color:#b3574a}
.slots{display:flex;flex-wrap:wrap;gap:10px}
.slots .slot{border:2px solid var(--blue);background:#fff;color:var(--blue);font:700 .98rem 'Karla',sans-serif;padding:10px 18px;border-radius:999px;cursor:pointer}
.slots .slot:hover{background:var(--rose)}
.slots .slot.sel{background:var(--blue);color:#fff}
.slots .slot:disabled{border-color:#e7dccd;color:#c2b8a8;background:#faf5ec;cursor:not-allowed;text-decoration:line-through}
.hint{color:var(--muted);font-size:.92rem;margin:10px 0 0}
#dayFull{display:none;background:var(--rose);border-radius:16px;padding:16px 20px;font-weight:700;color:#8c4237}
#finalStep{display:none}
.sum-line{background:var(--cream);border-radius:16px;padding:14px 18px;font-size:.98rem;margin-bottom:18px}
.sum-line b{color:var(--blue)}
#confirm{display:none;background:#e8f4e4;border:2px solid #8fbf7f;border-radius:var(--radius);padding:28px 26px;margin-bottom:24px}
#confirm h2{color:#3f7a2e}
#confirm p{margin-bottom:6px}

/* ---------- galerie ---------- */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.gal-card{background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 12px 32px rgba(70,55,129,.1)}
.gal-top{background:linear-gradient(150deg,var(--rose),#f9e8e2);padding:26px 24px 18px;display:flex;align-items:center;gap:18px}
.gal-top .sil{color:var(--blue);flex:0 0 auto}
.gal-top h3{margin:0}
.gal-top .plemeno{font-size:.88rem;color:var(--muted)}
.gal-body{padding:20px 24px 24px}
.ba{display:grid;gap:10px;margin-bottom:16px}
.ba .b,.ba .a{border-radius:14px;padding:12px 16px;font-size:.94rem}
.ba .b{background:var(--cream);color:var(--muted)}
.ba .a{background:#eef4e9;color:#3f5b33}
.ba span{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.ba .b span{color:#b09c82}
.ba .a span{color:#6f9c5c}
.stitky{display:flex;flex-wrap:wrap;gap:8px}
.stitky em{font-style:normal;background:var(--rose);color:var(--blue);font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:999px}

/* ---------- kontakt ---------- */
.kon-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;align-items:start}
.kon-card{background:#fff;border-radius:var(--radius);padding:28px 26px;box-shadow:0 10px 30px rgba(70,55,129,.09);margin-bottom:22px}
.kon-card h3{display:flex;align-items:center;gap:10px}
.kon-card h3 .pawico{width:20px;height:20px;color:var(--honey)}
.kon-card p{margin-bottom:6px}
.kon-card .big{font-family:'Baloo 2',cursive;font-weight:700;font-size:1.3rem;color:var(--blue)}
.hours{list-style:none;margin:0;padding:0}
.hours li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed #eadfd2;font-size:.97rem}
.hours li:last-child{border-bottom:0}
.hours b{color:var(--blue)}
.map-blob{border-radius:30px;overflow:hidden;box-shadow:0 14px 36px rgba(70,55,129,.14);background:var(--rose)}
.map-blob iframe{display:block}

/* CTA pás */
.cta-band{background:var(--blue);border-radius:36px;padding:46px 34px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-band h2{color:#fff}
.cta-band p{color:#d9d2f0;max-width:52ch;margin:0 auto 24px}
.cta-band .pawico{position:absolute;width:90px;height:90px;color:#fff;opacity:.08}
.cta-band .cb1{top:-16px;left:4%;transform:rotate(-20deg)}
.cta-band .cb2{bottom:-20px;right:5%;transform:rotate(16deg)}

/* ---------- patička ---------- */
footer.site-foot{background:var(--blue-dark);color:#cfc7ea;margin-top:70px;padding:54px 0 0;border-radius:48px 48px 0 0}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;padding-bottom:40px}
.site-foot h4{color:#fff;font-size:1.05rem;margin-bottom:14px}
.site-foot .brand{color:#fff;margin-bottom:12px}
.site-foot .brand span{color:var(--honey)}
.site-foot p{font-size:.93rem;margin-bottom:6px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:8px}
.site-foot a{color:#cfc7ea;text-decoration:none;font-size:.95rem}
.site-foot a:hover{color:#fff;text-decoration:underline}
.foot-bar{border-top:1px solid rgba(255,255,255,.14);padding:16px 0;font-size:.85rem;text-align:center}
.foot-bar a{color:var(--honey)}

.pawico{display:inline-block}

/* ---------- responsivita ---------- */
@media (max-width:920px){
  .hero-in{grid-template-columns:1fr;gap:38px;padding:46px 0 60px}
  .hero-art{max-width:340px}
  .why{grid-template-columns:1fr}
  .kon-grid{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav,.head-cta{display:none}
  .menu-btn{display:inline-block}
}
@media (max-width:640px){
  section{padding:48px 0}
  .f-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .hero-paw.p2{display:none}
  .cta-band{padding:38px 22px}
}
