/*
Theme Name: PROFIT Pharma
Theme URI: https://profitpharma.pe
Author: PROFIT Dev Team
Author URI: https://profitpharma.pe
Description: Tema WordPress nativo (PHP/HTML5/CSS3/JS puro) para PROFIT / PROFIT PHARMA. Arquitectura de navegación y flujo comercial inspirados en Nutripoint, con integración total de WooCommerce (catálogo, ofertas, cupones y Packs de Ahorro gestionados 100% desde el panel). Sin builders pesados: máxima velocidad de carga y SEO técnico limpio.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Text Domain: profit
Tags: e-commerce, woocommerce, custom, sports, pharma
*/

/* =========================================================================
   0. VARIABLES DE MARCA PROFIT
   ========================================================================= */
:root{
  /* Colores de marca */
  --profit-green:        #8DC63F;
  --profit-green-dark:   #6ea62b;
  --profit-green-light:  #a6d868;
  --profit-black:        #131513;
  --profit-black-soft:   #1c1f1c;
  --profit-white:        #FFFFFF;
  --profit-gray-100:     #f5f6f4;
  --profit-gray-200:     #e6e8e4;
  --profit-gray-400:     #9a9d97;
  --profit-gray-700:     #4a4c48;
  --profit-danger:       #e2402b;
  --profit-star:         #f5a623;

  /* Tipografía */
  --font-heading: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Recortes diagonales (identidad PROFIT) */
  --clip-btn: polygon(6% 0, 100% 0, 94% 100%, 0 100%);
  --clip-card: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%);
  --clip-badge: polygon(0 0, 100% 0, 88% 100%, 0 100%);

  /* Layout */
  --container-max: 1280px;
  --radius-sm: 2px;
  --shadow-card: 0 4px 18px rgba(19,21,19,.08);
  --shadow-card-hover: 0 10px 28px rgba(19,21,19,.16);
  --transition: all .25s ease;
}

/* =========================================================================
   1. RESET / BASE
   ========================================================================= */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--profit-black);
  background: var(--profit-white);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; height:auto; display:block; }
ul{ list-style:none; margin:0; padding:0; }
a{ color:inherit; text-decoration:none; transition: var(--transition); }
h1,h2,h3,h4,h5{
  font-family: var(--font-heading);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .5px;
  margin: 0 0 .5em;
  line-height: 1.05;
}
p{ margin:0 0 1em; }
button{ font-family: var(--font-body); cursor:pointer; }
.container{
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 24px;
}
.section{ padding: 64px 0; }
.section--dark{ background: var(--profit-black); color: var(--profit-white); }
.section--gray{ background: var(--profit-gray-100); }
.section-title{
  font-size: clamp(28px, 4vw, 42px);
  text-align:center;
  margin-bottom: 8px;
}
.section-subtitle{
  text-align:center;
  color: var(--profit-gray-700);
  max-width: 640px;
  margin: 0 auto 40px;
  font-size: 15px;
}
.section--dark .section-subtitle{ color: var(--profit-gray-200); }
.screen-reader-text{
  position:absolute !important;
  clip: rect(1px,1px,1px,1px);
  width:1px; height:1px; overflow:hidden;
}
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:99999;
  background:var(--profit-green); color:#fff; padding:12px 20px;
}
.skip-link:focus{ left:10px; top:10px; }

/* =========================================================================
   2. BOTONES DIAGONALES (IDENTIDAD PROFIT)
   ========================================================================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding: 14px 32px;
  font-family: var(--font-heading);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .5px;
  border: none;
  clip-path: var(--clip-btn);
  transition: var(--transition);
  white-space: nowrap;
}
.btn-primary{ background: var(--profit-green); color: var(--profit-black); }
.btn-primary:hover{ background: var(--profit-green-dark); color:#fff; transform: translateY(-2px); }
.btn-dark{ background: var(--profit-black); color: var(--profit-white); }
.btn-dark:hover{ background: var(--profit-green); color: var(--profit-black); transform: translateY(-2px); }
.btn-outline{ background: transparent; color: var(--profit-white); border: 2px solid var(--profit-white); clip-path:none; }
.btn-outline:hover{ background: var(--profit-white); color: var(--profit-black); }
.btn-block{ width:100%; }
.btn-sm{ padding: 9px 20px; font-size:13px; }

/* =========================================================================
   3. TOPBAR
   ========================================================================= */
.profit-topbar{
  background: var(--profit-black);
  color: var(--profit-gray-200);
  font-size: 12.5px;
  padding: 7px 0;
}
.profit-topbar .container{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 28px;
  flex-wrap:wrap;
  text-align:center;
}
.profit-topbar span{ display:flex; align-items:center; gap:6px; }
.profit-topbar strong{ color: var(--profit-green); }

