/* ==========================================================================
   ILRITORNO — refinements.css
   Hero slider · Cat cards con foto · WC tipografías · Cart/Checkout · Footer
   ========================================================================== */

/* ============ HERO SLIDER ============ */
.hero--slider {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  padding-block: var(--sp-12) var(--sp-12);
  overflow: hidden;
}
.hero--slider .hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero--slider .hero__bg-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1500ms ease-in-out;
  transform: scale(1.05);
  animation: ir-hero-zoom 12s ease-in-out infinite alternate;
}
.hero--slider .hero__bg-slide.is-active { opacity: 1; }
@keyframes ir-hero-zoom {
  from { transform: scale(1); }
  to   { transform: scale(1.08); }
}
.hero--slider .hero__bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(240,234,219,0.6) 0%, rgba(240,234,219,0.85) 70%, var(--ir-cream) 100%);
  backdrop-filter: blur(2px);
}
.hero--slider .container { position: relative; z-index: 2; }
.hero--slider .hero__inner--centered {
  grid-template-columns: 1fr;
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}
.hero--slider .hero__content { text-align: center; }
.hero--slider .hero__title {
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: 1;
  margin-bottom: var(--sp-5);
  text-shadow: 0 2px 20px rgba(255,255,255,0.5);
}
.hero--slider .hero__lead {
  margin-inline: auto;
  max-width: 600px;
  font-size: var(--fs-lg);
  text-shadow: 0 1px 10px rgba(255,255,255,0.4);
}
.hero__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--sp-5);
}
.hero__dots {
  position: absolute;
  bottom: var(--sp-5);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 3;
}
.hero__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(46,47,36,0.25);
  border: 1px solid rgba(46,47,36,0.4);
  cursor: pointer;
  padding: 0;
  transition: all 200ms;
}
.hero__dot.is-active {
  background: var(--ir-earth);
  width: 28px;
  border-radius: 999px;
}

/* ============ CATEGORY CARDS con foto real ============ */
.cat-card {
  display: flex;
  flex-direction: column;
  aspect-ratio: 3/4;
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
  background: var(--ir-beige);
  color: var(--ir-cream);
  text-decoration: none;
  transition: transform 350ms ease;
}
.cat-card:hover { transform: translateY(-6px); }
.cat-card__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 600ms ease, filter 400ms;
  z-index: 1;
}
.cat-card:hover .cat-card__media { transform: scale(1.06); filter: brightness(1.05); }
.cat-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(46,47,36,0.1) 0%, rgba(46,47,36,0.85) 100%);
  z-index: 2;
}
.cat-card__body {
  position: relative;
  margin-top: auto;
  padding: var(--sp-5) var(--sp-5) var(--sp-6);
  z-index: 3;
}
.cat-card__badge {
  display: inline-block;
  background: var(--ir-sage);
  color: var(--ir-dark);
  padding: 4px 12px;
  border-radius: 999px;
  font-family: var(--ir-font-ui);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: var(--sp-2);
}
.cat-card__title {
  font-family: var(--ir-font-display);
  font-size: var(--fs-2xl);
  color: var(--ir-cream);
  line-height: 1.1;
  margin-bottom: var(--sp-2);
}
.cat-card__desc {
  font-size: var(--fs-sm);
  opacity: 0.9;
  color: var(--ir-cream);
  margin-bottom: var(--sp-3);
  line-height: 1.4;
}
.cat-card__cta {
  font-family: var(--ir-font-ui);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ir-cream);
  border-bottom: 1px solid rgba(240,234,219,0.4);
  padding-bottom: 4px;
}

/* ============ SHOP / TIENDA ============ */
.woocommerce-shop .page-header h1,
.tax-product_cat .page-header h1,
.archive .page-header h1 {
  font-size: var(--fs-3xl);
}
.woocommerce-products-header__title,
.page-title {
  font-size: var(--fs-2xl) !important;
  text-align: center;
  margin-bottom: var(--sp-4);
}

/* Notice "Mostrando X-Y de Z" — más chico */
.woocommerce-result-count {
  font-family: var(--ir-font-ui);
  font-size: var(--fs-xs) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ir-olive);
  margin: 0 !important;
}

