/* PINERPRO — Global styles */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { min-height: 100vh; font-family: var(--pp-font-family); font-size: var(--pp-font-size-body); line-height: var(--pp-line-height-base); color: var(--pp-color-text); background: var(--pp-color-bg); letter-spacing: 0.01em; }
[data-theme="dark"] body, [data-theme="light"] body { background: var(--pp-color-bg); }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; color: inherit; }
p, h1, h2, h3, h4 { overflow-wrap: break-word; }
h1 { font-size: var(--pp-font-size-h1); line-height: var(--pp-line-height-tight); font-weight: 700; letter-spacing: -.025em; color: var(--pp-color-text); }
h2 { font-size: var(--pp-font-size-h2); line-height: 1.25; font-weight: 600; letter-spacing: -.015em; margin: 1.5rem 0 .75rem; color: var(--pp-color-text); }
h3 { font-size: var(--pp-font-size-h3); line-height: 1.35; font-weight: 600; letter-spacing: -.01em; }
p { margin: .45rem 0; }
a { color: var(--pp-color-secondary); text-decoration: none; transition: color var(--pp-transition-fast); }
a:hover { color: var(--pp-color-primary); text-decoration: none; }
ul, ol { padding-left: 1.25rem; }
main { width: min(100% - 2.5rem, var(--pp-container-lg)); margin: 0 auto; padding: 1.25rem 0 3rem; }
:focus-visible { outline: 2px solid rgba(212,175,55,.55); outline-offset: 2px; }
::selection { background: rgba(212,175,55,.26); color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hint { font-size: var(--pp-font-size-sm); color: var(--pp-color-text-muted); line-height: 1.5; }
.warning { padding: .85rem 1rem; border-radius: 12px; background: var(--pp-color-surface); border: 1px solid var(--pp-color-border); color: var(--pp-color-text); }
[data-theme="dark"] .warning { background: var(--pp-color-surface); border-color: var(--pp-color-border); color: var(--pp-color-text); }
label { display: block; font-size: .84rem; font-weight: 500; margin: .55rem 0 .3rem; color: var(--pp-color-text-muted); letter-spacing: .01em; }
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="search"], input[type="number"], select, textarea {
  width: 100%; min-height: var(--pp-input-height); padding: .7rem .95rem; border: 1px solid var(--pp-color-border); border-radius: 12px; background: var(--pp-color-surface); color: var(--pp-color-text); box-shadow: none; transition: border-color var(--pp-transition-fast), box-shadow var(--pp-transition-fast);
}
input:focus, select:focus, textarea:focus { border-color: rgba(212,175,55,.55); outline: none; box-shadow: 0 0 0 3px rgba(212,175,55,.12); }
textarea { min-height: 96px; resize: vertical; }
button { cursor: pointer; }
fieldset { border: 1px solid var(--pp-color-border); border-radius: 14px; padding: 1.1rem; margin: 1rem 0; background: var(--pp-color-surface); }
legend { padding: 0 .35rem; font-weight: 600; color: var(--pp-color-text); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }
