// data.jsx — Products, collections, distributors

// ── Hat style definitions ────────────────────────────────────────────────────
const HAT_STYLES = {
  brick: {
    id: 'brick', code: '8S',
    name: { es: '8 Segundos', en: 'Brick', fr: 'Brick' },
    tagline: {
      es: 'Copa alta, vuelo clásico. El vaquero sin compromisos.',
      en: 'High crown, classic sweep. The uncompromising cowboy.',
      fr: 'Calotte haute, bord classique. Le cowboy sans compromis.',
    },
    hero: 'products/1%20(8s)/DJI_20250924201546_0996_D.webp',
    count: 41,
    desc: {
      es: 'Sombrero de copa alta y ala pinchada. La silueta que define el estilo 8 Segundos — directa, funcional, sin adornos innecesarios.',
      en: 'High-crown hat with pinched brim. The silhouette that defines the Brick style — direct, functional, no unnecessary ornaments.',
      fr: 'Chapeau à calotte haute et bord pincé. La silhouette qui définit le style Brick — directe, fonctionnelle, sans ornements inutiles.',
    },
  },
  dakota: {
    id: 'dakota', code: 'RBL',
    name: { es: 'Rebelde', en: 'Dakota', fr: 'Dakota' },
    tagline: {
      es: 'El sombrero del jinete sin reglas. Perfil libre, carácter propio.',
      en: 'The hat of the rule-free rider. Free profile, own character.',
      fr: 'Le chapeau du cavalier sans règles. Profil libre, caractère propre.',
    },
    hero: 'products/18R/DJI_20250924195810_0908_D.webp',
    count: 68,
    desc: {
      es: 'Copa media y ala ancha. La versatilidad del estilo Rebelde lo hace válido para el rancho y para la ciudad.',
      en: 'Medium crown and wide brim. The versatility of the Dakota style makes it valid for the ranch and the city.',
      fr: 'Calotte moyenne et bord large. La polyvalence du style Dakota le rend valable pour le ranch et la ville.',
    },
  },
  cattleman: {
    id: 'cattleman', code: 'CTL',
    name: { es: 'Llanero', en: 'Cattleman', fr: 'Cattleman' },
    tagline: {
      es: 'La copa de los llanos. Estructura sólida, presencia inconfundible.',
      en: 'The crown of the plains. Solid structure, unmistakable presence.',
      fr: 'La calotte des plaines. Structure solide, présence inimitable.',
    },
    hero: 'products/29L/DJI_20250924194205_0852_D.webp',
    count: 62,
    desc: {
      es: 'El clásico vaquero del llano. Copa Cattleman con hundimiento central, ala recta y funcional. Hecho para durar.',
      en: 'The classic plains cowboy. Cattleman crown with center crease, straight and functional brim. Made to last.',
      fr: 'Le cowboy classique des plaines. Calotte Cattleman avec créase centrale, bord droit et fonctionnel. Fait pour durer.',
    },
  },
  'pinched-front': {
    id: 'pinched-front', code: 'RA',
    name: { es: 'Randao', en: 'Pinched Front', fr: 'Pinched Front' },
    tagline: {
      es: 'Frente pinchado, elegancia discreta. Para los que conocen el oficio.',
      en: 'Pinched front, discreet elegance. For those who know the craft.',
      fr: 'Face pincée, élégance discrète. Pour ceux qui connaissent le métier.',
    },
    hero: 'products/41RA/DJI_20250924192818_0792_D.webp',
    count: 8,
    desc: {
      es: 'El sombrero de doble personalidad. Frente pinchado hacia arriba, ala plana. Una pieza que habla sola.',
      en: 'The hat with a double personality. Pinched front swept up, flat brim. A piece that speaks for itself.',
      fr: 'Le chapeau à double personnalité. Face pincée relevée, bord plat. Une pièce qui parle d\'elle-même.',
    },
  },
  gus: {
    id: 'gus', code: 'GS',
    name: { es: 'Frontier', en: 'Gus', fr: 'Gus' },
    tagline: {
      es: 'Para los que van al horizonte. Copa Gus, silueta inconfundible.',
      en: 'For those heading toward the horizon. Gus crown, unmistakable silhouette.',
      fr: 'Pour ceux qui vont vers l\'horizon. Calotte Gus, silhouette inimitable.',
    },
    hero: 'products/75T/DJI_20250924183326_0618_D.webp',
    count: 13,
    desc: {
      es: 'La copa Frontier es teatral y poética. Inspirada en el clásico Lonesome Dove, llevada al trabajo diario.',
      en: 'The Gus crown is theatrical and poetic. Inspired by the classic Lonesome Dove, adapted for daily work.',
      fr: 'La calotte Gus est théâtrale et poétique. Inspirée du classique Lonesome Dove, adaptée au travail quotidien.',
    },
  },
};

const COLLECTIONS = Object.values(HAT_STYLES);

// ── Hat product factory ──────────────────────────────────────────────────────
function makeHat(num, styleId, folder, imgs, finishes) {
  const s = HAT_STYLES[styleId];
  const base = 'products/' + folder.replace(/ /g, '%20') + '/';
  const code = String(num).padStart(3, '0');
  return {
    id: num,
    slug: styleId + '-' + code,
    style: styleId,
    category: 'hat',
    name: s.name.es + ' No.' + code,
    nameEn: s.name.en + ' No.' + code,
    nameFr: s.name.fr + ' No.' + code,
    sku: s.code + '-' + code,
    hero: base + imgs[0],
    gallery: imgs.map(i => base + i),
    finishes: finishes || ['#0A0A0A', '#F5F0E8', '#8B1A1A', '#1B2A4A', '#2A3F2A', '#2A160A', '#4A2614', '#6B3F1D', '#8A5A2E'],
    specs: {
      material: '100% lana prensada · feltro artesanal',
      origin: 'Taller artesanal seleccionado',
      crown: s.name.es,
      brim: 'Ala trabajada a mano',
      band: 'Cinta de cuero genuino',
      weight: '350 — 430 g',
    },
    desc: s.desc,
  };
}