/* =========================================================================
   4. HEADER / NAVBAR
   ========================================================================= */
.profit-header{
  background: var(--profit-white);
  border-bottom: 1px solid var(--profit-gray-200);
  position: sticky;
  top: 0;
  z-index: 999;
}
.profit-header__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 24px;
  padding: 16px 0;
}
.profit-logo img{ height: 46px; width:auto; }
.profit-logo{ flex-shrink:0; }

/* Buscador en vivo */
.profit-search{
  flex: 1 1 auto;
  max-width: 560px;
  position: relative;
}
.profit-search form{
  display:flex;
  border: 2px solid var(--profit-black);
  clip-path: var(--clip-btn);
  overflow:hidden;
}
.profit-search input[type="search"]{
  flex:1;
  border:none;
  padding: 12px 18px;
  font-size:14px;
  outline:none;
  font-family: var(--font-body);
}
.profit-search button{
  background: var(--profit-green);
  border:none;
  padding: 0 22px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.profit-search button svg{ width:18px; height:18px; }
.profit-search__results{
  position:absolute;
  top: calc(100% + 6px);
  left:0; right:0;
  background:#fff;
  border:1px solid var(--profit-gray-200);
  box-shadow: var(--shadow-card-hover);
  max-height: 420px;
  overflow-y:auto;
  z-index: 1000;
  display:none;
}
.profit-search__results.is-active{ display:block; }
.profit-search__result-item{
  display:flex;
  gap:12px;
  align-items:center;
  padding:10px 14px;
  border-bottom:1px solid var(--profit-gray-100);
}
.profit-search__result-item:hover{ background: var(--profit-gray-100); }
.profit-search__result-item img{ width:44px; height:44px; object-fit:cover; flex-shrink:0; }
.profit-search__result-info{ flex:1; min-width:0; }
.profit-search__result-info .name{ font-size:13px; font-weight:600; display:block; }
.profit-search__result-info .price{ font-size:12.5px; color: var(--profit-green-dark); font-weight:700; }
.profit-search__empty{ padding: 16px; font-size:13px; color:var(--profit-gray-700); }

/* Acciones (cuenta / carrito) */
.profit-header__actions{
  display:flex;
  align-items:center;
  gap: 22px;
  flex-shrink:0;
}
.profit-account, .profit-cart{
  display:flex;
  flex-direction:column;
  align-items:center;
  font-size: 11px;
  text-transform: uppercase;
  font-weight:600;
  position:relative;
}
.profit-account svg, .profit-cart svg{ width:24px; height:24px; margin-bottom:2px; }
.profit-account:hover svg, .profit-cart:hover svg{ color: var(--profit-green); }
.profit-cart__count{
  position:absolute;
  top:-6px; right:-10px;
  background: var(--profit-green);
  color: var(--profit-black);
  font-size:10px;
  font-weight:800;
  width:18px; height:18px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.profit-cart-toggle{ background:none; border:none; }

/* Navegación principal */
.profit-nav{
  background: var(--profit-black);
}
.profit-nav .container{ display:flex; align-items:center; justify-content:space-between; }
.profit-nav ul.menu{
  display:flex;
  align-items:center;
}
.profit-nav ul.menu li a{
  display:block;
  color:#fff;
  padding: 14px 20px;
  font-family: var(--font-heading);
  text-transform: uppercase;
  font-weight:600;
  font-size: 15px;
  letter-spacing:.4px;
}
.profit-nav ul.menu li a:hover,
.profit-nav ul.menu li.current-menu-item > a{ color: var(--profit-green); }
.profit-nav ul.menu li.menu-item-has-children{ position:relative; }
.profit-nav ul.sub-menu{
  display:none;
  position:absolute;
  top:100%; left:0;
  background: var(--profit-black-soft);
  min-width:220px;
  box-shadow: var(--shadow-card-hover);
  z-index:100;
}
.profit-nav ul.menu li.menu-item-has-children:hover > ul.sub-menu{ display:block; }
.profit-nav ul.sub-menu li a{ padding:12px 18px; font-size:13.5px; }

/* Menú móvil */
.profit-mobile-toggle{
  display:none;
  background:none; border:none;
  flex-direction:column; gap:5px;
  padding:8px;
}
.profit-mobile-toggle span{ width:26px; height:2px; background: var(--profit-black); display:block; }

/* =========================================================================
   5. HERO (front-page)
   ========================================================================= */
.profit-hero{
  position:relative;
  background: var(--profit-black);
  color:#fff;
  min-height: 560px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.profit-hero__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  opacity:.55;
}
.profit-hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(19,21,19,.96) 15%, rgba(19,21,19,.35) 65%, rgba(19,21,19,.05) 100%);
}
.profit-hero__content{
  position:relative; z-index:2;
  max-width: 620px;
}
.profit-hero__eyebrow{
  color: var(--profit-green);
  font-weight:700;
  letter-spacing: 2px;
  font-size: 13px;
  text-transform:uppercase;
  margin-bottom: 12px;
  display:inline-block;
}
.profit-hero__title{
  font-size: clamp(38px, 6vw, 68px);
  line-height:.95;
  margin-bottom: 18px;
}
.profit-hero__title span{ color: var(--profit-green); }
.profit-hero__subtitle{
  font-size: 17px;
  color: var(--profit-gray-200);
  margin-bottom: 30px;
  max-width: 480px;
}
.profit-hero__actions{ display:flex; gap:16px; flex-wrap:wrap; }

