/* =====================================================
   BLESSINGS NGO
   TERMS & CONDITIONS PAGE
   PAGE-SCOPED CSS ONLY
   ===================================================== */

.terms-page{
  --terms-navy:#102f45;
  --terms-blue:#1f506c;
  --terms-orange:#d8893b;
  --terms-gold:#e8b76b;
  --terms-cream:#f8f4ed;
  --terms-soft:#f2f6f4;
  --terms-text:#263746;
  --terms-muted:#6d7a83;
  --terms-border:rgba(16,47,69,.10);
  --terms-shadow:0 18px 45px rgba(16,47,69,.09);

  margin:0;
  padding:0;

  color:var(--terms-text);
  font-family:"DM Sans",sans-serif;
}


/* =====================================================
   BOX SIZING
   ===================================================== */

.terms-page *,
.terms-page *::before,
.terms-page *::after{
  box-sizing:border-box;
}


/* =====================================================
   CONTAINER
   ===================================================== */

.terms-page .terms-container{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}


/* =====================================================
   HERO
   ===================================================== */

.terms-page .terms-hero{
  min-height:380px;

  display:flex;
  align-items:center;

  background:
    linear-gradient(
      135deg,
      var(--terms-navy) 0%,
      var(--terms-blue) 100%
    );
}

.terms-page .terms-hero-inner{
  padding:85px 0;
}

.terms-page .terms-hero-content{
  max-width:760px;
}

.terms-page .terms-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;

  margin-bottom:20px;

  color:var(--terms-gold);

  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}

.terms-page .terms-eyebrow i{
  font-size:15px;
}

.terms-page .terms-hero h1{
  margin:0 0 22px;

  color:#fff;

  font-family:"Playfair Display",serif;
  font-size:clamp(42px,5vw,68px);
  line-height:1.08;
  font-weight:600;
}

.terms-page .terms-hero h1 span{
  color:var(--terms-gold);
}

.terms-page .terms-hero p{
  max-width:680px;

  margin:0;

  color:rgba(255,255,255,.88);

  font-size:18px;
  line-height:1.8;
}


/* =====================================================
   CONTENT
   ===================================================== */

.terms-page .terms-section{
  padding:100px 0;
  background:#fff;
}

.terms-page .terms-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:55px;
  align-items:start;
}


/* =====================================================
   DOCUMENT
   ===================================================== */

.terms-page .terms-document{
  min-width:0;
}

.terms-page .terms-updated{
  display:inline-flex;
  align-items:center;
  gap:9px;

  margin-bottom:45px;
  padding:10px 16px;

  background:var(--terms-soft);
  border:1px solid var(--terms-border);
  border-radius:30px;

  color:var(--terms-muted);

  font-size:13px;
  font-weight:600;
}

.terms-page .terms-updated i{
  color:var(--terms-orange);
}


/* =====================================================
   CONTENT BLOCK
   ===================================================== */

.terms-page .terms-block{
  position:relative;

  padding:0 0 48px;
  margin-bottom:48px;

  border-bottom:1px solid var(--terms-border);
}

.terms-page .terms-block:last-child{
  margin-bottom:0;
  border-bottom:0;
}

.terms-page .terms-label{
  display:block;

  margin-bottom:9px;

  color:var(--terms-orange);

  font-size:12px;
  font-weight:800;
  letter-spacing:2px;
}

.terms-page .terms-block h2{
  margin:0 0 17px;

  color:var(--terms-navy);

  font-family:"Playfair Display",serif;
  font-size:30px;
  line-height:1.25;
  font-weight:600;
}

.terms-page .terms-block p{
  margin:0 0 16px;

  color:var(--terms-text);

  font-size:16px;
  line-height:1.85;
}

.terms-page .terms-block p:last-child{
  margin-bottom:0;
}


/* =====================================================
   LIST
   ===================================================== */

.terms-page .terms-block ul{
  margin:18px 0 20px;
  padding:0 0 0 21px;
}

.terms-page .terms-block li{
  margin-bottom:10px;
  padding-left:6px;

  color:var(--terms-text);

  font-size:15.5px;
  line-height:1.7;
}

.terms-page .terms-block li::marker{
  color:var(--terms-orange);
}


/* =====================================================
   INLINE LINKS
   ===================================================== */