// ── Hat products ─────────────────────────────────────────────────────────────
const HAT_PRODUCTS = [
  // ── 8 Segundos / Brick ──────────────────────────────────────────────────────
  makeHat(1,   'brick', '1 (8s)',   ['DJI_20250924201546_0996_D.webp','DJI_20250924201551_0997_D.webp','DJI_20250924201554_0998_D.webp','DJI_20250924201601_0999_D.webp']),
  makeHat(2,   'brick', '2(8s)',   ['DJI_20250924201451_0990_D.webp','DJI_20250924201457_0991_D.webp','DJI_20250924201503_0992_D.webp','DJI_20250924201516_0994_D.webp','DJI_20250924201529_0995_D.webp']),
  makeHat(45,   'brick', '45(8S)',   ['DJI_20250924192242_0772_D.webp','DJI_20250924192250_0773_D.webp','DJI_20250924192257_0774_D.webp','DJI_20250924192308_0775_D.webp','DJI_20250924192322_0776_D.webp']),
  makeHat(91,   'brick', '91(8S)',   ['DJI_20250208212126_0390_D.webp','DJI_20250208212138_0391_D.webp','DJI_20250208212302_0394_D.webp','DJI_20250208212324_0395_D.webp','DJI_20250208212337_0396_D.webp']),
  makeHat(109,   'brick', '109(8S)',   ['DJI_20250208172758_0161_D.webp','DJI_20250208172826_0162_D.webp','DJI_20250208172835_0163_D.webp','DJI_20250208172852_0164_D.webp','DJI_20250208172906_0165_D.webp']),
  makeHat(114,   'brick', '114(8S',   ['DJI_20250208180631_0186_D.webp','DJI_20250208180643_0187_D.webp','DJI_20250208180715_0189_D.webp','DJI_20250208180728_0190_D.webp','DJI_20250208180803_0191_D.webp']),
  makeHat(122,   'brick', '122(8S)',   ['DJI_20250208184303_0232_D.webp','DJI_20250208184314_0233_D.webp','DJI_20250208184339_0234_D.webp','DJI_20250208184411_0235_D.webp','DJI_20250208184429_0236_D.webp']),
  makeHat(125,   'brick', '125(8S)',   ['DJI_20250208185106_0247_D.webp','DJI_20250208185117_0248_D.webp','DJI_20250208185132_0249_D.webp','DJI_20250208185148_0250_D.webp','DJI_20250208185201_0251_D.webp']),
  makeHat(129,   'brick', '129(8S',   ['DJI_20250208190225_0269_D.webp','DJI_20250208190233_0270_D.webp','DJI_20250208190259_0272_D.webp','DJI_20250208190309_0273_D.webp','DJI_20250208190323_0274_D.webp']),
  makeHat(134,   'brick', '134(8S',   ['DJI_20250208194636_0302_D.webp','DJI_20250208194648_0303_D.webp','DJI_20250208194701_0304_D.webp','DJI_20250208194717_0305_D.webp','DJI_20250208194734_0306_D.webp']),
  makeHat(138,   'brick', '138(8S',   ['DJI_20250208200500_0322_D.webp','DJI_20250208200512_0323_D.webp','DJI_20250208200528_0324_D.webp','DJI_20250208200552_0325_D.webp','DJI_20250208200609_0326_D.webp']),
  makeHat(145,   'brick', '145(8S',   ['DJI_20250208203123_0355_D.webp','DJI_20250208203136_0356_D.webp','DJI_20250208203148_0357_D.webp','DJI_20250208203200_0358_D.webp']),
  makeHat(146,   'brick', '146(8S',   ['DJI_20250924201632_0002_D.webp','DJI_20250924201636_0003_D.webp','DJI_20250924201640_0004_D.webp','DJI_20250924201647_0005_D.webp','DJI_20250924201657_0006_D.webp']),
  makeHat(149,   'brick', '149(8S',   ['DJI_20250924201754_0012_D.webp','DJI_20250924201757_0013_D.webp','DJI_20250924201801_0014_D.webp','DJI_20250924201809_0015_D.webp','DJI_20250924201815_0016_D.webp']),
  makeHat(150,   'brick', '150(8S',   ['DJI_20250924201833_0017_D.webp','DJI_20250924201838_0018_D.webp','DJI_20250924201841_0019_D.webp','DJI_20250924201850_0020_D.webp','DJI_20250924201858_0021_D.webp']),
  makeHat(162,   'brick', '162(8S',   ['DJI_20250924204707_0194_D.webp','DJI_20250924204710_0195_D.webp','DJI_20250924204713_0196_D.webp','DJI_20250924204718_0197_D.webp','DJI_20250924204723_0198_D.webp']),
  makeHat(164,   'brick', '164(8S',   ['DJI_20250924204605_0184_D.webp','DJI_20250924204608_0185_D.webp','DJI_20250924204610_0186_D.webp','DJI_20250924204616_0187_D.webp','DJI_20250924204623_0188_D.webp']),
  makeHat(165,   'brick', '165(8S',   ['DJI_20250924204533_0179_D.webp','DJI_20250924204536_0180_D.webp','DJI_20250924204538_0181_D.webp','DJI_20250924204543_0182_D.webp','DJI_20250924204550_0183_D.webp']),
  makeHat(166,   'brick', '166(8S',   ['DJI_20250924204444_0173_D.webp','DJI_20250924204447_0174_D.webp','DJI_20250924204450_0175_D.webp','DJI_20250924204457_0176_D.webp','DJI_20250924204507_0177_D.webp']),
  makeHat(167,   'brick', '167(8S',   ['DJI_20250924204339_0163_D.webp','DJI_20250924204341_0164_D.webp','DJI_20250924204345_0165_D.webp','DJI_20250924204350_0166_D.webp','DJI_20250924204359_0167_D.webp']),
  makeHat(168,   'brick', '168(8S',   ['DJI_20250924204410_0168_D.webp','DJI_20250924204413_0169_D.webp','DJI_20250924204417_0170_D.webp','DJI_20250924204422_0171_D.webp','DJI_20250924204430_0172_D.webp']),
  makeHat(177,   'brick', '177(8S',   ['DJI_20250924203401_0118_D.webp','DJI_20250924203404_0119_D.webp','DJI_20250924203407_0120_D.webp','DJI_20250924203431_0121_D.webp','DJI_20250924203439_0122_D.webp']),
  makeHat(178,   'brick', '178(8S',   ['DJI_20250924203318_0113_D.webp','DJI_20250924203321_0114_D.webp','DJI_20250924203324_0115_D.webp','DJI_20250924203338_0116_D.webp','DJI_20250924203346_0117_D.webp']),
  makeHat(179,   'brick', '179(8S',   ['DJI_20250924203249_0108_D.webp','DJI_20250924203253_0109_D.webp','DJI_20250924203256_0110_D.webp','DJI_20250924203302_0111_D.webp','DJI_20250924203307_0112_D.webp']),
  makeHat(180,   'brick', '180(8S',   ['DJI_20250924203208_0103_D.webp','DJI_20250924203212_0104_D.webp','DJI_20250924203215_0105_D.webp','DJI_20250924203224_0106_D.webp','DJI_20250924203232_0107_D.webp']),
  makeHat(181,   'brick', '181(8S',   ['DJI_20250924203114_0098_D.webp','DJI_20250924203119_0099_D.webp','DJI_20250924203125_0100_D.webp','DJI_20250924203140_0101_D.webp','DJI_20250924203148_0102_D.webp']),
  makeHat(182,   'brick', '182(8S',   ['DJI_20250924203029_0093_D.webp','DJI_20250924203035_0094_D.webp','DJI_20250924203039_0095_D.webp','DJI_20250924203046_0096_D.webp','DJI_20250924203054_0097_D.webp']),
  makeHat(183,   'brick', '183(8S',   ['DJI_20250924202941_0088_D.webp','DJI_20250924202944_0089_D.webp','DJI_20250924202948_0090_D.webp','DJI_20250924202959_0091_D.webp','DJI_20250924203010_0092_D.webp']),
  makeHat(184,   'brick', '184(8S',   ['DJI_20250924202819_0083_D.webp','DJI_20250924202823_0084_D.webp','DJI_20250924202827_0085_D.webp','DJI_20250924202833_0086_D.webp','DJI_20250924202838_0087_D.webp']),
  makeHat(185,   'brick', '185(8S',   ['DJI_20250924202720_0077_D.webp','DJI_20250924202724_0078_D.webp','DJI_20250924202734_0080_D.webp','DJI_20250924202746_0081_D.webp','DJI_20250924202756_0082_D.webp']),
  makeHat(186,   'brick', '186(8S',   ['DJI_20250924202640_0072_D.webp','DJI_20250924202643_0073_D.webp','DJI_20250924202647_0074_D.webp','DJI_20250924202654_0075_D.webp','DJI_20250924202700_0076_D.webp']),
  makeHat(187,   'brick', '187(8S',   ['DJI_20250924202557_0067_D.webp','DJI_20250924202601_0068_D.webp','DJI_20250924202604_0069_D.webp','DJI_20250924202612_0070_D.webp','DJI_20250924202622_0071_D.webp']),
  makeHat(188,   'brick', '188(8S',   ['DJI_20250924202511_0062_D.webp','DJI_20250924202514_0063_D.webp','DJI_20250924202518_0064_D.webp','DJI_20250924202527_0065_D.webp','DJI_20250924202536_0066_D.webp']),
  makeHat(189,   'brick', '189(8S',   ['DJI_20250924202423_0057_D.webp','DJI_20250924202427_0058_D.webp','DJI_20250924202430_0059_D.webp','DJI_20250924202440_0060_D.webp','DJI_20250924202447_0061_D.webp']),
  makeHat(190,   'brick', '190(8S',   ['DJI_20250924202345_0052_D.webp','DJI_20250924202349_0053_D.webp','DJI_20250924202352_0054_D.webp','DJI_20250924202359_0055_D.webp','DJI_20250924202405_0056_D.webp']),
  makeHat(191,   'brick', '191(8S',   ['DJI_20250924202305_0047_D.webp','DJI_20250924202309_0048_D.webp','DJI_20250924202313_0049_D.webp','DJI_20250924202319_0050_D.webp','DJI_20250924202327_0051_D.webp']),
  makeHat(192,   'brick', '192(8S',   ['DJI_20250924202230_0042_D.webp','DJI_20250924202234_0043_D.webp','DJI_20250924202238_0044_D.webp','DJI_20250924202247_0045_D.webp','DJI_20250924202252_0046_D.webp']),
  makeHat(193,   'brick', '193(8S',   ['DJI_20250924202152_0037_D.webp','DJI_20250924202155_0038_D.webp','DJI_20250924202159_0039_D.webp','DJI_20250924202205_0040_D.webp','DJI_20250924202211_0041_D.webp']),
  makeHat(194,   'brick', '194(8S',   ['DJI_20250924202118_0032_D.webp','DJI_20250924202121_0033_D.webp','DJI_20250924202124_0034_D.webp','DJI_20250924202131_0035_D.webp','DJI_20250924202136_0036_D.webp']),
  makeHat(195,   'brick', '195(8S',   ['DJI_20250924202033_0027_D.webp','DJI_20250924202037_0028_D.webp','DJI_20250924202040_0029_D.webp','DJI_20250924202051_0030_D.webp','DJI_20250924202057_0031_D.webp']),
  makeHat(196,   'brick', '196(8S',   ['DJI_20250924201915_0022_D.webp','DJI_20250924201919_0023_D.webp','DJI_20250924201923_0024_D.webp','DJI_20250924201932_0025_D.webp','DJI_20250924201940_0026_D.webp']),

  // ── Rebelde / Dakota ────────────────────────────────────────────────────────
  makeHat(3,   'dakota', '3 (R)',   ['DJI_20250924201319_0985_D.webp','DJI_20250924201323_0986_D.webp','DJI_20250924201327_0987_D.webp','DJI_20250924201338_0988_D.webp']),
  makeHat(4,   'dakota', '4(R)',   ['DJI_20250924201230_0981_D.webp','DJI_20250924201235_0982_D.webp','DJI_20250924201243_0983_D.webp','DJI_20250924201259_0984_D.webp']),
  makeHat(5,   'dakota', '5R',      ['DJI_20250924201126_0975_D.webp','DJI_20250924201130_0976_D.webp','DJI_20250924201134_0977_D.webp','DJI_20250924201140_0978_D.webp','DJI_20250924201210_0979_D.webp']),
  makeHat(6,   'dakota', '6R',      ['DJI_20250924201033_0970_D.webp','DJI_20250924201042_0971_D.webp','DJI_20250924201046_0972_D.webp','DJI_20250924201053_0973_D.webp','DJI_20250924201108_0974_D.webp']),
  makeHat(7,   'dakota', '7R',      ['DJI_20250924200941_0964_D.webp','DJI_20250924200945_0965_D (Editar con IA).webp','DJI_20250924200949_0966_D.webp','DJI_20250924200955_0967_D.webp','DJI_20250924201019_0969_D.webp']),
  makeHat(8,   'dakota', '8R',      ['DJI_20250924200824_0959_D.webp','DJI_20250924200837_0960_D.webp','DJI_20250924200841_0961_D.webp','DJI_20250924200856_0962_D.webp','DJI_20250924200905_0963_D.webp']),
  makeHat(9,   'dakota', '9R',      ['DJI_20250924200741_0954_D.webp','DJI_20250924200745_0955_D.webp','DJI_20250924200748_0956_D.webp','DJI_20250924200757_0957_D.webp','DJI_20250924200806_0958_D.webp']),
  makeHat(10,  'dakota', '10R',     ['DJI_20250924200650_0949_D.webp','DJI_20250924200654_0950_D.webp','DJI_20250924200701_0951_D.webp','DJI_20250924200708_0952_D.webp','DJI_20250924200728_0953_D.webp']),
  makeHat(15,  'dakota', '15R',     ['DJI_20250924200149_0924_D.webp','DJI_20250924200155_0925_D.webp','DJI_20250924200203_0926_D.webp','DJI_20250924200211_0927_D.webp','DJI_20250924200219_0928_D.webp']),
  makeHat(16,  'dakota', '16R',     ['DJI_20250924200054_0919_D.webp','DJI_20250924200100_0920_D.webp','DJI_20250924200113_0921_D.webp','DJI_20250924200121_0922_D.webp','DJI_20250924200129_0923_D.webp']),
  makeHat(17,  'dakota', '17R',     ['DJI_20250924195952_0914_D.webp','DJI_20250924200000_0915_D.webp','DJI_20250924200010_0916_D.webp','DJI_20250924200026_0917_D.webp','DJI_20250924200031_0918_D.webp']),
  makeHat(18,  'dakota', '18R',     ['DJI_20250924195810_0908_D.webp','DJI_20250924195837_0910_D.webp','DJI_20250924195900_0911_D.webp','DJI_20250924195916_0912_D.webp','DJI_20250924195930_0913_D.webp']),
  makeHat(19,  'dakota', '19R',     ['DJI_20250924195712_0903_D.webp','DJI_20250924195717_0904_D.webp','DJI_20250924195724_0905_D.webp','DJI_20250924195732_0906_D.webp','DJI_20250924195741_0907_D.webp']),
  makeHat(20,  'dakota', '20R',     ['DJI_20250924195613_0898_D.webp','DJI_20250924195618_0899_D.webp','DJI_20250924195622_0900_D.webp','DJI_20250924195633_0901_D.webp','DJI_20250924195651_0902_D.webp']),
  makeHat(21,  'dakota', '21R',     ['DJI_20250924195532_0893_D.webp','DJI_20250924195537_0894_D.webp','DJI_20250924195541_0895_D.webp','DJI_20250924195549_0896_D.webp','DJI_20250924195558_0897_D.webp']),
  makeHat(22,  'dakota', '22R',     ['DJI_20250924195425_0888_D.webp','DJI_20250924195431_0889_D.webp','DJI_20250924195437_0890_D.webp','DJI_20250924195448_0891_D.webp','DJI_20250924195517_0892_D.webp']),
  makeHat(23,  'dakota', '23R',     ['DJI_20250924195338_0883_D.webp','DJI_20250924195344_0884_D.webp','DJI_20250924195348_0885_D.webp','DJI_20250924195356_0886_D.webp','DJI_20250924195403_0887_D.webp']),
  makeHat(25,  'dakota', '25R',     ['DJI_20250924195123_0872_D.webp','DJI_20250924195128_0873_D.webp','DJI_20250924195134_0874_D.webp','DJI_20250924195143_0875_D.webp','DJI_20250924195151_0876_D.webp']),
  makeHat(26,  'dakota', '26R',     ['DJI_20250924195014_0867_D.webp','DJI_20250924195021_0868_D.webp','DJI_20250924195026_0869_D.webp','DJI_20250924195054_0870_D.webp','DJI_20250924195105_0871_D.webp']),
  makeHat(27,  'dakota', '27R',     ['DJI_20250924194923_0862_D.webp','DJI_20250924194928_0863_D.webp','DJI_20250924194940_0864_D.webp','DJI_20250924194950_0865_D.webp','DJI_20250924194958_0866_D.webp']),
  makeHat(28,  'dakota', '28R',     ['DJI_20250924194817_0857_D.webp','DJI_20250924194822_0858_D.webp','DJI_20250924194832_0859_D.webp','DJI_20250924194846_0860_D.webp','DJI_20250924194901_0861_D.webp']),
  makeHat(38,  'dakota', '38R',     ['DJI_20250924193202_0807_D.webp','DJI_20250924193212_0808_D.webp','DJI_20250924193241_0809_D.webp','DJI_20250924193258_0810_D.webp','DJI_20250924193305_0811_D.webp']),
  makeHat(39,  'dakota', '39R',     ['DJI_20250924193050_0802_D.webp','DJI_20250924193058_0803_D.webp','DJI_20250924193109_0804_D.webp','DJI_20250924193127_0805_D.webp','DJI_20250924193138_0806_D.webp']),
  makeHat(43,  'dakota', '43R',     ['DJI_20250924192501_0782_D.webp','DJI_20250924192510_0783_D.webp','DJI_20250924192607_0784_D.webp','DJI_20250924192630_0785_D.webp','DJI_20250924192637_0786_D.webp']),
  makeHat(88,  'dakota', '88R',     ['DJI_20250208212926_0408_D.webp','DJI_20250208212933_0409_D.webp','DJI_20250208212939_0410_D.webp','DJI_20250208212946_0411_D.webp','DJI_20250208212956_0412_D.webp']),
  makeHat(95,  'dakota', '95R',     ['DJI_20250208210214_0369_D.webp','DJI_20250208210329_0371_D.webp','DJI_20250208210346_0372_D.webp','DJI_20250208210409_0373_D.webp','DJI_20250208210641_0374_D.webp']),
  makeHat(97,   'dakota', '97R',   ['DJI_20250208204829_0360_D.webp','DJI_20250208204838_0361_D.webp','DJI_20250208204848_0362_D.webp','DJI_20250208204909_0363_D.webp']),
  makeHat(98,  'dakota', '98R',     ['DJI_20250208165304_0100_D.webp','DJI_20250208165314_0101_D.webp','DJI_20250208165323_0102_D.webp','DJI_20250208165418_0103_D.webp','DJI_20250208165442_0105_D.webp']),
  makeHat(99,  'dakota', '99R',     ['DJI_20250208165524_0106_D.webp','DJI_20250208165557_0107_D.webp','DJI_20250208165606_0108_D.webp','DJI_20250208165626_0109_D.webp','DJI_20250208165649_0111_D.webp']),
  makeHat(103, 'dakota', '103R',    ['DJI_20250208170601_0128_D.webp','DJI_20250208170610_0129_D.webp','DJI_20250208170623_0130_D.webp','DJI_20250208170639_0131_D.webp','DJI_20250208170652_0132_D.webp']),
  makeHat(104, 'dakota', '104R',    ['DJI_20250208170851_0134_D.webp','DJI_20250208170858_0135_D.webp','DJI_20250208170907_0136_D.webp','DJI_20250208171020_0137_D.webp','DJI_20250208171048_0139_D.webp']),
  makeHat(111, 'dakota', '111R',    ['DJI_20250208174014_0171_D.webp','DJI_20250208174033_0172_D.webp','DJI_20250208174058_0173_D.webp','DJI_20250208174137_0174_D.webp','DJI_20250208174201_0175_D.webp']),
  makeHat(113, 'dakota', '113R',    ['DJI_20250208175924_0181_D.webp','DJI_20250208175937_0182_D.webp','DJI_20250208180015_0183_D.webp','DJI_20250208180046_0184_D.webp','DJI_20250208180105_0185_D.webp']),
  makeHat(117, 'dakota', '117R',    ['DJI_20250208181934_0206_D.webp','DJI_20250208181946_0207_D.webp','DJI_20250208181956_0208_D.webp','DJI_20250208182014_0209_D.webp','DJI_20250208182027_0210_D.webp']),
  makeHat(121, 'dakota', '121R',    ['DJI_20250208184027_0227_D.webp','DJI_20250208184043_0228_D.webp','DJI_20250208184052_0229_D.webp','DJI_20250208184109_0230_D.webp','DJI_20250208184123_0231_D.webp']),
  makeHat(124, 'dakota', '124R',    ['DJI_20250208184819_0242_D.webp','DJI_20250208184829_0243_D.webp','DJI_20250208184839_0244_D.webp','DJI_20250208184915_0245_D.webp','DJI_20250208184931_0246_D.webp']),
  makeHat(132, 'dakota', '132R',    ['DJI_20250208191703_0286_D.webp','DJI_20250208191748_0287_D.webp','DJI_20250208191941_0289_D.webp','DJI_20250208192010_0290_D.webp','DJI_20250208192034_0291_D.webp']),
  makeHat(133, 'dakota', '133R',    ['DJI_20250208193935_0294_D.webp','DJI_20250208193955_0296_D.webp','DJI_20250208194016_0297_D.webp','DJI_20250208194039_0299_D.webp','DJI_20250208194112_0300_D.webp']),
  makeHat(140, 'dakota', '140R',    ['DJI_20250208201120_0331_D.webp','DJI_20250208201131_0332_D.webp','DJI_20250208201151_0333_D.webp','DJI_20250208201206_0334_D.webp','DJI_20250208201223_0335_D.webp']),
  makeHat(141,   'dakota', '141R',   ['DJI_20250208201905_0341_D.webp','DJI_20250208201918_0342_D.webp','DJI_20250208201942_0343_D.webp','DJI_20250208202807_0352_D.webp']),
  makeHat(143, 'dakota', '143R',    ['DJI_20250208202011_0344_D.webp','DJI_20250208202037_0345_D.webp','DJI_20250208202056_0346_D.webp','DJI_20250208202107_0347_D.webp','DJI_20250208202916_0353_D.webp']),
  makeHat(144,   'dakota', '144R',   ['DJI_20250208200723_0327_D.webp','DJI_20250208200733_0328_D.webp','DJI_20250208200746_0329_D.webp','DJI_20250208200757_0330_D.webp']),
  makeHat(148, 'dakota', '148R',    ['DJI_20250924205105_0219_D.webp','DJI_20250924205107_0220_D.webp','DJI_20250924205109_0221_D.webp','DJI_20250924205123_0222_D.webp','DJI_20250924205134_0223_D.webp']),
  makeHat(151, 'dakota', '151R',    ['DJI_20250924205535_0254_D.webp','DJI_20250924205537_0255_D.webp','DJI_20250924205539_0256_D.webp','DJI_20250924205557_0257_D.webp','DJI_20250924205607_0258_D.webp']),
  makeHat(152, 'dakota', '152R',    ['DJI_20250924205449_0249_D.webp','DJI_20250924205452_0250_D.webp','DJI_20250924205454_0251_D.webp','DJI_20250924205509_0252_D.webp','DJI_20250924205516_0253_D.webp']),
  makeHat(154, 'dakota', '154R',    ['DJI_20250924205331_0239_D.webp','DJI_20250924205334_0240_D.webp','DJI_20250924205337_0241_D.webp','DJI_20250924205343_0242_D.webp','DJI_20250924205403_0243_D.webp']),
  makeHat(155, 'dakota', '155R',    ['DJI_20250924205256_0234_D.webp','DJI_20250924205259_0235_D.webp','DJI_20250924205302_0236_D.webp','DJI_20250924205308_0237_D.webp','DJI_20250924205318_0238_D.webp']),
  makeHat(157, 'dakota', '157R',    ['DJI_20250924205146_0224_D.webp','DJI_20250924205149_0225_D.webp','DJI_20250924205153_0226_D.webp','DJI_20250924205200_0227_D.webp','DJI_20250924205206_0228_D.webp']),
  makeHat(158, 'dakota', '158R',    ['DJI_20250924205014_0214_D.webp','DJI_20250924205018_0215_D.webp','DJI_20250924205021_0216_D.webp','DJI_20250924205034_0217_D.webp','DJI_20250924205043_0218_D.webp']),
  makeHat(159, 'dakota', '159R',    ['DJI_20250924204914_0209_D.webp','DJI_20250924204917_0210_D.webp','DJI_20250924204919_0211_D.webp','DJI_20250924204939_0212_D.webp','DJI_20250924205003_0213_D.webp']),
  makeHat(160, 'dakota', '160R',    ['DJI_20250924204829_0204_D.webp','DJI_20250924204831_0205_D.webp','DJI_20250924204834_0206_D.webp','DJI_20250924204852_0207_D.webp','DJI_20250924204903_0208_D.webp']),
  makeHat(170, 'dakota', '170R',    ['DJI_20250924204118_0153_D.webp','DJI_20250924204122_0154_D.webp','DJI_20250924204125_0155_D.webp','DJI_20250924204135_0156_D.webp','DJI_20250924204145_0157_D.webp']),
  makeHat(171, 'dakota', '171R',    ['DJI_20250924204028_0148_D.webp','DJI_20250924204031_0149_D.webp','DJI_20250924204034_0150_D.webp','DJI_20250924204042_0151_D.webp','DJI_20250924204056_0152_D.webp']),
  makeHat(172, 'dakota', '172R',    ['DJI_20250924203945_0143_D.webp','DJI_20250924203949_0144_D.webp','DJI_20250924203952_0145_D.webp','DJI_20250924204001_0146_D.webp','DJI_20250924204011_0147_D.webp']),
  makeHat(173, 'dakota', '173R',    ['DJI_20250924203858_0138_D.webp','DJI_20250924203901_0139_D.webp','DJI_20250924203904_0140_D.webp','DJI_20250924203916_0141_D.webp','DJI_20250924203930_0142_D.webp']),
  makeHat(174, 'dakota', '174R',    ['DJI_20250924203824_0133_D.webp','DJI_20250924203828_0134_D.webp','DJI_20250924203830_0135_D.webp','DJI_20250924203839_0136_D.webp','DJI_20250924203845_0137_D.webp']),
  makeHat(175, 'dakota', '175R',    ['DJI_20250924203700_0128_D.webp','DJI_20250924203703_0129_D.webp','DJI_20250924203706_0130_D.webp','DJI_20250924203723_0131_D.webp','DJI_20250924203808_0132_D.webp']),
  makeHat(176, 'dakota', '176R',    ['DJI_20250924203456_0123_D.webp','DJI_20250924203459_0124_D.webp','DJI_20250924203505_0125_D.webp','DJI_20250924203604_0126_D.webp','DJI_20250924203617_0127_D.webp']),

  // ── Rebelde / Dakota (NIÑO) ───────────────────────────────────────────────
  makeHat(12,  'dakota', '12R(NIÑO',  ['DJI_20250924200508_0939_D.webp','DJI_20250924200522_0940_D.webp','DJI_20250924200527_0941_D.webp','DJI_20250924200534_0942_D.webp','DJI_20250924200546_0943_D.webp']),
  makeHat(13,  'dakota', '13R(NIÑO)', ['DJI_20250924200430_0934_D.webp','DJI_20250924200433_0935_D.webp','DJI_20250924200438_0936_D.webp','DJI_20250924200447_0937_D.webp','DJI_20250924200454_0938_D.webp']),
  makeHat(14,  'dakota', '14R(NIÑO)', ['DJI_20250924200316_0929_D (Editar con IA).webp','DJI_20250924200322_0930_D.webp','DJI_20250924200326_0931_D.webp','DJI_20250924200333_0932_D.webp','DJI_20250924200350_0933_D.webp']),
  makeHat(24,  'dakota', '24R(NIÑO',  ['DJI_20250924195237_0878_D.webp','DJI_20250924195244_0879_D.webp','DJI_20250924195252_0880_D.webp','DJI_20250924195301_0881_D.webp','DJI_20250924195307_0882_D.webp']),
  makeHat(100, 'dakota', '100R(NIÑO', ['DJI_20250208165855_0112_D.webp','DJI_20250208165905_0113_D.webp','DJI_20250208165914_0114_D.webp','DJI_20250208165929_0115_D.webp','DJI_20250208165941_0116_D.webp']),
  makeHat(101, 'dakota', '101R(NIÑO', ['DJI_20250208170056_0117_D.webp','DJI_20250208170104_0118_D.webp','DJI_20250208170114_0119_D.webp','DJI_20250208170128_0120_D.webp','DJI_20250208170140_0122_D.webp']),
  makeHat(102, 'dakota', '102R(NIÑO', ['DJI_20250208170224_0123_D.webp','DJI_20250208170236_0124_D.webp','DJI_20250208170300_0125_D.webp','DJI_20250208170322_0126_D.webp','DJI_20250208170334_0127_D.webp']),
  makeHat(153, 'dakota', '153R NIÑO',  ['DJI_20250924205416_0244_D.webp','DJI_20250924205420_0245_D.webp','DJI_20250924205423_0246_D.webp','DJI_20250924205432_0247_D.webp','DJI_20250924205438_0248_D.webp']),
  makeHat(156, 'dakota', '156R NIÑO',  ['DJI_20250924205216_0229_D.webp','DJI_20250924205219_0230_D.webp','DJI_20250924205223_0231_D.webp','DJI_20250924205235_0232_D.webp','DJI_20250924205244_0233_D.webp']),
  makeHat(161, 'dakota', '161R NIÑO',  ['DJI_20250924204741_0199_D.webp','DJI_20250924204744_0200_D.webp','DJI_20250924204747_0201_D.webp','DJI_20250924204756_0202_D.webp','DJI_20250924204816_0203_D.webp']),

  // ── Llanero / Cattleman ──────────────────────────────────────────────────────
  makeHat(29,  'cattleman', '29L',  ['DJI_20250924194205_0852_D.webp','DJI_20250924194212_0853_D.webp','DJI_20250924194223_0854_D.webp','DJI_20250924194502_0855_D.webp','DJI_20250924194658_0856_D.webp']),
  makeHat(30,  'cattleman', '30L',  ['DJI_20250924194117_0847_D.webp','DJI_20250924194124_0848_D.webp','DJI_20250924194130_0849_D.webp','DJI_20250924194140_0850_D.webp','DJI_20250924194147_0851_D.webp']),
  makeHat(31,  'cattleman', '31L',  ['DJI_20250924194011_0842_D.webp','DJI_20250924194016_0843_D.webp','DJI_20250924194025_0844_D.webp','DJI_20250924194038_0845_D.webp','DJI_20250924194055_0846_D.webp']),
  makeHat(32,  'cattleman', '32L',  ['DJI_20250924193917_0837_D.webp','DJI_20250924193923_0838_D.webp','DJI_20250924193931_0839_D.webp','DJI_20250924193938_0840_D.webp','DJI_20250924193955_0841_D.webp']),
  makeHat(33,  'cattleman', '33L',  ['DJI_20250924193810_0832_D.webp','DJI_20250924193817_0833_D.webp','DJI_20250924193822_0834_D.webp','DJI_20250924193830_0835_D.webp','DJI_20250924193849_0836_D.webp']),
  makeHat(34,  'cattleman', '34L',  ['DJI_20250924193723_0827_D.webp','DJI_20250924193729_0828_D.webp','DJI_20250924193735_0829_D.webp','DJI_20250924193742_0830_D.webp','DJI_20250924193752_0831_D.webp']),
  makeHat(35,  'cattleman', '35L',  ['DJI_20250924193629_0822_D.webp','DJI_20250924193635_0823_D.webp','DJI_20250924193644_0824_D.webp','DJI_20250924193655_0825_D.webp','DJI_20250924193709_0826_D.webp']),
  makeHat(36,  'cattleman', '36L',  ['DJI_20250924193543_0817_D.webp','DJI_20250924193548_0818_D.webp','DJI_20250924193555_0819_D.webp','DJI_20250924193601_0820_D.webp','DJI_20250924193612_0821_D.webp']),
  makeHat(37,  'cattleman', '37L',  ['DJI_20250924193322_0812_D.webp','DJI_20250924193333_0813_D.webp','DJI_20250924193345_0814_D.webp','DJI_20250924193359_0815_D.webp','DJI_20250924193420_0816_D.webp']),
  makeHat(40,  'cattleman', '40L',  ['DJI_20250924192926_0797_D.webp','DJI_20250924192938_0798_D.webp','DJI_20250924193004_0799_D.webp','DJI_20250924193017_0800_D.webp','DJI_20250924193025_0801_D.webp']),
  makeHat(42,  'cattleman', '42L',  ['DJI_20250924192700_0787_D.webp','DJI_20250924192707_0788_D.webp','DJI_20250924192714_0789_D.webp','DJI_20250924192727_0790_D.webp','DJI_20250924192736_0791_D.webp']),
  makeHat(46,  'cattleman', '46L',  ['DJI_20250924192039_0767_D.webp','DJI_20250924192046_0768_D.webp','DJI_20250924192051_0769_D.webp','DJI_20250924192105_0770_D.webp','DJI_20250924192114_0771_D.webp']),
  makeHat(47,  'cattleman', '47L',  ['DJI_20250924191943_0762_D.webp','DJI_20250924191949_0763_D.webp','DJI_20250924191957_0764_D.webp','DJI_20250924192008_0765_D.webp','DJI_20250924192016_0766_D.webp']),
  makeHat(48,  'cattleman', '48L',  ['DJI_20250924191843_0757_D.webp','DJI_20250924191855_0758_D.webp','DJI_20250924191901_0759_D.webp','DJI_20250924191908_0760_D.webp','DJI_20250924191919_0761_D.webp']),
  makeHat(49,  'cattleman', '49L',  ['DJI_20250924191756_0752_D.webp','DJI_20250924191803_0753_D.webp','DJI_20250924191808_0754_D.webp','DJI_20250924191816_0755_D.webp','DJI_20250924191825_0756_D.webp']),
  makeHat(50,  'cattleman', '50L',  ['DJI_20250924191636_0746_D.webp','DJI_20250924191642_0747_D.webp','DJI_20250924191655_0748_D.webp','DJI_20250924191706_0749_D.webp','DJI_20250924191714_0750_D.webp']),
  makeHat(51,  'cattleman', '51L',  ['DJI_20250924191501_0741_D.webp','DJI_20250924191507_0742_D.webp','DJI_20250924191602_0743_D.webp','DJI_20250924191609_0744_D.webp','DJI_20250924191616_0745_D.webp']),
  makeHat(52,  'cattleman', '52L',  ['DJI_20250924191411_0736_D.webp','DJI_20250924191416_0737_D.webp','DJI_20250924191422_0738_D.webp','DJI_20250924191434_0739_D.webp','DJI_20250924191440_0740_D.webp']),
  makeHat(54,  'cattleman', '54L',  ['DJI_20250924191220_0726_D.webp','DJI_20250924191227_0727_D.webp','DJI_20250924191235_0728_D.webp','DJI_20250924191245_0729_D.webp','DJI_20250924191300_0730_D.webp']),
  makeHat(55,  'cattleman', '55L',  ['DJI_20250924191107_0720_D.webp','DJI_20250924191122_0721_D.webp','DJI_20250924191128_0722_D.webp','DJI_20250924191149_0724_D.webp','DJI_20250924191158_0725_D.webp']),
  makeHat(56,  'cattleman', '56L',  ['DJI_20250924190940_0715_D.webp','DJI_20250924190947_0716_D.webp','DJI_20250924191000_0717_D.webp','DJI_20250924191018_0718_D.webp','DJI_20250924191027_0719_D.webp']),
  makeHat(58,  'cattleman', '58L',  ['DJI_20250924190613_0705_D.webp','DJI_20250924190620_0706_D.webp','DJI_20250924190627_0707_D.webp','DJI_20250924190643_0708_D.webp','DJI_20250924190653_0709_D.webp']),
  makeHat(59,  'cattleman', '59L',  ['DJI_20250924190515_0700_D.webp','DJI_20250924190527_0701_D.webp','DJI_20250924190534_0702_D.webp','DJI_20250924190546_0703_D.webp','DJI_20250924190555_0704_D.webp']),
  makeHat(60,  'cattleman', '60L',  ['DJI_20250924190411_0695_D.webp','DJI_20250924190416_0696_D.webp','DJI_20250924190423_0697_D.webp','DJI_20250924190434_0698_D.webp','DJI_20250924190443_0699_D.webp']),
  makeHat(61,  'cattleman', '61L',  ['DJI_20250924190320_0690_D.webp','DJI_20250924190324_0691_D.webp','DJI_20250924190329_0692_D.webp','DJI_20250924190338_0693_D.webp','DJI_20250924190345_0694_D.webp']),
  makeHat(62,  'cattleman', '62L',  ['DJI_20250924190227_0685_D.webp','DJI_20250924190234_0686_D.webp','DJI_20250924190239_0687_D.webp','DJI_20250924190246_0688_D.webp','DJI_20250924190255_0689_D.webp']),
  makeHat(64,  'cattleman', '64L',  ['DJI_20250924185939_0675_D.webp','DJI_20250924185946_0676_D.webp','DJI_20250924185952_0677_D.webp','DJI_20250924190004_0678_D.webp','DJI_20250924190015_0679_D.webp']),
  makeHat(66,  'cattleman', '66L',  ['DJI_20250924184328_0664_D.webp','DJI_20250924184333_0665_D.webp','DJI_20250924184338_0666_D.webp','DJI_20250924184345_0667_D.webp','DJI_20250924184356_0668_D.webp']),
  makeHat(67,  'cattleman', '67L',  ['DJI_20250924184235_0659_D.webp','DJI_20250924184240_0660_D.webp','DJI_20250924184245_0661_D.webp','DJI_20250924184251_0662_D.webp','DJI_20250924184312_0663_D.webp']),
  makeHat(70,  'cattleman', '70L',  ['DJI_20250924183929_0644_D.webp','DJI_20250924183935_0645_D.webp','DJI_20250924183940_0646_D.webp','DJI_20250924183947_0647_D.webp','DJI_20250924184017_0648_D.webp']),
  makeHat(74,  'cattleman', '74L',  ['DJI_20250924183528_0624_D.webp','DJI_20250924183533_0625_D.webp','DJI_20250924183539_0626_D.webp','DJI_20250924183547_0627_D.webp','DJI_20250924183602_0628_D.webp']),
  makeHat(80,  'cattleman', '80L',  ['DJI_20250924182718_0591_D.webp','DJI_20250924182723_0592_D.webp','DJI_20250924182728_0593_D.webp','DJI_20250924182735_0594_D.webp','DJI_20250924182751_0596_D.webp']),
  makeHat(81,  'cattleman', '81L',  ['DJI_20250924182639_0586_D.webp','DJI_20250924182643_0587_D.webp','DJI_20250924182648_0588_D.webp','DJI_20250924182656_0589_D.webp','DJI_20250924182705_0590_D.webp']),
  makeHat(83,  'cattleman', '83L',  ['DJI_20250924182531_0576_D.webp','DJI_20250924182535_0577_D.webp','DJI_20250924182540_0578_D.webp','DJI_20250924182544_0579_D.webp','DJI_20250924182551_0580_D.webp']),
  makeHat(85,  'cattleman', '85L',  ['DJI_20250924182414_0566_D.webp','DJI_20250924182419_0567_D.webp','DJI_20250924182424_0568_D.webp','DJI_20250924182429_0569_D.webp','DJI_20250924182437_0570_D.webp']),
  makeHat(86,  'cattleman', '86L',  ['DJI_20250924182143_0561_D.webp','DJI_20250924182218_0562_D.webp','DJI_20250924182223_0563_D.webp','DJI_20250924182230_0564_D.webp','DJI_20250924182237_0565_D.webp']),
  makeHat(89,  'cattleman', '89L',  ['DJI_20250208212731_0403_D.webp','DJI_20250208212741_0404_D.webp','DJI_20250208212812_0405_D.webp','DJI_20250208212833_0406_D.webp','DJI_20250208212846_0407_D.webp']),
  makeHat(93,  'cattleman', '93L',  ['DJI_20250208211628_0380_D.webp','DJI_20250208211635_0381_D.webp','DJI_20250208211643_0382_D.webp','DJI_20250208211709_0383_D.webp','DJI_20250208211719_0384_D.webp']),
  makeHat(112, 'cattleman', '112L', ['DJI_20250208174352_0176_D.webp','DJI_20250208174402_0177_D.webp','DJI_20250208174417_0178_D.webp','DJI_20250208174433_0179_D.webp','DJI_20250208174442_0180_D.webp']),
  makeHat(115, 'cattleman', '115L', ['DJI_20250208181028_0193_D.webp','DJI_20250208181212_0195_D.webp','DJI_20250208181350_0198_D.webp','DJI_20250208181446_0199_D.webp','DJI_20250208181515_0200_D.webp']),
  makeHat(118, 'cattleman', '118L', ['DJI_20250208182227_0211_D.webp','DJI_20250208182246_0212_D.webp','DJI_20250208182329_0213_D.webp','DJI_20250208182449_0214_D.webp','DJI_20250208182539_0215_D.webp']),
  makeHat(123, 'cattleman', '123L', ['DJI_20250208184542_0237_D.webp','DJI_20250208184557_0238_D.webp','DJI_20250208184606_0239_D.webp','DJI_20250208184634_0240_D.webp','DJI_20250208184646_0241_D.webp']),
  makeHat(127, 'cattleman', '127L', ['DJI_20250208185658_0257_D.webp','DJI_20250208185711_0258_D.webp','DJI_20250208185723_0259_D.webp','DJI_20250208185752_0260_D.webp','DJI_20250208185806_0261_D.webp']),
  makeHat(130, 'cattleman', '130L', ['DJI_20250208190847_0275_D.webp','DJI_20250208190857_0276_D.webp','DJI_20250208190907_0277_D.webp','DJI_20250208190958_0279_D.webp','DJI_20250208191223_0280_D.webp']),
  makeHat(135, 'cattleman', '135L', ['DJI_20250208195854_0307_D.webp','DJI_20250208195900_0308_D.webp','DJI_20250208195908_0309_D.webp','DJI_20250208195918_0310_D.webp','DJI_20250208195934_0311_D.webp']),
  makeHat(137, 'cattleman', '137L', ['DJI_20250208200322_0317_D.webp','DJI_20250208200334_0318_D.webp','DJI_20250208200349_0319_D.webp','DJI_20250208200401_0320_D.webp','DJI_20250208200429_0321_D.webp']),
  makeHat(139, 'cattleman', '139L', ['DJI_20250208201415_0336_D.webp','DJI_20250208201436_0337_D.webp','DJI_20250208201530_0338_D.webp','DJI_20250208201544_0339_D.webp','DJI_20250208201603_0340_D.webp']),

  // ── Llanero / Cattleman (NIÑO) ──────────────────────────────────────────────
  makeHat(53,  'cattleman', '53L(NIÑO',  ['DJI_20250924191321_0731_D.webp','DJI_20250924191327_0732_D.webp','DJI_20250924191333_0733_D.webp','DJI_20250924191344_0734_D.webp','DJI_20250924191353_0735_D.webp']),
  makeHat(57,  'cattleman', '57L(NIÑO',  ['DJI_20250924190734_0710_D.webp','DJI_20250924190845_0711_D.webp','DJI_20250924190852_0712_D.webp','DJI_20250924190902_0713_D.webp','DJI_20250924190920_0714_D.webp']),
  makeHat(63,  'cattleman', '63L(NIÑO',  ['DJI_20250924190030_0680_D.webp','DJI_20250924190037_0681_D.webp','DJI_20250924190044_0682_D.webp','DJI_20250924190052_0683_D.webp','DJI_20250924190106_0684_D.webp']),
  makeHat(65,  'cattleman', '65L(NIÑO',  ['DJI_20250924184415_0669_D.webp','DJI_20250924185822_0671_D.webp','DJI_20250924185904_0672_D.webp','DJI_20250924185911_0673_D.webp','DJI_20250924185923_0674_D.webp']),
  makeHat(68,  'cattleman', '68L (NIÑO', ['DJI_20250924184120_0654_D.webp','DJI_20250924184126_0655_D.webp','DJI_20250924184130_0656_D.webp','DJI_20250924184139_0657_D.webp','DJI_20250924184214_0658_D.webp']),
  makeHat(69,  'cattleman', '69L(NIÑO',  ['DJI_20250924184030_0649_D.webp','DJI_20250924184034_0650_D.webp','DJI_20250924184039_0651_D.webp','DJI_20250924184045_0652_D.webp','DJI_20250924184106_0653_D.webp']),
  makeHat(71,  'cattleman', '71L(NIÑO',  ['DJI_20250924183826_0639_D.webp','DJI_20250924183832_0640_D.webp','DJI_20250924183842_0641_D.webp','DJI_20250924183851_0642_D.webp','DJI_20250924183903_0643_D.webp']),
  makeHat(72,  'cattleman', '72L(NIÑO',  ['DJI_20250924183738_0634_D.webp','DJI_20250924183746_0635_D.webp','DJI_20250924183752_0636_D.webp','DJI_20250924183759_0637_D.webp','DJI_20250924183810_0638_D.webp']),
  makeHat(73,  'cattleman', '73L(NIÑO',  ['DJI_20250924183617_0629_D.webp','DJI_20250924183624_0630_D.webp','DJI_20250924183631_0631_D.webp','DJI_20250924183645_0632_D.webp','DJI_20250924183726_0633_D.webp']),
  makeHat(82,  'cattleman', '82L(NIÑO',  ['DJI_20250924182605_0581_D.webp','DJI_20250924182609_0582_D.webp','DJI_20250924182615_0583_D.webp','DJI_20250924182620_0584_D.webp','DJI_20250924182627_0585_D.webp']),
  makeHat(92,  'cattleman', '92L(NIÑO',  ['DJI_20250208211916_0385_D.webp','DJI_20250208211925_0386_D.webp','DJI_20250208211936_0387_D.webp','DJI_20250208211952_0388_D.webp','DJI_20250208212004_0389_D.webp']),
  makeHat(105, 'cattleman', '105L(NIÑO', ['DJI_20250208171252_0140_D.webp','DJI_20250208171304_0141_D.webp','DJI_20250208171346_0142_D.webp','DJI_20250208171406_0143_D.webp','DJI_20250208171419_0144_D.webp']),
  makeHat(106, 'cattleman', '106L(NIÑO', ['DJI_20250208171500_0145_D.webp','DJI_20250208171511_0146_D.webp','DJI_20250208171524_0147_D.webp','DJI_20250208171541_0148_D.webp','DJI_20250208171552_0149_D.webp']),
  makeHat(107, 'cattleman', '107L(NIÑO', ['DJI_20250208171658_0150_D.webp','DJI_20250208171714_0151_D.webp','DJI_20250208171726_0152_D.webp','DJI_20250208171748_0153_D.webp','DJI_20250208171800_0154_D.webp']),
  makeHat(108, 'cattleman', '108L(NIÑO', ['DJI_20250208171857_0155_D.webp','DJI_20250208171907_0156_D.webp','DJI_20250208171919_0157_D.webp','DJI_20250208171934_0158_D.webp','DJI_20250208171947_0159_D.webp']),

  // ── Randao / Pinched Front ───────────────────────────────────────────────────
  makeHat(41,  'pinched-front', '41RA',   ['DJI_20250924192818_0792_D.webp','DJI_20250924192824_0793_D.webp','DJI_20250924192851_0794_D.webp','DJI_20250924192901_0795_D.webp','DJI_20250924192911_0796_D.webp']),
  makeHat(44,  'pinched-front', '44RA',   ['DJI_20250924192351_0777_D.webp','DJI_20250924192356_0778_D.webp','DJI_20250924192404_0779_D.webp','DJI_20250924192419_0780_D.webp','DJI_20250924192442_0781_D.webp']),
  makeHat(87,  'pinched-front', '87RA',   ['DJI_20250209000710_0427_D.webp','DJI_20250209000718_0428_D.webp','DJI_20250209000730_0429_D.webp','DJI_20250209000737_0430_D.webp','DJI_20250209000747_0431_D.webp']),
  makeHat(110, 'pinched-front', '110RA',  ['DJI_20250208173018_0166_D.webp','DJI_20250208173140_0167_D.webp','DJI_20250208173209_0168_D.webp','DJI_20250208173327_0169_D.webp','DJI_20250208173439_0170_D.webp']),
  makeHat(116, 'pinched-front', '116RA',  ['DJI_20250208181658_0201_D.webp','DJI_20250208181718_0202_D.webp','DJI_20250208181734_0203_D.webp','DJI_20250208181756_0204_D.webp','DJI_20250208181813_0205_D.webp']),
  makeHat(126, 'pinched-front', '126(RA', ['DJI_20250208185330_0252_D.webp','DJI_20250208185343_0253_D.webp','DJI_20250208185406_0254_D.webp','DJI_20250208185449_0255_D.webp','DJI_20250208185533_0256_D.webp']),
  makeHat(128, 'pinched-front', '128RA',  ['DJI_20250208185942_0262_D.webp','DJI_20250208185951_0264_D.webp','DJI_20250208190000_0265_D.webp','DJI_20250208190009_0266_D.webp','DJI_20250208190019_0267_D.webp']),
  makeHat(131, 'pinched-front', '131RA',  ['DJI_20250208191424_0281_D.webp','DJI_20250208191431_0282_D.webp','DJI_20250208191439_0283_D.webp','DJI_20250208191448_0284_D.webp','DJI_20250208191519_0285_D.webp']),

  // ── Frontier / Gus ──────────────────────────────────────────────────────────
  makeHat(75,  'gus', '75T',  ['DJI_20250924183326_0618_D.webp','DJI_20250924183354_0620_D.webp','DJI_20250924183427_0621_D.webp','DJI_20250924183453_0622_D.webp','DJI_20250924183500_0623_D.webp']),
  makeHat(76,  'gus', '76T',  ['DJI_20250924183221_0613_D.webp','DJI_20250924183235_0614_D.webp','DJI_20250924183240_0615_D.webp','DJI_20250924183252_0616_D.webp','DJI_20250924183308_0617_D.webp']),
  makeHat(77,  'gus', '77T',  ['DJI_20250924183109_0607_D.webp','DJI_20250924183118_0608_D.webp','DJI_20250924183122_0609_D.webp','DJI_20250924183129_0610_D.webp','DJI_20250924183203_0612_D.webp']),
  makeHat(79,  'gus', '79T',  ['DJI_20250924182839_0597_D.webp','DJI_20250924182851_0598_D.webp','DJI_20250924182904_0599_D.webp','DJI_20250924182912_0600_D.webp','DJI_20250924182924_0601_D.webp']),
  makeHat(84,  'gus', '84T',  ['DJI_20250924182457_0571_D.webp','DJI_20250924182502_0572_D.webp','DJI_20250924182507_0573_D.webp','DJI_20250924182511_0574_D.webp','DJI_20250924182519_0575_D.webp']),
  makeHat(90,  'gus', '90T',  ['DJI_20250208212503_0397_D.webp','DJI_20250208212534_0398_D.webp','DJI_20250208212544_0399_D.webp','DJI_20250208212554_0400_D.webp','DJI_20250208212606_0401_D.webp']),
  makeHat(94,  'gus', '94T',  ['DJI_20250208210759_0375_D.webp','DJI_20250208210814_0376_D.webp','DJI_20250208210851_0377_D.webp','DJI_20250208210912_0378_D.webp','DJI_20250208210932_0379_D.webp']),
  makeHat(96,  'gus', '96T',  ['DJI_20250208204937_0364_D.webp','DJI_20250208204951_0365_D.webp','DJI_20250208205003_0366_D.webp','DJI_20250208205038_0367_D.webp','DJI_20250208205101_0368_D.webp']),
  makeHat(119, 'gus', '119T', ['DJI_20250208182917_0216_D.webp','DJI_20250208183032_0218_D.webp','DJI_20250208183051_0219_D.webp','DJI_20250208183113_0220_D.webp','DJI_20250208183254_0221_D.webp']),
  makeHat(120, 'gus', '120T', ['DJI_20250208183733_0222_D.webp','DJI_20250208183748_0223_D.webp','DJI_20250208183805_0224_D.webp','DJI_20250208183821_0225_D.webp','DJI_20250208183835_0226_D.webp']),
  makeHat(136, 'gus', '136T', ['DJI_20250208200141_0312_D.webp','DJI_20250208200154_0313_D.webp','DJI_20250208200206_0314_D.webp','DJI_20250208200220_0315_D.webp','DJI_20250208200243_0316_D.webp']),
  makeHat(142, 'gus', '142T', ['DJI_20250208202144_0348_D.webp','DJI_20250208202155_0349_D.webp','DJI_20250208202219_0350_D.webp','DJI_20250208202756_0351_D.webp','DJI_20250208203013_0354_D.webp']),

  // ── Frontier / Gus (NIÑO) ───────────────────────────────────────────────────
  makeHat(78,  'gus', '78T(NIÑO',  ['DJI_20250924182937_0602_D.webp','DJI_20250924182942_0603_D.webp','DJI_20250924183042_0604_D.webp','DJI_20250924183048_0605_D.webp','DJI_20250924183056_0606_D.webp']),
];

