.charm{--bone:#f4f1ea;--bone-2:#ece7dc;--ink:#1a1714;--ink-soft:#4b463f;--muted:#8c8477;
  --bronze:#9c7b45;--bronze-soft:#b79a6a;--line:rgba(26,23,20,.14);--card:#faf8f3;
  --serif:"Bodoni Moda",Georgia,serif;--sans:"Archivo",system-ui,sans-serif;
  font-family:var(--sans);color:var(--ink);line-height:1.6}
.charm *{box-sizing:border-box}
.charm br{display:none}.charm p:empty{display:none}
.charm-wrap{max-width:1100px;margin:0 auto;padding:clamp(30px,6vw,72px) clamp(18px,4vw,44px)}

.charm .charm-head{text-align:center;padding-bottom:clamp(24px,4vw,40px);border-bottom:1px solid var(--line)}
.charm .eyebrow{font-size:.7rem;letter-spacing:.42em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.charm h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.08;margin:.7rem 0}
.charm .lede{font-family:var(--serif);font-style:italic;font-size:clamp(1rem,2.4vw,1.25rem);color:var(--ink-soft);max-width:34rem;margin:0 auto}
.charm .duration{margin-top:1.1rem;display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

.charm .filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:clamp(26px,4vw,40px) 0 8px}
.charm .filters input{position:absolute;opacity:0;pointer-events:none}
.charm .filters label{cursor:pointer;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);
  padding:.55rem 1.15rem;border:1px solid var(--line);border-radius:999px;transition:all .25s ease;user-select:none}
.charm .filters label:hover{border-color:var(--bronze-soft)}
.charm #f-all:checked~.filters label[for="f-all"],
.charm #f-hidra:checked~.filters label[for="f-hidra"],
.charm #f-curat:checked~.filters label[for="f-curat"],
.charm #f-peel:checked~.filters label[for="f-peel"],
.charm #f-needle:checked~.filters label[for="f-needle"],
.charm #f-hifu:checked~.filters label[for="f-hifu"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}

.charm .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,2vw,22px);margin-top:22px}
@media (max-width:720px){.charm .grid{grid-template-columns:1fr}}
.charm .card{position:relative;background:var(--card);border:1px solid var(--line);padding:clamp(20px,3vw,30px);
  display:flex;flex-direction:column;opacity:0;transform:translateY(14px);
  transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease,border-color .4s ease,opacity .5s ease}
.charm .card.in{opacity:1;transform:none}
.charm .card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(26,23,20,.4);border-color:var(--bronze-soft)}
.charm .card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.charm .num{font-family:var(--serif);font-size:.95rem;color:var(--bronze);padding-top:.25rem;min-width:2ch}
.charm .price{font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,3vw,1.7rem);white-space:nowrap}
.charm .price small{font-size:.62em;color:var(--muted);font-family:var(--sans);font-weight:400}
.charm .card h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.12rem,2.4vw,1.32rem);line-height:1.28;margin:.85rem 0 0}
.charm .device{margin-top:.5rem;display:inline-block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bronze);border:1px solid var(--line);border-radius:999px;padding:.28rem .7rem}
.charm .desc{margin-top:.9rem;font-size:.94rem;color:var(--ink-soft);line-height:1.62}
.charm .for{margin-top:auto;padding-top:1rem}
.charm .for .rule{height:1px;background:var(--line)}
.charm .for .lbl{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:1rem 0 .3rem}
.charm .for p{font-size:.88rem;color:var(--ink-soft);font-style:italic;font-family:var(--serif)}

.charm .note{margin-top:clamp(30px,5vw,48px);background:var(--ink);color:var(--bone);padding:clamp(24px,4vw,40px)}
.charm .note .k{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze-soft)}
.charm .note p{margin-top:.7rem;font-family:var(--serif);font-style:italic;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.55;max-width:44rem;color:#e9e3d7}

/* ---- formular ---- */
.charm .booking{margin-top:clamp(30px,5vw,52px);background:var(--card);border:1px solid var(--line);padding:clamp(24px,4vw,48px)}
.charm .booking-head{text-align:center;max-width:38rem;margin:0 auto clamp(22px,3vw,32px)}
.charm .booking-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,4vw,2.4rem);margin:.5rem 0 .6rem}
.charm .booking-lede{color:var(--ink-soft);font-size:.96rem}
.charm .bform{max-width:44rem;margin:0 auto}
.charm .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,20px)}
@media (max-width:560px){.charm .fgrid{grid-template-columns:1fr}}
.charm .field{margin-bottom:clamp(14px,2vw,18px);display:flex;flex-direction:column}
.charm .field label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.charm .field input,.charm .field textarea,.charm .field select{font-family:var(--sans);font-size:.98rem;color:var(--ink);
  background:var(--bone);border:1px solid var(--line);border-radius:0;padding:.85rem 1rem;width:100%;
  -webkit-appearance:none;appearance:none;transition:border-color .25s ease,box-shadow .25s ease}
.charm .field textarea{resize:vertical;min-height:80px;line-height:1.5}
.charm .field input:focus,.charm .field textarea:focus,.charm .field select:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px rgba(156,123,69,.14)}
.charm .select-wrap{position:relative}
.charm .select-wrap::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;
  border-right:1.5px solid var(--bronze);border-bottom:1.5px solid var(--bronze);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.charm .field select{cursor:pointer;padding-right:2.4rem}
.charm .consent{display:flex;gap:.7rem;align-items:flex-start;margin:.4rem 0 1.4rem;cursor:pointer}
.charm .consent input{margin-top:.2rem;width:17px;height:17px;accent-color:var(--bronze);flex:0 0 auto}
.charm .consent span{font-size:.84rem;color:var(--ink-soft);line-height:1.5}
.charm .charm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.charm .bsubmit{width:100%;font-family:var(--sans);font-weight:500;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bone);background:var(--ink);border:0;padding:1.1rem;cursor:pointer;transition:background .3s ease,transform .3s ease}
.charm .bsubmit:hover{background:var(--bronze);transform:translateY(-2px)}
.charm .bsubmit:disabled{opacity:.6;pointer-events:none}
.charm .bnote{text-align:center;margin-top:.9rem;font-size:.86rem;min-height:1.2em}
.charm .bnote.err{color:#b5573a}
.charm .bsuccess{max-width:38rem;margin:0 auto;text-align:center;padding:clamp(20px,4vw,40px) 0}
.charm .bcheck svg{width:64px;height:64px;fill:none;stroke:var(--bronze);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.charm .bcheck circle{opacity:.35}
.charm .bsuccess h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);margin:1rem 0 .5rem}
.charm .bsuccess p{color:var(--ink-soft);font-size:.98rem;max-width:30rem;margin:0 auto}
.charm .sign{text-align:center;margin-top:clamp(26px,4vw,40px);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.charm .sign b{color:var(--ink);font-weight:600}

.charm:has(#f-hidra:checked)  .card:not([data-cat~="hidra"]),
.charm:has(#f-curat:checked)  .card:not([data-cat~="curat"]),
.charm:has(#f-peel:checked)   .card:not([data-cat~="peel"]),
.charm:has(#f-needle:checked) .card:not([data-cat~="needle"]),
.charm:has(#f-hifu:checked)   .card:not([data-cat~="hifu"]){display:none}

@media (prefers-reduced-motion:reduce){.charm .card{opacity:1;transform:none}.charm .card:hover{transform:none}}