/* =========================================================================
   6. BADGES DE OFERTA / PRODUCTO
   ========================================================================= */
.profit-badge{
  position:absolute;
  top:14px; left:0;
  background: var(--profit-green);
  color: var(--profit-black);
  font-family: var(--font-heading);
  font-weight:800;
  font-size: 13px;
  padding: 6px 16px 6px 12px;
  clip-path: var(--clip-badge);
  z-index:3;
}
.profit-badge--danger{ background: var(--profit-danger); color:#fff; }
.profit-badge--dark{ background: var(--profit-black); color:#fff; }

/* =========================================================================
   7. GRID DE PRODUCTOS / TARJETAS
   ========================================================================= */
.profit-products-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media (max-width: 1100px){ .profit-products-grid{ grid-template-columns: repeat(3,1fr);} }
@media (max-width: 780px){ .profit-products-grid{ grid-template-columns: repeat(2,1fr); gap:16px;} }
@media (max-width: 480px){ .profit-products-grid{ grid-template-columns: 1fr 1fr; } }

.profit-product-card{
  background:#fff;
  border:1px solid var(--profit-gray-200);
  clip-path: var(--clip-card);
  position:relative;
  transition: var(--transition);
  display:flex;
  flex-direction:column;
}
.profit-product-card:hover{
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
  border-color: var(--profit-green);
}
.profit-product-card__img{
  position:relative;
  aspect-ratio: 1/1;
  overflow:hidden;
  background: var(--profit-gray-100);
}
.profit-product-card__img img{ width:100%; height:100%; object-fit:cover; transition: var(--transition); }
.profit-product-card:hover .profit-product-card__img img{ transform: scale(1.06); }
.profit-product-card__body{ padding: 16px; display:flex; flex-direction:column; flex:1; }
.profit-product-card__cat{
  font-size:11px;
  text-transform:uppercase;
  color: var(--profit-green-dark);
  font-weight:700;
  letter-spacing:.5px;
  margin-bottom:4px;
}
.profit-product-card__title{
  font-family: var(--font-heading);
  font-size: 17px;
  text-transform:none;
  font-weight:700;
  margin:0 0 8px;
  flex:1;
}
.profit-product-card__title a{ color: var(--profit-black); }
.profit-product-card__price{ margin-bottom:12px; }
.profit-product-card__price del{ color: var(--profit-gray-400); font-size:13px; margin-right:8px; }
.profit-product-card__price ins{ text-decoration:none; color: var(--profit-danger); font-weight:800; font-size:19px; }
.profit-product-card__price .amount{ font-weight:800; font-size:19px; color: var(--profit-black); }
.profit-product-card__rating{ display:flex; gap:2px; margin-bottom:8px; color: var(--profit-star); font-size:13px; }

/* =========================================================================
   8. PACKS DE AHORRO
   ========================================================================= */
.profit-packs{
  background: var(--profit-black);
  color:#fff;
}
.profit-packs .section-title, .profit-packs .section-subtitle{ color:#fff; }
.profit-packs .section-subtitle{ color: var(--profit-gray-200); }
.profit-pack-card{
  background: var(--profit-black-soft);
  border:1px solid #2b2e2b;
}
.profit-pack-card__body .amount, .profit-pack-card__body .profit-product-card__title a{ color:#fff; }
.profit-pack-card__body .profit-product-card__cat{ color: var(--profit-green); }

/* =========================================================================
   9. LÍNEAS DE PRODUCTO (categorías)
   ========================================================================= */
.profit-lines-grid{
  display:grid;
  grid-template-columns: repeat(5,1fr);
  gap: 18px;
}
@media (max-width: 980px){ .profit-lines-grid{ grid-template-columns: repeat(3,1fr);} }
@media (max-width: 600px){ .profit-lines-grid{ grid-template-columns: repeat(2,1fr);} }
.profit-line-card{
  position:relative;
  aspect-ratio: 3/4;
  overflow:hidden;
  clip-path: var(--clip-card);
  display:flex; align-items:flex-end;
  background: var(--profit-black);
}
.profit-line-card img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.7;
  transition: var(--transition);
}
.profit-line-card:hover img{ opacity:.9; transform: scale(1.05); }
.profit-line-card::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(19,21,19,.92) 15%, transparent 70%);
}
.profit-line-card__label{
  position:relative; z-index:2;
  padding: 18px 16px;
  color:#fff;
  font-family: var(--font-heading);
  font-weight:700;
  font-size: 18px;
  line-height:1.05;
}
.profit-line-card__label span{ display:block; font-size:11px; color: var(--profit-green); font-weight:700; margin-bottom:4px; letter-spacing:1px; }

/* =========================================================================
   10. BENEFICIOS (icon boxes)
   ========================================================================= */
.profit-benefits{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap: 28px;
}
@media (max-width: 900px){ .profit-benefits{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 500px){ .profit-benefits{ grid-template-columns: 1fr;} }
.profit-benefit{ text-align:center; padding: 12px; }
.profit-benefit__icon{
  width:64px; height:64px;
  margin: 0 auto 16px;
  border-radius:50%;
  background: var(--profit-green);
  display:flex; align-items:center; justify-content:center;
  color: var(--profit-black);
}
.profit-benefit__icon svg{ width:30px; height:30px; }
.profit-benefit h4{ font-size:17px; margin-bottom:6px; }
.profit-benefit p{ font-size: 13.5px; color: var(--profit-gray-700); margin:0; }

/* =========================================================================
   11. FOOTER (4 COLUMNAS)
   ========================================================================= */
.profit-footer{
  background: var(--profit-black);
  color: var(--profit-gray-200);
  padding-top: 60px;
}
.profit-footer__grid{
  display:grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #2b2e2b;
}
@media (max-width: 900px){ .profit-footer__grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .profit-footer__grid{ grid-template-columns: 1fr; } }
.profit-footer h5{
  color:#fff; font-size:16px; margin-bottom:18px; position:relative; padding-bottom:10px;
}
.profit-footer h5::after{
  content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; background: var(--profit-green);
}
.profit-footer ul li{ margin-bottom:10px; }
.profit-footer ul li a{ font-size: 13.5px; color: var(--profit-gray-200); }
.profit-footer ul li a:hover{ color: var(--profit-green); }
.profit-footer__logo img{ height:40px; margin-bottom:16px; }
.profit-footer__desc{ font-size:13.5px; color: var(--profit-gray-400); max-width:280px; }
.profit-footer__social{ display:flex; gap:12px; margin-top:18px; }
.profit-footer__social a{
  width:34px; height:34px; border:1px solid var(--profit-gray-700);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.profit-footer__social a:hover{ background: var(--profit-green); border-color: var(--profit-green); color:var(--profit-black); }
.profit-footer__phone{ display:flex; align-items:center; gap:10px; margin-bottom:14px; font-weight:700; color:#fff; font-size:15px; }
.profit-footer__phone svg{ color: var(--profit-green); width:20px; height:20px; }
.profit-footer__bottom{
  padding: 22px 0;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  font-size:12.5px; color: var(--profit-gray-400);
}

/* =========================================================================
   12. WOOCOMMERCE — OVERRIDES GLOBALES
   ========================================================================= */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns: repeat(4,1fr);
  gap: 24px;
  list-style:none;
}
@media (max-width: 1100px){ .woocommerce ul.products{ grid-template-columns: repeat(3,1fr) !important; } }
@media (max-width: 780px){ .woocommerce ul.products{ grid-template-columns: repeat(2,1fr) !important; gap:16px; } }
.woocommerce ul.products li.product{
  background:#fff;
  border:1px solid var(--profit-gray-200);
  clip-path: var(--clip-card);
  padding: 14px 14px 18px !important;
  margin:0 !important;
  transition: var(--transition);
}
.woocommerce ul.products li.product:hover{ box-shadow: var(--shadow-card-hover); transform: translateY(-4px); border-color: var(--profit-green); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--font-heading); font-weight:700; font-size:17px; text-transform:none; color: var(--profit-black);
}
.woocommerce ul.products li.product .price{ font-size: 18px; font-weight:800; color: var(--profit-black); }
.woocommerce ul.products li.product .price del{ color: var(--profit-gray-400); font-weight:400; font-size:13px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; color: var(--profit-danger); }
.woocommerce ul.products li.product .onsale{
  background: var(--profit-green) !important;
  color: var(--profit-black) !important;
  font-family: var(--font-heading);
  font-weight:800;
  clip-path: var(--clip-badge);
  min-height:auto !important;
  min-width:auto !important;
  padding:6px 16px 6px 10px !important;
  top:10px !important; left:0 !important; right:auto !important;
  line-height:1.4 !important;
  border-radius:0 !important;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button{
  background: var(--profit-black) !important;
  color:#fff !important;
  font-family: var(--font-heading) !important;
  text-transform: uppercase;
  font-weight:700 !important;
  clip-path: var(--clip-btn);
  border-radius:0 !important;
  padding: 11px 22px !important;
  border:none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background: var(--profit-green) !important; color: var(--profit-black) !important;
}
.woocommerce nav.woocommerce-pagination ul{ border:none !important; }
.woocommerce nav.woocommerce-pagination ul li{ border:none !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  border: 1px solid var(--profit-gray-200) !important; margin:0 4px;
}
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current{
  background: var(--profit-green) !important; color:var(--profit-black) !important; border-color: var(--profit-green) !important;
}
/* Filtros de categoría (sidebar / widget) */
.profit-shop-layout{ display:grid; grid-template-columns: 260px 1fr; gap: 32px; align-items:flex-start; }
@media (max-width: 900px){ .profit-shop-layout{ grid-template-columns: 1fr; } }
.profit-filters{ background: var(--profit-gray-100); padding: 20px; }
.profit-filters h4{ font-size:16px; margin-bottom:14px; }
.profit-filters ul li{ margin-bottom:8px; }
.profit-filters ul li a{ font-size:13.5px; display:flex; justify-content:space-between; }
.profit-filters ul li a:hover, .profit-filters ul li.current a{ color: var(--profit-green-dark); font-weight:700; }
.woocommerce-ordering select{ border:1px solid var(--profit-gray-200); padding:8px 12px; font-size:13px; }
.woocommerce-result-count{ font-size:13.5px; color: var(--profit-gray-700); }
.profit-shop-toolbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; flex-wrap:wrap; gap:10px; }

/* Ficha de producto */
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family: var(--font-heading); text-transform:uppercase; }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color: var(--profit-black); font-size:26px; font-weight:800; }
.woocommerce div.product .quantity input.qty{ border:1px solid var(--profit-gray-200); }

