/* ChascoMarket — HivePress integration overrides
 * Targets HivePress's default `.hp-*` selectors and re-skins them
 * to fit the ChascoMarket visual language.
 *
 * Tested with HivePress 1.7+.
 */

/* ─── Listings grid container ─── */
.hp-listings,
.hp-grid,
.hp-row{
  /* Pinterest masonry layout (CSS columns).
     HivePress normally uses flex; we override to columns inside our shell. */
}

.chasco-main-col .hp-listings,
.chasco-main-col .hp-grid{
  column-count: 5;
  column-gap: 14px;
  display: block !important;
}
@media (max-width: 1400px){
  .chasco-main-col .hp-listings,
  .chasco-main-col .hp-grid{ column-count: 4; }
}
@media (max-width: 1100px){
  .chasco-main-col .hp-listings,
  .chasco-main-col .hp-grid{ column-count: 3; }
}
@media (max-width: 720px){
  .chasco-main-col .hp-listings,
  .chasco-main-col .hp-grid{ column-count: 2; }
}

/* Each row item becomes a masonry tile */
.chasco-main-col .hp-listings > *,
.chasco-main-col .hp-grid > *,
.chasco-main-col .hp-row > *{
  break-inside: avoid;
  margin-bottom: 14px;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

/* Inside the destacados rail: keep horizontal */
.chasco-rail .hp-listings,
.chasco-rail .hp-grid{
  display: flex !important;
  column-count: auto !important;
  gap: 14px;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.chasco-rail .hp-listings > *,
.chasco-rail .hp-grid > *{
  flex: 0 0 240px !important;
  width: 240px !important;
  margin-bottom: 0 !important;
}

/* ─── Listing card ─── */
.hp-listing,
.hp-listing--view-block{
  background: var(--paper);
  border-radius: var(--r-md);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--line-soft);
  transition: transform .15s, box-shadow .15s, border-color .15s;
  margin: 0;
}
.hp-listing:hover,
.hp-listing--view-block:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: transparent;
}

/* Image */
.hp-listing__image,
.hp-listing__images,
.hp-listing__images-container{
  display: block;
  width: 100%;
  position: relative;
  margin: 0;
  border-radius: 0;
}
.hp-listing__image img,
.hp-listing__images img{
  display: block; width: 100%; height: auto;
}

/* Listing title */
.hp-listing__title,
.hp-listing__title a{
  font-family: var(--font-ui);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}
.hp-listing__title a:hover{ color: var(--navy); }

/* Price */
.hp-listing__price,
.hp-listing__details--primary .hp-listing__price{
  position: absolute;
  top: 10px; left: 10px;
  z-index: 2;
  background: rgba(255,255,255,.96);
  border-radius: var(--r-sm);
  padding: 5px 10px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  color: var(--navy);
  box-shadow: var(--shadow-sm);
  white-space: nowrap;
  list-style: none;
  margin: 0;
}
.hp-listing__price-old{
  font-weight: 500; font-size: 11px; color: var(--ink-mute);
  text-decoration: line-through; margin-left: 4px;
}

/* Featured / verified / sold-out badges */
.hp-listing__featured-badge,
.hp-listing__verified-badge{
  position: absolute;
  top: 10px; right: 10px;
  z-index: 2;
  background: var(--teal);
  color: #fff;
  font-size: 10px; font-weight: 800;
  letter-spacing: .04em;
  padding: 4px 9px;
  border-radius: var(--r-full);
  box-shadow: var(--shadow-sm);
}
.hp-listing__featured-badge{ background: var(--navy); }

/* Card details / body */
.hp-listing__details,
.hp-listing__name-container,
.hp-listing__content{
  padding: 10px 12px 12px;
}
.hp-listing__details{ list-style: none; margin: 0; }
.hp-listing__details li{ margin: 0; padding: 0; list-style: none; }

