/* Styles for Shipping & Returns, Contact, Privacy and Terms pages */
.page-hero { padding: 64px 0 24px; text-align: center; }
.page-hero h1 { font-size: clamp(32px, 5vw, 48px); margin-bottom: 14px; }
.page-hero p { color: var(--ink-soft); font-style: italic; max-width: 560px; margin: 0 auto; }
.page-hero .hero-rule { margin-top: 28px; }

.prose { max-width: 760px; margin: 0 auto; padding: 32px 0 96px; }
.prose h2 { font-size: 26px; margin: 44px 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: 19px; margin: 26px 0 8px; }
.prose p { margin-bottom: 14px; color: var(--ink); }
.prose ul { margin: 0 0 16px 22px; }
.prose li { margin-bottom: 8px; }
.prose a { border-bottom: 1px solid var(--brass); }
.prose a:hover { color: var(--brass-deep); }
.prose .updated { font-size: 13px; color: var(--ink-soft); font-style: italic; margin-bottom: 28px; }

.note-box { border: 1px solid var(--line); border-left: 3px solid var(--brass); background: var(--paper-deep); padding: 16px 20px; margin: 18px 0 22px; }
.note-box p { margin: 0; }

.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 56px; max-width: 980px; margin: 0 auto; padding: 32px 0 96px; }
.contact-info h2 { font-size: 24px; margin-bottom: 14px; }
.contact-info .block { margin-bottom: 28px; }
.contact-info .label { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--brass-deep); margin-bottom: 4px; }
.contact-info a { border-bottom: 1px solid var(--brass); }

.q-form label { display: block; font-size: 14px; margin-bottom: 6px; color: var(--ink-soft); }
.q-form .field { margin-bottom: 20px; }
.q-form input[type=text], .q-form input[type=email], .q-form select, .q-form textarea {
  width: 100%; font-family: 'Lora', serif; font-size: 16px; color: var(--ink);
  background: #fff; border: 1px solid var(--ink-soft); border-radius: 0; padding: 11px 12px;
}
.q-form textarea { min-height: 150px; resize: vertical; }
.q-form input:focus, .q-form select:focus, .q-form textarea:focus { outline: 2px solid var(--brass); outline-offset: 1px; }
.q-form button { cursor: pointer; }
.q-form .hp { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }

.msg { padding: 14px 18px; margin-bottom: 22px; border: 1px solid; }
.msg-ok { border-color: var(--green); background: rgba(58,74,52,0.08); color: var(--green-deep); }
.msg-err { border-color: var(--rust); background: rgba(122,59,36,0.07); color: var(--rust); }

@media (max-width: 860px) {
  .contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .page-hero { padding-top: 40px; }
}
