/* ======= SANTOS ======= */
.page-santos{
  padding: 16px 12px 24px;
}

.page-header{
  margin-bottom: 14px;
}

.page.page-santos{
  padding-top: 6px;
}

.page.page-santos .page-header{
  padding: 16px 16px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  position: relative;
  overflow: hidden;
  display:block;
}

/* brilho vinho */
.page.page-santos .page-header::before{
  content:"";
  position:absolute;
  top:-80px;
  right:-60px;
  width:260px;
  height:260px;
  border-radius:999px;
  background: radial-gradient(
    circle,
    rgba(122,15,18,.45) 0%,
    rgba(122,15,18,.18) 35%,
    rgba(122,15,18,0) 70%
  );
  filter: blur(6px);
  pointer-events:none;
}

.page.page-santos .page-title{
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .2px;
  color: #6d0f14;
  text-shadow:
    0 2px 0 rgba(255,255,255,.45),
    0 10px 22px rgba(0,0,0,.18);
}

.page.page-santos .page-subtitle{
  margin: 6px 0 12px;
  font-size: 13px;
  color: rgba(0,0,0,.62);
}

/* SEARCH */
.page.page-santos .page-search{ position: relative; }

.page.page-santos .page-search::before{
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  opacity: .7;
  pointer-events: none;
}

.page.page-santos .page-search input{
  width: 100%;
  height: 44px;
  padding: 0 12px 0 38px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.85);
  color: #111;
  outline: none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.70),
    0 10px 26px rgba(0,0,0,.10);
  transition: .18s ease;
}

.page.page-santos .page-search input::placeholder{
  color: rgba(0,0,0,.45);
}

.page.page-santos .page-search input:focus{
  border-color: rgba(109,15,20,.45); /* vinho no foco (harmoniza) */
  box-shadow:
    0 0 0 4px rgba(109,15,20,.14),
    inset 0 1px 0 rgba(255,255,255,.70),
    0 16px 34px rgba(0,0,0,.14);
}

/* Grid responsiva */
.grid-santos{
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* mobile */
}

@media (min-width: 720px){
  .grid-santos{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px){
  .grid-santos{ grid-template-columns: repeat(4, minmax(0, 1fr)); width: 720px; }
}

.card-santo{
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 14px 18px 0 rgba(0, 0, 0.2, 0.2);
  transition: transform .12s ease, box-shadow .12s ease;
}

.card-santo:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(0,0,0,.28);
}

.card-santo__link{
  display: block;
  color: inherit;
  text-decoration: none;
}

.card-santo__thumb{
  position: relative;
  aspect-ratio: 4 / 5;
  background: rgba(0,0,0,.20);
}

.card-santo__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.badge-pdf{
  position: absolute;
  left: 10px;
  top: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .3px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
}

.card-santo__body{
  padding: 10px 10px 12px;
}

.card-santo__title{
  margin: 0;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;

  /* segura títulos longos sem quebrar o card */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.empty-state{
  padding: 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  opacity: .9;
}

@media (min-width: 720px){
.card-santo{
  
  background: rgba(255,255,255,.92);
 
  display:block;
}
}