/* ======================================================
   PARAKALÓ – Identidade Visual & Componentes Customizados
   ====================================================== */

/* --- Importação de fontes adicionais --- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap');

/* --- Variáveis de cor --- */
:root {
  --pk-primary:   #9b2148;
  --pk-primary-h: #7e1a3a;
  --pk-gold:      #d4a54a;
  --pk-gold-h:    #b88a30;
  --pk-light:     #fdf5f7;
  --pk-green:     #25d366;
  --pk-blue:      #0078d4;
}

/* --- Header: links da barra superior --- */
.header-top a       { color: #f9d2df; }
.header-top a:hover { color: #fff; }

/* --- Botões extras --- */
.btn-whatsapp            { background-color: #25d366; border-color: #25d366; color: #fff; }
.btn-whatsapp:hover      { background-color: #1daa55; border-color: #1daa55; color: #fff; }
.btn-instagram {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  border: none; color: #fff;
}
.btn-instagram:hover     { opacity: .88; color: #fff; }

/* --- Hero PARAKALÓ --- */
.pk-hero {
  background: linear-gradient(135deg, rgb(90 10 35 / 0%) 0%, rgb(155 33 72 / 16%) 55%, rgb(212 165 74 / 0%) 100%), url(../images/hero-image.jpg) no-repeat center / cover;
  padding: 140px 0 160px;
  text-align: center;
  color: #fff;
}
.pk-hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: 52px;
  line-height: 62px;
  color: #fff;
  margin-bottom: 16px;
}
.pk-hero p.lead { font-size: 19px; color: rgba(255,255,255,.92); margin-bottom: 30px; }
.pk-hero .event-badges { margin-bottom: 32px; }
.event-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  padding: 7px 18px;
  border-radius: 30px;
  font-size: 13px;
  margin: 4px 6px;
  backdrop-filter: blur(4px);
}

/* --- Stats bar --- */
.pk-stats { background: #fff; border-bottom: 1px solid #f0ece8; }
.pk-stat-item { text-align: center; padding: 28px 10px; border-right: 1px solid #f0ece8; }
.pk-stat-item:last-child { border-right: none; }
.pk-stat-number { font-family: 'Playfair Display', serif; font-size: 36px; color: var(--pk-primary); font-weight: 700; line-height: 1; }
.pk-stat-label { font-size: 13px; color: #888; margin-top: 6px; }

/* --- Corredor cards --- */
.corridor-card {
  background: #fff;
  border-radius: 10px;
  padding: 32px 20px 28px;
  text-align: center;
  border: 1px solid #ede8ec;
  transition: all .28s ease;
  margin-bottom: 24px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  cursor: pointer;
  display: block;
  text-decoration: none;
  color: inherit;
}
.corridor-card:hover {
  border-color: var(--pk-primary);
  box-shadow: 0 6px 24px rgba(155,33,72,.18);
  transform: translateY(-4px);
  text-decoration: none;
  color: inherit;
}
.corridor-card .corridor-icon {
  font-size: 38px;
  color: var(--pk-primary);
  margin-bottom: 14px;
  display: block;
}
.corridor-card h4 { font-size: 15px; margin-bottom: 6px; color: #252328; font-weight: 500; }
.corridor-card p  { font-size: 12px; color: #aaa; margin: 0; line-height: 1.5; }
.corridor-number {
  display: inline-block;
  background: var(--pk-light);
  color: var(--pk-primary);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  margin-bottom: 10px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

/* --- Supplier vitrine cards --- */
.vendor-thumbnail { position: relative; }
.supplier-category-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background-color: var(--pk-primary);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .4px;
  z-index: 2;
  text-transform: uppercase;
}
.supplier-contact-buttons {
  padding: 12px 14px 4px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  border-top: 1px solid #f4f0f2;
}
.supplier-contact-buttons .btn { font-size: 12px; padding: 5px 10px; border-radius: 4px; }
.supplier-details-link { padding: 8px 14px 14px; text-align: right; }

/* --- Supplier single page --- */
.supplier-hero {
  background: linear-gradient(to bottom, rgba(25,5,15,.6), rgba(25,5,15,.3)),
              url('../images/listsingle-slider-img-1.jpg') no-repeat center / cover;
  padding: 200px 0 60px;
  color: #fff;
}
.supplier-hero h1 { font-family: 'Playfair Display', serif; color: #fff; font-size: 40px; }
.supplier-hero .supplier-meta-line { color: rgba(255,255,255,.85); font-size: 14px; margin-bottom: 4px; }
.supplier-contact-sidebar .btn { display: block; width: 100%; margin-bottom: 10px; font-size: 14px; padding: 12px 16px; border-radius: 6px; }
.supplier-contact-sidebar .btn i { margin-right: 8px; }

/* --- Category filter tabs --- */
.pk-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 36px;
  justify-content: center;
}
.pk-filter .btn {
  border-radius: 30px;
  font-size: 13px;
  padding: 7px 20px;
  border-color: #ddd;
  color: #555;
  background: #fff;
}
.pk-filter .btn:hover,
.pk-filter .btn.active {
  background-color: var(--pk-primary);
  border-color: var(--pk-primary);
  color: #fff;
}

/* --- Presencial CTA section --- */
.pk-presencial-cta {
  background: linear-gradient(135deg, var(--pk-primary) 0%, #c0579a 100%);
  padding: 70px 0;
  color: #fff;
  text-align: center;
}
.pk-presencial-cta h2 { font-family: 'Playfair Display', serif; color: #fff; font-size: 36px; margin-bottom: 10px; }
.pk-presencial-cta p  { color: rgba(255,255,255,.9); font-size: 17px; }
.pk-presencial-cta .event-info-box {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 10px;
  padding: 18px 36px;
  margin: 20px 0 32px;
  flex-wrap: wrap;
  justify-content: center;
}
.pk-presencial-cta .event-info-item { text-align: center; }
.pk-presencial-cta .event-info-item .info-label { font-size: 12px; opacity: .75; text-transform: uppercase; letter-spacing: 1px; }
.pk-presencial-cta .event-info-item .info-value { font-size: 18px; font-weight: 600; }

/* --- Expositor CTA section --- */
.pk-expositor-cta { padding: 60px 0; }
.pk-expositor-card {
  background: #fff;
  border: 1px solid #ede8ec;
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.pk-expositor-card h3 { font-family: 'Playfair Display', serif; font-size: 28px; color: var(--pk-primary); }

/* --- Sobre section --- */
.pk-about-hero {
  background: linear-gradient(135deg, rgba(90,10,35,.82) 0%, rgba(155,33,72,.72) 100%),
              url('../images/couple-bg-img.jpg') no-repeat center / cover;
  padding: 100px 0 80px;
  text-align: center;
  color: #fff;
}
.pk-about-hero h1 { font-family: 'Playfair Display', serif; color: #fff; font-size: 48px; }

/* --- Inscrição / Formulário --- */
.pk-form-section {
  background: var(--pk-light);
  padding: 60px 0;
}
.pk-form-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
  padding: 40px;
}
.pk-form-card h2 { font-family: 'Playfair Display', serif; color: var(--pk-primary); }
.pk-form-card .form-label { font-size: 14px; color: #555; font-weight: 500; }
.pk-form-card .form-control:focus { border-color: var(--pk-primary); box-shadow: 0 0 0 0.15rem rgba(155,33,72,.15); }

/* --- Page header override (pages internas) --- */
.pk-page-header {
  background: linear-gradient(135deg, var(--pk-primary) 0%, #c0579a 100%);
  padding: 60px 0 40px;
  text-align: center;
  color: #fff;
}
.pk-page-header h1 { font-family: 'Playfair Display', serif; color: #fff; font-size: 40px; margin-bottom: 8px; }
.pk-page-header .breadcrumb { background: transparent; justify-content: center; padding: 0; margin: 0; }
.pk-page-header .breadcrumb-item, .pk-page-header .breadcrumb-item a { color: rgba(255,255,255,.75); font-size: 13px; }
.pk-page-header .breadcrumb-item.active { color: #fff; }
.pk-page-header .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.5); }

/* --- Steps "Como Funciona" --- */
.pk-step-number {
  width: 54px;
  height: 54px;
  background: rgba(255,255,255,.15);
  border: 2px solid rgba(255,255,255,.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 0 auto 20px;
  font-family: 'Playfair Display', serif;
}

/* --- Utility --- */
.section-tag {
  display: inline-block;
  background: var(--pk-light);
  color: var(--pk-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.pk-divider { width: 48px; height: 3px; background: var(--pk-primary); border-radius: 2px; margin: 0 auto 20px; }

/* --- Responsivo --- */
@media (max-width: 768px) {
  .pk-hero h1            { font-size: 34px; line-height: 42px; }
  .pk-hero p.lead        { font-size: 16px; }
  .pk-stat-item          { border-right: none; border-bottom: 1px solid #f0ece8; padding: 18px 10px; }
  .pk-stat-item:last-child { border-bottom: none; }
  .pk-presencial-cta h2  { font-size: 28px; }
  .pk-form-card          { padding: 24px 20px; }
  .pk-expositor-card     { padding: 28px 20px; }
  .supplier-contact-buttons { gap: 4px; }
}

/* --- Fornecedor Single --- */
.gallery-grid img { width: 100%; border-radius: 6px; transition: opacity .2s; cursor: pointer; display: block; }
.gallery-grid img:hover { opacity: .82; }
.gallery-grid .gallery-item { margin-bottom: 14px; }
.supplier-info-table td { padding: 10px 14px; vertical-align: top; }
.supplier-info-table td:first-child { font-weight: 500; color: #555; width: 40%; }
.pk-back-link { font-size: 13px; color: var(--pk-light); }
.pk-back-link:hover { color: #fff; }

/* --- Especialidades do Fornecedor --- */
.pk-especialidades { border-top: 1px solid #f0e8ec; padding-top: 18px; }
.pk-especialidades-title {
  display: block;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--pk-primary);
  margin-bottom: 10px;
}
.pk-especialidades-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
}
.pk-especialidades-list li {
  width: 50%;
  font-size: 14px;
  color: #444;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding-right: 12px;
}
.pk-especialidades-list li i {
  color: var(--pk-primary);
  font-size: 13px;
  margin-top: 3px;
  flex-shrink: 0;
}
@media (max-width: 575px) {
  .pk-especialidades-list li { width: 100%; }
}

/* --- Termos e Privacidade --- */
.termos-content h2 { font-family: 'Playfair Display', serif; font-size: 22px; color: var(--pk-primary); margin: 36px 0 12px; }
.termos-content h3 { font-size: 17px; color: #252328; margin: 24px 0 10px; font-weight: 500; }
.termos-content p, .termos-content li { font-size: 15px; color: #555; line-height: 28px; }
.termos-content ul { padding-left: 20px; margin-bottom: 16px; }
.termos-content ul li { margin-bottom: 6px; }
.termos-content a { color: var(--pk-primary); }
.termos-toc { background: #fdf5f7; border-left: 4px solid var(--pk-primary); border-radius: 6px; padding: 20px 24px; margin-bottom: 36px; }
.termos-toc h5 { color: var(--pk-primary); margin-bottom: 12px; font-weight: 600; }
.termos-toc ol { margin: 0; padding-left: 18px; }
.termos-toc ol li { margin-bottom: 4px; font-size: 14px; }
.termos-toc ol li a { color: #555; text-decoration: none; }
.termos-toc ol li a:hover { color: var(--pk-primary); }
.update-badge { display: inline-block; background: var(--pk-light); color: var(--pk-primary); font-size: 13px; padding: 4px 14px; border-radius: 20px; margin-bottom: 20px; }


/* --- Datas e Participação --- */
/* Timeline de datas */
.pk-timeline { position: relative; padding: 0; list-style: none; }
.pk-timeline::before {
  content: '';
  position: absolute;
  left: 26px;
  top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--pk-primary), var(--pk-gold));
  border-radius: 2px;
}
.pk-timeline-item { position: relative; padding: 0 0 36px 68px; }
.pk-timeline-item:last-child { padding-bottom: 0; }
.pk-timeline-dot {
  position: absolute;
  left: 12px;
  top: 4px;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--pk-primary);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 13px;
  box-shadow: 0 0 0 4px rgba(155,33,72,.12);
}
.pk-timeline-dot.gold { background: var(--pk-gold); box-shadow: 0 0 0 4px rgba(212,165,74,.18); }
.pk-timeline-date { font-size: 12px; font-weight: 700; color: var(--pk-primary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.pk-timeline-date.gold { color: var(--pk-gold-h); }
.pk-timeline-title { font-family: 'Playfair Display', serif; font-size: 20px; color: #252328; margin-bottom: 6px; }
.pk-timeline-text { font-size: 14px; color: #666; line-height: 1.7; margin: 0; }

/* Steps "Como Participar" */
.pk-step-card {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #ede8ec;
  border-radius: 10px;
  padding: 28px 24px;
  margin-bottom: 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  transition: box-shadow .2s;
}
.pk-step-card:hover { box-shadow: 0 6px 24px rgba(155,33,72,.1); }
.pk-step-badge {
  flex-shrink: 0;
  width: 48px; height: 48px;
  background: var(--pk-primary);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 700;
}
.pk-step-card h5 { font-size: 16px; font-weight: 600; color: #252328; margin-bottom: 6px; }
.pk-step-card p  { font-size: 14px; color: #666; line-height: 1.7; margin: 0; }

/* Dica callout */
.pk-tip-box {
  background: linear-gradient(135deg, rgba(155,33,72,.06) 0%, rgba(212,165,74,.08) 100%);
  border: 1px solid rgba(155,33,72,.18);
  border-left: 4px solid var(--pk-gold);
  border-radius: 8px;
  padding: 20px 24px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.pk-tip-box .tip-icon { color: var(--pk-gold); font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.pk-tip-box p { margin: 0; font-size: 14px; color: #555; line-height: 1.7; }
.pk-tip-box strong { color: var(--pk-primary); }

/* Virtual shopping highlight */
.pk-highlight-card {
  background: #fff;
  border-radius: 12px;
  padding: 32px 28px;
  text-align: center;
  border: 1px solid #ede8ec;
  box-shadow: 0 4px 16px rgba(0,0,0,.05);
  height: 100%;
}
.pk-highlight-card .highlight-icon {
  width: 60px; height: 60px;
  background: var(--pk-light);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  font-size: 24px;
  color: var(--pk-primary);
}
.pk-highlight-card h5 { font-size: 15px; font-weight: 600; color: #252328; margin-bottom: 8px; }
.pk-highlight-card p  { font-size: 13px; color: #888; line-height: 1.6; margin: 0; }

@media (max-width: 576px) {
  .pk-step-card { flex-direction: column; gap: 14px; }
  .pk-timeline::before { left: 14px; }
  .pk-timeline-item { padding-left: 46px; }
  .pk-timeline-dot { left: 0; }
}

/* --- Infográfico Seja Expositor --- */
.pk-infographic-card {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 48px rgba(155,33,72,.12);
  background: #fff;
  border: 1px solid #f0e8ec;
}
.pk-infographic-header {
  background: linear-gradient(135deg, var(--pk-primary) 0%, #c0579a 100%);
  padding: 36px 40px;
  text-align: center;
  color: #fff;
}
.pk-infographic-badge {
  display: inline-block;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 16px;
  margin-bottom: 12px;
}
.pk-infographic-header h3 {
  font-family: 'Playfair Display', serif;
  color: #fff;
  font-size: 26px;
  margin-bottom: 6px;
}
.pk-infographic-header p { color: rgba(255,255,255,.85); margin: 0; font-size: 14px; }
.pk-infographic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.pk-infographic-item {
  padding: 28px 22px;
  text-align: center;
  border-right: 1px solid #f0e8ec;
  border-bottom: 1px solid #f0e8ec;
}
.pk-infographic-item:last-child { border-right: none; }
.pk-infographic-item--gold { background: #fffdf7; }
.pk-infographic-item--gold h5 { color: var(--pk-primary); }
.pk-infographic-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--pk-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  font-size: 20px;
  color: var(--pk-primary);
}
.pk-infographic-icon--gold { background: #fff8e8; color: var(--pk-gold); }
.pk-infographic-item h5 { font-size: 14px; font-weight: 600; color: #252328; margin-bottom: 8px; line-height: 1.4; }
.pk-infographic-item p  { font-size: 13px; color: #777; margin: 0; line-height: 1.55; }
.pk-infographic-divider {
  text-align: center;
  padding: 12px;
  background: var(--pk-light);
  color: var(--pk-primary);
  font-size: 16px;
  border-top: 1px solid #f0e8ec;
  border-bottom: 1px solid #f0e8ec;
}
.pk-infographic-details {
  display: flex;
  background: var(--pk-light);
}
.pk-infographic-detail-item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  border-right: 1px solid #f0e8ec;
}
.pk-infographic-detail-item:last-child { border-right: none; }
.pk-infographic-detail-item > i { font-size: 18px; color: var(--pk-primary); flex-shrink: 0; }
.pk-infographic-detail-item strong { display: block; font-size: 13px; color: #333; margin-bottom: 2px; }
.pk-infographic-detail-item span   { font-size: 12px; color: #888; }
@media (max-width: 767px) {
  .pk-infographic-grid { grid-template-columns: 1fr; }
  .pk-infographic-item { border-right: none; }
  .pk-infographic-details { flex-direction: column; }
  .pk-infographic-detail-item { border-right: none; border-bottom: 1px solid #f0e8ec; }
  .pk-infographic-detail-item:last-child { border-bottom: none; }
  .pk-infographic-header { padding: 28px 20px; }
  .pk-infographic-header h3 { font-size: 20px; }
}

/* --- Flatpickr – personalização de tema --- */
.flatpickr-calendar { font-family: 'Rubik', sans-serif; }
.flatpickr-day.selected,
.flatpickr-day.selected:hover { background: var(--pk-primary); border-color: var(--pk-primary); }
.flatpickr-day:hover:not(.selected) { background: rgba(155,33,72,.08); }