/* Vendor + zone meta line */
.hp-listing__vendor,
.hp-listing__author,
.hp-listing__location{
  font-size: 11.5px;
  color: var(--ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.hp-listing__vendor a, .hp-listing__author a{ color: var(--ink-soft); text-decoration: none; font-weight: 500; }
.hp-listing__location{ color: var(--ink-mute); }

/* Vendor avatar — render small + branded */
.hp-listing__author img,
.hp-vendor__image img{
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 1px solid var(--line);
}

/* ─── HivePress search form ─── */
.hp-search-form,
.hp-form--listing-search,
.hp-form--listing-filter{
  background: var(--paper);
  border-radius: var(--r-md);
  padding: 16px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}

.hp-form__field,
.hp-field{
  margin-bottom: 12px;
}
.hp-form__label,
.hp-field__label{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  display: block;
  margin-bottom: 6px;
}

.hp-form input[type="text"],
.hp-form input[type="search"],
.hp-form input[type="email"],
.hp-form input[type="number"],
.hp-form input[type="tel"],
.hp-form select,
.hp-form textarea,
.hp-field input[type="text"],
.hp-field input[type="search"],
.hp-field input[type="email"],
.hp-field input[type="number"],
.hp-field input[type="tel"],
.hp-field select,
.hp-field textarea{
  width: 100%;
  border: 1.5px solid var(--line);
  border-radius: var(--r-sm);
  padding: 10px 12px;
  font-family: var(--font-ui);
  font-size: 14px;
  background: var(--paper);
  color: var(--ink);
  transition: border-color .12s, box-shadow .12s;
}
.hp-form input:focus,
.hp-form select:focus,
.hp-form textarea:focus{
  outline: none;
  border-color: var(--navy);
  box-shadow: 0 0 0 4px rgba(31,62,90,.08);
}

.hp-form textarea{ min-height: 90px; resize: vertical; }

/* Buttons */
.hp-form__action,
.hp-form__submit,
.hp-button,
button.hp-button,
button.hp-form__submit,
input[type="submit"].hp-button,
input[type="submit"].hp-form__submit{
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 14px;
  border-radius: var(--r-full);
  padding: 10px 18px;
  border: 1.5px solid transparent;
  background: var(--navy);
  color: #fff;
  cursor: pointer;
  transition: background .12s, transform .08s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.hp-form__action:hover,
.hp-form__submit:hover,
.hp-button:hover{ background: var(--navy-dark); }
.hp-form__action:active,
.hp-form__submit:active,
.hp-button:active{ transform: scale(.98); }

.hp-button--secondary,
.hp-form__action--secondary{
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}
.hp-button--secondary:hover{ border-color: var(--navy); color: var(--navy); background: transparent; }

/* Range slider (rough) */
.hp-form__range,
.hp-field--number-range{
  display: flex; gap: 8px; align-items: center;
}

/* Checkbox / radio list */
.hp-field--checkboxes label,
.hp-field--radio label{
  display: flex; align-items: center; gap: 10px;
  padding: 6px 0;
  font-size: 13.5px;
  color: var(--ink);
  cursor: pointer;
}
.hp-field--checkboxes input,
.hp-field--radio input{
  accent-color: var(--navy);
  width: 16px; height: 16px;
}

/* HivePress sort / view bar */
.hp-listings__sort,
.hp-sort{
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13.5px; color: var(--ink); font-weight: 500;
  background: transparent;
  border: 1.5px solid var(--line);
  border-radius: var(--r-full);
  padding: 6px 14px;
}
.hp-listings__sort:hover{ border-color: var(--navy); }

/* Pagination */
.hp-listings__pagination,
.hp-pagination{
  display: flex; justify-content: center; margin: 32px 0;
  gap: 6px;
}
.hp-listings__pagination a,
.hp-pagination a,
.hp-listings__pagination .page-numbers,
.hp-pagination .page-numbers{
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px;
  padding: 0 10px;
  border: 1.5px solid var(--line);
  border-radius: 8px;
  font-weight: 600; font-size: 14px;
  color: var(--ink-soft);
  background: var(--paper);
  text-decoration: none;
}
.hp-pagination .current,
.hp-listings__pagination .current{
  background: var(--navy); color: #fff; border-color: var(--navy);
}

/* ─── Single listing page ─── */
.hp-listing--view-page,
.hp-listing--view-single{
  background: var(--paper);
  border-radius: var(--r-lg);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line-soft);
}
.hp-listing--view-page .hp-listing__title{
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.02em;
  -webkit-line-clamp: unset; overflow: visible; display: block;
}
.hp-listing--view-page .hp-listing__price{
  position: static;
  background: transparent;
  box-shadow: none;
  font-size: 26px;
  color: var(--teal);
  padding: 0;
}

/* Vendor card on the right (HivePress sidebar widgets) */
.hp-vendor{
  background: var(--paper);
  border-radius: var(--r-md);
  border: 1px solid var(--line-soft);
  padding: 16px;
}
.hp-vendor__name{
  font-family: var(--font-display);
  font-weight: 800; font-size: 18px; color: var(--ink);
}

/* Message form */
.hp-listing__make-offer,
.hp-form--message-send{
  background: var(--teal-tint);
  border: 1px solid var(--teal-soft);
  border-radius: var(--r-md);
  padding: 14px;
}

/* HivePress modal */
.hp-modal__window,
.hp-modal{
  border-radius: var(--r-lg) !important;
  border: 1px solid var(--line-soft);
}
.hp-modal__header,
.hp-modal__title{
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--ink);
}

/* Notice / alerts */
.hp-notice,
.hp-message{
  border-radius: var(--r-md);
  padding: 10px 14px;
  border-width: 1.5px;
}
.hp-notice--success,
.hp-message--success{ background: var(--teal-tint); border-color: var(--teal-soft); color: var(--teal-dark); }
.hp-notice--error,
.hp-message--error{ background: #FBEEEB; border-color: #F5C7BD; color: #B33620; }

/* Make first child image span full width when card has a featured-image wrapper */
.hp-listing__image-container,
.hp-listing__images-container{
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Tweak HivePress's "Listinghive" theme defaults if present */
body.theme-listinghive .lh-listings,
body.theme-listinghive .hp-listings{ column-count: 5; column-gap: 14px; display: block !important; }
