/**
 * COCONOVA Privacy Policy Page Styles
 * front-page.css と併用（共通スタイルはfront-page.cssで定義済み）
 */

/* ===== Privacy Hero ===== */
.privacy-hero {
  padding: 160px 0 80px;
  background: linear-gradient(160deg, var(--mint-800) 0%, var(--mint-900) 50%, #0D3B2D 100%);
  text-align: center; position: relative; overflow: hidden;
}
.privacy-hero::before {
  content: ''; position: absolute; top: -150px; right: -150px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(42,172,172,0.1) 0%, transparent 70%);
}
.privacy-hero::after {
  content: ''; position: absolute; bottom: -100px; left: -100px;
  width: 350px; height: 350px; border-radius: 50%;
  background: radial-gradient(circle, rgba(42,172,172,0.06) 0%, transparent 70%);
}
.privacy-hero .section-label { color: var(--mint-300); }
.privacy-hero .section-title {
  color: #fff; font-size: clamp(30px, 5vw, 44px); margin-bottom: 12px;
}
.privacy-hero-sub {
  font-family: var(--font-heading);
  font-size: 15px; color: rgba(255,255,255,0.55); letter-spacing: 0.04em;
}

/* ===== Policy Content Card ===== */
.privacy-content {
  padding: 0 0 100px;
  position: relative;
}
.privacy-card {
  max-width: 860px; margin: -40px auto 0;
  background: #fff; border-radius: 24px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.06);
  padding: 64px 60px;
  position: relative; z-index: 2;
}

/* Intro paragraph */
.policy-intro {
  font-size: 15px; color: var(--gray-700);
  line-height: 2; margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--gray-100);
}

/* Section block */
.policy-section { margin-bottom: 48px; }
.policy-section:last-child { margin-bottom: 0; }

.policy-section-title {
  font-family: var(--font-heading);
  font-size: 18px; font-weight: 700;
  color: var(--gray-900); line-height: 1.5;
  margin-bottom: 16px;
  padding-left: 16px;
  border-left: 3px solid var(--mint-400);
}

.policy-section p {
  font-size: 14px; color: var(--gray-600);
  line-height: 2; margin-bottom: 12px;
}
.policy-section p:last-child { margin-bottom: 0; }

/* Numbered list (div-based to avoid Cocoon interference) */
.policy-list {
  margin: 16px 0;
}
.policy-list-item {
  display: flex; gap: 12px;
  font-size: 14px; color: var(--gray-600);
  line-height: 2; margin-bottom: 4px;
}
.policy-list-num {
  flex-shrink: 0; color: var(--mint-500); font-weight: 500;
  min-width: 20px;
}

/* Sub-items */
.policy-sub-list {
  margin: 8px 0 8px 32px;
}
.policy-sub-item {
  display: flex; gap: 10px;
  font-size: 14px; color: var(--gray-600);
  line-height: 2; margin-bottom: 2px;
}
.policy-sub-bullet {
  flex-shrink: 0; color: var(--gray-400);
}

/* Contact box (Article 10) */
.policy-contact-box {
  margin-top: 20px; padding: 24px 28px;
  background: var(--mint-50); border-radius: 16px;
}
.policy-contact-box p {
  font-size: 14px; color: var(--gray-600);
  line-height: 2; margin-bottom: 4px;
}
.policy-contact-box p:last-child { margin-bottom: 0; }
.policy-contact-name {
  font-weight: 700; color: var(--gray-800) !important;
  margin-bottom: 8px !important;
}
.policy-contact-box a {
  color: var(--mint-500); font-weight: 500;
}
.policy-contact-box a:hover {
  color: var(--mint-600);
}

/* ===== Cocoon Overrides ===== */
.coconova-privacy-page * { box-sizing: border-box !important; }
.coconova-privacy-page h1,
.coconova-privacy-page h2,
.coconova-privacy-page h3,
.coconova-privacy-page h4 { background: none !important; border: none !important; padding: 0 !important; }
.coconova-privacy-page .container { padding: 0 24px !important; }
.coconova-privacy-page img { border: none !important; }
.coconova-privacy-page .article { padding: 0 !important; margin: 0 !important; }
.coconova-privacy-page #content,
.coconova-privacy-page .content { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.coconova-privacy-page .entry-content { padding: 0 !important; margin: 0 !important; }
.coconova-privacy-page ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.coconova-privacy-page .nav-links { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.coconova-privacy-page .footer-col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.coconova-privacy-page .footer-col a { color: rgba(255,255,255,0.45) !important; }
.coconova-privacy-page .footer-col a:hover { color: rgba(255,255,255,0.9) !important; }
.coconova-privacy-page .footer-col h4 { font-size: 13px !important; font-weight: 500 !important; color: rgba(255,255,255,0.85) !important; margin-bottom: 16px !important; background: none !important; padding: 0 !important; border: none !important; }

/* ===== Responsive ===== */
@media(max-width:900px) {
  .privacy-card { padding: 48px 36px; margin: -32px 16px 0; }
}

@media(max-width:768px) {
  .privacy-hero { padding: 120px 0 56px; }
  .privacy-card { padding: 36px 24px; border-radius: 20px; }
  .policy-section-title { font-size: 16px; }
  .coconova-privacy-page .container { padding: 0 20px !important; }
}

@media(max-width:480px) {
  .privacy-hero { padding: 100px 0 48px; }
  .privacy-card { padding: 28px 20px; margin: -24px 12px 0; }
  .policy-section-title { font-size: 15px; padding-left: 12px; }
  .privacy-hero .section-title { font-size: 28px; }
  .coconova-privacy-page .container { padding: 0 16px !important; }
}
