:root{
  color-scheme: only light;
  --sand:#f7efe5;--cream:#fffaf3;--linen:#efe2d2;--stone:#d8c7b5;--clay:#b9917b;--olive:#6f7546;--olive-dark:#4f5731;--ink:#2e2924;--muted:#756b60;--white:#fff;--shadow:0 18px 50px rgba(66,54,42,.13);--radius:26px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--cream),var(--sand));line-height:1.62}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.serif{font-family:Marcellus,Georgia,serif}.script{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:var(--olive)}
.container{max-width:var(--max);margin:auto;padding:0 24px}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,250,243,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(139,123,99,.14)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:26px}.brand{display:flex;align-items:center;gap:14px;flex:0 0 auto}.brand-logo{height:112px;width:auto;display:block}.brand-title{font:28px Marcellus,serif;letter-spacing:.18em}.brand-sub{font-size:10px;letter-spacing:.32em;color:var(--muted);margin-top:-5px}.navlinks{display:flex;align-items:center;gap:26px;font-size:15px}.navlinks a{color:#433b34}.navlinks a:hover,.navlinks a.active{color:var(--olive-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 22px;border:1px solid rgba(79,87,49,.32);font-weight:650;transition:.18s ease;cursor:pointer}.btn-primary{background:var(--olive);color:var(--white);box-shadow:0 10px 24px rgba(79,87,49,.22)}.btn-primary:hover{background:var(--olive-dark);transform:translateY(-1px)}.btn-light{background:rgba(255,255,255,.55)}.mobile-toggle{display:none;background:transparent;border:0;font-size:28px;color:var(--ink)}
.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(216,199,181,.45),transparent 40%),linear-gradient(90deg,rgba(255,250,243,.98) 0%,rgba(255,250,243,.86) 36%,rgba(255,250,243,.2) 70%);z-index:1}.hero-media{position:absolute;inset:0;margin-left:38%;background:url('../img/hero-therapy.jpg') center/cover no-repeat;filter:saturate(.92) contrast(.98)}.hero-inner{position:relative;z-index:2;min-height:690px;display:grid;grid-template-columns:minmax(320px,540px) 1fr;align-items:center}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--clay);font-size:13px;font-weight:700}.h1{font:clamp(46px,6vw,82px) Marcellus,Georgia,serif;line-height:1.02;margin:18px 0 22px}.h1 .script{display:block;font-size:1.02em;margin:2px 0}.lead{font-size:19px;max-width:530px;color:#4d443c;margin:0 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.opening-note{margin-top:30px;max-width:560px;background:rgba(255,255,255,.68);border:1px solid rgba(139,123,99,.18);border-radius:22px;padding:20px 22px;box-shadow:0 14px 34px rgba(80,60,40,.08)}.opening-note p{margin:0;color:#4d443c}.opening-note p+p{margin-top:6px}.opening-note span{color:var(--muted)}.opening-label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--clay)}
section{padding:46px 0}.section-head{text-align:center;max-width:820px;margin:0 auto 22px}.section-head h2{font:clamp(34px,4vw,50px) Marcellus,serif;margin:6px 0 8px}.section-head p{color:var(--muted);font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:rgba(255,255,255,.62);border:1px solid rgba(139,123,99,.16);box-shadow:var(--shadow);border-radius:var(--radius);padding:22px}.icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#efe5d7;color:var(--olive);font-size:30px;margin-bottom:18px}.card h3{font:28px Marcellus,serif;margin:0 0 8px}.card p{color:var(--muted);margin:0 0 16px}.more{font-weight:700;color:var(--olive-dark)}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.image-card{overflow:hidden;border-radius:32px;box-shadow:var(--shadow);border:1px solid rgba(139,123,99,.18);background:var(--linen)}.soft{background:rgba(239,226,210,.38)}.feature-list{display:grid;gap:12px;margin-top:18px}.feature{display:flex;gap:14px;align-items:flex-start}.feature b{display:block}.feature span{color:var(--muted)}.quote{font:30px 'Cormorant Garamond',Georgia,serif;font-style:italic;color:#75604f;background:rgba(255,255,255,.5);padding:24px;border-radius:28px;border:1px solid rgba(139,123,99,.14)}
.info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.info-box{background:var(--olive);color:#fff;border-radius:28px;padding:24px;text-align:center;box-shadow:var(--shadow)}.info-box.light{background:rgba(255,255,255,.68);color:var(--ink);text-align:left}.info-box .big{font:36px Marcellus,serif}.page-hero{padding:42px 0 28px;background:linear-gradient(110deg,rgba(239,226,210,.65),rgba(255,250,243,.85)),url('../img/cups.jpg') right center/contain no-repeat;border-bottom:1px solid rgba(139,123,99,.14)}.page-hero h1{font:clamp(42px,5vw,70px) Marcellus,serif;line-height:1.05;margin:8px 0}.breadcrumbs{font-size:14px;color:var(--muted)}.content{max-width:920px}.content h2{font:36px Marcellus,serif;margin:22px 0 8px}.content h3{font:25px Marcellus,serif;margin:18px 0 6px}.content p,.content li{color:#5d5248}.content ul{padding-left:20px}.price-table{width:100%;border-collapse:separate;border-spacing:0 8px}.price-table th{text-align:left;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.13em}.price-table td{background:rgba(255,255,255,.65);border-top:1px solid rgba(139,123,99,.14);border-bottom:1px solid rgba(139,123,99,.14);padding:14px 16px}.price-table td:first-child{border-left:1px solid rgba(139,123,99,.14);border-radius:18px 0 0 18px;font-weight:700}.price-table td:last-child{border-right:1px solid rgba(139,123,99,.14);border-radius:0 18px 18px 0;text-align:right;font-weight:800;color:var(--olive-dark)}
.booking-box{background:linear-gradient(135deg,var(--olive),#7e8552);color:white;border-radius:34px;padding:38px;display:grid;grid-template-columns:1.4fr .8fr;gap:24px;align-items:center;box-shadow:var(--shadow)}
.footer-logo{height:72px;width:auto;margin-bottom:10px}.booking-placeholder{background:rgba(255,255,255,.13);border:1px dashed rgba(255,255,255,.5);border-radius:24px;padding:24px;text-align:center}.qr{max-width:250px;border-radius:24px;margin:auto;background:#fff;padding:10px}.footer{padding:52px 0;background:#2f2a25;color:#efe7db}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:24px;align-items:start}.footer a{color:#efe7db}.footer-addresses{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:7px;line-height:1.45}.footer-addresses p{margin:0}.footer-addresses strong{display:block;color:#efe7db;font-size:12px;margin-bottom:2px}.small{font-size:13px;color:#bdb0a1}.notice{font-size:14px;color:var(--muted);background:rgba(255,255,255,.55);border:1px solid rgba(139,123,99,.14);border-radius:20px;padding:18px}.leaf-sep{width:160px;margin:20px auto;border-top:1px solid var(--stone);position:relative}.leaf-sep:after{content:"✦";position:absolute;left:50%;top:-14px;background:var(--sand);padding:0 12px;color:var(--clay);transform:translateX(-50%)}
@media(max-width:920px){.mobile-toggle{display:block}.navlinks{position:absolute;left:0;right:0;top:86px;background:rgba(255,250,243,.98);border-bottom:1px solid rgba(139,123,99,.14);display:none;flex-direction:column;align-items:flex-start;padding:20px 24px}.navlinks.open{display:flex}.nav .btn{display:none}.hero-media{margin-left:0;opacity:.35}.hero:before{background:linear-gradient(90deg,rgba(255,250,243,.96),rgba(255,250,243,.76))}.hero-inner{grid-template-columns:1fr;min-height:620px}.cards,.split,.info-grid,.booking-box,.footer-grid{grid-template-columns:1fr}.opening{grid-template-columns:repeat(2,1fr)}section{padding:36px 0}.brand-logo{height:91px}.brand-title{font-size:22px}.brand-sub{letter-spacing:.22em}.page-hero{padding:34px 0 24px;background:linear-gradient(110deg,rgba(239,226,210,.7),rgba(255,250,243,.92))}.price-table th:nth-child(2),.price-table td:nth-child(2){display:none}}
@media(max-width:560px){.footer-addresses{grid-template-columns:1fr;gap:10px}}


.page-lead{max-width:760px;margin-top:18px}
.section-head.compact{margin-bottom:24px}
.price-groups{display:grid;gap:12px;margin-top:8px}
.price-group{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:start;padding:0}
.price-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(139,102,62,.3);background:rgba(255,255,255,.34);color:#7a5a34;font-size:31px;box-shadow:0 8px 22px rgba(66,54,42,.06)}
.price-panel h2{font:34px Marcellus,Georgia,serif;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;color:#3b2b1f}
.pricing-content .price-table{margin:0}
.pricing-content .price-table th{background:rgba(185,145,123,.14);padding:10px 18px;color:#6f543b;font-size:15px}
.pricing-content .price-table{border-spacing:0 6px}
.pricing-content .price-table td{font-size:17px;background:rgba(255,255,255,.42);padding:12px 18px}
.pricing-content .price-table td:last-child{font-size:20px;letter-spacing:.03em}
.muted{color:var(--muted);font-weight:400}
.abo-box{margin-top:6px;background:rgba(185,145,123,.12);border-radius:18px;padding:8px 18px;border:1px solid rgba(139,123,99,.12)}
.abo-box div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:6px 0;font-size:22px}
.abo-box div+div{border-top:1px solid rgba(139,123,99,.22)}
.abo-box strong{font-weight:800;color:#3b2b1f}
.price-bottom{margin-top:30px;padding-top:22px;border-top:1px solid rgba(139,123,99,.22);display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.contact-list{display:grid;gap:16px}
.contact-list>div{display:flex;gap:16px;align-items:flex-start}
.round-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#5b3514;color:white;flex:0 0 auto}
.contact-list p{margin:0;font-size:18px;color:#3f352d}
.qr-panel{text-align:center;border-left:1px solid rgba(139,123,99,.28);padding-left:28px}
.qr-panel .qr{max-width:180px}
.script-note{font:34px 'Cormorant Garamond',Georgia,serif;font-style:italic;margin:8px 0 -4px;color:#5e432d}
.cta-strip{margin-top:26px;background:rgba(255,255,255,.58);border:1px solid rgba(139,123,99,.14);border-radius:28px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.cta-strip h2{margin:0;font-size:30px}
@media(max-width:760px){.price-groups{gap:12px}.price-group{grid-template-columns:1fr;gap:8px}.price-icon{width:54px;height:54px;font-size:26px}.price-panel h2{font-size:28px;margin-bottom:6px}.price-bottom,.cta-strip{grid-template-columns:1fr;display:grid}.qr-panel{border-left:0;border-top:1px solid rgba(139,123,99,.22);padding-left:0;padding-top:20px}.pricing-content .price-table td{font-size:16px;padding:10px 12px}.abo-box div{font-size:18px}}


/* AYA Viva strategy update: request flow instead of public live booking */
.request-box{background:linear-gradient(135deg,var(--olive),#7e8552);color:white;border-radius:34px;padding:38px;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start;box-shadow:var(--shadow)}
.request-box .notice{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
.request-form{background:rgba(255,250,243,.96);color:var(--ink);border-radius:26px;padding:24px;border:1px solid rgba(255,255,255,.32)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:13px;font-weight:700;color:#4d443c;display:grid;gap:6px}.form-grid .full{grid-column:1/-1}.request-form input,.request-form select,.request-form textarea{width:100%;border:1px solid rgba(139,123,99,.22);border-radius:14px;padding:12px 14px;background:#fffaf3;color:var(--ink);font:inherit}.request-form textarea{resize:vertical}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px;font-weight:500!important}.checkbox input{width:auto;margin-top:4px}.calendar-preview{background:rgba(255,255,255,.62);border:1px solid rgba(139,123,99,.16);box-shadow:var(--shadow);border-radius:34px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.calendar-preview h2{font-size:42px;margin:8px 0 12px}.calendar-mock{display:grid;gap:12px}.calendar-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:rgba(255,250,243,.8);border:1px solid rgba(139,123,99,.14);border-radius:18px;padding:14px}.calendar-row small{color:var(--muted)}.dot{width:16px;height:16px;border-radius:999px;display:inline-block}.dot.confirmed{background:#8c9a73}.dot.request{background:#d6b56d}.dot.alternative{background:#c7a36d}.dot.blocked{background:#bd7b62}.dot.holiday{background:#92a5ad}
.request-form .form-grid{margin-bottom:8px}.request-form .checkbox.full{margin-bottom:0}.request-form>button[type=submit]{margin-top:0}
@media(max-width:920px){.request-box,.calendar-preview{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.calendar-row{grid-template-columns:auto 1fr}.calendar-row small{grid-column:2}}


/* Visual cleanup: footer logo, pricing compactness, refined symbols, social QR */
.treatment-symbol {
  display: inline-flex;
  width: 1.85rem;
  height: 1.85rem;
  margin-right: .55rem;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  line-height: 1;
  color: var(--color-gold, #a98252);
  background: rgba(169, 130, 82, .10);
  border: 1px solid rgba(169, 130, 82, .24);
  vertical-align: .12em;
}

.price-section,
.pricing-section,
.service-pricing,
.treatment-pricing {
  margin-block: clamp(1rem, 2.2vw, 1.8rem) !important;
  padding-block: clamp(.8rem, 1.8vw, 1.35rem) !important;
}

.price-category,
.pricing-category,
.price-card,
.service-price-card {
  gap: .65rem;
}

.price-list,
.pricing-list {
  gap: .55rem !important;
}

.price-item,
.pricing-item {
  padding-block: .72rem !important;
}

.price-item + .price-item,
.pricing-item + .pricing-item {
  margin-top: .25rem !important;
}

.social-connect,
.social-preview {
  position: relative;
}

.social-preview-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.social-qr-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.social-qr-grid.compact {
  grid-template-columns: repeat(2, minmax(130px, 1fr));
}

.social-qr-card {
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(128, 94, 60, .16);
  border-radius: 1.5rem;
  padding: 1rem;
  box-shadow: 0 18px 46px rgba(84, 55, 34, .08);
  text-align: center;
}

.social-qr-card img {
  display: block;
  width: min(220px, 100%);
  margin: 0 auto .75rem;
  border-radius: 1rem;
}

.social-qr-card.small img {
  width: min(150px, 100%);
}

.social-qr-card h3,
.social-qr-card strong {
  display: block;
  margin: .2rem 0 .15rem;
  color: var(--color-dark, #4a3324);
}

.social-qr-card p {
  margin: 0;
  opacity: .74;
}

.social-button-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.25rem;
}

.social-button-row.align-left {
  justify-content: flex-start;
}

.social-icon-row {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: center;
  margin-top: .45rem;
}

.social-icon-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 42px;
  padding: .55rem .85rem .55rem .6rem;
  border: 1px solid rgba(139, 123, 99, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .68);
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(66, 54, 42, .07);
}

.social-icon-link img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: block;
  flex: 0 0 auto;
}

.social-qr-panel {
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  text-align: center;
}

.mobile-contact-social,
.mobile-price-social {
  display: none !important;
}

.social-qr-panel .qr,
.contact-social-qr .qr {
  width: min(170px, 100%);
  max-width: 170px;
  padding: 8px;
}

.social-qr-item {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 14px;
}

.social-qr-item .social-icon-link {
  margin-top: 0;
  min-width: 136px;
  justify-content: center;
}

.footer a[href*="instagram.com"],
.footer a[href*="tiktok.com"],
.footer a[href*="wa.me"] {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: .15rem 0;
}

.footer a[href*="instagram.com"]::before,
.footer a[href*="tiktok.com"]::before {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.footer a[href*="instagram.com"]::before {
  content: "IG";
  background: radial-gradient(circle at 30% 110%, #feda75 0 26%, #fa7e1e 38%, #d62976 56%, #962fbf 75%, #4f5bd5 100%);
}

.footer a[href*="tiktok.com"]::before {
  content: "TT";
  background: linear-gradient(135deg, #111 0 48%, #25f4ee 49% 61%, #fe2c55 62% 100%);
}

.footer a[href*="wa.me"]::before {
  content: "";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-block;
  background: url('../img/whatsapp-icon.jfif') center/cover no-repeat;
}

.whatsapp-qr {
  width: min(150px, 100%);
  max-width: 150px;
  border-radius: 18px;
  padding: 8px;
  background: #fff;
  margin: 10px auto 10px;
}

.content .whatsapp-qr {
  margin-left: 0;
  margin-right: 0;
}

.whatsapp-qr-note {
  margin: 8px 0 10px;
  color: var(--muted);
}

.whatsapp-action {
  margin-top: 12px;
}

.info-box .whatsapp-action .btn {
  background: rgba(255, 255, 255, .92);
  color: var(--olive-dark);
}

.info-box .whatsapp-transition {
  margin: 14px 0 4px;
  color: rgba(255, 255, 255, .86);
}

.mobile-whatsapp-text,
.mobile-whatsapp-action {
  display: none;
}

.address-map-link {
  color: inherit;
  font-weight: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(111,117,70,.42);
  text-underline-offset: 3px;
}

.address-map-link:hover {
  color: var(--olive-dark);
  text-decoration-color: currentColor;
}

.footer .address-map-link {
  display: block;
}

.footer-social-links {
  margin: 4px 0 0;
}

.footer-legal-links {
  margin: 12px 0 0;
}

.footer-legal-links br {
  display: none;
}

.footer-legal-links a {
  display: inline;
  margin-top: 0;
}

.footer-legal-links a:not(:first-of-type)::before {
  content: "|";
  margin: 0 8px 0 6px;
  color: var(--muted);
}

.treatment-card {
  overflow: hidden;
}

.treatment-card-image {
  margin: -6px -6px 18px;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(239, 226, 210, .5);
}

.treatment-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.treatment-detail-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-content: start;
}

.treatment-detail-gallery .image-card {
  margin: 0;
}

@media (max-width: 767px) {
  .desktop-only {
    display: none !important;
  }

  .social-preview-inner {
    display: block;
  }

  .social-button-row,
  .social-button-row.align-left {
    justify-content: stretch;
  }

  .social-qr-panel,
  .contact-social-qr,
  .qr-panel,
  .desktop-whatsapp-qr,
  .social-contact-card {
    display: none !important;
  }

  .social-icon-row {
    align-items: stretch;
    flex-direction: column;
  }

  .desktop-whatsapp-text {
    display: none;
  }

  .mobile-whatsapp-text {
    display: block;
  }

  .mobile-whatsapp-action {
    display: block;
  }

  .mobile-contact-social {
    display: block !important;
  }

  .mobile-price-social {
    display: flex !important;
  }

  .social-icon-link {
    width: 100%;
  }

  .social-button-row .btn {
    width: 100%;
    text-align: center;
  }

  .price-section,
  .pricing-section,
  .service-pricing,
  .treatment-pricing {
    margin-block: .85rem !important;
    padding-block: .75rem !important;
  }
}

/* Studio backoffice shell */
.studio-body{min-height:100vh;background:linear-gradient(180deg,var(--cream),var(--sand));color:var(--ink)}
.studio-topbar{position:sticky;top:0;z-index:20;min-height:82px;padding:12px 28px;display:flex;align-items:center;gap:22px;justify-content:space-between;background:rgba(255,250,243,.92);border-bottom:1px solid rgba(139,123,99,.16);backdrop-filter:blur(18px)}
.studio-mobile-toggle{display:none;border:1px solid rgba(139,123,99,.18);border-radius:14px;background:rgba(255,255,255,.6);color:var(--ink);font-size:26px;line-height:1;padding:9px 12px;cursor:pointer}
.studio-brand img{height:58px;width:auto}.studio-quicknav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.studio-quicknav a{padding:9px 12px;border-radius:999px;font-size:13px;font-weight:700;color:#4f463d;background:rgba(255,255,255,.42);border:1px solid rgba(139,123,99,.12)}.studio-logout-form{margin:0}
.studio-quicknav .studio-edit-site-link{background:var(--olive);border-color:var(--olive);color:#fff}
.studio-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;max-width:1380px;margin:0 auto;padding:34px 28px 54px}.studio-sidebar{position:sticky;top:116px;align-self:start;background:rgba(255,255,255,.56);border:1px solid rgba(139,123,99,.16);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.studio-sidebar h1{font:48px Marcellus,Georgia,serif;margin:8px 0 12px}.studio-sidebar p{color:var(--muted)}.studio-user{margin-top:26px;padding-top:18px;border-top:1px solid rgba(139,123,99,.18);display:grid;gap:3px}.studio-user span{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--clay);font-weight:800}
.studio-main{display:grid;gap:22px}.studio-hero{min-height:220px;border-radius:30px;padding:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;background:linear-gradient(110deg,rgba(47,42,37,.86),rgba(79,87,49,.58)),url('../img/hero-therapy.jpg') center/cover no-repeat;color:#fff;box-shadow:var(--shadow)}.studio-hero h2{max-width:720px;font:clamp(34px,4vw,56px) Marcellus,Georgia,serif;line-height:1.05;margin:8px 0 0}.studio-hero .kicker{color:#ead9c3}.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studio-tile{min-height:190px;padding:24px;border-radius:22px;background:rgba(255,255,255,.66);border:1px solid rgba(139,123,99,.16);box-shadow:0 14px 36px rgba(66,54,42,.08)}.studio-tile span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#efe5d7;color:var(--olive-dark);font-weight:800}.studio-tile h3{font:26px Marcellus,Georgia,serif;margin:18px 0 8px}.studio-tile p{margin:0;color:var(--muted)}
.studio-login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(110deg,rgba(255,250,243,.95),rgba(255,250,243,.72)),url('../img/cups.jpg') right center/contain no-repeat}.studio-login-panel{width:min(100%,460px);padding:34px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(139,123,99,.16);box-shadow:var(--shadow)}.studio-login-brand img{height:76px;width:auto;margin-bottom:18px}.studio-login-panel h1{font:44px Marcellus,Georgia,serif;margin:8px 0 22px}.studio-login-form{display:grid;gap:15px}.studio-login-form label{display:grid;gap:7px;font-size:13px;font-weight:800;color:#4d443c}.studio-login-form input{width:100%;border:1px solid rgba(139,123,99,.22);border-radius:14px;padding:13px 14px;background:#fffaf3;color:var(--ink);font:inherit}.studio-form-error{margin:0;padding:12px 14px;border-radius:14px;background:rgba(189,123,98,.14);color:#7a3527;font-weight:700}
@media(max-width:1040px){.studio-layout{grid-template-columns:1fr}.studio-sidebar{position:static}.studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-topbar{align-items:flex-start;flex-direction:column}.studio-quicknav{justify-content:flex-start}}
@media(max-width:680px){.studio-layout{padding:22px 16px 40px}.studio-grid{grid-template-columns:1fr}.studio-hero{align-items:flex-start;flex-direction:column}.studio-login-shell{background:linear-gradient(180deg,rgba(255,250,243,.96),rgba(247,239,229,.96))}.studio-login-panel{padding:26px}.studio-topbar{padding:12px 16px}.studio-quicknav a{font-size:12px}}
@media(max-width:860px){.studio-topbar{display:grid;grid-template-columns:auto auto;align-items:center;gap:10px 14px}.studio-brand{grid-column:1}.studio-mobile-toggle{display:inline-flex;grid-column:2;justify-self:end}.studio-quicknav{grid-column:1/-1;display:none;align-items:stretch;flex-direction:column;width:100%;padding-top:8px}.studio-quicknav.open{display:flex}.studio-quicknav a{width:100%;text-align:left}.studio-logout-form{grid-column:1/-1;justify-self:start}.studio-logout-form .btn{padding:10px 14px}}

.studio-page{max-width:1380px;margin:0 auto;padding:34px 28px 54px;display:grid;gap:22px}.studio-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.studio-section-head h1{font:clamp(38px,5vw,62px) Marcellus,Georgia,serif;line-height:1.04;margin:8px 0 0}.studio-section-head h2,.studio-panel h2{font:30px Marcellus,Georgia,serif;margin:0 0 16px}.studio-panel h3{font:22px Marcellus,Georgia,serif;margin:22px 0 10px}.studio-panel{background:rgba(255,255,255,.66);border:1px solid rgba(139,123,99,.16);border-radius:24px;padding:24px;box-shadow:0 14px 36px rgba(66,54,42,.08);overflow:auto}.studio-panel.narrow{max-width:820px}.studio-two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;align-items:start}.studio-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.studio-stats article{background:rgba(255,255,255,.7);border:1px solid rgba(139,123,99,.14);border-radius:20px;padding:20px;box-shadow:0 12px 30px rgba(66,54,42,.07)}.studio-stats span{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.studio-stats strong{display:block;font:42px Marcellus,Georgia,serif;margin-top:6px;color:var(--olive-dark)}
.studio-table{width:100%;border-collapse:separate;border-spacing:0 8px}.studio-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.studio-table-scroll .studio-table{min-width:860px}.studio-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:0 12px}.studio-table td{background:rgba(255,250,243,.82);border-top:1px solid rgba(139,123,99,.12);border-bottom:1px solid rgba(139,123,99,.12);padding:13px 12px;vertical-align:top}.studio-table td:first-child{border-left:1px solid rgba(139,123,99,.12);border-radius:14px 0 0 14px}.studio-table td:last-child{border-right:1px solid rgba(139,123,99,.12);border-radius:0 14px 14px 0}.studio-table small{color:var(--muted)}.studio-list-group+.studio-list-group{margin-top:28px}.studio-list-group h3 a{font:13px Inter,Arial,sans-serif;color:var(--olive-dark);margin-left:10px}.studio-form{display:grid;gap:14px;margin-bottom:24px}.studio-form p{display:grid;gap:7px;margin:0}.studio-form label{font-size:13px;font-weight:800;color:#4d443c}.studio-form input,.studio-form select,.studio-form textarea,.studio-inline-form select,.studio-textarea{width:100%;border:1px solid rgba(139,123,99,.22);border-radius:14px;padding:12px 14px;background:#fffaf3;color:var(--ink);font:inherit}.studio-form input[type=checkbox]{width:auto}.studio-inline-form{display:flex;gap:10px;align-items:center}.studio-action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.studio-messages p,.form-success{margin:0;padding:13px 16px;border-radius:16px;background:rgba(111,117,70,.14);color:var(--olive-dark);font-weight:800}.form-error,.errorlist{margin:0;padding:12px 14px;border-radius:14px;background:rgba(189,123,98,.14);color:#7a3527;font-weight:700}.errorlist{list-style:none}.studio-dl{display:grid;grid-template-columns:140px 1fr;gap:10px 16px}.studio-dl dt{font-weight:800;color:var(--clay)}.studio-dl dd{margin:0;color:#4d443c}
.danger-link{color:#8f3325!important;font-weight:800}.danger-button{background:#8f3325!important;border-color:#8f3325!important}
.studio-delete-zone{margin-top:34px;padding-top:20px;border-top:1px solid rgba(139,123,99,.16);display:flex;justify-content:flex-end}
.studio-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.studio-advanced{border:1px solid rgba(139,123,99,.16);border-radius:16px;padding:12px 14px;background:rgba(255,250,243,.62)}
.studio-advanced summary{cursor:pointer;font-size:13px;font-weight:900;color:var(--olive-dark)}
.helptext{display:block;color:var(--muted);font-size:12px;font-weight:600;line-height:1.45}
.studio-export-filter{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:10px}.studio-export-filter label{display:grid;gap:5px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.studio-export-filter select{min-width:132px;border:1px solid rgba(139,123,99,.22);border-radius:14px;padding:11px 13px;background:#fffaf3;color:var(--ink);font:14px Inter,Arial,sans-serif;text-transform:none;letter-spacing:0}.studio-year-groups,.studio-month-groups{display:grid;gap:12px}.studio-month-groups{padding:0 12px 12px}.studio-year-group,.studio-month-group{border:1px solid rgba(139,123,99,.16);border-radius:20px;background:rgba(255,255,255,.42);overflow:hidden}.studio-year-group{background:rgba(255,255,255,.52)}.studio-year-group>summary,.studio-month-group summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;font-weight:900;color:var(--ink)}.studio-year-group>summary{background:rgba(239,226,210,.42)}.studio-year-group>summary span,.studio-month-group summary span{display:inline-flex;align-items:center;gap:10px;font:25px Marcellus,Georgia,serif}.studio-year-group>summary small,.studio-month-group summary small{color:var(--olive-dark);font-weight:900}.studio-year-group input[type=checkbox],.studio-month-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--olive)}.studio-month-group .studio-table{padding:0 12px 12px}.studio-empty-state{margin:0;padding:18px;border:1px solid rgba(139,123,99,.14);border-radius:18px;background:rgba(255,250,243,.72);color:var(--muted);font-weight:800}
.studio-check-filter{display:flex!important;align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid rgba(139,123,99,.16);border-radius:14px;background:rgba(255,250,243,.62);letter-spacing:0!important;text-transform:none!important}.studio-check-filter input{width:auto}.studio-badge{display:inline-flex;align-items:center;justify-content:center;margin:2px 4px 2px 0;padding:5px 9px;border-radius:999px;background:rgba(111,117,70,.14);color:var(--olive-dark);font-size:12px;font-weight:900;white-space:nowrap}.studio-badge.muted{background:rgba(117,107,96,.13);color:var(--muted)}.studio-badge.danger,.studio-alert.danger{background:rgba(143,51,37,.13);color:#7a3527;border-color:rgba(143,51,37,.24)}.studio-alert{padding:16px 18px;border:1px solid rgba(111,117,70,.2);border-radius:18px;background:rgba(111,117,70,.12);color:var(--olive-dark);font-weight:800}.studio-alert p{margin:6px 0 0;color:inherit;font-weight:700}.studio-alert a{display:inline-flex;margin-top:8px;color:inherit;text-decoration:underline;font-weight:900}
.studio-selection-actions{justify-content:flex-end;margin:0 0 14px}.studio-selection-cell{width:72px;text-align:center}.studio-selection-cell input[type=checkbox]{width:18px;height:18px;accent-color:var(--olive)}
.studio-visibility-toggle{margin:0}.studio-visibility-toggle label{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(139,123,99,.16);border-radius:999px;background:rgba(255,250,243,.78);font-size:12px;font-weight:900;color:var(--olive-dark);cursor:pointer}.studio-visibility-toggle input{width:16px;height:16px;accent-color:var(--olive)}
.studio-section-tools{margin:0 0 16px}
.studio-filter-inline-form{gap:8px}
.studio-filter-button{padding:10px 14px;font-size:13px;min-height:42px}
.studio-services-head{align-items:center}
.studio-services-layout{margin-top:-6px}
.studio-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(139,123,99,.16);border-radius:999px;background:rgba(255,250,243,.64)}.studio-view-switch a{padding:8px 13px;border-radius:999px;font-size:13px;font-weight:900;color:var(--muted)}.studio-view-switch a.active{background:var(--olive);color:#fff}.studio-request-cards,.studio-appointment-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.studio-request-card,.studio-appointment-card{display:grid;gap:14px;padding:18px;border:1px solid rgba(139,123,99,.16);border-left:5px solid #d6b56d;border-radius:20px;background:rgba(255,250,243,.82);box-shadow:0 12px 28px rgba(66,54,42,.07)}.studio-request-card.status-confirmed,.studio-appointment-card.status-confirmed{border-left-color:#8c9a73}.studio-request-card.status-declined,.studio-request-card.status-no_show,.studio-appointment-card.status-cancelled,.studio-appointment-card.status-cancelled_by_customer,.studio-appointment-card.status-no_show{border-left-color:#9b2f25}.studio-request-card.status-done,.studio-appointment-card.status-done{border-left-color:var(--olive)}.studio-request-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.studio-request-card-head span{display:block;color:var(--muted);font-size:12px;font-weight:800}.studio-request-card h2,.studio-appointment-card h2{font:27px Marcellus,Georgia,serif;margin:2px 0 0}.studio-request-card-head strong{padding:5px 9px;border-radius:999px;background:rgba(111,117,70,.12);color:var(--olive-dark);font-size:12px;white-space:nowrap}.studio-request-card dl,.studio-appointment-card dl{display:grid;grid-template-columns:84px 1fr;gap:7px 12px;margin:0}.studio-request-card dt,.studio-appointment-card dt{font-size:12px;font-weight:900;color:var(--clay);text-transform:uppercase;letter-spacing:.08em}.studio-request-card dd,.studio-appointment-card dd{margin:0;color:#4d443c}.studio-appointment-card .btn{margin-top:auto}.studio-card-alert{margin:0;padding:10px 12px;border-radius:14px;background:rgba(216,168,60,.16);color:#6e5220;font-weight:900}.studio-card-alert.danger{background:rgba(143,51,37,.13);color:#7a3527}
@media(max-width:1040px){.studio-two-col{grid-template-columns:1fr}.studio-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-page{padding:28px 18px 44px}.studio-section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.studio-stats{grid-template-columns:1fr}.studio-table{font-size:14px}.studio-dl{grid-template-columns:1fr}.studio-inline-form{align-items:stretch;flex-direction:column}.studio-filter-inline-form,.studio-calendar-picker{align-items:center;flex-direction:row;flex-wrap:nowrap}.studio-filter-inline-form select,.studio-calendar-picker .studio-date-input{flex:1 1 auto;min-width:0}.studio-filter-button,.studio-calendar-picker .btn{flex:0 0 auto}.studio-request-cards,.studio-appointment-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.studio-request-card,.studio-appointment-card{padding:14px;border-radius:18px}.studio-request-card-head{flex-direction:column;gap:8px}.studio-request-card h2,.studio-appointment-card h2{font-size:21px}.studio-request-card dl,.studio-appointment-card dl{grid-template-columns:1fr;gap:4px}.studio-request-card dt,.studio-appointment-card dt{font-size:11px}.studio-view-switch,.studio-view-switch a{width:100%}.studio-view-switch a{text-align:center}.studio-mode-switch{width:100%}.studio-mode-switch .btn{flex:1 1 0;min-height:50px;padding:0 18px}.studio-period-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.studio-period-nav .btn{width:100%;min-height:42px;padding:0 10px;font-size:12px;text-align:center}.studio-calendar-toolbar{width:100%}}
@media(max-width:460px){.studio-request-cards,.studio-appointment-cards{grid-template-columns:1fr}}
@media(max-width:680px){.studio-export-filter{justify-content:stretch}.studio-export-filter label,.studio-export-filter .btn{width:100%}.studio-export-filter select{width:100%}.studio-month-group summary{align-items:flex-start;flex-direction:column;gap:4px}}

.studio-calendar-panel{padding:0;overflow:hidden}.studio-calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid rgba(139,123,99,.14)}.studio-calendar-head h2{font:38px Marcellus,Georgia,serif;margin:4px 0 0}.studio-calendar-toolbar{display:flex;align-items:stretch;justify-content:flex-end;gap:12px;flex-wrap:wrap}.studio-calendar-toolbar .btn{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center}.studio-period-nav{display:flex;gap:10px;align-items:stretch}.studio-period-nav .btn,.studio-calendar-picker .btn,.studio-date-input{height:48px}.studio-calendar-picker{display:flex;align-items:stretch;gap:10px}.studio-date-input,.studio-inline-form input[type=date],.studio-inline-form input[type=month]{min-height:48px;border:1px solid rgba(139,123,99,.22);border-radius:18px;padding:12px 16px;background:rgba(255,250,243,.96);color:var(--ink);font:600 15px Inter,Arial,sans-serif;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.studio-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:rgba(239,226,210,.5);border-bottom:1px solid rgba(139,123,99,.14)}.studio-calendar-weekdays span{padding:10px 12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--clay)}.studio-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));background:rgba(139,123,99,.12);gap:1px}.studio-calendar-day{min-height:168px;padding:11px;background:rgba(255,250,243,.9);display:flex;flex-direction:column;gap:8px}.studio-calendar-day.muted-day{background:rgba(247,239,229,.55);color:rgba(46,41,36,.45)}.studio-calendar-day.today{box-shadow:inset 0 0 0 2px rgba(111,117,70,.55);background:rgba(255,255,255,.96)}.studio-calendar-date{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-calendar-date strong{font:24px Marcellus,Georgia,serif;color:var(--ink)}.studio-calendar-date span{font-size:11px;font-weight:900;color:var(--olive-dark);text-transform:uppercase;letter-spacing:.08em}.calendar-chip{border-radius:14px;padding:9px 10px;border:1px solid rgba(139,123,99,.14);display:grid;gap:5px;box-shadow:0 8px 18px rgba(66,54,42,.06)}.calendar-chip a{display:grid;gap:2px}.calendar-chip b{font-size:13px;line-height:1.25}.calendar-chip span{font-size:12px;color:#5d5248;line-height:1.3}.calendar-chip.appointment{background:#fff;padding:7px 8px;gap:3px}.calendar-chip.status-planned{border-left:4px solid #d6b56d}.calendar-chip.status-confirmed{border-left:4px solid #8c9a73}.calendar-chip.status-cancelled{border-left:4px solid #bd7b62;opacity:.72}.calendar-chip.status-done{border-left:4px solid #6f7546;background:rgba(111,117,70,.1)}.calendar-chip.block{background:rgba(185,145,123,.13);border-color:rgba(185,145,123,.28)}.calendar-status-form{display:grid;grid-template-columns:minmax(0,86px);gap:2px;justify-items:start;width:min(100%,86px);margin-top:1px}.calendar-status-form select{width:86px;max-width:100%;min-width:0;border:1px solid rgba(139,123,99,.2);border-radius:8px;padding:4px 5px;background:#fffaf3;font:10.5px Inter,Arial,sans-serif;color:var(--ink)}.calendar-status-form button{width:40px;border:1px solid rgba(79,87,49,.2);border-radius:7px;background:rgba(111,117,70,.1);color:var(--olive-dark);font:800 9.5px/1.1 Inter,Arial,sans-serif;padding:3px 5px;cursor:pointer;letter-spacing:0}.calendar-empty{margin-top:auto;color:rgba(117,107,96,.55);font-size:12px;font-weight:700}
@media(max-width:1180px){.studio-calendar-grid,.studio-calendar-weekdays{grid-template-columns:repeat(7,minmax(112px,1fr))}.studio-calendar-panel{overflow:auto}}
@media(max-width:820px){.studio-calendar-grid,.studio-calendar-weekdays{min-width:820px}.studio-calendar-day{min-height:150px}.studio-calendar-head{align-items:flex-start;flex-direction:column}.studio-calendar-toolbar{width:100%;justify-content:flex-start}.studio-calendar-picker{width:100%;flex-wrap:nowrap}.studio-calendar-picker .btn{flex:0 0 auto;min-height:42px;padding:0 14px}.studio-date-input{min-width:0;padding:10px 14px;min-height:42px}}

.studio-week-calendar{min-width:980px}.studio-week-header,.studio-week-row{display:grid;grid-template-columns:74px repeat(7,minmax(126px,1fr));gap:1px;background:rgba(139,123,99,.12)}.studio-week-header{position:sticky;top:0;z-index:2}.studio-week-header>span,.week-day-head,.week-hour,.week-cell{background:rgba(255,250,243,.92)}.studio-week-header>span{padding:12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.week-day-head{border:0;text-align:left;padding:12px;display:grid;gap:2px;color:var(--ink);cursor:pointer}.week-day-head strong{font:18px Marcellus,Georgia,serif}.week-day-head span,.week-day-head small{font-size:12px;color:var(--muted)}.week-hour{padding:12px;font-weight:800;color:var(--clay);font-size:13px}.week-cell{min-height:92px;padding:8px;display:grid;align-content:start;gap:6px;cursor:copy}.week-cell.open{background:rgba(255,255,255,.94)}.week-cell.closed{background:rgba(239,226,210,.42)}.week-cell:hover,.studio-calendar-day:hover{outline:2px solid rgba(111,117,70,.28);outline-offset:-2px}.studio-modal{position:fixed;inset:0;z-index:100;display:none}.studio-modal.open{display:block}.studio-modal-backdrop{position:absolute;inset:0;background:rgba(47,42,37,.42);backdrop-filter:blur(4px)}.studio-modal-panel{position:relative;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;margin:24px auto;background:rgba(255,250,243,.98);border:1px solid rgba(139,123,99,.2);border-radius:26px;padding:24px;box-shadow:0 28px 90px rgba(47,42,37,.28)}.suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.suggestion-grid label{display:flex!important;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid rgba(139,123,99,.14);border-radius:14px;background:rgba(255,250,243,.8);font-weight:700!important}.suggestion-grid input{width:auto!important;margin-top:3px}.suggestion-form{padding:14px;border:1px solid rgba(139,123,99,.14);border-radius:18px;background:rgba(239,226,210,.24)}
@media(max-width:820px){.studio-week-calendar{overflow:auto}.suggestion-grid{grid-template-columns:1fr}.studio-modal-panel{margin:16px auto;padding:18px}}

/* Controlled public inline editor */
.website-edit-bar{position:sticky;top:0;z-index:90;background:rgba(255,250,243,.96);border-bottom:1px solid rgba(139,123,99,.18);box-shadow:0 10px 28px rgba(47,42,37,.08);backdrop-filter:blur(16px)}
.website-edit-bar-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.website-edit-bar strong{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--olive-dark)}
.website-edit-bar .btn{padding:10px 14px;font-size:13px}
.website-edit-messages{padding-bottom:10px}
.website-edit-messages p{margin:0;padding:10px 12px;border-radius:12px;background:rgba(111,117,70,.14);color:var(--olive-dark);font-weight:800}
.inline-editable,.editable-image-wrap{position:relative;display:inline-block;max-width:100%}
.editable-image-wrap{display:block}
.editable-image-wrap img{display:block;width:100%;height:auto}
.inline-editable{outline:1px dashed rgba(111,117,70,.35);outline-offset:4px;border-radius:8px}
.inline-edit-button{position:absolute;right:0;top:0;transform:translateY(-120%);z-index:12;border:1px solid rgba(111,117,70,.25);border-radius:999px;background:#fffaf3;color:var(--olive-dark);box-shadow:0 10px 24px rgba(47,42,37,.12);padding:7px 10px;font:800 11px Inter,Arial,sans-serif;white-space:nowrap;cursor:pointer}
.inline-edit-button:hover{background:#efe5d7}
.card-edit-link{position:static;display:inline-flex;transform:none;margin:4px 0 12px;text-decoration:none}
.image-edit-button{top:12px;right:12px;transform:none}
.website-edit-modal[hidden]{display:none}
.website-edit-modal{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:22px}
.website-edit-backdrop{position:absolute;inset:0;background:rgba(47,42,37,.44);backdrop-filter:blur(5px)}
.website-edit-panel{position:relative;width:min(680px,100%);max-height:calc(100vh - 44px);overflow:auto;background:rgba(255,250,243,.98);border:1px solid rgba(139,123,99,.2);border-radius:24px;padding:24px;box-shadow:0 28px 90px rgba(47,42,37,.3)}
.website-edit-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.website-edit-panel h2{font:34px Marcellus,Georgia,serif;margin:4px 0 0}
.website-edit-panel label{display:grid;gap:8px;margin:0 0 14px;font-size:13px;font-weight:900;color:#4d443c}
.website-edit-panel textarea,.website-edit-panel input[type=text],.website-edit-panel input[type=file]{width:100%;border:1px solid rgba(139,123,99,.22);border-radius:14px;padding:12px 14px;background:#fff;color:var(--ink);font:inherit}
.website-edit-panel .checkbox{display:flex;align-items:flex-start;gap:9px;font-weight:700}
.website-edit-panel .checkbox input{margin-top:3px}
.website-edit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.modal-close{border:0;background:transparent;color:var(--muted);font:34px/1 Marcellus,Georgia,serif;cursor:pointer}
@media(max-width:680px){.website-edit-bar-inner{align-items:flex-start;flex-direction:column;padding-block:10px}.website-edit-bar-inner>div{display:flex;flex-wrap:wrap;gap:8px}.inline-edit-button{position:static;display:inline-flex;margin-top:8px;transform:none}.website-edit-panel{padding:18px}}

/* About page portrait */
.about-intro{align-items:center}
.about-portrait-frame{border-radius:28px;box-shadow:0 22px 54px rgba(66,54,42,.14)}
.about-portrait,.editable-image-wrap .about-portrait{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:42% center}
@media(max-width:920px){.about-portrait,.editable-image-wrap .about-portrait{aspect-ratio:1/1;object-position:40% center}.about-portrait-frame{border-radius:22px}}

/* Editable home address widget visibility */
.opening-note{position:relative}
.widget-visibility-form{position:absolute;top:10px;right:10px;z-index:14;margin:0}
.widget-visibility-button{width:28px;height:28px;border:1px solid rgba(79,87,49,.26);border-radius:999px;background:#fffaf3;color:var(--olive-dark);box-shadow:0 8px 20px rgba(47,42,37,.12);font:800 19px/1 Inter,Arial,sans-serif;cursor:pointer}
.widget-visibility-button:hover{background:#efe5d7}
.opening-note.is-hidden-widget{opacity:.48;filter:grayscale(.35);outline:1px dashed rgba(111,117,70,.45);outline-offset:5px}
.opening-note.is-hidden-widget:after{content:"Ausgeblendet";position:absolute;right:48px;top:14px;color:var(--olive-dark);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;pointer-events:none}

/* Public static location preview */
.location-preview-card{overflow:hidden;border:1px solid rgba(139,123,99,.16);border-radius:28px;background:rgba(255,255,255,.68);box-shadow:var(--shadow)}
.location-preview-image-wrap{background:#efe5d7}
.location-preview-image,.editable-image-wrap .location-preview-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.location-map-embed-wrap{background:#efe5d7}
.location-map-embed{display:block;width:100%;aspect-ratio:16/10;border:0}
.location-preview-caption{padding:20px 22px 22px}
.location-preview-caption h2{font-size:36px;margin:4px 0 8px}
.location-preview-caption p{color:var(--muted);margin:0 0 14px}
.route-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}
.contact-location-preview{overflow:hidden;margin:14px 0 16px;border:1px solid rgba(139,123,99,.16);border-radius:22px;background:#efe5d7}
.contact-location-preview .location-preview-image,.contact-location-preview .editable-image-wrap .location-preview-image,.contact-location-map{aspect-ratio:16/8}
@media(max-width:920px){.location-preview-caption h2{font-size:32px}.route-actions .btn{width:100%}.contact-location-preview .location-preview-image,.contact-location-preview .editable-image-wrap .location-preview-image,.contact-location-map{aspect-ratio:16/10}}

.practice-section{padding-top:10px}
.practice-section-head{position:relative}
.practice-visibility-form{position:absolute;right:0;top:0}
.practice-gallery{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(139,123,99,.16);background:rgba(255,255,255,.7);box-shadow:var(--shadow)}
.practice-gallery-track{display:flex;transition:transform .45s ease}
.practice-gallery-slide{flex:0 0 100%;position:relative;background:#efe5d7}
.practice-gallery-image,.editable-image-wrap .practice-gallery-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.practice-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:999px;background:rgba(255,250,243,.82);color:var(--ink);font:36px/1 Marcellus,Georgia,serif;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .18s ease,background .18s ease;box-shadow:0 12px 30px rgba(47,42,37,.18)}
.practice-gallery:hover .practice-gallery-arrow{opacity:1}
.practice-gallery-arrow:hover{background:#fffaf3}
.practice-gallery-arrow.prev{left:18px}
.practice-gallery-arrow.next{right:18px}
.practice-gallery-manage{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px}
.practice-gallery-manage-item{position:relative;min-height:120px;border:1px dashed rgba(111,117,70,.35);border-radius:20px;background:rgba(255,250,243,.72);padding:14px}
.practice-gallery-manage-placeholder,.editable-image-placeholder{display:grid;place-items:center;min-height:92px;border-radius:14px;background:rgba(239,226,210,.46);color:var(--muted);font-weight:700;text-align:center;padding:12px}
.reply-options-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.reply-toggle-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.reply-toggle-group span{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.reply-toggle-group .btn{min-height:38px;padding:0 14px}
.reply-action-row{justify-content:space-between;margin-top:12px}
.reply-match-group{display:flex;gap:10px;flex-wrap:nowrap}
.reply-action-row .btn{min-width:148px}
.reply-match-button{flex:0 0 168px;width:168px;min-height:42px;padding:0 16px;border-radius:16px;font:600 13px/1.1 Inter,Arial,sans-serif;letter-spacing:0;box-shadow:none}
@media(max-width:680px){.reply-action-row{align-items:stretch;flex-direction:column}.reply-match-group{width:100%}.reply-match-group .reply-match-button{flex:1 1 0;width:auto;min-height:42px}}
@media(max-width:820px){.practice-gallery-arrow{display:none}.practice-gallery-image,.editable-image-wrap .practice-gallery-image{aspect-ratio:4/3}}

/* Price page payment methods */
.payment-panel{margin:26px 0 18px;padding:24px 26px;border:1px solid rgba(139,123,99,.14);border-radius:24px;background:rgba(255,250,243,.72);box-shadow:0 16px 38px rgba(47,42,37,.05)}
.payment-panel-head{margin-bottom:14px}
.payment-panel-head h2{margin:6px 0 0;font:32px Marcellus,Georgia,serif}
.payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.payment-method-card{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(139,123,99,.12);border-radius:20px;background:#fff}
.payment-method-card strong{display:block;font-size:15px;letter-spacing:.08em}
.payment-method-card p{margin:4px 0 0;color:var(--muted)}
.payment-logo{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:18px}
.payment-logo-cash{position:relative;width:68px;height:48px}
.payment-logo-cash span{position:absolute;display:block;width:38px;height:26px;border-radius:8px;border:1.5px solid rgba(111,117,70,.24);background:linear-gradient(180deg,#fffdf9 0%,#efe5d7 100%)}
.payment-logo-cash span:first-child{left:9px;top:13px;transform:rotate(-8deg)}
.payment-logo-cash span:last-child{left:22px;top:8px;transform:rotate(6deg);box-shadow:0 8px 18px rgba(47,42,37,.1)}
.payment-logo-cash::after{content:"CHF";position:absolute;right:17px;top:16px;font:800 10px/1 Inter,Arial,sans-serif;color:var(--olive-dark);letter-spacing:.08em}
.payment-logo-twint{width:168px;max-width:42vw}
.twint-logo{display:block;width:100%;height:auto;border-radius:14px;overflow:hidden}
.twint-logo-mobile{display:none}
.payment-note{margin:16px 0 0;color:var(--muted);font-weight:700}
@media(max-width:760px){.payment-panel{padding:20px}.payment-methods{grid-template-columns:1fr}.payment-method-card{padding:15px 16px}.payment-logo-twint{width:84px;max-width:none}.twint-logo-desktop{display:none}.twint-logo-mobile{display:block;border-radius:18px}}

/* Studio invoice overview markers */
.studio-overview-mark-form{display:grid;gap:12px}
.studio-table-check{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:800;color:#4d443c}
.studio-table-check input{width:17px;height:17px;accent-color:var(--olive)}
.customer-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle;box-shadow:0 0 0 3px rgba(255,250,243,.85)}
.customer-status-dot.flagged{background:#d8a83c}
.customer-status-dot.blocked{background:#9b2f25}

/* Compact status control inside calendar appointment chips */
.calendar-chip.appointment{padding-bottom:4px}
.calendar-chip.appointment .calendar-status-form{margin-top:5px;margin-bottom:0}
.calendar-chip.appointment .calendar-status-form select{height:24px}
.calendar-chip.appointment .calendar-status-form button{height:20px;margin-bottom:0}

/* Public appointment page opening hours */
.appointment-info-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;align-items:stretch}
.opening-hours-block h2,.appointment-process-block h2{font:clamp(32px,4vw,46px) Marcellus,Georgia,serif;margin:6px 0 14px}
.appointment-process-block{display:flex;flex-direction:column;justify-content:center}
.opening-hours-list{display:grid;gap:0;margin-top:18px;border-top:1px solid rgba(139,123,99,.18)}
.opening-hours-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid rgba(139,123,99,.18)}
.opening-hours-row strong{font-weight:850;color:var(--ink)}
.opening-hours-row span{font-weight:800;color:var(--olive-dark);text-align:right;white-space:nowrap}
.appointment-process-block ul{margin-top:14px}
@media(max-width:860px){.appointment-info-grid{grid-template-columns:1fr;gap:28px}.opening-hours-row{padding:13px 0}}
@media(max-width:460px){.opening-hours-row{align-items:flex-start;flex-direction:column;gap:4px}.opening-hours-row span{text-align:left;white-space:normal}}