/* Toolbar limpio */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--ir-line);
  margin-bottom: var(--sp-5);
}

/* Ocultar el "ordenar por" del sidebar (queda solo el del header) */
.shop-sidebar__group:has(.woocommerce-ordering) { display: none; }
.shop-sidebar .woocommerce-ordering { display: none; }

/* Select de orden */
.woocommerce-ordering select {
  background: transparent;
  border: 1px solid var(--ir-line);
  border-radius: 999px;
  padding: 6px 14px;
  font-family: var(--ir-font-ui);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
}

/* Cards de productos en grid — escalas */
.products li.product .woocommerce-loop-product__title {
  font-family: var(--ir-font-display) !important;
  font-size: var(--fs-base) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  margin: var(--sp-2) 0 4px !important;
}
.products li.product .price {
  font-family: var(--ir-font-body) !important;
  font-size: var(--fs-sm) !important;
  color: var(--ir-earth) !important;
  margin-bottom: var(--sp-2) !important;
}
.products li.product .button.add_to_cart_button,
.products li.product .button.product_type_simple {
  display: inline-block !important;
  padding: 8px 20px !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  border-radius: 999px !important;
  text-transform: uppercase !important;
  font-family: var(--ir-font-ui) !important;
  font-weight: 500 !important;
  background: var(--ir-dark) !important;
  color: var(--ir-cream) !important;
  border: none !important;
  margin-top: 0 !important;
  transition: background 200ms;
}
.products li.product .button.add_to_cart_button:hover {
  background: var(--ir-earth) !important;
}
.products li.product .added_to_cart {
  display: none !important;  /* Quitar el "Ver carrito" feo después de añadir */
}

/* ============ SINGLE PRODUCT ============ */
.single-product div.product .product_title.entry-title {
  font-family: var(--ir-font-display) !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin-bottom: var(--sp-3) !important;
}
.single-product div.product .price {
  font-family: var(--ir-font-body) !important;
  font-size: var(--fs-xl) !important;
  color: var(--ir-earth) !important;
  font-weight: 500 !important;
  margin-bottom: var(--sp-4) !important;
}
.single-product div.product .price .woocommerce-Price-amount {
  font-size: 1.25em;
  font-weight: 600;
}
.single-product div.product .woocommerce-product-details__short-description {
  font-size: var(--fs-base);
  color: var(--ir-olive);
  margin-bottom: var(--sp-4);
  line-height: 1.6;
}
.single-product div.product form.cart {
  display: flex !important;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-5) !important;
  flex-wrap: wrap;
}
.single-product .quantity {
  display: flex;
  align-items: center;
  border: 1px solid var(--ir-line);
  border-radius: 999px;
  background: rgba(255,255,255,0.5);
  overflow: hidden;
}
.single-product .quantity input.qty {
  width: 60px !important;
  text-align: center;
  border: none;
  background: transparent;
  padding: 12px 6px !important;
  font-size: var(--fs-base) !important;
  font-family: var(--ir-font-ui);
}
.single-product div.product .single_add_to_cart_button {
  padding: 12px 30px !important;
  font-size: var(--fs-sm) !important;
  letter-spacing: 0.15em !important;
}
.single-product .product_meta {
  font-size: var(--fs-xs) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ir-olive);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--ir-line);
  margin-top: var(--sp-4);
}
.single-product .product_meta > span {
  display: block;
  margin-bottom: 4px;
}

/* Tabs */
.woocommerce-tabs ul.tabs li a {
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-xs) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
}

/* Description content */
.woocommerce-Tabs-panel h2 {
  font-size: var(--fs-xl) !important;
  margin-bottom: var(--sp-3) !important;
}
.woocommerce-Tabs-panel h4 {
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-sm) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--ir-earth) !important;
  margin-top: var(--sp-4) !important;
  margin-bottom: var(--sp-2) !important;
}

