/* =====================================================

   NDC EXCLUSIVE PARTNERS (GRID + MODAL)

===================================================== */



.ndc-partners-wrap{

  max-width: 1140px;

  margin: 32px auto 40px;

  padding: 0 16px;

}



.ndc-partners-head{

  text-align: center;

  margin-bottom: 18px;

}



.ndc-partners-kicker{

  font-weight: 800;

  opacity: 0.9;

  margin-bottom: 6px;

}



.ndc-partners-title{

  margin: 0 0 10px;

  font-size: 34px;

  font-weight: 900;

  letter-spacing: -0.02em;

}



.ndc-partners-sub{

  margin: 0;

  opacity: 0.95;

}



/* Cards grid */

.ndc-partners-grid{

  display: flex;

  flex-wrap: wrap;

  gap: 18px;

  margin-top: 22px;

}



.ndc-partner-card{

  position: relative;

  flex: 1 1 calc(25% - 18px);

  min-width: 240px;



  border-radius: 22px;

  background: #ffffff;

  border: 1px solid rgba(0,0,0,0.08);

  box-shadow: 0 14px 32px rgba(0,0,0,0.16);

  overflow: hidden;



  cursor: pointer;

  outline: none;

}



.ndc-partner-card:focus{

  box-shadow: 0 0 0 3px rgba(0,159,189,0.35), 0 14px 32px rgba(0,0,0,0.16);

}



/* Orange corner ribbon */

.ndc-partner-ribbon{

  position: absolute;

  top: 10px;

  left: 10px;

  z-index: 2;



  background: #ff7a1a;

  color: #fff;

  font-weight: 900;

  font-size: 12px;

  padding: 6px 10px;

  border-radius: 999px;

  text-transform: uppercase;

  letter-spacing: 0.06em;

}



/* Logo */

.ndc-partner-logo-wrap{

  padding: 18px 16px 6px;

  display: flex;

  justify-content: center;

}



.ndc-partner-logo{

  width: 86px;

  height: 86px;

  border-radius: 999px;

  object-fit: cover;

  background: #fff;

  border: 1px solid rgba(0,0,0,0.10);

  box-shadow: 0 10px 20px rgba(0,0,0,0.12);

}



.ndc-partner-logo--empty{

  width: 86px;

  height: 86px;

  border-radius: 999px;

  background: #f0f2f4;

  border: 1px solid rgba(0,0,0,0.10);

}



.ndc-partner-body{

  padding: 10px 16px 16px;

  text-align: center;

}



.ndc-partner-name{

  font-weight: 900;

  font-size: 18px;

  margin-bottom: 6px;

}



.ndc-partner-cat{

  font-weight: 800;

  opacity: 0.75;

  font-size: 13px;

  margin-bottom: 10px;

}



.ndc-partner-offer{

  background: #f6f7f8;

  border: 1px solid rgba(0,0,0,0.08);

  border-radius: 14px;

  padding: 10px 12px;

  font-weight: 700;

  font-size: 13.5px;

  line-height: 1.35;

  margin-bottom: 14px;

}



.ndc-partner-actions{

  display: flex;

  flex-direction: column;

  gap: 10px;

  padding: 0 6px 4px;

}

/* Clip button centering handled in partners-premium.css */



.ndc-btn-pill{

  border-radius: 999px;

  padding: 12px 14px;

  font-weight: 900;

}



/* Responsive */

@media (max-width: 1100px){

  .ndc-partner-card{ flex: 1 1 calc(50% - 18px); }

}

@media (max-width: 600px){

  .ndc-partner-card{ flex: 1 1 100%; }

}



/* =====================================================

   MODAL

===================================================== */



.ndc-modal{

  position: fixed;

  inset: 0;

  z-index: 99999;

  display: none;

}



.ndc-modal.is-open{

  display: block;

}



.ndc-modal-backdrop{

  position: absolute;

  inset: 0;

  background: rgba(0,0,0,0.55);

}



.ndc-modal-panel{

  position: relative;

  max-width: 720px;

  margin: 6vh auto 0;

  background: #ffffff;

  border-radius: 22px;

  overflow: hidden;

  box-shadow: 0 22px 60px rgba(0,0,0,0.40);

  border: 1px solid rgba(255,255,255,0.10);

  padding: 18px 18px 20px;

}



.ndc-modal-x{

  position: absolute;

  top: 10px;

  right: 12px;

  width: 42px;

  height: 42px;

  border-radius: 999px;

  border: none;

  background: #f1f3f5;

  font-size: 26px;

  cursor: pointer;

}



.ndc-modal-head{

  display: flex;

  gap: 14px;

  align-items: center;

  padding: 6px 4px 12px;

}



.ndc-modal-logo-wrap{

  width: 74px;

  height: 74px;

  border-radius: 999px;

  overflow: hidden;

  border: 1px solid rgba(0,0,0,0.10);

  box-shadow: 0 10px 20px rgba(0,0,0,0.12);

  flex: 0 0 auto;

  background: #fff;

}



.ndc-modal-logo-wrap img{

  width: 100%;

  height: 100%;

  object-fit: cover;

}



.ndc-modal-name{

  font-weight: 900;

  font-size: 22px;

}



.ndc-modal-cat{

  font-weight: 800;

  opacity: 0.75;

  margin-top: 2px;

}



.ndc-modal-offer{

  margin: 10px 0 10px;

  background: #f6f7f8;

  border: 1px solid rgba(0,0,0,0.08);

  border-radius: 16px;

  padding: 12px 14px;

  font-weight: 800;

}



.ndc-modal-details{

  margin: 0 0 12px;

  line-height: 1.55;

  opacity: 0.95;

}



.ndc-modal-meta{

  background: #fbfbfc;

  border: 1px solid rgba(0,0,0,0.06);

  border-radius: 16px;

  padding: 12px 14px;

  margin-bottom: 14px;

}



.ndc-modal-address{

  font-weight: 700;

  margin-bottom: 8px;

}



.ndc-modal-phone{

  display: inline-block;

  font-weight: 900;

  margin-bottom: 8px;

  color: #009FBD;

  text-decoration: none;

}



.ndc-modal-website{

  display: inline-block;

  font-weight: 900;

  color: #ff7a1a;

  text-decoration: none;

}



.ndc-modal-actions{

  display: flex;

  gap: 12px;

  justify-content: center;

  flex-wrap: wrap;

  margin-top: 6px;

}

.ndc-details-btn{

  display: inline-flex;

  align-items: center;

  justify-content: center;

}