// ── Belt / Correa products ───────────────────────────────────────────────────
const BELT_PRODUCTS = [
  {
    id: 201, slug: 'cinturon-rancho-40', category: 'belt', style: 'belt',
    name: 'Cinturón Rancho 40', nameEn: 'Rancho Belt 40', nameFr: 'Ceinture Rancho 40',
    sku: 'COR-B40-01',
    hero: null, gallery: [],
    finishes: ['#4A2614','#6B3F1D','#8A5A2E'],
    specs: { material: 'Cuero vacuno vegetal · 4 mm', origin: 'Curtiduría León', crown: '—', brim: 'Ancho 40 mm', band: 'Costura doble hilo encerado', weight: '220 g' },
    desc: { es: 'Cinturón de cuero vegetal curtido lentamente. Hebilla sólida de zinc niquelado. Envejece mejor que tú.', en: 'Slow vegetable-tanned leather belt. Solid nickel-plated zinc buckle. Ages better than you do.', fr: 'Ceinture en cuir à tannage végétal lent. Boucle massive en zinc nickelé. Vieillit mieux que vous.' },
  },
  {
    id: 202, slug: 'cinturon-trenzado', category: 'belt', style: 'belt',
    name: 'Cinturón Trenzado', nameEn: 'Braided Belt', nameFr: 'Ceinture Tressée',
    sku: 'COR-B38-02',
    hero: null, gallery: [],
    finishes: ['#4A2614','#6B3F1D'],
    specs: { material: 'Cuero vacuno trenzado a mano', origin: 'Curtiduría León', crown: '—', brim: 'Ancho 38 mm', band: 'Trenza de 8 tiras', weight: '240 g' },
    desc: { es: 'Ocho tiras de cuero trenzadas a mano. Cada cinturón toma media jornada de taller.', en: 'Eight strands of leather, hand-braided. Each belt takes half a day at the bench.', fr: 'Huit brins de cuir, tressés à la main. Chaque ceinture prend une demi-journée à l\'atelier.' },
  },
  {
    id: 203, slug: 'cinturon-ceremonia', category: 'belt', style: 'belt',
    name: 'Cinturón Ceremonia', nameEn: 'Ceremony Belt', nameFr: 'Ceinture Cérémonie',
    sku: 'COR-B45-03',
    hero: null, gallery: [],
    finishes: ['#2A160A','#4A2614'],
    specs: { material: 'Cuero vegetal · repujado', origin: 'Curtiduría León', crown: '—', brim: 'Ancho 45 mm', band: 'Repujado floral', weight: '280 g' },
    desc: { es: 'Cinturón repujado con motivos florales. Para charros y ocasiones que lo merezcan.', en: 'Belt embossed with floral motifs. For charros and occasions worthy of them.', fr: 'Ceinture repoussée avec motifs floraux. Pour les charros et les occasions qui le méritent.' },
  },
];