/* ============ ADD TO CART MESSAGE — fix icono montado ============ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 18px 14px 14px !important;
  background: rgba(195,198,169,0.25) !important;
  border-top: none !important;
  border-left: 3px solid var(--ir-earth) !important;
  border-radius: var(--radius) !important;
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-sm) !important;
  position: relative !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--ir-earth);
  color: var(--ir-cream) !important;
  border-radius: 50%;
  font-size: 14px !important;
  line-height: 1 !important;
}
.woocommerce-message a.button,
.woocommerce-message .button {
  margin: 0 0 0 auto !important;
  padding: 8px 18px !important;
  background: var(--ir-dark) !important;
  color: var(--ir-cream) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border: none !important;
}

/* ============ CART ============ */
.woocommerce-cart .shop_table {
  background: rgba(255,255,255,0.5);
  border: 1px solid var(--ir-line);
  border-radius: var(--radius-md);
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
}
.woocommerce-cart .shop_table thead th {
  background: var(--ir-beige) !important;
  font-family: var(--ir-font-ui);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 14px !important;
  color: var(--ir-dark);
  border: none !important;
}
.woocommerce-cart .shop_table tbody td {
  padding: 14px !important;
  border-bottom: 1px solid var(--ir-line);
  vertical-align: middle;
  font-family: var(--ir-font-ui);
  font-size: var(--fs-sm);
}
.woocommerce-cart .product-thumbnail img {
  width: 80px !important;
  max-width: 80px !important;
  height: 80px;
  object-fit: cover;
  border-radius: var(--radius);
}
.woocommerce-cart .product-name a {
  font-family: var(--ir-font-display);
  font-size: var(--fs-base);
  color: var(--ir-dark) !important;
}
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
  font-family: var(--ir-font-body);
  color: var(--ir-earth);
}
.woocommerce-cart .quantity input.qty {
  width: 70px !important;
  border: 1px solid var(--ir-line);
  border-radius: 6px;
  padding: 8px 4px !important;
  text-align: center;
  font-family: var(--ir-font-ui);
}
.woocommerce-cart .actions .input-text {
  background: rgba(255,255,255,0.5);
  border: 1px solid var(--ir-line);
  border-radius: 999px;
  padding: 10px 16px !important;
  font-family: var(--ir-font-ui);
  font-size: var(--fs-sm);
}
.woocommerce-cart .actions .button {
  background: var(--ir-earth) !important;
  color: var(--ir-cream) !important;
  border-radius: 999px !important;
  padding: 10px 24px !important;
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-xs) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  border: none !important;
}
.woocommerce-cart .cart-collaterals {
  margin-top: var(--sp-6);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
}
@media (min-width: 768px) {
  .woocommerce-cart .cart-collaterals {
    grid-template-columns: 1fr 1fr;
  }
}
.woocommerce-cart .cart_totals {
  background: rgba(195,198,169,0.18);
  padding: var(--sp-5);
  border-radius: var(--radius-md);
}
.woocommerce-cart .cart_totals h2 {
  font-size: var(--fs-xl);
  margin-bottom: var(--sp-3);
}
.woocommerce-cart .cart_totals table {
  width: 100%;
  font-family: var(--ir-font-ui);
  font-size: var(--fs-sm);
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 8px 0 !important;
  border: none !important;
}

/* Mobile cart: layout vertical limpio */
@media (max-width: 767px) {
  .woocommerce-cart .shop_table {
    background: transparent;
    border: none;
  }
  .woocommerce-cart .shop_table thead { display: none; }
  .woocommerce-cart .shop_table tbody tr {
    display: block;
    background: rgba(255,255,255,0.5);
    border: 1px solid var(--ir-line);
    border-radius: var(--radius-md);
    margin-bottom: var(--sp-3);
    padding: var(--sp-3);
    position: relative;
  }
  .woocommerce-cart .shop_table tbody td {
    display: block;
    border: none !important;
    padding: 6px 0 !important;
    text-align: left !important;
  }
  .woocommerce-cart .shop_table tbody td.product-remove {
    position: absolute;
    top: 8px;
    right: 8px;
  }
  .woocommerce-cart .shop_table tbody td.product-thumbnail {
    float: left;
    margin-right: var(--sp-3);
  }
  .woocommerce-cart .shop_table tbody td::before {
    content: attr(data-title) ': ';
    font-family: var(--ir-font-ui);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ir-olive);
    margin-right: 6px;
  }
  .woocommerce-cart .shop_table tbody td.product-thumbnail::before,
  .woocommerce-cart .shop_table tbody td.product-remove::before { display: none; }
}

