/**
 * vitrine-mode.css — Modo Vitrine (Amazon-style carousels)
 * Carrosséis temáticos, cards compactos, busca, grid "Todas".
 * @version 1.0.0
 */

/* ═══════ Container ═══════ */
.vt-container{max-width:1200px;margin:0 auto;padding:0 0 2rem;}
.vt-container.hidden{display:none;}

/* ═══════ Search ═══════ */
.vt-search-wrap{
  position:sticky;top:56px;z-index:20;
  padding:10px 0;margin-bottom:4px;
  transition:box-shadow .2s,background .2s;
}
.vt-search-wrap--stuck{
  background:rgba(240,242,245,.95);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.vt-search-box{position:relative;}
.vt-search-input{
  width:100%;padding:10px 16px 10px 40px;
  border-radius:12px;border:1px solid #e2e8f0;
  background:#fff;font-size:.85rem;color:#1e293b;
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.vt-search-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15);}
.vt-search-input::placeholder{color:#94a3b8;}
.vt-search-icon{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;color:#94a3b8;pointer-events:none;
}

/* ═══════ Section ═══════ */
.vt-section{margin-bottom:20px;}
.vt-section__header{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 0 8px;
}
.vt-section__title{
  display:flex;align-items:center;gap:6px;
  font-size:.95rem;font-weight:700;color:#1e293b;margin:0;
}
.vt-section__title-icon{font-size:1.1rem;}
.vt-section__count{
  font-size:.65rem;font-weight:600;color:#64748b;
  background:#f1f5f9;border-radius:99px;padding:1px 7px;
}
.vt-section__more{
  font-size:.72rem;font-weight:600;color:#22c55e;
  text-decoration:none;white-space:nowrap;
  transition:color .15s;
}
.vt-section__more:hover{color:#16a34a;}

/* ═══════ Carousel ═══════ */
.vt-carousel{position:relative;margin:0 -4px;}
.vt-carousel__track{
  display:flex;gap:12px;
  overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:4px 4px 8px;
}
.vt-carousel__track::-webkit-scrollbar{display:none;}

/* Edge gradient fade */
.vt-carousel::before,
.vt-carousel::after{
  content:'';position:absolute;top:0;bottom:8px;width:36px;z-index:2;
  pointer-events:none;opacity:0;transition:opacity .3s;
}
.vt-carousel::before{left:0;background:linear-gradient(to right,#f0f2f5,transparent);}
.vt-carousel::after{right:0;background:linear-gradient(to left,#f0f2f5,transparent);}
.vt-carousel.vt-can-scroll-left::before{opacity:1;}
.vt-carousel.vt-can-scroll-right::after{opacity:1;}

/* Nav buttons */
.vt-carousel__btn{
  position:absolute;top:calc(50% - 12px);transform:translateY(-50%);
  z-index:3;width:34px;height:34px;border-radius:50%;
  border:1px solid #e2e8f0;
  background:rgba(255,255,255,.95);
  box-shadow:0 2px 8px rgba(0,0,0,.1);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;color:#475569;
  opacity:0;transition:opacity .2s,background .15s;
}
.vt-carousel:hover .vt-carousel__btn{opacity:1;}
.vt-carousel__btn:hover{background:#fff;color:#1e293b;}
.vt-carousel__btn--left{left:-6px;}
.vt-carousel__btn--right{right:-6px;}
@media(max-width:640px){.vt-carousel__btn{display:none;}}

/* ═══════ Compact Card ═══════ */
.vt-card{
  flex-shrink:0;width:220px;border-radius:14px;overflow:hidden;
  background:#fff;border:1px solid #e2e8f0;
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;
  position:relative;scroll-snap-align:start;
  transition:transform .2s,box-shadow .2s;
}
.vt-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px -8px rgba(0,0,0,.15);}

.vt-card__media{
  position:relative;aspect-ratio:16/10;
  background:linear-gradient(135deg,#e2e8f0,#f1f5f9);
  overflow:hidden;
}
.vt-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.vt-card:hover .vt-card__media img{transform:scale(1.04);}

.vt-card__placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:2rem;color:#94a3b8;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
}
.vt-card__type{
  position:absolute;bottom:6px;left:6px;
  padding:2px 8px;border-radius:6px;
  font-size:.58rem;font-weight:700;color:#fff;
  background:var(--type-color,rgba(0,0,0,.6));
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  line-height:1.4;
}
.vt-card__ended-badge{
  position:absolute;top:6px;left:6px;
  padding:2px 6px;border-radius:4px;
  font-size:.55rem;font-weight:700;color:#fff;
  background:rgba(0,0,0,.6);
}
.vt-card--ended{opacity:.7;filter:grayscale(.3);}

.vt-card__body{
  padding:8px 10px 10px;display:flex;flex-direction:column;
  gap:3px;flex:1;
}
.vt-card__entity{display:flex;align-items:center;gap:5px;}
.vt-card__entity-logo{width:18px;height:18px;border-radius:50%;object-fit:cover;}
.vt-card__entity-initial{
  width:18px;height:18px;border-radius:50%;
  background:#dcfce7;color:#166534;
  font-size:.55rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.vt-card__entity-name{
  font-size:.6rem;color:#64748b;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.vt-card__title{
  font-size:.78rem;font-weight:700;color:#1e293b;
  line-height:1.25;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
}
.vt-card__loc{
  font-size:.6rem;color:#64748b;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.vt-card__footer{
  display:flex;align-items:center;justify-content:space-between;
  gap:4px;margin-top:auto;padding-top:2px;
}
.vt-card__deadline{
  font-size:.58rem;font-weight:600;color:#dc2626;
  padding:1px 6px;background:#fef2f2;border-radius:4px;
}
.vt-card__price{font-size:.6rem;font-weight:700;color:#16a34a;}

/* Card mobile */
@media(max-width:640px){
  .vt-card{width:170px;}
  .vt-card__title{font-size:.72rem;}
}

/* ═══════ Grid (Todas) ═══════ */
.vt-grid{
  display:grid;gap:12px;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
@media(max-width:640px){
  .vt-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
}
.vt-grid .vt-card{width:auto;}
.vt-grid-info{
  text-align:center;font-size:.72rem;color:#64748b;
  padding:6px 0 0;
}
.vt-load-more{
  display:block;margin:12px auto 0;padding:8px 24px;
  border-radius:8px;border:1px solid #e2e8f0;
  background:#fff;color:#475569;
  font-size:.78rem;font-weight:600;cursor:pointer;
  transition:background .15s,color .15s;
}
.vt-load-more:hover{background:#f0fdf4;color:#16a34a;}

/* ═══════ Search results ═══════ */
.vt-search-results{margin-top:12px;}
.vt-search-results.hidden{display:none;}
.vt-sections-wrap.hidden{display:none;}
.vt-search-empty{
  text-align:center;padding:40px 20px;color:#64748b;
  font-size:.85rem;
}
.vt-search-count{
  font-size:.72rem;color:#64748b;margin-bottom:8px;
}

/* ═══════ Skeleton ═══════ */
.vt-skeleton{
  flex-shrink:0;width:220px;height:260px;border-radius:14px;
  background:linear-gradient(110deg,#e2e8f0 30%,#f1f5f9 50%,#e2e8f0 70%);
  background-size:200% 100%;
  animation:vtShimmer 1.5s ease-in-out infinite;
  scroll-snap-align:start;
}
@keyframes vtShimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
@media(max-width:640px){.vt-skeleton{width:170px;height:220px;}}

/* ═══════ Dog-ear sizing on compact cards ═══════ */
.vt-card .dog-ear{width:30px;height:30px;}
.vt-card .dog-ear::before{border-width:0 26px 26px 0;border-radius:0 13px 0 0;}
.vt-card .dog-ear--active::before{border-width:0 26px 26px 0;}
.vt-card .dog-ear::after{top:4px;right:4px;width:8px;height:8px;}

/* ═══════ DARK MODE ═══════ */
@media(prefers-color-scheme:dark){
  .vt-card{background:#1e293b;border-color:#334155;}
  .vt-card:hover{box-shadow:0 8px 20px -8px rgba(0,0,0,.4);}
  .vt-card__title{color:#e2e8f0;}
  .vt-card__entity-name{color:#94a3b8;}
  .vt-card__loc{color:#94a3b8;}
  .vt-card__entity-initial{background:#14532d;color:#86efac;}
  .vt-card__deadline{background:rgba(239,68,68,.15);}
  .vt-card__media{background:linear-gradient(135deg,#1e293b,#334155);}
  .vt-card__placeholder{color:#475569;background:linear-gradient(135deg,#1e293b,#334155);}

  .vt-carousel::before{background:linear-gradient(to right,#0f172a,transparent);}
  .vt-carousel::after{background:linear-gradient(to left,#0f172a,transparent);}
  .vt-carousel__btn{background:rgba(30,41,59,.95);border-color:#475569;color:#94a3b8;}
  .vt-carousel__btn:hover{background:#334155;color:#e2e8f0;}

  .vt-section__title{color:#e2e8f0;}
  .vt-section__count{background:#334155;color:#94a3b8;}
  .vt-section__more{color:#4ade80;}
  .vt-section__more:hover{color:#22c55e;}

  .vt-search-wrap--stuck{background:rgba(15,23,42,.95);}
  .vt-search-input{background:#1e293b;border-color:#334155;color:#e2e8f0;}
  .vt-search-input::placeholder{color:#64748b;}
  .vt-search-input:focus{border-color:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.15);}

  .vt-skeleton{background:linear-gradient(110deg,#1e293b 30%,#334155 50%,#1e293b 70%);}

  .vt-grid-info{color:#94a3b8;}
  .vt-load-more{background:#1e293b;border-color:#334155;color:#94a3b8;}
  .vt-load-more:hover{background:rgba(20,83,45,.2);color:#4ade80;}

  .vt-search-empty{color:#94a3b8;}
  .vt-search-count{color:#94a3b8;}
}