/* Hogarazo Crecimiento 1.0.0 */
.hz-growth-favorite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #d7e5dc;
    background: #fff;
    color: #0d7540;
    font-weight: 850;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.hz-growth-favorite:hover { transform: translateY(-1px); border-color: #15974d; }
.hz-growth-favorite.is-active { border-color: #15974d; background: #edf8f1; color: #15974d; }
.hz-growth-favorite > span:first-child { font-size: 1.15rem; line-height: 1; }
.hz-rotating-product,
.hz-editorial-product { position: relative; }
.hz-growth-favorite--loop {
    position: absolute;
    z-index: 8;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(3, 47, 29, .12);
}
.hz-growth-favorite--loop .hz-growth-favorite__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hz-growth-favorite--single { min-height: 44px; margin-top: 14px; padding: 10px 14px; border-radius: 12px; }
.hz-growth-page { width: min(1180px, calc(100% - 32px)); margin: 44px auto 80px; }
.hz-growth-page ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 22px !important; }
.hz-growth-page ul.products li.product { position: relative; width: auto !important; margin: 0 !important; }
.hz-growth-empty { padding: clamp(34px, 6vw, 70px); border: 1px solid #dce7e0; border-radius: 24px; background: #fff; text-align: center; box-shadow: 0 18px 50px rgba(3, 47, 29, .07); }
.hz-growth-empty h2 { margin-top: 0; color: #073f26; }
.hz-growth-empty p { max-width: 620px; margin: 12px auto 24px; color: #68776f; }

.hz-stock-alert { margin-top: 20px; padding: 20px; border: 1px solid #d7e5dc; border-radius: 16px; background: #f4faf6; }
.hz-stock-alert h3 { margin: 0 0 8px; color: #073f26; font-size: 1.08rem; }
.hz-stock-alert > p { margin: 0 0 14px; color: #68776f; font-size: .88rem; line-height: 1.55; }
.hz-stock-alert form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.hz-stock-alert input { width: 100%; min-height: 46px; border: 1px solid #cfded5; border-radius: 11px; background: #fff; }
.hz-stock-alert button { min-height: 46px; padding-inline: 16px; border: 0; border-radius: 11px; background: #0d7540; color: #fff; font-weight: 900; }
.hz-growth-message { margin-bottom: 13px; padding: 10px 12px; border-radius: 9px; font-size: .84rem; }
.hz-growth-message--success { background: #e3f7e9; color: #0b6534; }
.hz-growth-message--error { background: #fff0f0; color: #9b1c1c; }

.hz-bought-together { clear: both; margin: 0 0 32px; padding: clamp(22px, 3vw, 38px); border: 1px solid #dce6df; border-radius: 24px; background: #fff; box-shadow: 0 16px 42px rgba(4, 56, 34, .06); }
.hz-bought-together__heading p { margin: 0 0 5px; color: #15974d; font-size: .74rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.hz-bought-together__heading h2 { margin: 0 0 22px; color: #17221c; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.hz-bought-together__products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hz-bought-together__products article,
.hz-bought-together__products label { position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); align-items: center; gap: 13px; padding: 13px; border: 1px solid #dfe8e2; border-radius: 16px; background: #fafcfb; cursor: pointer; }
.hz-bought-together__products article.is-main { border-color: rgba(13, 117, 64, .32); background: #f0f8f3; cursor: default; }
.hz-bought-together__products img { width: 84px; height: 84px; object-fit: contain; border-radius: 11px; background: #fff; }
.hz-bought-together__products input { position: absolute; top: 10px; right: 10px; }
.hz-bought-together__products small,
.hz-bought-together__products strong,
.hz-bought-together__products span span { display: block; }
.hz-bought-together__products small { margin-bottom: 4px; color: #0d7540; font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.hz-bought-together__products strong { color: #17221c; font-size: .87rem; line-height: 1.35; }
.hz-bought-together__products span span { margin-top: 6px; color: #0d7540; font-weight: 900; }
.hz-bought-together__footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #dfe8e2; }
.hz-bought-together__footer p { margin: 0; }
.hz-bought-together__footer p span,
.hz-bought-together__footer p strong { display: block; }
.hz-bought-together__footer p span { color: #68776f; font-size: .78rem; }
.hz-bought-together__footer p strong { margin-top: 3px; color: #0d7540; font-size: 1.35rem; }
.hz-bought-together__footer button { min-height: 48px; padding: 10px 18px; border: 0; border-radius: 12px; background: #15974d; color: #fff; font-weight: 950; }

.hz-cart-reminder-optin { margin-top: 18px !important; padding: 13px 14px; border: 1px solid #dbe7df; border-radius: 12px; background: #f5faf7; }
.hz-cart-reminder-optin label { font-weight: 800 !important; }
.hz-cart-reminder-note { margin: -5px 0 18px; color: #68776f; font-size: .76rem; }

@media (max-width: 900px) {
    .hz-growth-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .hz-bought-together__products { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .hz-growth-page ul.products { grid-template-columns: 1fr !important; }
    .hz-stock-alert form { grid-template-columns: 1fr; }
    .hz-bought-together { padding: 18px; border-radius: 18px; }
    .hz-bought-together__products article,
    .hz-bought-together__products label { grid-template-columns: 72px minmax(0, 1fr); }
    .hz-bought-together__products img { width: 72px; height: 72px; }
    .hz-bought-together__footer { align-items: stretch; flex-direction: column; }
    .hz-bought-together__footer button { width: 100%; }
}

/* Hogarazo Crecimiento 1.1.0 — campañas. */
.hz-campaign-page,
.hz-campaign-archive { background: #f6faf7; }
.hz-campaign-hero { position: relative; min-height: 470px; display: grid; align-items: end; overflow: hidden; background: linear-gradient(135deg,#073f26,#0c7541); color: #fff; }
.hz-campaign-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,35,21,.9) 0%,rgba(3,35,21,.56) 52%,rgba(3,35,21,.18) 100%); }
.hz-campaign-hero__image { position:absolute; inset:0; }
.hz-campaign-hero__image img { width:100%; height:100%; object-fit:cover; }
.hz-campaign-hero__inner { position:relative; z-index:2; padding-block:70px; }
.hz-campaign-hero__inner > div { max-width:820px; }
.hz-campaign-hero__inner p,
.hz-campaign-archive__hero p { margin:0 0 10px; color:#ffdf5e; font-size:.78rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.hz-campaign-hero h1 { margin:0; color:#fff; font-size:clamp(3rem,7vw,6rem); line-height:.96; letter-spacing:-.055em; }
.hz-campaign-hero__subtitle { max-width:700px; margin-top:20px; color:rgba(255,255,255,.82); font-size:1.1rem; line-height:1.65; }
.hz-campaign-body { padding-block:64px 96px; }
.hz-campaign-copy { max-width:900px; margin:0 auto 44px; padding:clamp(24px,4vw,42px); border:1px solid #dce7e0; border-radius:22px; background:#fff; color:#425148; line-height:1.75; box-shadow:0 16px 44px rgba(3,47,29,.06); }
.hz-campaign-products { padding:clamp(24px,4vw,42px); border:1px solid #dce7e0; border-radius:26px; background:#fff; box-shadow:0 18px 50px rgba(3,47,29,.07); }
.hz-campaign-products > header { margin-bottom:28px; }
.hz-campaign-products > header p { margin:0 0 6px; color:#15974d; font-size:.74rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.hz-campaign-products > header h2 { margin:0; color:#073f26; font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.04em; }
.hz-campaign-products ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:20px!important; }
.hz-campaign-products ul.products li.product { position:relative; width:auto!important; margin:0!important; }
.hz-campaign-cta { display:flex; justify-content:center; margin-top:34px; }
.hz-campaign-cta a { display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:12px 22px; border-radius:13px; background:#15974d; color:#fff!important; font-weight:950; text-decoration:none!important; }
.hz-campaign-archive__hero { padding:82px 0; background:linear-gradient(135deg,#073f26,#0c7541); color:#fff; }
.hz-campaign-archive__hero h1 { margin:0; color:#fff; font-size:clamp(3rem,7vw,5.8rem); line-height:.98; letter-spacing:-.05em; }
.hz-campaign-archive__hero span { display:block; margin-top:18px; color:rgba(255,255,255,.76); font-size:1.05rem; }
.hz-campaign-archive__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-block:60px 96px; }
.hz-campaign-card { overflow:hidden; border:1px solid #dce7e0; border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(3,47,29,.07); }
.hz-campaign-card > a { display:block; aspect-ratio:16/10; overflow:hidden; background:#eaf5ee; }
.hz-campaign-card img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.hz-campaign-card:hover img { transform:scale(1.035); }
.hz-campaign-card__placeholder { display:grid; place-items:center; width:100%; height:100%; color:#0d7540; font-size:5rem; font-weight:950; }
.hz-campaign-card > div { padding:22px; }
.hz-campaign-card p { margin:0 0 6px; color:#15974d; font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.hz-campaign-card h2 { margin:0 0 18px; font-size:1.45rem; }
.hz-campaign-card h2 a { color:#073f26; text-decoration:none; }
.hz-campaign-card__link { color:#15974d!important; font-weight:900; text-decoration:none!important; }
@media (max-width: 980px) {
    .hz-campaign-products ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    .hz-campaign-archive__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
    .hz-campaign-hero { min-height:380px; }
    .hz-campaign-products ul.products,
    .hz-campaign-archive__grid { grid-template-columns:1fr!important; }
    .hz-campaign-products { padding:20px 16px; border-radius:20px; }
}