const PRODUCTS = [...HAT_PRODUCTS, ...BELT_PRODUCTS];

// ── Buckle images ─────────────────────────────────────────────────────────────
const BUCKLE_IMAGES = [
  '00','01','02','04','05','06','07','08','09','10','11','13','14','15','16','17','18','19','20',
  '21','22','23','24','25','26','28','29','30','31','32','33','34','35','36','37','38','39','40',
  '42','43','44','45','46','47','49','50','51','52','53','54','55','56','57','58','59','61','62',
  '63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80','81','82',
].map(n => ({ num: n, src: 'products/HEBILLAS/' + n + '.webp', sku: 'HBL-' + n }));

// ── Model & web images ────────────────────────────────────────────────────────
const MODEL_PHOTOS = [
  'products/MODELOS%20SOMBREROS/foto_carpeta_3%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_carpeta_4%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_carpeta_14%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_carpeta_16%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_carpeta_25%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_carpeta_35%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_carpeta_37%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_14%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/foto_15%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/Photoroom_004_20250725_104709%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/Photoroom_008_20250725_104709%20(Virtual%20Model).webp',
  'products/MODELOS%20SOMBREROS/Photoroom_014_20250725_104709%20(Virtual%20Model).webp',
];

const WEB_IMAGES = [
  'products/IMAGENES%20PARA%20WEB/4.webp',
  'products/IMAGENES%20PARA%20WEB/5.webp',
  'products/IMAGENES%20PARA%20WEB/6.webp',
  'products/IMAGENES%20PARA%20WEB/hebilla_inicio.webp',
  'products/IMAGENES%20PARA%20WEB/correas_inicio.webp',
  'products/blog/01-hat-face-type.webp',
];

