/*
Theme Name: Maison PiGre
Theme URI: https://maisonpigre.com
Author: Maison PiGre
Description: Tema oficial de la tienda Maison PiGre. Integra la experiencia editorial con WordPress y WooCommerce.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: maison-pigre
*/

html, body { margin: 0; padding: 0; }
.mp-wp-content { max-width: 1180px; margin: 0 auto; padding: 60px 24px; }

/* Presentación móvil compacta: conserva la legibilidad y los controles táctiles. */
@media (max-width: 780px) {
  .hero { min-height: 0; }
  .hero-copy { min-height: 0; padding: 48px 24px 40px; }
  .hero-copy > p:not(.eyebrow) { margin: 18px 0; }
  .hero-copy ul { margin-top: 22px; }
  .hero-visual.hero-film, .hero-film { min-height: 390px; }
  .hero-film-copy { bottom: 58px; }
  .campaigns { padding-top: 52px; padding-bottom: 52px; }
  .campaigns-heading { gap: 14px; margin-bottom: 22px; }
  .campaign-feature, .maison-film-card { min-height: 340px; }
  .campaign-gold, .campaign-light { min-height: 250px; }
  .catalog { padding-top: 55px; padding-bottom: 60px; }
  .catalog-tools { align-items: stretch; }
  .catalog-tools label { width: 100%; max-width: none; }
  .catalog-tools input, .catalog-tools select { width: 100%; }
  .section-heading { margin-bottom: 24px; }
  .product-media { height: 260px; }
  .finder.advisor { margin-bottom: 58px; }
  .story { padding-bottom: 62px; }
  .purchase-guide { padding-top: 58px; padding-bottom: 58px; }
  .sales-policy { margin-top: 38px; }
  .contact { padding-top: 58px; padding-bottom: 58px; }
}

@media (max-width: 520px) {
  .hero-copy { padding: 38px 20px 34px; }
  .hero h1 { font-size: clamp(34px, 9vw, 40px); }
  .hero-copy .quality-slogan { margin: 13px 0 8px; }
  .hero-copy > div { gap: 15px; }
  .hero-copy ul { gap: 6px; }
  .hero-visual.hero-film, .hero-film { min-height: 350px; }
  .hero-film-copy strong { font-size: 25px; }
  .campaigns { padding: 48px 14px; }
  .campaign { min-height: 240px; }
  .campaign-feature, .maison-film-card { min-height: 320px; }
  .campaign-gold, .campaign-light { min-height: 260px; }
  .catalog { padding: 52px 14px; }
  .product-media { height: 245px; }
  .product-info { padding: 14px; }
  .finder.advisor { padding-top: 35px; padding-bottom: 35px; }
  .story { padding-bottom: 55px; }
  .purchase-guide { padding: 54px 14px; }
  .contact { padding: 54px 18px; }
}

@media (min-width: 390px) and (max-width: 520px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-media { height: 215px; }
  .product-info { padding: 11px; }
  .product-info h3 { font-size: 16px; }
  .product-info > small { font-size: 12px; }
  .price-row { gap: 8px; }
  .card-actions { gap: 5px; }
  .card-actions > button:not(.share-button) { min-height: 42px; padding: 8px; font-size: 11px; }
  .price-row .share-button { flex-basis: 42px; }
}

/* Filtros de catálogo ordenados y acción visible en teléfonos. */
.catalog-apply { display: none; }
@media (max-width: 780px) {
  .catalog-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; align-items: end; }
  .catalog-tools label { min-width: 0; width: 100%; max-width: none; align-items: stretch; text-align: left; }
  .catalog-tools label span { text-align: left; }
  .catalog-tools .search-field, .catalog-tools .catalog-sort, .catalog-tools .catalog-apply { grid-column: 1 / -1; }
  .catalog-tools input, .catalog-tools select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; }
  .catalog-apply { display: block; width: 100%; min-height: 48px; padding: 12px 18px; border: 0; background: #181715; color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
  #catalogo .product-grid, #catalogo .empty { scroll-margin-top: 90px; }
}
@media (max-width: 359px) {
  .catalog-tools { grid-template-columns: 1fr; }
}
