/* Shared, lightweight controls. No third-party chat iframe or tracking pixel. */
.nh-contact-widget, .nh-privacy { font-family: var(--font-sans, Arial, sans-serif); font-size: 15px; line-height: 1.5; text-align: left; letter-spacing: normal; text-transform: none; box-sizing: border-box; }
.nh-contact-widget *, .nh-privacy * { box-sizing: border-box; }
.nh-contact-widget { position: fixed; inset: auto max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) auto; z-index: 100; max-width: calc(100vw - 32px); }
.nh-contact-widget > summary { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 18px; border: 1px solid #17150f; border-radius: 12px; background: #17150f; color: #fffaf0; box-shadow: 0 4px 20px #17150f26; cursor: pointer; font-weight: 700; list-style: none; }
.nh-contact-widget > summary::-webkit-details-marker, .nh-privacy__details > summary::-webkit-details-marker { display: none; }
.nh-contact-widget > summary > svg { color: #de8e28; flex: 0 0 auto; }
.nh-contact-widget__indicator { margin-left: 2px; font-size: 21px; font-weight: 400; }
.nh-contact-widget[open] .nh-contact-widget__indicator { transform: rotate(45deg); }
.nh-contact-widget__panel { position: absolute; right: 0; bottom: calc(100% + 10px); width: min(344px, calc(var(--nh-contact-viewport-width, 100vw) - 32px)); max-height: calc(100dvh - 110px - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; padding: 24px; border: 1px solid #e4d3b8; border-top: 3px solid #de8e28; border-radius: 16px; color: #17150f; background: #fffcf7; box-shadow: 0 12px 44px #17150f30; }
.nh-contact-widget__close { position: absolute; top: 5px; right: 5px; width: 44px; height: 44px; border: 0; background: transparent; color: #57534a; font: 26px/1 Arial, sans-serif; cursor: pointer; }
.nh-contact-widget__eyebrow { color: #805014; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; margin: 0 26px 12px 0; font-weight: 700; }
.nh-contact-widget__panel h2 { font-family: var(--font-display, Arial, sans-serif); font-size: 23px; line-height: 1.2; margin: 0 0 12px; color: #17150f; letter-spacing: -.025em; }
.nh-contact-widget__panel > p:not([class]) { color: #57534a; margin: 0 0 20px; }
.nh-contact-widget__whatsapp, .nh-contact-widget__brief { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 14px; border-radius: 8px; font-weight: 700; text-decoration: none; color: #17150f; }
.nh-contact-widget__whatsapp { background: #de8e28; border: 1px solid #de8e28; }
.nh-contact-widget__brief { margin-top: 8px; border: 1px solid #d9cebd; background: #fff; }
.nh-contact-widget__whatsapp:hover { background: #e9a23c; }
.nh-contact-widget__brief:hover { background: #f4eee4; }
.nh-contact-widget__note { color: #6b655c; font-size: 12px; line-height: 1.5; margin: 14px 0 6px; }
.nh-contact-widget__extras { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e4d3b8; margin-top: 12px; padding-top: 4px; }
.nh-contact-widget__extras a, .nh-contact-widget__extras button { display: inline-flex; align-items: center; min-height: 44px; padding: 0; color: #57534a; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; }
.nh-privacy { position: fixed; z-index: 110; left: max(20px, env(safe-area-inset-left)); bottom: max(20px, env(safe-area-inset-bottom)); width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; padding: 20px; color: #17150f; border: 1px solid #d9cebd; border-top: 3px solid #de8e28; border-radius: 12px; background: #fffcf7; box-shadow: 0 6px 32px #17150f26; }
.nh-privacy[hidden] { display: none !important; }
.nh-privacy__intro { display: flex; align-items: flex-start; gap: 12px; }
.nh-privacy__mark { color: #a06419; font-size: 22px; line-height: 1.2; }
.nh-privacy h2 { font-family: var(--font-display, Arial, sans-serif); font-size: 18px; line-height: 1.3; letter-spacing: -.015em; margin: 0 0 8px; color: #17150f; }
.nh-privacy p { font-size: 13px; line-height: 1.55; margin: 0; color: #57534a; }
.nh-privacy__details { margin-top: 6px; }
.nh-privacy__details > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; font-size: 13px; font-weight: 700; list-style: none; }
.nh-privacy__details > summary::after { content: "+"; margin-left: 10px; }
.nh-privacy__details[open] > summary::after { content: "−"; }
.nh-privacy__details p { margin-bottom: 10px; }
.nh-privacy a { color: #17150f; text-decoration: underline; text-underline-offset: 3px; }
.nh-privacy .nh-privacy__status { margin: 2px 0 12px; font-size: 12px; }
.nh-privacy__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.nh-privacy__actions button { min-height: 46px; padding: 10px 8px; font: inherit; font-size: 13px; font-weight: 700; color: #17150f; border: 1px solid #a59a89; border-radius: 6px; background: #fff; cursor: pointer; }
.nh-privacy__actions button:hover { background: #f4eee4; border-color: #17150f; }
.nh-privacy__close { display: block; min-height: 44px; padding: 10px 0 0; margin: 0 auto; color: #57534a; font: inherit; font-size: 12px; border: none; background: none; text-decoration: underline; cursor: pointer; }
.nh-privacy__close[hidden] { display: none; }
[data-cookie-settings][hidden] { display: none; }
.nh-site-footer__bottom [data-cookie-settings] { padding: 10px 0; min-height: 44px; font: inherit; color: #57534a; background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; letter-spacing: normal; }
.nh-contact-widget :focus-visible, .nh-privacy :focus-visible, [data-cookie-settings]:focus-visible { outline: 3px solid #805014; outline-offset: 3px; }
@media (max-width: 800px) {
  .nh-contact-widget { right: max(16px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  .nh-contact-widget > summary { min-height: 48px; padding: 10px 14px; font-size: 14px; }
  .nh-contact-widget__panel { padding: 22px; }
  .nh-privacy { left: 16px; right: 16px; width: auto; max-width: 440px; bottom: max(12px, env(safe-area-inset-bottom)); padding: 18px; }
  html[data-consent-prompt="open"] .nh-contact-widget, html[data-contact-editing] .nh-contact-widget, html:has(nav[data-mobile-open="true"]) .nh-contact-widget { visibility: hidden; pointer-events: none; }
  body:has(.nh-contact-widget) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}
@media (max-height: 500px) {
  .nh-contact-widget__panel { max-height: calc(100dvh - 90px); padding: 16px 20px; }
  .nh-contact-widget__panel > p:not([class]), .nh-contact-widget__note { display: none; }
}
@media print { .nh-contact-widget, .nh-privacy, [data-cookie-settings] { display: none !important; } }