// Blog images served from local uploads
const UNSPLASH = [
  'products/blog/western-hat.webp', // leather wallets
  'products/blog/10-buckle-collection.webp', // leather craft tools
  'products/blog/07-wholesale-warehouse.webp', // western store
  'products/blog/02-genuine-leather.webp', // leather texture
  'products/blog/leather-craft.webp', // leather goods display
  'products/blog/08-leather-trends.webp', // artisan leather
  'products/blog/04-leather-belt-care.webp', // leather belt detail
  'products/blog/03-cowboy-rodeo.webp', // cowboy rodeo
  'products/blog/06-cowboy-outfit.webp', // western boots detail
  'products/blog/09-leather-wallet-gift.webp', // leather workshop
  'products/blog/05-western-buckle.webp', // leather conditioner
  'products/blog/01-hat-face-type.webp', // fashion leather
];

const HERO_VIDEO = 'products/video%20hero2.0.mp4';

// ── Distributors ─────────────────────────────────────────────────────────────
const DISTRIBUTORS = [
  { id: 1,  name: 'Bannerman Leather Co.',  city: 'Calgary',     province: 'AB', phone: '+1 (403) 555-0142', email: 'shop@bannerman.ca',       since: '2019' },
  { id: 2,  name: 'Stockyard & Sons',        city: 'Edmonton',    province: 'AB', phone: '+1 (780) 555-0188', email: 'hello@stockyard.ca',       since: '2020' },
  { id: 3,  name: 'Prairie Hat House',       city: 'Regina',      province: 'SK', phone: '+1 (306) 555-0171', email: 'orders@prairiehat.ca',     since: '2021' },
  { id: 4,  name: 'Saskatoon Western',       city: 'Saskatoon',   province: 'SK', phone: '+1 (306) 555-0133', email: 'shop@saskwestern.ca',      since: '2019' },
  { id: 5,  name: 'The Rope & Rein',         city: 'Winnipeg',    province: 'MB', phone: '+1 (204) 555-0162', email: 'contact@ropeandrein.ca',   since: '2022' },
  { id: 6,  name: 'Atelier de la Plaine',    city: 'Montréal',    province: 'QC', phone: '+1 (514) 555-0117', email: 'bonjour@atelierplaine.ca', since: '2021' },
  { id: 7,  name: 'Maison Cuir Québec',      city: 'Québec',      province: 'QC', phone: '+1 (418) 555-0194', email: 'info@maisoncuir.ca',       since: '2023' },
  { id: 8,  name: 'Outremont Selleries',     city: 'Outremont',   province: 'QC', phone: '+1 (514) 555-0158', email: 'shop@outremontsell.ca',    since: '2020' },
  { id: 9,  name: 'Northern Hide Co.',       city: 'Vancouver',   province: 'BC', phone: '+1 (604) 555-0109', email: 'shop@northernhide.ca',     since: '2020' },
  { id: 10, name: 'Fraser Valley Tack',      city: 'Abbotsford',  province: 'BC', phone: '+1 (604) 555-0146', email: 'sales@fraservalleytack.ca',since: '2022' },
  { id: 11, name: 'The Rider\'s Atelier',    city: 'Toronto',     province: 'ON', phone: '+1 (416) 555-0129', email: 'hello@ridersatelier.ca',   since: '2019' },
  { id: 12, name: 'Ottawa Leather House',    city: 'Ottawa',      province: 'ON', phone: '+1 (613) 555-0177', email: 'orders@ottawaleather.ca', since: '2021' },
  { id: 13, name: 'Halifax Saddle & Co.',    city: 'Halifax',     province: 'NS', phone: '+1 (902) 555-0155', email: 'shop@halifaxsaddle.ca',   since: '2023' },
  { id: 14, name: 'Yellowknife Outfitters',  city: 'Yellowknife', province: 'NT', phone: '+1 (867) 555-0133', email: 'contact@ykoutfitters.ca', since: '2022' },
];

const PROVINCES = ['AB','BC','MB','NB','NL','NS','NT','NU','ON','PE','QC','SK','YT'];