.terms-page .terms-block a{
  color:var(--terms-blue);
  font-weight:600;
  text-decoration:none;

  transition:color .25s ease;
}

.terms-page .terms-block a:hover{
  color:var(--terms-orange);
}


/* =====================================================
   CONTACT CARD
   ===================================================== */

.terms-page .terms-contact-card{
  margin-top:25px;
  padding:25px;

  background:var(--terms-soft);
  border:1px solid var(--terms-border);
  border-radius:12px;
}

.terms-page .terms-contact-card p{
  display:flex;
  align-items:flex-start;
  gap:13px;

  margin:0 0 14px;

  font-size:15px;
}

.terms-page .terms-contact-card p:last-child{
  margin-bottom:0;
}

.terms-page .terms-contact-card i{
  width:18px;
  margin-top:4px;

  color:var(--terms-orange);
  text-align:center;
}

.terms-page .terms-contact-card a{
  color:var(--terms-blue);
  text-decoration:none;

  transition:color .25s ease;
}

.terms-page .terms-contact-card a:hover{
  color:var(--terms-orange);
}


/* =====================================================
   SIDEBAR
   ===================================================== */

.terms-page .terms-sidebar{
  position:sticky;
  top:30px;
}

.terms-page .terms-sidebar-box{
  padding:32px;

  background:var(--terms-cream);
  border:1px solid rgba(216,137,59,.16);
  border-radius:14px;

  box-shadow:var(--terms-shadow);
}

.terms-page .terms-sidebar-icon{
  width:58px;
  height:58px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin-bottom:22px;

  background:var(--terms-navy);
  border-radius:50%;

  color:var(--terms-gold);
  font-size:21px;
}

.terms-page .terms-sidebar-box h3{
  margin:0 0 12px;

  color:var(--terms-navy);

  font-family:"Playfair Display",serif;
  font-size:25px;
  line-height:1.3;
}

.terms-page .terms-sidebar-box p{
  margin:0 0 22px;

  color:var(--terms-muted);

  font-size:14px;
  line-height:1.75;
}


/* =====================================================
   SIDEBAR LINK
   ===================================================== */

.terms-page .terms-sidebar-link{
  display:inline-flex;
  align-items:center;
  gap:9px;

  color:var(--terms-blue);
  font-size:14px;
  font-weight:700;
  text-decoration:none;

  transition:
    color .25s ease,
    transform .25s ease;
}

.terms-page .terms-sidebar-link:hover{
  color:var(--terms-orange);
  transform:translateX(3px);
}


/* =====================================================
   CTA
   Shared .cta styling remains untouched.
   ===================================================== */


/* =====================================================
   RESPONSIVE
   ===================================================== */

@media(max-width:1000px){

  .terms-page .terms-layout{
    grid-template-columns:1fr;
    gap:45px;
  }

  .terms-page .terms-sidebar{
    position:static;
  }

  .terms-page .terms-sidebar-box{
    max-width:600px;
  }

}


@media(max-width:760px){

  .terms-page .terms-hero{
    min-height:350px;
  }

  .terms-page .terms-hero-inner{
    padding:70px 0;
  }

  .terms-page .terms-section{
    padding:70px 0;
  }

  .terms-page .terms-block{
    padding-bottom:38px;
    margin-bottom:38px;
  }

  .terms-page .terms-block h2{
    font-size:27px;
  }

  .terms-page .terms-block p{
    font-size:15px;
    line-height:1.8;
  }

}


@media(max-width:480px){

  .terms-page .terms-container{
    width:min(100% - 30px,1180px);
  }

  .terms-page .terms-hero{
    min-height:330px;
  }

  .terms-page .terms-hero-inner{
    padding:60px 0;
  }

  .terms-page .terms-eyebrow{
    font-size:11px;
    letter-spacing:1.5px;
  }

  .terms-page .terms-hero h1{
    font-size:40px;
  }

  .terms-page .terms-hero p{
    font-size:15px;
    line-height:1.7;
  }

  .terms-page .terms-section{
    padding:55px 0;
  }

  .terms-page .terms-updated{
    margin-bottom:35px;
    font-size:12px;
  }

  .terms-page .terms-block h2{
    font-size:25px;
  }

  .terms-page .terms-block ul{
    padding-left:20px;
  }

  .terms-page .terms-contact-card{
    padding:20px;
  }

  .terms-page .terms-sidebar-box{
    padding:25px;
  }

}