/* Every rule is scoped to the salon form. No header/footer or shared class overrides. */
#phy-salon-original[hidden] { display: none !important; }
#phy-salon-request { position: relative; isolation: isolate; padding: 72px max(32px, calc((100% - 1120px)/2)); color: #091a47; background: #e8e0d8; font-family: myriad-pro-condensed, Arial, Helvetica, sans-serif; scroll-margin-top: 180px; }
#phy-salon-request .phy-salon-photo { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
#phy-salon-request .phy-salon-panel { box-sizing: border-box; width: 520px; max-width: 100%; padding: 42px; background: #f8f7f5; }
#phy-salon-request .subtitle_main_box { text-align: center; margin: 0 0 26px; padding: 0; }
#phy-salon-request .subtitle_main { margin: 0; font-family: garamond-premier-pro, Georgia, serif; font-size: 30px; line-height: 1.2; font-weight: 400; color: #a99e8e; }
#phy-salon-request .subtitle_main_vague-box { margin: 22px auto 0; padding: 0; line-height: 9px; height: 9px; }
#phy-salon-request .subtitle_main_vague-box svg { fill: #a99e8e; }
#phy-salon-request .phy-salon-intro { margin: 0 0 28px; text-align: center; font-size: 20px; line-height: 1.5; }
#phy-salon-request .phy-salon-field { min-width: 0; margin: 0 0 17px; }
#phy-salon-request label { display: block; margin: 0 0 6px; padding: 0; font: inherit; font-size: 19px; line-height: 1.3; text-align: left; color: #091a47; }
#phy-salon-request input:not([type=hidden]), #phy-salon-request textarea { display: block; box-sizing: border-box; width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid #b9bbc3; border-radius: 0; box-shadow: none; background: #fff; color: #091a47; font: inherit; font-size: 19px; line-height: 1.3; }
#phy-salon-request input:focus, #phy-salon-request textarea:focus { outline: 2px solid #091a47; outline-offset: 2px; }
#phy-salon-request textarea { resize: vertical; min-height: 98px; }
#phy-salon-request textarea::placeholder { color: #707782; opacity: 1; }
#phy-salon-request .phy-salon-row { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; }
#phy-salon-request .phy-salon-privacy { margin: 23px 0; text-align: center; font-size: 17px; line-height: 1.45; }
#phy-salon-request .phy-salon-privacy a { color: #091a47; text-decoration: underline; }
#phy-salon-request .phy-salon-submit { display: block; width: 100%; min-height: 48px; padding: 12px 18px; border: 1px solid #091a47; border-radius: 0; background: #091a47; color: #fff; font: inherit; font-size: 19px; line-height: 1.3; cursor: pointer; }
#phy-salon-request .phy-salon-submit:hover:not(:disabled) { background: #182d5c; }
#phy-salon-request .phy-salon-submit:focus-visible { outline: 2px solid #091a47; outline-offset: 3px; }
#phy-salon-request .phy-salon-submit:disabled { opacity: .65; cursor: not-allowed; }
#phy-salon-request .phy-salon-required { margin: 12px 0 0; text-align: center; font-size: 16px; }
#phy-salon-request .phy-salon-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#phy-salon-request .phy-salon-errors, #phy-salon-request .phy-salon-notice { margin: 0 0 24px; padding: 14px; border: 1px solid #a99e8e; color: #091a47; font-size: 18px; line-height: 1.4; }
#phy-salon-request .phy-salon-errors { border-color: #9d3434; }
#phy-salon-request .phy-salon-errors p { margin: 0 0 6px; }
#phy-salon-request .phy-salon-errors ul { list-style: disc; padding-left: 20px; margin: 0; }
@media (max-width: 767px) {
  #phy-salon-request { padding: 220px 20px 28px; background: #f8f7f5; }
  #phy-salon-request .phy-salon-photo { height: 280px; object-position: right center; }
  #phy-salon-request .phy-salon-panel { width: 100%; margin: 0 auto; padding: 28px 22px; }
  #phy-salon-request .subtitle_main { font-size: 27px; }
  #phy-salon-request .phy-salon-intro { font-size: 19px; }
  #phy-salon-request .phy-salon-row { grid-template-columns: minmax(0, 1fr) 100px; gap: 14px; }
}
@media (max-width: 360px) {
  #phy-salon-request { padding-left: 12px; padding-right: 12px; }
  #phy-salon-request .phy-salon-panel { padding-left: 18px; padding-right: 18px; }
  #phy-salon-request .phy-salon-row { grid-template-columns: 1fr; gap: 0; }
}