// ── Blog Posts ────────────────────────────────────────────────────────────────
const BLOG_POSTS = [
  {
    slug: 'como-se-forma-ala-4x',
    category: 'sombreros',
    date: '2025-04-15',
    readMin: 8,
    hero: 'products/blog/western-hat.webp',
    title: { es: 'Cómo se forma un ala de 4X: el proceso artesanal detrás de la excelencia', en: 'How a 4X Brim is Formed: The Artisan Process Behind Excellence', fr: 'Comment se forme un bord 4X : le processus artisanal derrière l\'excellence' },
    excerpt: { es: 'La calificación X en un sombrero vaquero no es solo marketing — representa densidad de pelo, resistencia y horas de trabajo manual. Conoce el proceso completo.', en: 'The X rating on a cowboy hat isn\'t just marketing — it represents fur density, durability and hours of handwork. Learn the complete process.', fr: 'La cote X d\'un chapeau cowboy n\'est pas que du marketing — elle représente la densité du poil, la durabilité et des heures de travail manuel.' },
    content: [
      { t: 'p', v: 'Cuando ves un sombrero marcado como 4X, 6X o 10X, lo que estás viendo es una medida real de calidad — no un número arbitrario. La X indica el porcentaje de pelo de castor en el fieltro, pero también representa horas de trabajo artesanal que transforman fibras sueltas en una pieza estructuralmente perfecta.' },
      { t: 'h2', v: 'Qué significa realmente la X' },
      { t: 'p', v: 'La escala X comenzó en los Estados Unidos como forma de clasificar la calidad del fieltro. Originalmente, 1X era pelo de conejo puro, y cada X adicional representaba mayor contenido de castor. Hoy la escala varía por fabricante, pero en general: 1X-3X es conejo o mezcla básica, 4X-6X incluye castor significativo, y 8X+ es castor puro o mezclas premium.' },
      { t: 'h2', v: 'El proceso de formado del ala' },
      { t: 'p', v: 'Todo comienza con el fieltro crudo — una lámina de fibras entrelazadas que parece más una tela gruesa que un sombrero. El artesano corta la forma básica usando moldes de metal, luego viene el bloqueo: el fieltro se humedece con vapor y se estira sobre un bloque de madera tallado que define la copa. Esta operación requiere fuerza y precisión — el fieltro debe estirarse uniformemente sin rasgarse.' },
      { t: 'h2', v: 'El alambrado del ala' },
      { t: 'p', v: 'Aquí está el secreto del 4X: antes de que el ala tome su curva final, se inserta un alambre fino en el borde exterior. Este alambre no es visible pero permite que el ala mantenga su forma mientras permanece flexible. El artesano luego cose el alambre a mano con hilo encerado, dando aproximadamente 8-10 puntadas por pulgada. En un ala de 4 pulgadas, eso son más de 300 puntadas manuales.' },
      { t: 'h2', v: 'La curva y el planchado' },
      { t: 'p', v: 'Con el alambre en su lugar, el artesano da la curva al ala usando sus manos y herramientas de madera. La curva no es uniforme — se eleva gradualmente desde la copa hasta aproximadamente 2/3 del ala, luego se nivela o se curva ligeramente hacia abajo en el borde. Esta geometría compleja es lo que da al sombrero su silueta característica. Finalmente, el ala se plancha con planchas calientes específicas que sellan las fibras y dan el acabado liso.' },
      { t: 'h2', v: 'Por qué 4X es el punto dulce' },
      { t: 'p', v: 'Un sombrero 4X tiene suficiente castor para ser resistente al agua y mantener su forma durante años, pero no es tan rígido como los 10X+ que requieren break-in prolongado. Es el equilibrio perfecto entre durabilidad, comodidad y precio. Un 4X bien cuidado dura 15-20 años con uso regular.' },
      { t: 'blockquote', v: 'La diferencia entre un sombrero de fábrica y uno artesanal no está en el material — está en las 40 horas de trabajo manual que lo separan del fieltro crudo.' },
    ],
  },
  {
    slug: 'tres-dias-rancho-saskatoon',
    category: 'estilo',
    date: '2025-04-10',
    readMin: 10,
    hero: 'products/blog/Ranch_Saskatoon_cowboy.webp',
    title: { es: 'Tres días en el rancho Saskatoon: donde el cuero encuentra su propósito', en: 'Three Days at Saskatoon Ranch: Where Leather Finds Its Purpose', fr: 'Trois jours au ranch Saskatoon : où le cuir trouve sa raison d\'être' },
    excerpt: { es: 'Acompañamos a los vaqueros del rancho Saskatoon durante el marcado de primavera. Tres días de trabajo duro, cuero envejecido y lecciones sobre autenticidad.', en: 'We spent three days with Saskatoon Ranch cowboys during spring branding. Three days of hard work, weathered leather, and lessons on authenticity.', fr: 'Nous avons passé trois jours avec les cowboys du ranch Saskatoon pendant le marquage de printemps.' },
    content: [
      { t: 'p', v: 'El rancho Saskatoon está a 180 kilómetros al norte de Saskatoon, Saskatchewan. No hay señal de celular, no hay WiFi, no hay atajos. Hay 12,000 acres de pastizal, 800 cabezas de ganado, y 6 vaqueros que conocen cada palmo de esa tierra. Pasamos tres días con ellos durante el marcado de primavera — el trabajo más intenso del año.' },
      { t: 'h2', v: 'Día 1: El amanecer que no perdona' },
      { t: 'p', v: 'Nos despertamos a las 4:30 AM con el sonido de botas en el porche de madera. El café estaba negro y caliente, servido en tazas de esmalte que han visto mejores días. Jake, el capataz, nos miró con esos ojos que solo da el sol de las praderas: "Si no puedes seguir el ritmo, quédate en la casa." No nos quedamos.' },
      { t: 'p', v: 'Ensillamos a las 5:15 AM. Mi sombrero — un 8 Segundos que había usado principalmente para fotos y eventos — de repente se sentía diferente bajo el cielo abierto. No era un accesorio, era herramienta. El ala ancha protegía del viento que cortaba como cuchillo. La cinta de cuero bajo la barbilla no era decorativa — era seguridad.' },
      { t: 'h2', v: 'Día 2: El cuero cuenta historias' },
      { t: 'p', v: 'El segundo día fue marcado. 200 terneros en dos días. Cada vaquero tenía su correa con hebilla personalizada — algunas ganadas en rodeos, otras heredadas de padres. La de Jake tenía 40 años y se notaba: el cuero estaba oscuro como el ébano, suave como la seda, pero todavía fuerte. Me dijo: "El cuero bueno no se compra, se vive." Entendí lo que quería decir cuando vi cómo su correa se movía con él, como una extensión de su cuerpo.' },
      { t: 'p', v: 'Por la tarde, una becerra se atascó en un arroyo. Tardamos 45 minutos en sacarla. Mi correa nueva — que había comprado orgulloso dos semanas antes — se rayó contra una rama. Al principio me dolió. Luego entendí: esa marca ahora era parte de la historia de la correa. Ya no era perfecta, era real.' },
      { t: 'h2', v: 'Día 3: Lo que me llevo' },
      { t: 'p', v: 'La última mañana, Jake me llamó aparte. Me dio una correa de cuero crudo, sin teñir, sin tratar. "Esta es de mi primer año. Úsala hasta que se vea como la mía. Luego me la devuelves y te doy otra." No es una transacción, es un ritual. El cuero que usas debe ganar sus marcas.' },
      { t: 'p', v: 'Me llevé tres cosas del rancho Saskatoon: respeto por el trabajo que nadie ve, comprensión de que el equipo vaquero no es decoración sino herramienta, y la certeza de que SensStyle distribuye productos que pueden resistir esta vida — no solo fotos de Instagram.' },
      { t: 'blockquote', v: 'En el rancho no hay "outfit vaquero". Hay ropa que funciona y ropa que no. O resistes el trabajo o te quedas en la casa.' },
    ],
  },
  {
    slug: 'vacuno-canadiense-cambia-todo',
    category: 'cuero',
    date: '2025-04-05',
    readMin: 7,
    hero: 'products/blog/leather-craft.webp',
    title: { es: 'Por qué el vacuno canadiense cambia todo: la ventaja oculta del cuero del norte', en: 'Why Canadian Cattle Changes Everything: The Hidden Advantage of Northern Leather', fr: 'Pourquoi le bétail canadien change tout : l\'avantage caché du cuir du nord' },
    excerpt: { es: 'El cuero canadiense tiene propiedades únicas que lo diferencian del cuero estadounidense, mexicano o sudamericano. El clima extremo crea fibras más densas y resistentes.', en: 'Canadian leather has unique properties that set it apart from US, Mexican or South American leather. Extreme climate creates denser, more resilient fibers.', fr: 'Le cuir canadien a des propriétés uniques qui le distinguent des cuirs américain, mexicain ou sud-américain.' },
    content: [
      { t: 'p', v: 'Hay una razón por la que los fabricantes de lujo europeos buscan cuero escandinavo y canadiense para sus líneas premium. No es marketing — es ciencia de materiales. El ganado criado en climas fríos desarrolla características físicas que se traducen directamente en calidad superior del cuero.' },
      { t: 'h2', v: 'La ciencia del frío' },
      { t: 'p', v: 'Cuando un animal vive en temperaturas que regularmente caen bajo -20°C, su piel responde desarrollando una estructura de colágeno más densa. Las fibras se compactan como mecanismo de supervivencia, creando una red más apretada y resistente. Esto significa que el cuero canadiense, por naturaleza, tiene mayor resistencia a la tracción y menor porosidad que el cuero de climas templados.' },
      { t: 'h2', v: 'Menos defectos, más consistencia' },
      { t: 'p', v: 'El ganado canadiense pasa menos tiempo al aire libre durante los meses de invierno, lo que significa menos picaduras de insectos, menos rasguños de ramas, menos marcas de alambre de púas. Una piel sin defectos no es solo más bonita — es más usable. Los curtidores pueden cortar patrones más grandes de una sola pieza, reduciendo desperdicio y creando productos más duraderos.' },
      { t: 'h2', v: 'El factor alimentación' },
      { t: 'p', v: 'El ganado canadiense se alimenta predominantemente de granos y heno durante el invierno, una dieta más controlada que el pastoreo libre de climas cálidos. Esta consistencia nutricional se refleja en la consistencia de la piel. No hay fluctuaciones estacionales drásticas en la calidad — el cuero es uniforme de un extremo al otro del animal.' },
      { t: 'h2', v: 'Curtido y tradición' },
      { t: 'p', v: 'Canadá tiene una historia de curtido que se remonta a los pueblos indígenas, quienes desarrollaron técnicas de procesamiento de pieles adaptadas al clima extremo. Los curtidores modernos han heredado ese conocimiento y lo han combinado con tecnología europea. El resultado es un proceso de curtido que respeta la densidad natural de las fibras en lugar de forzarlas con químicos agresivos.' },
      { t: 'h2', v: 'Lo que esto significa para ti' },
      { t: 'p', v: 'Un producto de cuero canadiense — ya sea una correa, una hebilla con base de cuero, o los forros de un sombrero — durará más, envejecerá mejor y resistirá condiciones que destruirían cuero de otras procedencias. No es que el cuero de otras regiones sea malo; es que el canadiense tiene ventajas estructurales inherentes.' },
      { t: 'blockquote', v: 'El cuero no miente. Lleva en sus fibras la historia del animal que lo dio, del clima que vivió, del cuidado que recibió. El cuero canadiense cuenta una historia de supervivencia y resistencia.' },
      { t: 'p', v: 'En SensStyle, distribuimos productos que utilizan cuero de fuentes canadienses siempre que es posible. No es solo una decisión de calidad — es una decisión de identidad. El vacuno canadiense cambia todo porque el norte cambia a quien lo habita, incluyendo a sus animales.' },
    ],
  },
  {
    slug: 'elegir-sombrero-vaquero-tipo-rostro',
    category: 'sombreros',
    date: '2025-03-12',
    readMin: 6,
    hero: 'products/blog/01-hat-face-type.webp',
    title: { es: 'Cómo elegir el sombrero vaquero perfecto para tu tipo de rostro', en: 'How to Choose the Perfect Cowboy Hat for Your Face Shape', fr: 'Comment choisir le chapeau de cowboy parfait pour la forme de votre visage' },
    excerpt: { es: 'No todos los sombreros sientan igual. Descubre qué ala, copa y material se adaptan mejor a tu rostro y cómo usarlo con estilo.', en: 'Not every hat suits every face. Find out which brim, crown and material best complement your features.', fr: 'Chaque chapeau ne convient pas à tous les visages. Découvrez la coiffe, les bords et la matière qui vous correspondent.' },
    content: [
      { t: 'p', v: 'Elegir un sombrero vaquero no es solo una decisión de estilo — es una decisión arquitectónica. El ala, la altura de la copa, el material y la forma final determinan si el sombrero te favorece o simplemente lo cargas.' },
      { t: 'h2', v: 'Rostro ovalado: el más versátil' },
      { t: 'p', v: 'Si tienes un rostro ovalado, prácticamente cualquier sombrero funciona. Puedes explorar desde el clásico Cattleman hasta el imponente 8 Segundos de copa alta. El equilibrio natural de tus facciones permite jugar con alas anchas y copas pronunciadas sin perder proporción.' },
      { t: 'h2', v: 'Rostro cuadrado: suaviza los ángulos' },
      { t: 'p', v: 'Para un rostro cuadrado, busca sombreros con copa redondeada y ala ligeramente curvada. El estilo Gus o Frontier es ideal: su copa inclinada hacia adelante añade longitud visual y suaviza la mandíbula. Evita las alas planas y rectas que refuerzan los ángulos.' },
      { t: 'h2', v: 'Rostro redondo: añade altura' },
      { t: 'p', v: 'La clave para un rostro redondo es la verticalidad. Un sombrero de copa alta como el Randao o el 8 Segundos alarga visualmente la cara. El ala debe ser moderada — ni muy ancha ni muy angosta — para no ampliar horizontalmente. Un pellizco en la copa pronunciado también ayuda a crear líneas verticales.' },
      { t: 'h2', v: 'Rostro alargado: equilibra con ala ancha' },
      { t: 'p', v: 'Si tu rostro es alargado, lo que buscas es anchura. Un ala de 4 a 5 pulgadas y una copa baja o moderada crean el balance necesario. El estilo Llanero o Rebelde con ala ancha es tu mejor aliado. Evita copas excesivamente altas que sumen centímetros de más.' },
      { t: 'h2', v: 'El material también importa' },
      { t: 'p', v: 'El fieltro de lana prensada es el material clásico: cálido, moldeable y elegante. Para climas más cálidos o uso diario, el sombrero de paja tejida ofrece ventilación sin sacrificar estilo. El cuero es la opción más duradera y le da un carácter más rudo y urbano al conjunto.' },
      { t: 'blockquote', v: 'Un buen sombrero no solo te cubre — te define. Tómate el tiempo de probarte varios estilos antes de decidir.' },
      { t: 'p', v: 'En SensStyle trabajamos con artesanos que entienden que cada cabeza es diferente. Nuestros distribuidores en todo Canadá tienen expertos que pueden orientarte en la elección correcta para tu rostro y estilo de vida.' },
    ],
  },
  {
    slug: 'cuero-genuino-vs-sintetico',
    category: 'cuero',
    date: '2025-02-28',
    readMin: 7,
    hero: 'products/blog/02-genuine-leather.webp',
    title: { es: 'Cuero genuino vs. sintético: por qué la diferencia define la calidad', en: 'Genuine vs. Synthetic Leather: Why the Difference Defines Quality', fr: 'Cuir véritable vs. synthétique : pourquoi la différence définit la qualité' },
    excerpt: { es: 'El mercado está lleno de productos "de cuero" que no lo son. Aprende a distinguir el cuero genuino del sintético y por qué vale la pena invertir en el real.', en: 'The market is full of leather products that are not. Learn to distinguish genuine from synthetic and why the real deal is worth the investment.', fr: 'Le marché regorge de produits en "cuir" qui n\'en sont pas. Apprenez à distinguer le cuir véritable du synthétique.' },
    content: [
      { t: 'p', v: 'En tiendas y mercados en línea proliferan accesorios etiquetados como "cuero" que, a una inspección más cercana, no son más que PVC o poliuretano con textura impresa. Saber distinguirlos no es solo una cuestión de orgullo — es una decisión económica y ambiental.' },
      { t: 'h2', v: 'Qué es el cuero genuino' },
      { t: 'p', v: 'El cuero genuino proviene de la piel animal — generalmente bovino — que ha pasado por un proceso de curtido para estabilizarla, ablandarla y hacerla duradera. Existe en diferentes grados: cuero de grano pleno (full-grain), cuero de grano corregido (top-grain), cuero dividido (split leather) y cuero regenerado (bonded leather). El full-grain es el de mayor calidad: conserva la superficie natural de la piel, con sus marcas y variaciones, lo que lo hace único e irrepetible.' },
      { t: 'h2', v: 'Cómo identificarlo a simple vista' },
      { t: 'ul', v: ['El cuero genuino tiene variaciones naturales de textura — ningún trozo es idéntico a otro.', 'Al doblarlo, aparecen arrugas naturales que desaparecen gradualmente, como la piel humana.', 'El borde del corte en cuero real muestra fibras irregulares. En sintético, el corte es perfectamente liso.', 'El cuero genuino absorbe una gota de agua lentamente. El sintético la repele de inmediato o la deja en la superficie.', 'El olor es inconfundible: cálido, orgánico, ligeramente terroso. El sintético huele a plástico o a productos químicos.'] },
      { t: 'h2', v: 'Durabilidad y envejecimiento' },
      { t: 'p', v: 'El cuero genuino envejece con carácter: desarrolla una pátina que lo hace más hermoso con el tiempo. Las correas, sombreros y hebillas de cuero que se usan y cuidan bien pueden durar décadas. El sintético, por el contrario, comienza a descascararse y agrietarse en pocos años, sin posibilidad de reparación.' },
      { t: 'h2', v: 'La inversión que se paga sola' },
      { t: 'p', v: 'Un accesorio de cuero genuino cuesta más al principio, pero su durabilidad lo hace más económico a largo plazo. Además, puede restaurarse con productos específicos, mientras que el sintético va directo a la basura cuando se deteriora.' },
      { t: 'blockquote', v: 'En SensStyle seleccionamos únicamente cuero de curtidores con procesos artesanales verificados. Cada pieza que distribuimos lleva décadas de experiencia en su superficie.' },
    ],
  },
  {
    slug: 'estilos-sombrero-8-segundos',
    category: 'sombreros',
    date: '2025-02-10',
    readMin: 5,
    hero: 'products/blog/03-cowboy-rodeo.webp',
    title: { es: 'El sombrero 8 Segundos: historia, estilos y cómo llevarlo con clase', en: 'The 8 Seconds Hat: History, Styles and How to Wear It With Class', fr: 'Le chapeau 8 Secondes : histoire, styles et comment le porter avec classe' },
    excerpt: { es: 'El "8 Segundos" no es solo un sombrero — es una declaración. Conoce su origen en el rodeo y los diferentes acabados que definen cada look.', en: 'The "8 Seconds" is more than a hat — it\'s a statement. Learn its rodeo origins and the different finishes that define each look.', fr: 'Le "8 Secondes" est plus qu\'un chapeau — c\'est une déclaration. Découvrez ses origines dans le rodéo.' },
    content: [
      { t: 'p', v: 'En el rodeo profesional, 8 segundos es el tiempo mínimo que un jinete debe mantenerse sobre un toro o bronco para que su monta sea válida. De ese instante de destreza, valentía y equilibrio nació el nombre de uno de los estilos de sombrero vaquero más icónicos del continente americano.' },
      { t: 'h2', v: 'Características que lo definen' },
      { t: 'p', v: 'El sombrero estilo 8 Segundos se distingue por su copa alta — generalmente entre 4 y 5 pulgadas — y su ala de ancho moderado con curva pronunciada hacia arriba en los lados. La silueta es imponente pero elegante: transmite autoridad sin resultar excesiva. El pellizco frontal de la copa es característico y varía según el artesano y la región.' },
      { t: 'h2', v: 'Materiales: fieltro, paja y cuero' },
      { t: 'p', v: 'En su versión clásica se fabrica en fieltro de lana prensada, que permite moldearlo con vapor y mantener su forma bajo lluvia y sol. Las versiones de verano se hacen en paja natural tejida, mucho más ventiladas. El cuero, aunque menos común, ofrece la versión más duradera y de carácter más urbano.' },
      { t: 'h2', v: 'Colores y acabados más populares' },
      { t: 'ul', v: ['Negro: el más versátil y formal. Combina con cualquier outfit desde jeans hasta traje.', 'Café tabaco: el clásico vaquero por excelencia. Cálido, auténtico, inevitable.', 'Gris: perfil contemporáneo y urbano, ideal para quienes quieren el estilo sin ser tan tradicionales.', 'Hueso o crema: elegante, luminoso, ideal para eventos y temporadas cálidas.'] },
      { t: 'h2', v: 'Cómo llevarlo en el día a día' },
      { t: 'p', v: 'El error más común es pensar que el sombrero 8 Segundos solo funciona en el rancho o en el rodeo. En realidad, combinado con jeans oscuros, camisa de botones y botas de cuero, es un accesorio urbano de alto impacto. Para eventos formales, el fieltro negro con traje oscuro es una combinación que pocos pueden igualar.' },
      { t: 'blockquote', v: 'El sombrero no completa el outfit — lo preside. Úsalo con intención y dejará huella donde vayas.' },
    ],
  },
  {
    slug: 'cuidado-correas-cuero',
    category: 'correas',
    date: '2025-01-22',
    readMin: 5,
    hero: 'products/blog/04-leather-belt-care.webp',
    title: { es: 'Cómo cuidar tus correas de cuero para que duren toda la vida', en: 'How to Care for Your Leather Belts So They Last a Lifetime', fr: 'Comment entretenir vos ceintures en cuir pour qu\'elles durent toute une vie' },
    excerpt: { es: 'Una correa de cuero bien cuidada puede durar décadas. Sigue esta guía paso a paso para limpiar, nutrir y proteger tu inversión.', en: 'A well-maintained leather belt can last decades. Follow this step-by-step guide to clean, nourish and protect your investment.', fr: 'Une ceinture en cuir bien entretenue peut durer des décennies. Suivez ce guide pour nettoyer et protéger votre investissement.' },
    content: [
      { t: 'p', v: 'Una correa de cuero genuino es, si se cuida correctamente, la última correa que comprarás. El cuero es un material orgánico que responde al trato que recibe: descuidado, se seca, agrieta y rompe; tratado con atención, desarrolla carácter y se vuelve más hermoso con los años.' },
      { t: 'h2', v: 'Limpieza básica: quitar el polvo y suciedad superficial' },
      { t: 'p', v: 'Lo primero es eliminar el polvo acumulado con un trapo suave seco o ligeramente húmedo. Nunca uses agua en abundancia — el exceso de humedad puede manchar y deformar el cuero. Para suciedad más adherida, usa un jabón neutro específico para cuero (saddle soap) aplicado con un trapo o esponja suave en movimientos circulares, luego retira con otro trapo limpio.' },
      { t: 'h2', v: 'Nutrición: el paso que más se olvida' },
      { t: 'p', v: 'El cuero pierde sus aceites naturales con el tiempo y el uso. Reabastecer esos aceites con un acondicionador específico — de lanolina, cera de abeja o aceite de neatsfoot — evita el resecamiento y las grietas. Aplica una cantidad pequeña con un trapo suave, frota en movimientos circulares y deja reposar al menos 30 minutos antes de pulir.' },
      { t: 'ul', v: ['Usa acondicionadores específicos para cuero — nunca aceite de cocina ni vaselina.', 'Condiciona cada 3-6 meses dependiendo del uso y el clima.', 'En climas muy secos o fríos, aumenta la frecuencia de acondicionamiento.', 'Tras acondicionarla, deja la correa a temperatura ambiente — nunca cerca de fuentes de calor.'] },
      { t: 'h2', v: 'Protección contra agua y manchas' },
      { t: 'p', v: 'Una capa de cera o spray impermeabilizante (a base de cera de abeja, no silicona) aplicada después del acondicionamiento crea una barrera contra la humedad y las manchas. Esto es especialmente importante para correas usadas en exteriores o en climas lluviosos como muchas regiones de Canadá.' },
      { t: 'h2', v: 'Almacenamiento correcto' },
      { t: 'p', v: 'Enrolla la correa sin forzarla y guárdala en un lugar seco y ventilado, alejado de la luz solar directa. Nunca la dobles en ángulo pronunciado ni la comprimas bajo objetos pesados. Si vas a guardarla por largo tiempo, envuélvela en tela de algodón — nunca en plástico, que impide la respiración del cuero.' },
      { t: 'blockquote', v: 'El cuero bien tratado no envejece — madura. Con el tiempo correcto y el cuidado adecuado, se convierte en una pieza única que cuenta tu historia.' },
    ],
  },
  {
    slug: 'historia-hebillas-western',
    category: 'hebillas',
    date: '2025-01-08',
    readMin: 6,
    hero: 'products/blog/05-western-buckle.webp',
    title: { es: 'Hebillas western: historia, simbología y cómo elegir la tuya', en: 'Western Buckles: History, Symbolism and How to Choose Yours', fr: 'Boucles western : histoire, symbolique et comment choisir la vôtre' },
    excerpt: { es: 'Desde los rodeos de Wyoming hasta las pasarelas de moda, la hebilla western evolucionó de herramienta funcional a símbolo de identidad. Su historia es más rica de lo que imaginas.', en: 'From Wyoming rodeos to fashion runways, the western buckle evolved from functional tool to identity symbol. Its history is richer than you think.', fr: 'Des rodéos du Wyoming aux podiums de mode, la boucle western est devenue un symbole d\'identité.' },
    content: [
      { t: 'p', v: 'En el mundo vaquero, pocas piezas tienen tanta carga simbólica como la hebilla. No es solo el cierre de un cinturón — es un trofeo, un escudo de armas, una declaración de quién eres y de dónde vienes.' },
      { t: 'h2', v: 'Origen: del utilitario al icónico' },
      { t: 'p', v: 'Las primeras hebillas western de gran tamaño aparecieron a finales del siglo XIX entre los vaqueros del suroeste de Estados Unidos. Eran piezas de cuero reforzado con metal que cumplían una función puramente práctica: mantener el cinturón bien sujeto durante el trabajo intenso. Con el tiempo, los artesanos comenzaron a agregarles grabados, metales preciosos y simbolismo regional.' },
      { t: 'h2', v: 'La hebilla de rodeo: el trofeo más deseado' },
      { t: 'p', v: 'A partir de los años 1920, los campeonatos de rodeo comenzaron a entregar hebillas como trofeos a los ganadores. Una hebilla de campeón no era un accesorio — era una medalla de oro. Esta tradición convirtió a las hebillas grandes y elaboradas en símbolos de estatus y destreza. Hoy, ganar una "buckle" en rodeo sigue siendo el mayor honor para un jinete profesional.' },
      { t: 'h2', v: 'Tipos de hebillas y sus materiales' },
      { t: 'ul', v: ['Plata esterlina: el material más tradicional y valorado. Resistente al óxido y de brillo duradero.', 'Latón bañado en plata u oro: más accesible sin sacrificar el aspecto clásico.', 'Alpaca o metal blanco: popular por su relación calidad-precio y acabado similar a la plata.', 'Acero inoxidable: moderno, muy resistente, ideal para uso intenso en campo.'] },
      { t: 'h2', v: 'Grabados y simbolismo' },
      { t: 'p', v: 'Los grabados en las hebillas western no son aleatorios. Las hojas de roble representan fuerza y resistencia; las rosas, la feminidad y la gracia; los caballos, la libertad; las espuelas y lazos, el oficio vaquero. Muchos artesanos graban iniciales, fechas o escenas personalizadas, convirtiendo cada pieza en una obra única e irrepetible.' },
      { t: 'h2', v: 'Cómo elegir la tuya' },
      { t: 'p', v: 'El tamaño importa: una hebilla demasiado grande en una persona de contextura delgada resulta desproporcionada, y viceversa. Para uso diario, una hebilla de tamaño moderado (5-7 cm de ancho) funciona con casi cualquier outfit. Para eventos o el campo, puedes ir a piezas más grandes y elaboradas. El material de la correa debe complementar la hebilla: cuero natural con plata, cuero oscuro con latón o acero.' },
      { t: 'blockquote', v: 'La hebilla correcta no destaca por ser grande — destaca porque pertenece exactamente al lugar donde está.' },
    ],
  },
  {
    slug: 'outfit-vaquero-cinturon-cuero',
    category: 'estilo',
    date: '2024-12-15',
    readMin: 4,
    hero: 'products/blog/04-leather-belt-care.webp',
    title: { es: '5 looks vaqueros que se construyen alrededor del cinturón de cuero', en: '5 Cowboy Looks Built Around the Leather Belt', fr: '5 looks western qui s\'articulent autour de la ceinture en cuir' },
    excerpt: { es: 'El cinturón de cuero es el eje del estilo western. Aquí te mostramos cómo construir cinco outfits distintos — del casual al formal — con él como protagonista.', en: 'The leather belt is the axis of western style. Here\'s how to build five different outfits — from casual to formal — with it as the centrepiece.', fr: 'La ceinture en cuir est l\'axe du style western. Voici comment construire cinq tenues différentes avec elle comme pièce maîtresse.' },
    content: [
      { t: 'p', v: 'En el estilo vaquero, el cinturón no es un complemento — es la columna vertebral del look. Un buen cinturón de cuero con su hebilla bien elegida puede elevar un outfit sencillo o rematar uno elaborado. Aquí te presentamos cinco formas de construir alrededor de él.' },
      { t: 'h2', v: '1. El clásico cotidiano' },
      { t: 'p', v: 'Jeans de corte recto en índigo oscuro, camisa de franela o chambray, botas de punta de cuero café y un cinturón de cuero natural de 4 cm con hebilla cuadrada en latón. Sin excesos. Este look funciona desde el desayuno hasta la tarde sin parecer disfrazado.' },
      { t: 'h2', v: '2. El urbano sofisticado' },
      { t: 'p', v: 'Pantalón chino en tono tierra o caqui, camisa de botones blanca con las mangas subidas, mocasines o botines de cuero oscuro y cinturón delgado (3 cm) en cuero negro con hebilla discreta plateada. Un sombrero de fieltro gris completa la ecuación sin sobrecargarla.' },
      { t: 'h2', v: '3. El festivo' },
      { t: 'p', v: 'Para eventos, ferias y celebraciones: jeans oscuros bien ajustados, camisa de vaquero con bordados o botones de perla, botas puntiagudas de cuero exótico y un cinturón ancho (5 cm) con hebilla grande grabada — aquí sí, más es más. El sombrero de fieltro negro o blanco con cinta de cuero cierra el conjunto.' },
      { t: 'h2', v: '4. El de trabajo en campo' },
      { t: 'p', v: 'Pantalón de trabajo resistente, camisa de manga larga gruesa, botas con puntera de acero y cinturón de trabajo en cuero curtido vegetal — grueso, sin adornos, con hebilla de herraje simple y resistente. La funcionalidad es la estética.' },
      { t: 'h2', v: '5. El elegante de noche' },
      { t: 'p', v: 'Pantalón negro de corte recto, camisa oscura de botones o incluso un blazer fino, botas de cuero liso negro con taco apilado y un cinturón de cuero negro con hebilla de plata esterlina o alpaca. Sofisticado, inconfundible, completamente vaquero.' },
      { t: 'blockquote', v: 'El estilo vaquero no es disfraz — es una filosofía de vestir que valora la calidad, la durabilidad y la identidad sobre las tendencias pasajeras.' },
    ],
  },
  {
    slug: 'limpiar-sombrero-fieltro',
    category: 'sombreros',
    date: '2024-12-01',
    readMin: 5,
    hero: 'products/blog/12-hat-cleaning.webp',
    title: { es: 'Guía definitiva para limpiar y conservar tu sombrero de fieltro', en: 'The Definitive Guide to Cleaning and Preserving Your Felt Hat', fr: 'Guide définitif pour nettoyer et conserver votre chapeau en feutre' },
    excerpt: { es: 'El fieltro es delicado pero resistente si se trata bien. Aprende a quitar manchas, recuperar la forma y proteger tu sombrero para que te acompañe por años.', en: 'Felt is delicate but resilient when properly treated. Learn to remove stains, restore shape and protect your hat for years to come.', fr: 'Le feutre est délicat mais résistant s\'il est bien traité. Apprenez à enlever les taches et à restaurer la forme de votre chapeau.' },
    content: [
      { t: 'p', v: 'El fieltro de lana prensada es, sin duda, el material más asociado al sombrero vaquero clásico. Es cálido, moldeable, elegante y sorprendentemente resistente — pero solo si se cuida correctamente. Un sombrero descuidado pierde su forma, acumula sudor y polvo, y se desgasta antes de tiempo.' },
      { t: 'h2', v: 'Limpieza cotidiana: el hábito que más protege' },
      { t: 'p', v: 'Después de cada uso, pasa suavemente un cepillo de cerdas suaves (de nailon o pelo de caballo) en la dirección contraria a las agujas del reloj — así se retirar el polvo sin alterar las fibras. Nunca frotes de adelante hacia atrás; siempre sigue la dirección natural del fieltro para no levantar pelusas.' },
      { t: 'h2', v: 'Manchas: cómo actuar según el tipo' },
      { t: 'ul', v: ['Polvo y suciedad seca: cepillo suave en dirección correcta. Sin agua.', 'Manchas de sudor en el ala interior: esponja apenas húmeda con agua tibia y jabón neutro, secar al aire.', 'Manchas de grasa: talco o maicena sobre la mancha, dejar actuar 8 horas, luego cepillar suavemente.', 'Manchas de lluvia: deja secar completamente y luego cepilla. No aceleres con calor.'] },
      { t: 'h2', v: 'Recuperar la forma con vapor' },
      { t: 'p', v: 'El fieltro responde muy bien al vapor. Si tu sombrero perdió forma, sostenerlo sobre el vapor de una olla o un vaporizador de ropa (a distancia prudente) ablandará las fibras. Luego moldéalo con las manos y déjalo secar sobre una horma o con papel de seda en el interior para mantener la forma mientras seca.' },
      { t: 'h2', v: 'Almacenamiento: tan importante como el uso' },
      { t: 'p', v: 'Guarda siempre el sombrero con el ala hacia arriba o sobre la copa en un lugar seco, fresco y alejado de la luz directa. Nunca lo apiles con objetos encima. Si tienes su caja original, úsala — está diseñada para mantener la forma. Fuera de caja, una horma de madera o espuma es tu mejor aliada.' },
      { t: 'h2', v: 'Lo que nunca debes hacer' },
      { t: 'ul', v: ['No metas el sombrero de fieltro en agua — lo deformarás irreversiblemente.', 'No uses secadora ni calor directo para secar.', 'No lo presiones ni aplastes durante el transporte.', 'No lo dejes en el carro bajo el sol — el calor intenso lo deforma y decolora.'] },
      { t: 'blockquote', v: 'Un sombrero de fieltro bien cuidado puede pasar de generación en generación. Es uno de los pocos accesorios que literalmente puede heredarse.' },
    ],
  },
  {
    slug: 'outfit-vaquero-moderno',
    category: 'estilo',
    date: '2025-01-28',
    readMin: 6,
    hero: 'products/blog/06-cowboy-outfit.webp',
    title: { es: 'Outfit vaquero moderno: cómo combinar sombrero, cinturón y hebilla sin errores', en: 'Modern Cowboy Outfit: How to Combine Hat, Belt and Buckle Without Mistakes', fr: 'Look cowboy moderne : comment combiner chapeau, ceinture et boucle sans faute' },
    excerpt: { es: 'El error más común del estilo vaquero es el desequilibrio. Aprende a distribuir el peso visual entre sombrero, cinturón y hebilla para un look armónico.', en: 'The most common cowboy style mistake is imbalance. Learn to distribute visual weight between hat, belt and buckle for a harmonious look.', fr: 'L\'erreur la plus fréquente du style cowboy est le déséquilibre. Apprenez à distribuer le poids visuel.' },
    content: [
      { t: 'p', v: 'Un error frecuente al construir un outfit vaquero es tratar cada accesorio por separado. Sombrero, cinturón y hebilla no son piezas independientes — son un sistema visual que funciona como un todo. Si uno pesa demasiado, los demás se pierden; si todos compiten por atención, el resultado es ruido.' },
      { t: 'h2', v: 'La regla del punto focal' },
      { t: 'p', v: 'Todo buen outfit vaquero tiene un punto focal — un lugar donde el ojo aterriza primero. Ese punto puede ser el sombrero (cuando es grande y ornamentado), la hebilla (cuando es de plata esterlina con grabados elaborados), o incluso el cinturón (cuando tiene un trabajo de cuero detallado). Los demás elementos deben retroceder y apoyar, no competir.' },
      { t: 'h2', v: 'Sombrero con hebilla: cuándo funcionan juntos' },
      { t: 'p', v: 'Si llevas un sombrero muy elaborado — con banda bordada, plumas o adornos — la hebilla debe ser más sencilla: plata sólida sin grabados excesivos, o acero con líneas simples. La combinación de sombrero rico más hebilla rica resulta visualmente saturada, como una orquesta con todos los instrumentos sonando al máximo.' },
      { t: 'h2', v: 'El color del cuero: cómo maridarlo' },
      { t: 'ul', v: ['Sombrero café tabaco → cinturón café oscuro o negro, hebilla de plata o latón aged.', 'Sombrero negro → cinturón negro, hebilla de plata Sterling o níquel, nunca latón dorado (queda artificial).', 'Sombrero gris o hueso → cinturón café claro o gris, hebilla de plata de brillo moderado.', 'Sombrero de paja → cinturón de cuero natural claro, hebilla de latón suave.'] },
      { t: 'h2', v: 'Proporción: el error que más se repite' },
      { t: 'p', v: 'Si eres alto y corpulento, puedes llevar sombrero de ala ancha y hebilla grande. Si eres más pequeño o delgado, reduce la escala de ambos. Una error común es compensar un sombrero grande con una hebilla pequeña — eso hace que el conjunto se vea incompleto.' },
      { t: 'h2', v: 'Cuándo romper la regla' },
      { t: 'p', v: 'En rodeos y eventos formales, las reglas se pueden doblar. Un sombrero 8 Segundos negro con hebilla de plata masiva y cinturón tooling completo es un error deliberado que comunica que estás hablando en serio. La clave es que haya unidad de estilo: todos los elementos comparten la misma calidad y el mismo espíritu.' },
      { t: 'blockquote', v: 'El estilo vaquero no es sobre acumulación — es sobre selección. Cada pieza debe ganarse su lugar.' },
    ],
  },
  {
    slug: 'por-que-comprar-al-mayor-sensstyle',
    category: 'cuero',
    date: '2025-01-18',
    readMin: 5,
    hero: 'products/blog/07-wholesale-warehouse.webp',
    title: { es: 'Por qué comprar al mayor puede transformar tu negocio de accesorios de cuero', en: 'Why Buying Wholesale Can Transform Your Leather Accessories Business', fr: 'Pourquoi acheter en gros peut transformer votre entreprise d\'accessoires en cuir' },
    excerpt: { es: 'Comprar al mayor no es solo obtener mejor precio. Es acceder a productos que tus competidores no tienen, con la consistencia que tus clientes esperan.', en: 'Buying wholesale isn\'t just about getting a better price. It\'s about accessing products your competitors don\'t have, with the consistency your customers expect.', fr: 'Acheter en gros n\'est pas seulement obtenir un meilleur prix. C\'est accéder à des produits que vos concurrents n\'ont pas.' },
    content: [
      { t: 'p', v: 'En el mercado de accesorios de cuero — sombreros, correas, hebillas, billeteras — la diferencia entre un negocio que crece y uno que se estanca suele estar en la cadena de suministro. Quién surte, cómo lo hace y qué márgenes deja determinan casi todo.' },
      { t: 'h2', v: 'El margen que importa' },
      { t: 'p', v: 'Un proveedor mayorista serio como SensStyle trabaja con márgenes que permiten al distribuidor competir en precio sin sacrificar calidad. Comprar pieza por pieza en importaciones pequeñas significa pagar costos de envío unitarios altos, plazos de entrega impredecibles y ninguna garantía de consistencia entre lotes.' },
      { t: 'h2', v: 'Consistencia entre pedidos' },
      { t: 'p', v: 'El error más grande que puede tener un distribuidor es que un cliente compre un sombrero hoy, vuelva en tres meses y el modelo ya no exista o tenga variaciones de color que no había antes. SensStyle produce en lotes controlados, lo que permite garantizar que cada pedido llegue con los mismos estándares. Un cliente satisfecho vuelve; uno decepcionado no vuelve nunca.' },
      { t: 'h2', v: 'Acceso a productos exclusivos' },
      { t: 'p', v: 'No todos los proveedores tienen acceso a ciertas líneas de productos. SensStyle trabaja directo con artesanos que producen sombreros y hebillas en ediciones limitadas. Cuando un distribuidor tiene acceso exclusivo a esas piezas en su región, puede establecer un posicionamiento que sus competidores no pueden replicar fácilmente.' },
      { t: 'h2', v: 'Plazos de entrega confiables' },
      { t: 'p', v: 'El tiempo es dinero. Un distribuidor que puede planificar sus pedidos con semanas de anticipación puede mantener un inventario más inteligente — ni demasiado ni demasiado poco. Los proveedores menores que operan con importaciones improvisadas obligan a mantener stocks altos "por si acaso", lo que inmoviliza capital que podría usarse en marketing o expansión.' },
      { t: 'h2', v: 'Cómo empezar con SensStyle' },
      { t: 'p', v: 'El proceso es simple: completas el formulario de solicitud de distribuidor, nuestro equipo revisa tu empresa y en 48-72 horas tienes una respuesta. Los nuevos distribuidores reciben un catálogo completo con precios al mayor, mínimos de pedido accesibles y acceso a las mismas líneas que los distribuidores establecidos.' },
      { t: 'blockquote', v: 'La decisión de comprar al mayor no es solo financiera — es estratégica. Define cómo tu negocio compite en los próximos 5 años.' },
    ],
  },
  {
    slug: 'tendencias-cuero-2025',
    category: 'estilo',
    date: '2025-01-05',
    readMin: 7,
    hero: 'products/blog/08-leather-trends.webp',
    title: { es: 'Tendencias en cuero 2025: lo que está definiendo el mercado western y vaquero', en: '2025 Leather Trends: What\'s Defining the Western and Cowboy Market', fr: 'Tendances cuir 2025 : ce qui définit le marché western et cowboy' },
    excerpt: { es: 'El cuero nunca pasa de moda, pero sí evoluciona. Estas son las tendencias que están definiendo el mercado en 2025.', en: 'Leather never goes out of style, but it does evolve. These are the trends defining the market in 2025.', fr: 'Le cuir ne se démode jamais, mais il évolue. Voici les tendances qui définissent le marché en 2025.' },
    content: [
      { t: 'p', v: 'El mercado de accesorios de cuero western y vaquero en 2025 está siendo transformado por una combinación de nostalgia, sostenibilidad y tecnología. Los distribuidores que entiendan estas tendencias estarán mejor posicionados para Stockear lo que sus clientes realmente buscan.' },
      { t: 'h2', v: '1. El regreso del sombrero de fieltro de alta gama' },
      { t: 'p', v: 'Después de años de dominio de los materiales sintéticos y las versiones económicas, el sombrero de fieltro de lana prensada de primera calidad está regresando. Los consumidores están dispuestos a pagar más por un sombrero que tenga historia, peso y durabilidad. Esto es especialmente notable en Canadá, donde el invierno impulsa la demanda de accesorios funcionales y con presencia.' },
      { t: 'h2', v: '2. Hebillas más pequeñas, más detalladas' },
      { t: 'p', v: 'La tendencia de las hebillas masivas del 2015-2020 está cediendo espacio a piezas más pequeñas y con mayor densidad de detalle. Grabados a mano, piedras naturales, trabajos de filigrana en plata. El tamaño ya no es señal de estatus — lo es la calidad del trabajo artesanal.' },
      { t: 'h2', v: '3. Cuero teñido a mano y con pátina artesanal' },
      { t: 'p', v: 'Los compradores buscan productos que muestren el proceso humano. Cuero teñido con técnicas tradicionales, con variaciones naturales que no se pueden replicar industrialmente. Las billeteras y correas con pátina artesanal tienen un atractivo que los productos factory-made no pueden igualar.' },
      { t: 'h2', v: '4. La sostenibilidad como argumento de venta' },
      { t: 'p', v: 'El consumidor informado ya no pregunta solo "¿de dónde viene?" sino "¿cómo se hizo?" Los distribuidores que puedan hablar sobre curtido responsable, curtidores certificados y procesos con bajo impacto ambiental tienen una ventaja competitiva real. SensStyle trabaja solo con proveedores que cumplen estándares ambientales verificables.' },
      { t: 'h2', v: '5. Accesorios gender-neutral' },
      { t: 'p', v: 'Las líneas de sombreros, correas y hebillas que funcionan para cualquier género están creciendo. Marcas que antes segmentaban por género ahora ofrecen productos universales que funcional tanto en hombres como en mujeres. Esto abre un mercado más amplio sin necesidad de duplicar inventario.' },
      { t: 'h2', v: '6. Personalización como valor agregado' },
      { t: 'p', v: 'La opción de grabar iniciales, fechas o símbolos personales en hebillas y cinturones se ha convertido en un argumento de venta poderoso. El precio de la personalización ha bajado gracias a nuevas tecnologías de grabado láser, lo que la hace accesible para más distribuidores.' },
      { t: 'blockquote', v: 'El mercado premia a quien entiende lo que el cliente quiere sentir, no solo lo que quiere ver.' },
    ],
  },
  {
    slug: 'billeteras-cuero-para-regalo',
    category: 'cuero',
    date: '2024-12-20',
    readMin: 5,
    hero: 'products/blog/09-leather-wallet-gift.webp',
    title: { es: 'Billeteras de cuero: la guía definitiva para regalos con significado', en: 'Leather Wallets: The Ultimate Guide to Meaningful Gifts', fr: 'Portefeuilles en cuir : le guide ultime des cadeaux significatifs' },
    excerpt: { es: 'Una billetera de cuero genuino no es solo un accesorio — es un objeto que acompaña a su dueño durante años. Cómo elegir la correcta para cada persona.', en: 'A genuine leather wallet isn\'t just an accessory — it\'s an object that accompanies its owner for years. How to choose the right one for each person.', fr: 'Un portefeuille en cuir véritable n\'est pas qu\'un accessoire — c\'est un objet qui accompagne son propriétaire pendant des années.' },
    content: [
      { t: 'p', v: 'Elegir una billetera de cuero como regalo parece sencillo hasta que entras a una tienda y enfrentas 40 opciones que a primera vista parecen iguales. Marrón oscuro, marrón claro, negro, con monedero, sin monedero, con cierre... La diferencia entre una billetera que se seguirá usando durante 10 años y una que termina en un cajón a los 6 meses está en detalles que no se notan en el momento de la compra.' },
      { t: 'h2', v: 'Material: lo primero que hay que verificar' },
      { t: 'p', v: 'No todas las billeteras etiquetadas como "cuero" son de cuero genuino. La mayoría de las opciones económicas en tiendas de departamento son PVC o poliuretano con una superficie que simula la textura del cuero. Una prueba simple: pon una gota de agua sobre la superficie. Si se absorbe lentamente, es cuero genuino. Si permanece en la superficie, es sintético.' },
      { t: 'h2', v: 'Formato: horizontal o vertical' },
      { t: 'p', v: 'La billetera horizontal clásica es la más común y versátil. Cabe bien en el bolsillo trasero del pantalón. La billetera vertical (fold-over) es mejor para quienes usan bolsillos delanteros o chaquetas. Para mujeres, las billeteras de formato más grande con compartimentos múltiples suelen ser más prácticas.' },
      { t: 'h2', v: '¿Qué decir grabando?' },
      { t: 'p', v: 'La personalización eleva un regalo de accesorio a objeto con memoria. Las iniciales son el grabado más común y siempre apropiado. Para parejas, las fechas (aniversario, compromiso) son especialmente significativas. Para alguien iniciando un nuevo trabajo, una frase corta como "Nuevo Capítulo" puede ser más especial que cualquier inicial.' },
      { t: 'h2', v: 'El precio y qué esperar' },
      { t: 'p', v: 'Una billetera de cuero genuino de calidad decente empieza en el rango de $40-60 USD. Por debajo de eso, es casi seguro sintético o cuero de muy baja calidad que se degradará rápido. En el rango $80-150 USD encuentras piezas que pueden durar décadas si se cuidan. Las billeteras de marcas reconocidas en $200+ suelen ofrecer materiales premium pero no necesariamente más durabilidad.' },
      { t: 'h2', v: 'Cuidado: el regalo que sigue funcionando' },
      { t: 'p', v: 'Una billetera de cuero bien cuidada puede superar los 15 años. El cuidado básico es simple: evitar humedad excesiva, no doblarla en ángulos cerrados, y cada 6-12 meses aplicar un acondicionador de cuero específico. Si se moja, dejar secar a temperatura ambiente, nunca con calor directo. Con ese mínimo de atención, la billetera será usable por mucho más que un teléfono.' },
      { t: 'blockquote', v: 'El mejor regalo de cuero no es el más caro — es el que se elige con la persona en mente.' },
    ],
  },
  {
    slug: 'hebillas-coleccionable',
    category: 'hebillas',
    date: '2024-12-05',
    readMin: 8,
    hero: 'products/blog/10-buckle-collection.webp',
    title: { es: 'Hebillas de colección: cómo iniciar tu colección de hebillas western', en: 'Collector Buckles: How to Start Your Western Buckle Collection', fr: 'Boucles de collection : comment démarrer votre collection de boucles western' },
    excerpt: { es: 'Las hebillas western pasaron de ser premios de rodeo a objetos de colección valorados por miles de entusiastas en Norteamérica. Cómo empezar.', en: 'Western buckles went from rodeo prizes to collectible objects valued by thousands of enthusiasts across North America. How to start.', fr: 'Les boucles western sont passées de prix de rodéo à objets de collection appreciés par des milliers d\'enthousiastes en Amérique du Nord.' },
    content: [
      { t: 'p', v: 'Coleccionar hebillas western es un pasatiempo que combina historia, artesanía y diseño. Las hay desde $30 USD hasta varias de miles de dólares. La diferencia la hacen el metal, el artesano, la edición y la historia detrás de cada pieza.' },
      { t: 'h2', v: 'Por dónde empezar' },
      { t: 'p', v: 'El error más común del coleccionista principiante es comprar piezas atractivas sin un criterio claro. Antes de comprar tu primera hebilla de colección, define tu enfoque: ¿te interesan las hebillas de campeones de rodeo? ¿Las artesanales con grabados específicos? ¿Las de una región o artesano particular? Una colección sin foco se convierte en acumulación; una con dirección se convierte en algo que contar.' },
      { t: 'h2', v: 'Materiales que buscan los coleccionistas' },
      { t: 'ul', v: ['Plata esterlina (Sterling Silver): el estándar de oro del coleccionismo. Piezas de 925 sterling con grabados a mano son las más valoradas.', 'Oro: piezas limitadas de alta gama, generalmente disponibles solo en subastas especializadas.', 'Latón con baños de plata u oro: más accesibles pero con belleza similar.', 'Acero inoxidable: piezas modernas con buena resistencia a la corrosión y brillo duradero.'] },
      { t: 'h2', v: 'Ediciones limitadas y numeradas' },
      { t: 'p', v: 'Las hebillas que forman parte de ediciones numeradas (por ejemplo, "125 de 500") tienen un valor de colección que crece con el tiempo. Al comprar hebillas numeradas, asegúrate de que incluyan su certificado de autenticidad. Sin ese documento, el número de edición no tiene valor verificable.' },
      { t: 'h2', v: 'Cómo evaluar condición' },
      { t: 'p', v: 'Una hebilla de colección en condición mint (sin uso, sin marcas) vale más que la misma pieza con señales de uso. Evalúa: rayones en la superficie, desgaste en los grabados, manchas de óxido en metales no preciosos, pérdida de brillo en plata. Si la compras para colección y no para usar, insiste en condición mint o excelente.' },
      { t: 'h2', v: 'Dónde encontrar hebillas de colección' },
      { t: 'p', v: 'Los distribuidores oficiales de SensStyle tienen acceso a líneas de hebillas artesanas que no están disponibles en el mercado abierto. Para piezas realmente exclusivas, la recomendación es establecer relación con distribuidores que trabajen directamente con los talleres de artesanía. Ellos pueden guiar qué piezas tienen potencial de apreciación.' },
      { t: 'h2', v: 'El error del coleccionista impaciente' },
      { t: 'p', v: 'Comprar demasiadas piezas al inicio sin entender el mercado lleva a una colección que vale menos de lo que costaste. Empieza lento: una o dos piezas por año, bien elegidas, con historia documentada. En 10 años tendrás un conjunto valioso y con historia real.' },
      { t: 'blockquote', v: 'Coleccionar hebillas no es acumular objetos — es guardar pedazos de historia del oeste.' },
    ],
  },
  {
    slug: 'como-medir-tu-cabeza-sombrero',
    category: 'sombreros',
    date: '2024-11-25',
    readMin: 4,
    hero: 'products/blog/11-head-measure.webp',
    title: { es: 'Cómo medir tu cabeza para encontrar el sombrero del tamaño perfecto', en: 'How to Measure Your Head for the Perfect Hat Size', fr: 'Comment mesurer votre tête pour trouver la taille de chapeau parfaite' },
    excerpt: { es: 'La mayoría de las personas usan el tamaño de sombrero incorrecto. Aprender a medir correctamente significa la diferencia entre un sombrero incómodo y uno que se siente como hecho para ti.', en: 'Most people wear the wrong hat size. Learning to measure correctly means the difference between an uncomfortable hat and one that feels custom-made.', fr: 'La plupart des gens portent la mauvaise taille de chapeau. Apprendre à mesurer correctement fait la différence.' },
    content: [
      { t: 'p', v: 'El sombrero perfecto no existe sin la medida correcta. Después de años probándote sombreros en tiendas, puede que sigas usando un tamaño incorrecto. La buena noticia: medir tu cabeza es simple y toma menos de 5 minutos.' },
      { t: 'h2', v: 'Lo que necesitas' },
      { t: 'p', v: 'Una cinta métrica de tela (la de costurero), o en su defecto una tira de papel o cordón que luego midas con una regla. No uses cinta metálica o rígida — no cede y te dará medidas inexactas.' },
      { t: 'h2', v: 'El proceso paso a paso' },
      { t: 'ul', v: ['Coloca la cinta métrica alrededor de tu cabeza, justo por encima de las orejas y las cejas.', 'La cinta debe quedar nivelada (no inclinada) todo alrededor.', 'Aprieta lo suficiente para que no se mueva, pero sin dejar marca en el cuero cabelludo.', 'Anota la medida en centímetros. Divide entre 2.54 para obtener pulgadas.', 'Esa medida en pulgadas corresponde a tu talla de sombrero en el sistema estadounidense.'] },
      { t: 'h2', v: 'Tallas y conversiones' },
      { t: 'ul', v: ['Cabeza de 55 cm ≈ talla 6 7/8', 'Cabeza de 56 cm ≈ talla 7', 'Cabeza de 57 cm ≈ talla 7 1/8', 'Cabeza de 58 cm ≈ talla 7 1/4', 'Cabeza de 59 cm ≈ talla 7 3/8', 'Cabeza de 60 cm ≈ talla 7 1/2', 'Cabeza de 61 cm ≈ talla 7 5/8', 'Cabeza de 62 cm ≈ talla 7 3/4'] },
      { t: 'h2', v: 'Qué hacer si estás entre tallas' },
      { t: 'p', v: 'Si tu medida cae entre dos tallas, la recomendación general es elegir la talla más grande y usar insertos de espuma o cuero para ajustar. Un sombrero demasiado pequeño causa incomodidad inmediata y marca la frente; uno ligeramente grande se puede ajustar con el tiempo (el cuero cede) y con accesorios internos.' },
      { t: 'h2', v: 'El sombrero no debe apretar la cabeza' },
      { t: 'p', v: 'Un error común es pensar que un sombrero debe sentirse apretado para "no caer". Un sombrero bien ajustado se siente presente pero no apretado. Deberías poder pasar un dedo entre la cinta y tu cabeza sin resistencia. Los rostros más anchos (capacidad craneal mayor) a veces requieren ajustar no solo la talla sino el estilo del sombrero (copa más ancha, ala más corta).' },
      { t: 'blockquote', v: 'El sombrero correcto no lo notas. Si lo sientes, es que está mal ajustado.' },
    ],
  },
];