/* ============ CHECKOUT ============ */
.woocommerce-checkout #customer_details {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
  margin-bottom: var(--sp-6);
}
@media (min-width: 768px) {
  .woocommerce-checkout #customer_details {
    grid-template-columns: 1fr 1fr;
  }
}
.woocommerce-checkout #customer_details > div { width: 100% !important; }
.woocommerce-checkout h3 {
  font-size: var(--fs-xl) !important;
  font-family: var(--ir-font-display) !important;
  font-weight: 400 !important;
  margin-bottom: var(--sp-4) !important;
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid var(--ir-line);
}
.woocommerce-checkout label {
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-xs) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ir-olive);
  margin-bottom: 6px !important;
}
.woocommerce-checkout .form-row {
  margin-bottom: var(--sp-3) !important;
  padding: 0 !important;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-selection {
  background: rgba(255,255,255,0.5) !important;
  border: 1px solid var(--ir-line) !important;
  border-radius: var(--radius) !important;
  padding: 10px 14px !important;
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-sm) !important;
  height: auto !important;
  min-height: 44px;
}
.woocommerce-checkout-review-order {
  background: rgba(195,198,169,0.18);
  padding: var(--sp-5);
  border-radius: var(--radius-md);
  margin-top: var(--sp-5);
}
.woocommerce-checkout-review-order h3 {
  font-size: var(--fs-lg) !important;
  margin-bottom: var(--sp-3) !important;
}
.woocommerce-checkout-review-order-table {
  font-family: var(--ir-font-ui);
  font-size: var(--fs-sm);
  width: 100%;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--ir-line);
}
.woocommerce-checkout #payment {
  background: rgba(255,255,255,0.5) !important;
  border-radius: var(--radius-md);
  margin-top: var(--sp-4) !important;
}
.woocommerce-checkout #payment .payment_methods {
  padding: var(--sp-3) !important;
}
.woocommerce-checkout #payment .payment_methods li {
  padding: var(--sp-2) 0 !important;
  background: none !important;
  border: none !important;
}
.woocommerce-checkout #payment label {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: var(--fs-sm) !important;
  color: var(--ir-dark) !important;
  font-weight: 500;
}
.woocommerce-checkout #payment .place-order { padding: var(--sp-4) !important; }
.woocommerce-checkout #place_order {
  width: 100% !important;
  background: var(--ir-dark) !important;
  color: var(--ir-cream) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px !important;
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-sm) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  font-weight: 500 !important;
}

/* ============ FOOTER reorganizado ============ */
.footer-brand img {
  height: 110px !important;
  max-width: 280px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.95 !important;
  margin-bottom: var(--sp-4) !important;
}
@media (min-width: 768px) {
  .footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr !important;
  }
}

/* ============ BLOG TIPOGRAFIAS ============ */
.post-card__title { font-size: var(--fs-lg) !important; }
.post-card__excerpt { font-size: var(--fs-sm) !important; }

.single-post__hero h1 {
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
}

/* ============ PAGE HEADER consistente ============ */
.page-header h1 {
  font-size: var(--fs-3xl) !important;
}
@media (max-width: 767px) {
  .page-header h1 { font-size: var(--fs-2xl) !important; }
}

