/* Visual identity: white space, plum accents and warm gold details. */
:root{--ivory:#fffdfb;--ink:#352c31;--muted:#695e64;--line:#e7dfe3;--accent:#713d56;--gold:#a17a3e}
body{background:#fff;font-family:'Segoe UI',Arial,sans-serif}
h1,h2,h3{font-family:'Segoe UI',Arial,sans-serif;font-weight:650;line-height:1.12;letter-spacing:-1.5px}
h1{font-weight:750}h3{letter-spacing:-.5px}em{font-style:normal;color:var(--accent);font-weight:inherit}
.header{background:rgba(255,255,255,.97);border-color:#eee6e9}.hero{position:relative}.hero h1{font-size:clamp(44px,4.6vw,66px);letter-spacing:-2.4px}.hero .eyebrow{color:var(--accent)}
.hero-photo picture{border-radius:130px 130px 28px 28px;box-shadow:0 20px 50px #49263812}.photo-label{background:#fffaf6}
.button{border-radius:999px;background:var(--accent);border-color:var(--accent);box-shadow:0 5px 15px #713d561a;padding:16px 28px;font-size:13px}.button:hover{background:#54283e;border-color:#54283e}.text-link{color:var(--accent);font-weight:600;border-color:#c2a1b1}.hero-actions .text-link{padding:12px 20px;border:1px solid #dcc7d1;border-radius:999px;background:#fff}
.values .wrap{background:linear-gradient(115deg,#fcf8f2,#f5edf1);border-color:#e9dce2;box-shadow:0 10px 28px #49263809}
.credentials{background:#f5f0f3}.credential{background:#fff;border-radius:18px;border-top:2px solid #b48a48;box-shadow:0 6px 20px #49263805}.credential h3{font-size:20px}.credential .meta{color:#79566a}
.treatment-grid{border:0;gap:18px}.treatment{border:1px solid #e9dfe4;border-radius:22px;background:#fff;box-shadow:0 6px 22px #49263805;transition:background .2s,transform .2s,box-shadow .2s}.treatment:hover{background:#fbf6f8;transform:translateY(-3px);box-shadow:0 12px 28px #49263810}.treatment-top{color:var(--accent)}
.clinic{background:#352c31;color:#fff}.clinic em{color:#e7c690}.clinic p{color:#e1d6dc}.clinic .eyebrow{color:#e7c690}.gallery-item{border-radius:22px}.gallery-item>span{color:#fff}.professional h3{font-size:30px}
.appointment-form{background:#fcf9fb;border-color:#e8dbe2;border-radius:26px;box-shadow:0 15px 45px #713d560c}input,select,textarea{background:#fff;border-radius:12px;border-color:#d9ccd3}.phone{font-family:'Segoe UI',Arial,sans-serif;font-weight:600;color:var(--accent)}
.location{background:#f5f0f3}.facade img{border-radius:28px}.facade>span{border-radius:12px;background:#fff}.map-load{background:#fff;border-color:#e4d4dc;border-radius:22px}.map-load strong{font-family:inherit;font-weight:600}
footer{background:#fff}.footer-bottom{border-color:#e8dfe4}.whatsapp{background:var(--accent);border-color:#a4778c}.whatsapp:hover{background:#54283e}.menu-toggle{border-radius:99px}.signature{color:var(--accent)}
@media(max-width:800px){nav{background:#fff}.hero h1{font-size:42px}.hero-photo picture{border-radius:100px 100px 24px 24px}}
@media(max-width:600px){.hero h1{font-size:45px;letter-spacing:-1.8px}h2{font-size:34px;letter-spacing:-1.1px}.credential h3{font-size:18px}.treatment-grid{gap:12px}.treatment{padding:22px 16px}.treatment h3{font-size:20px}.hero-photo picture{border-radius:140px 140px 24px 24px}.hero-actions .text-link{font-size:12px}.button{padding:15px 23px}.appointment-form{padding:25px 21px}}

.professional > div { grid-column: 1 / -1; }
@media (max-width: 600px) {
  .professional .gallery-item:last-child { grid-column: 1 / -1; }
}

.formation-decoration {
  width: min(100%, 300px);
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 8px 28px #49263808;
}
.formation-decoration video {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 600px) {
  .formation-decoration { width: 230px; margin-inline: auto; }
}

.schedule-field {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e6d9df;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f9f1f5);
  box-shadow: 0 7px 22px #713d560b;
}
.schedule-field:focus-within { border-color: #a66d87; box-shadow: 0 0 0 3px #a66d8726; }
.schedule-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.schedule-label span { font-size: 19px; color: #9a617d; line-height: 1; }
.schedule-field input, .schedule-field select { min-height: 48px; border-radius: 12px; font-size: 15px; }
.time-field { margin: 0; }
.time-field legend { padding: 0 4px; font-weight: 600; }
.time-controls { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: end; gap: 8px; }
.time-controls label { min-width: 0; font-size: 12px; color: #715d68; }
.time-controls select { margin-top: 5px; }
.time-controls > span { padding-bottom: 11px; font-size: 24px; color: #9a617d; }
.opening-hours { display: flex; align-items: center; gap: 14px; width: fit-content; max-width: 100%; margin: 20px 0; padding: 16px 20px; border: 1px solid #e9dce2; border-radius: 18px; background: linear-gradient(135deg,#fff,#fbf5f8); box-shadow: 0 8px 24px #49263809; }
.opening-hours-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 13px; background: #f2e5eb; color: #87536d; font-size: 25px; }
.opening-hours strong { display: block; color: #473b32; font-size: 14px; }
.opening-hours p { margin-top: 2px; font-size: 13px; }
.booking-hours { margin: 12px 0 20px; padding: 10px 14px; border-left: 3px solid #b48a48; border-radius: 0 10px 10px 0; background: #f5edf1; color: #604a56; font-size: 13px; }