// ── Hats with lifestyle images (AI generated) ──────────────────────────────
const LIFESTYLE_HATS = new Set([1,2,3,4,5,6,7,8,9,10,45,50,51,52,53,54,55,56,57,97,98,99,100,101,102,103,104,149,151,152,153,154,155,156]);

function getLifestyleImages(hatId, hatStyle) {
  if (!LIFESTYLE_HATS.has(hatId)) return [];
  const folder = `products/lifestyle/${String(hatId).padStart(3, '0')}-${hatStyle}`;
  return [
    `${folder}/model.webp`,
    `${folder}/product.webp`,
    `${folder}/lifestyle.webp`
  ];
}

window.HAT_STYLES   = HAT_STYLES;
window.COLLECTIONS  = COLLECTIONS;
window.PRODUCTS     = PRODUCTS;
window.HAT_PRODUCTS = HAT_PRODUCTS;
window.LIFESTYLE_HATS = LIFESTYLE_HATS;
window.getLifestyleImages = getLifestyleImages;

window.BELT_PRODUCTS = BELT_PRODUCTS;
window.BUCKLE_IMAGES = BUCKLE_IMAGES;
window.UNSPLASH     = UNSPLASH;
window.MODEL_PHOTOS = MODEL_PHOTOS;
window.WEB_IMAGES   = WEB_IMAGES;
window.HERO_VIDEO   = HERO_VIDEO;
window.DISTRIBUTORS = DISTRIBUTORS;
window.BLOG_POSTS   = BLOG_POSTS;
window.PROVINCES    = PROVINCES;