/* ============ BUSCADOR — quitar input nativo Woo duplicado ============ */
.search-form input[type="search"],
.woocommerce-product-search input[type="search"] {
  background: rgba(255,255,255,0.5);
  border: 1px solid var(--ir-line);
  border-radius: 999px;
  padding: 10px 18px;
  font-family: var(--ir-font-ui);
  font-size: var(--fs-sm);
}
/* Si aparece el input "azul" del search nativo de Woo en algun widget, ocultarlo */
.widget_product_search,
.wp-block-search,
.wp-block-search__inside-wrapper {
  /* Conservar pero estilizar */
}
.wp-block-search__input {
  background: rgba(255,255,255,0.5) !important;
  border: 1px solid var(--ir-line) !important;
  border-radius: 999px 0 0 999px !important;
  padding: 10px 18px !important;
  color: var(--ir-dark) !important;
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-sm) !important;
}
.wp-block-search__button {
  background: var(--ir-dark) !important;
  color: var(--ir-cream) !important;
  border: none !important;
  border-radius: 0 999px 999px 0 !important;
  padding: 10px 18px !important;
  font-family: var(--ir-font-ui) !important;
  font-size: var(--fs-sm) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ============ EYEBROW visible en hero slider ============ */
.hero--slider .eyebrow {
  background: rgba(46,47,36,0.08);
  padding: 6px 16px;
  border-radius: 999px;
  display: inline-block;
}

/* ============ FOOTER SOCIAL — fix iconos cuadrados consistentes ============ */
.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.footer-social a {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(240,234,219,0.2) !important;
  border-radius: 50% !important;
  transition: all 250ms;
  color: var(--ir-cream);
  opacity: 0.85;
}
.footer-social a:hover {
  border-color: var(--ir-sage);
  background: var(--ir-sage);
  color: var(--ir-dark);
  opacity: 1;
  transform: translateY(-2px);
}
.footer-social svg {
  width: 18px !important;
  height: 18px !important;
}

/* ============ MOBILE FOOTER 1 columna apilada bonito ============ */
@media (max-width: 767px) {
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: var(--sp-6) !important;
    text-align: center;
  }
  .footer-brand {
    max-width: 100%;
    margin: 0 auto var(--sp-4);
  }
  .footer-brand img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .footer-col h4 {
    text-align: center;
    margin-bottom: var(--sp-3) !important;
  }
  .footer-col ul {
    align-items: center;
  }
  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: var(--sp-3) !important;
  }
  .footer-social {
    justify-content: center;
  }
  .ir-newsletter {
    justify-content: center;
  }
}

/* ============ MOBILE HEADER actions tighten ============ */
@media (max-width: 767px) {
  .site-actions { gap: 4px !important; }
  .site-actions a {
    width: 36px !important;
    height: 36px !important;
  }
  .site-actions svg { width: 18px !important; height: 18px !important; }
  .site-actions .site-wishlist { display: none; }  /* ocultar corazon en mobile, queda en menu drawer */
  .site-header__inner { gap: var(--sp-2) !important; }
}

/* ============ MOBILE: cat cards tighter ============ */
@media (max-width: 479px) {
  .cat-card { aspect-ratio: 4/5; }
  .cat-card__title { font-size: var(--fs-xl) !important; }
  .cat-card__desc { font-size: 12px !important; }
}

/* ============ MOBILE: hero adjusted ============ */
@media (max-width: 767px) {
  .hero--slider {
    min-height: 60vh;
    padding-block: var(--sp-8) !important;
  }
  .hero--slider .hero__title {
    font-size: clamp(2.2rem, 9vw, 3rem) !important;
  }
  .hero__actions {
    flex-direction: column;
    width: 100%;
    align-items: stretch;
  }
  .hero__actions .btn { width: 100%; justify-content: center; }
}

/* ============ MOBILE: section paddings ============ */
@media (max-width: 767px) {
  .section { padding-block: var(--sp-8) !important; }
  .section__head { margin-bottom: var(--sp-6) !important; }
  .section__head h2 { font-size: var(--fs-2xl) !important; }
}

/* ============ MOBILE: single product gallery + summary ============ */
@media (max-width: 767px) {
  .single-product div.product { gap: var(--sp-5) !important; }
  .single-product div.product .product_title.entry-title {
    font-size: 1.75rem !important;
    text-align: center;
  }
  .single-product div.product .price { text-align: center; }
  .single-product div.product .woocommerce-product-details__short-description {
    font-size: 14px;
    text-align: center;
  }
  .single-product div.product form.cart {
    justify-content: center;
  }
  .ir-product-perks {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .ir-perk strong { font-size: 12px; }
  .ir-perk small { font-size: 10px; }
}

/* ============ MOBILE: blog grid ============ */
@media (max-width: 479px) {
  .blog-grid { grid-template-columns: 1fr !important; }
  .post-card__title { font-size: var(--fs-base) !important; }
}

/* ============ Print & misc ============ */
@media print {
  .ir-topbar, .hero--slider .hero__bg { display: none !important; }
}