/* Carrito lateral (mini-cart) */
.profit-cart-drawer{
  position: fixed; top:0; right:-420px; width: 400px; max-width: 92vw; height:100vh;
  background:#fff; z-index: 10000; box-shadow: -8px 0 30px rgba(0,0,0,.25);
  transition: right .3s ease; display:flex; flex-direction:column;
}
.profit-cart-drawer.is-open{ right:0; }
.profit-cart-drawer__head{ display:flex; justify-content:space-between; align-items:center; padding:18px 20px; border-bottom:1px solid var(--profit-gray-200); }
.profit-cart-drawer__head h4{ margin:0; font-size:18px; }
.profit-cart-drawer__close{ background:none; border:none; font-size:22px; line-height:1; }
.profit-cart-drawer__body{ flex:1; overflow-y:auto; padding: 16px 20px; }
.profit-cart-drawer__foot{ padding: 18px 20px; border-top:1px solid var(--profit-gray-200); }
.profit-cart-overlay{
  position:fixed; inset:0; background:rgba(19,21,19,.5); z-index:9999;
  display:none;
}
.profit-cart-overlay.is-open{ display:block; }

/* =========================================================================
   13. RESPONSIVE — HEADER / NAV
   ========================================================================= */
@media (max-width: 900px){
  .profit-search{ order:3; max-width:100%; flex:1 1 100%; margin-top:12px; }
  .profit-header__row{ flex-wrap:wrap; }
  .profit-mobile-toggle{ display:flex; }
  .profit-nav ul.menu{
    display:none;
    flex-direction:column;
    width:100%;
    position:absolute; left:0; top:100%;
    background: var(--profit-black);
  }
  .profit-nav ul.menu.is-open{ display:flex; }
  .profit-nav ul.menu li{ width:100%; }
  .profit-nav ul.sub-menu{ position:static; box-shadow:none; }
}

/* =========================================================================
   14. UTILIDADES
   ========================================================================= */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.mb-0{ margin-bottom:0; }
.d-flex{ display:flex; }
.gap-2{ gap:16px; }
.profit-empty-state{ text-align:center; padding: 60px 20px; color: var(--profit-gray-700); }