/* ════════════════════════════════════════════════════════
   さわかみアーカイブス — contact.html 固有スタイル
════════════════════════════════════════════════════════ */

/* ─── SHARED SECTION LABELS ─── */
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,4.5vw,4.2rem);font-weight:300;line-height:1.2;}
.section-title em{font-style:italic;color:var(--amber-light);}

/* ════ CONTACT PAGE ════ */
.contact-hero {
  position:relative;padding:10rem 5rem 8rem 5rem;text-align:left;
  /*background:linear-gradient(to bottom,rgba(42,34,24,1) 0%,rgba(42,34,24,.92) 100%);*/
  border-bottom:1px solid rgba(212,168,71,.1);
}
.contact-hero-inner { position: relative;}
.contact-hero-title {
  font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5.5vw,3.8rem);
  font-weight:300;line-height:1.2;color:var(--cream);margin-top:.5rem;
}
.contact-hero-title em { font-style:italic;color:var(--amber-light); }

.contact-hero-bg-img {
    position: absolute;
    inset: 0;
    background: url(../img/archives-bg01.jpg) center / cover no-repeat;
    filter: sepia(32%) brightness(1) contrast(1.2) saturate(1.05);
}
.contact-hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(212,168,71,.08) 0%,transparent 60%),linear-gradient(to bottom,rgba(42,34,24,.85) 0%,rgba(42,34,24,.65) 50%,rgba(42,34,24,.88) 100%);}

.contact-section {
  position:relative;padding:5rem 5rem 8rem;max-width:760px;margin:0 auto;
}
.contact-notice {
  border:1px solid rgba(212,168,71,.2);padding:1.4rem 1.8rem;
  margin-bottom:2.5rem;font-size:.85rem;line-height:1.9;color:var(--text-muted);
  background:rgba(212,168,71,.04);
}
.contact-notice strong { color:var(--amber-light); }
.contact-form-wrap {
  border:1px solid rgba(212,168,71,.18);padding:2.5rem 3rem;
  background:rgba(42,34,24,.6);backdrop-filter:blur(8px);
}
.contact-field { margin-bottom:1.4rem; }
.contact-field label {
  display:block;font-family:'Space Mono',monospace;font-size:.58rem;
  letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.6rem;
}
.contact-field input,
.contact-field textarea {
  width:100%;background:#0f0e0c;border:1px solid rgba(212,168,71,.2);
  color:var(--cream);padding:.75rem 1rem;font-family:'Noto Serif JP',serif;
  font-size:.9rem;outline:none;transition:border-color .2s;resize:vertical;
}
.contact-field input:focus,
.contact-field textarea:focus { border-color:rgba(212,168,71,.5); }
.contact-field textarea { min-height:140px; }
.cf-char-count {
  font-family:'Space Mono',monospace;font-size:.55rem;color:var(--text-muted);
  text-align:right;margin-top:.3rem;
}
.cf-char-count.warn { color:#e05050; }
.contact-honeypot { display:none!important;visibility:hidden; }
.contact-privacy {
  display:flex;align-items:flex-start;gap:1rem;margin:1.6rem 0;
  font-size:.82rem;line-height:1.8;color:var(--text-muted);
}
.contact-privacy input[type="checkbox"] {
  flex-shrink:0;width:16px;height:16px;margin-top:.2rem;
  accent-color:var(--amber);cursor:pointer;
}
.contact-privacy a { color:var(--amber);text-decoration:none; }
.contact-privacy a:hover { color:var(--amber-light); }
.contact-submit {
  width:100%;font-family:'Space Mono',monospace;font-size:.62rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--sepia-dark);
  background:var(--amber);border:none;padding:.9rem;cursor:pointer;
  transition:background .3s;margin-top:.4rem;display:flex;align-items:center;
  justify-content:center;gap:.8rem;
}
.contact-submit:hover { background:var(--amber-light); }
.contact-submit:disabled { opacity:.5;cursor:not-allowed; }
.contact-submit svg { width:14px;height:14px;stroke:var(--sepia-dark);fill:none;stroke-width:2; }
.contact-result {
  margin-top:1.4rem;padding:1.4rem 1.8rem;font-size:.9rem;line-height:1.9;display:none;
}
.contact-result.success {
  display:block;background:rgba(60,160,80,.08);border:1px solid rgba(60,160,80,.25);color:#8de88d;
}
.contact-result.error {
  display:block;background:rgba(224,80,80,.08);border:1px solid rgba(224,80,80,.25);color:#e88080;
}
.contact-maintenance {
  text-align:center;padding:4rem 2rem;color:var(--text-muted);
  border:1px solid rgba(212,168,71,.15);background:rgba(212,168,71,.03);display:none;
}
.contact-maintenance h3 {
  font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;
  color:var(--cream);margin-bottom:1rem;
}
/* プライバシーポリシーモーダル */
.pp-modal {
  display:none;position:fixed;inset:0;z-index:2000;
  align-items:center;justify-content:center;background:rgba(10,8,5,.88);
}
.pp-modal.open { display:flex; animation: fadeInModal .25s ease;}
.pp-modal-inner {
  background:var(--sepia-dark);border:1px solid rgba(212,168,71,.2);
  width:min(680px,94vw);max-height:80vh;display:flex;flex-direction:column;
}
.pp-modal-header {
  padding:1.2rem 1.6rem;border-bottom:1px solid rgba(212,168,71,.15);
  display:flex;align-items:center;justify-content:space-between;flex-shrink:0;
}
.pp-modal-title {
  font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.25em;
  color:var(--amber);text-transform:uppercase;
}
.pp-modal-close {
  background:none;border:1px solid rgba(212,168,71,.25);color:var(--amber);
  width:28px;height:28px;cursor:pointer;display:flex;align-items:center;
  justify-content:center;transition:border-color .2s;
}
.pp-modal-close:hover { border-color:var(--amber); }
.pp-modal-close svg { width:12px;height:12px;stroke:var(--amber);fill:none;stroke-width:1.8; }
.pp-modal-body {
  padding:1.6rem;overflow-y:auto;font-size:.82rem;line-height:2;color:var(--text-muted);
}
.pp-modal-body h4 {
  font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.2em;
  color:var(--cream);text-transform:uppercase;margin:1.2rem 0 .5rem;
}
.pp-modal-body p { margin-bottom:.6rem; }
.pp-modal-footer {
  padding:.8rem 1.6rem;border-top:1px solid rgba(212,168,71,.15);
  flex-shrink:0;display:flex;justify-content:flex-end;
}
.pp-modal-btn {
  font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sepia-dark);background:var(--amber);
  border:none;padding:.6rem 1.6rem;cursor:pointer;transition:background .3s;
}
.pp-modal-btn:hover { background:var(--amber-light); }

@keyframes fadeInModal { from { opacity:0 } to { opacity:1 } }

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  nav{padding:1rem 1rem;}
  footer{grid-template-columns:1fr;padding:3rem 2rem;gap:2rem;}
  .footer-bottom{padding:1.5rem 2rem;flex-direction:column;gap:1rem;}
  .nav-links{display:none;}
    .nav-hamburger { display:flex; }
  .nav-cta { display:none; }
  .nav-links { display:none; }
  #mobileMenu { display:flex; }
}

@media(max-width:768px) {
  .contact-section { padding:4rem 1.5rem 6rem; }
  .contact-form-wrap { padding:1.6rem 1.2rem; }
    .contact-hero {padding:9rem 2rem 3rem 2rem;}
  nav { padding:1.4rem 1.8rem; }
}
