/* ============================================

   AMOUR CRUISE — Policy Page

   Privacy Policy, Terms of Service, Cookies...

   ============================================ */



.policy-page {

  background: linear-gradient(180deg, #FBF8F1 0%, #FFFFFF 100%);

  min-height: 100vh;

}



/* ============ HERO ============ */

.policy-hero {

  position: relative;

  padding: calc(var(--header-h, 88px) + 4rem) 0 4rem;

  text-align: center;

  /* background: linear-gradient(135deg, #0B1929 0%, #1A2C45 100%); */

  color: #fff;

  overflow: hidden;

}

.policy-hero::before {

  content: '';

  position: absolute;

  inset: 0;

  background-image:

    radial-gradient(circle at 20% 30%, rgba(201, 165, 92, .18) 0%, transparent 50%),

    radial-gradient(circle at 80% 70%, rgba(201, 165, 92, .12) 0%, transparent 50%);

  pointer-events: none;

}

.policy-hero::after {

  content: '';

  position: absolute;

  bottom: -1px;

  left: 0;

  right: 0;

  height: 60px;

  background: linear-gradient(180deg, transparent 0%, #FBF8F1 100%);

}



.policy-hero__inner {

  position: relative;

  max-width: 760px;

  margin: 0 auto;

  padding: 0 1.5rem;

  z-index: 2;

}



.policy-hero__eyebrow {

  display: inline-block;

  font-size: .72rem;

  font-weight: 500;

  letter-spacing: .35em;

  text-transform: uppercase;

  color: #C9A55C;

  margin-bottom: 1.25rem;

  padding-bottom: .75rem;

  position: relative;

}

.policy-hero__eyebrow::after {

  content: '';

  position: absolute;

  bottom: 0;

  left: 50%;

  transform: translateX(-50%);

  width: 32px;

  height: 1px;

  background: #C9A55C;

}



.policy-hero__title {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: clamp(2.2rem, 5vw, 3.6rem);

  font-weight: 400;

  line-height: 1.15;

  margin: 0 0 1rem;

  letter-spacing: -.01em;

}



.policy-hero__subtitle {

  font-size: 1.05rem;

  line-height: 1.6;

  /* color: rgba(255, 255, 255, .78); */
  color: #2e2e2e;

  margin: 0;

  font-weight: 300;

}



/* ============ ORNAMENT ============ */

.policy-ornament {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: .75rem;

  margin: 1.5rem auto 0;

  color: rgba(201, 165, 92, .6);

}

.policy-ornament::before,

.policy-ornament::after {

  content: '';

  width: 48px;

  height: 1px;

  background: linear-gradient(90deg, transparent, #C9A55C, transparent);

}

.policy-ornament i {

  font-size: .65rem;

  letter-spacing: .5em;

  font-style: normal;

}



/* ============ CONTENT CARD ============ */

.policy-section {

  padding: 4rem 1.5rem 6rem;

}



.policy-card {

  max-width: 880px;

  margin: 0 auto;

  background: #fff;

  border-radius: 4px;

  padding: clamp(2rem, 5vw, 4rem);

  box-shadow:

    0 1px 3px rgba(11, 25, 41, .05),

    0 20px 60px rgba(11, 25, 41, .08);

  position: relative;

  border-top: 3px solid #C9A55C;

}



/* Trang trí góc */

.policy-card::before,

.policy-card::after {

  content: '';

  position: absolute;

  width: 40px;

  height: 40px;

  border: 1px solid rgba(201, 165, 92, .35);

}

.policy-card::before {

  top: 12px;

  left: 12px;

  border-right: none;

  border-bottom: none;

}

.policy-card::after {

  bottom: 12px;

  right: 12px;

  border-left: none;

  border-top: none;

}



/* ============ META ============ */

.policy-meta {

  text-align: center;

  margin-bottom: 2.5rem;

  padding-bottom: 1.5rem;

  border-bottom: 1px solid #E8D9A8;

}



.policy-updated {

  display: inline-block;

  padding: .35rem 1rem;

  background: linear-gradient(135deg, #FBF8F1 0%, #F5EBC9 100%);

  border-radius: 999px;

  font-size: .78rem;

  color: #8B6F2E;

  letter-spacing: .05em;

  font-weight: 500;

}



/* ============ LEAD ============ */

.policy-lead {

  font-family: 'Cormorant Garamond', Georgia, serif;

  font-size: clamp(1.1rem, 2vw, 1.35rem);

  line-height: 1.7;

  color: #2C3E50;

  font-weight: 400;

  margin-bottom: 2.5rem !important;

  font-style: italic;

  padding-left: 1.25rem;

  border-left: 3px solid #C9A55C;

}

.policy-lead strong {

  color: #0B1929;

  font-weight: 600;

  font-style: normal;

}



/* ============ BODY ============ */

.policy-body {

  color: #3A4A5C;

  line-height: 1.75;

  font-size: 1rem;

}

.policy-body p {

  margin: 0 0 1.1rem;

}

.policy-body a {

  color: #A88638;

  text-decoration: none;

  border-bottom: 1px solid rgba(201, 165, 92, .4);

  transition: all .25s ease;

}

.policy-body a:hover {

  color: #0B1929;

  border-bottom-color: #0B1929;

}

.policy-body strong {

  color: #0B1929;

  font-weight: 600;

}

.policy-body em {

  color: #6B7280;

}



/* ============ HEADINGS ============ */

.policy-body h2 {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: clamp(1.35rem, 2.5vw, 1.7rem);

  font-weight: 500;

  color: #0B1929;

  margin: 3rem 0 1.25rem;

  padding-bottom: .75rem;

  position: relative;

  letter-spacing: -.01em;

}

.policy-body h2:first-child {

  margin-top: 0;

}

.policy-body h2::after {

  content: '';

  position: absolute;

  bottom: 0;

  left: 0;

  width: 40px;

  height: 2px;

  background: linear-gradient(90deg, #C9A55C 0%, transparent 100%);

}



/* ============ LISTS ============ */

.policy-body ul {

  list-style: none;

  padding: 0;

  margin: 0 0 1.5rem;

}

.policy-body ul li {

  position: relative;

  padding: .5rem 0 .5rem 1.85rem;

  line-height: 1.7;

}

.policy-body ul li::before {

  content: '';

  position: absolute;

  left: .25rem;

  top: 1.1rem;

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: #C9A55C;

  box-shadow: 0 0 0 3px rgba(201, 165, 92, .15);

}

.policy-body ul li + li {

  border-top: 1px dashed rgba(201, 165, 92, .18);

}



/* ============ FOOTER CTA ============ */

.policy-footer {

  margin-top: 3rem;

  padding-top: 2rem;

  border-top: 1px solid #E8D9A8;

  text-align: center;

}



.policy-footer__cta {

  display: inline-flex;

  align-items: center;

  gap: .6rem;

  padding: .85rem 1.75rem;

  background: linear-gradient(135deg, #C9A55C 0%, #A88638 100%);

  color: #0B1929;

  font-size: .8rem;

  font-weight: 700;

  letter-spacing: .15em;

  text-transform: uppercase;

  text-decoration: none;

  border-radius: 2px;

  transition: all .3s ease;

  box-shadow: 0 4px 14px rgba(201, 165, 92, .3);

}

.policy-footer__cta:hover {

  transform: translateY(-2px);

  box-shadow: 0 8px 24px rgba(201, 165, 92, .45);

  color: #0B1929;

}



/* ============ RESPONSIVE ============ */

@media (max-width: 640px) {

  .policy-card {

    padding: 1.75rem 1.25rem;

  }

  .policy-card::before,

  .policy-card::after {

    width: 24px;

    height: 24px;

  }

  .policy-body h2 {

    margin-top: 2.25rem;

  }

  .policy-lead {

    padding-left: 1rem;

    font-size: 1.05rem;

  }

  .policy-section {

    padding: 2.5rem 1rem 4rem;

  }

}