:root{--hdi-green:#95c233;--hdi-dark:#26331f;--hdi-line:#e2e7de;--hdi-muted:#6d7569;--hdi-red:#b42318}body.hdi-modal-open{overflow:hidden}.hdi-location-bar{width:100%;border:0;border-bottom:1px solid #e9ece7;background:#fbfcfa;padding:7px 20px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:#33402e;font:inherit}.hdi-location-bar__pin{font-size:15px;color:#6f9f20}.hdi-location-bar__copy{display:flex;align-items:baseline;gap:6px;min-width:0}.hdi-location-bar__copy small{font-size:9px;color:#7a8276}.hdi-location-bar__copy strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdi-location-bar__change{font-size:9px;font-weight:800;color:#6a8f2c;text-decoration:underline}.hdi-product-promise{margin:12px 0 14px;border:1px solid #e3e8de;border-radius:16px;background:#fff;padding:13px 13px 12px;box-shadow:0 8px 24px rgba(18,24,16,.06)}.hdi-product-promise__head{display:flex;align-items:center;gap:10px}.hdi-product-promise__pin{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eef6e2;color:#65901d;font-weight:900;flex:0 0 34px}.hdi-product-promise__head>div{min-width:0;flex:1}.hdi-product-promise__place{display:block;color:#6d7569;font-size:10px;font-weight:700;letter-spacing:.01em}.hdi-product-promise__head strong{display:block;color:#273322;font-size:13.4px;line-height:1.28}.hdi-product-promise__head button{border:0;background:transparent;color:#648b25;font-size:10px;font-weight:850;cursor:pointer}.hdi-product-promise__options{display:grid;gap:9px;margin-top:11px}.hdi-product-grid{display:grid;grid-template-columns:1fr;gap:9px}.hdi-product-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e7ebe3;border-radius:14px;background:linear-gradient(180deg,#fff,#fcfdfb)}.hdi-product-option.is-home{border-color:#d7e4c4;background:linear-gradient(180deg,#fff,#f8fcf3);box-shadow:0 4px 12px rgba(84,118,38,.05)}.hdi-product-option.is-shalom{border-color:#e6d9ef;background:linear-gradient(180deg,#fff,#fcf8ff);box-shadow:0 4px 12px rgba(102,64,120,.05)}.hdi-product-option.is-muted{opacity:.78}.hdi-product-option__icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:#f4f6f1;color:#405036;font-size:17px}.hdi-product-option__icon img{width:27px;height:27px;object-fit:contain}.hdi-product-option__icon svg{width:23px;height:23px;display:block}.hdi-product-option.is-home .hdi-product-option__icon{background:#eef6e2;color:#618b20}.hdi-product-option.is-shalom .hdi-product-option__icon{background:#f7f0fb}.hdi-product-option__copy{min-width:0;display:block}.hdi-product-option__copy strong{display:block;color:#293126;font-size:12.4px;line-height:1.18;font-weight:800}.hdi-product-option__copy small{display:block;line-height:1.35}.hdi-product-option__meta{margin-top:4px;color:#4b5645;font-size:10.4px;font-weight:700}.hdi-product-option__note{margin-top:3px;color:#7b8476;font-size:9.2px}.hdi-product-empty{width:100%;padding:10px 12px;border:1px dashed #cfd7c8;border-radius:11px;background:#fff;color:#607054;font-size:10.5px;font-weight:750;cursor:pointer}.hdi-product-promise__loading{color:#7b8278;font-size:9.5px}.hdi-mini{display:block;width:100%;margin:8px 0 10px;padding:11px 12px;border:1px solid #dce7cf;border-radius:12px;background:#f8fcef;text-align:left;color:#46553b}.hdi-mini--location{cursor:pointer}.hdi-mini__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hdi-mini__top strong,.hdi-mini>strong{font-size:11px;line-height:1.25}.hdi-mini__top button{border:0;background:transparent;color:#698d2f;font-size:8.5px;font-weight:800;cursor:pointer}.hdi-mini__bar{height:7px;background:#e0e8d8;border-radius:999px;overflow:hidden;margin:8px 0 6px}.hdi-mini__bar span{display:block;height:100%;background:linear-gradient(90deg,#78a33d,#95c233);border-radius:inherit}.hdi-mini small,.hdi-mini>span{display:block;color:#737b6f;font-size:9px;line-height:1.35}.hdi-mini--shalom{background:#fbf8fd;border-color:#e7dced}.hdi-modal{position:fixed;inset:0;z-index:999999;display:none}.hdi-modal.is-open{display:block}.hdi-modal__backdrop{position:absolute;inset:0;background:rgba(18,24,16,.52);backdrop-filter:blur(2px)}.hdi-modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 28px));max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.hdi-modal__close{position:absolute;right:13px;top:11px;width:30px;height:30px;border:0;border-radius:50%;background:#f3f4f2;color:#586154;font-size:20px;cursor:pointer}.hdi-modal__title{display:flex;gap:11px;padding-right:32px}.hdi-modal__pin{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:#edf6df;color:#67931f;font-size:20px;font-weight:900}.hdi-modal h2{margin:0;color:#273222;font-size:20px;line-height:1.15}.hdi-modal__title p{margin:5px 0 0;color:#747b71;font-size:11px;line-height:1.4}.hdi-gps{width:100%;margin-top:15px;padding:11px 12px;display:flex;align-items:center;gap:10px;border:1px solid #dce5d5;border-radius:11px;background:#f9fcf5;color:#33402f;text-align:left;cursor:pointer}.hdi-gps>span{font-size:20px;color:#6f9f20}.hdi-gps strong,.hdi-gps small{display:block}.hdi-gps strong{font-size:12px}.hdi-gps small{margin-top:2px;color:#768071;font-size:9px}.hdi-divider{display:flex;align-items:center;gap:8px;margin:14px 0;color:#959b92;font-size:9px}.hdi-divider:before,.hdi-divider:after{content:"";height:1px;background:#eceeeb;flex:1}.hdi-selects{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.hdi-selects label span{display:block;margin-bottom:4px;color:#4e584a;font-size:9px;font-weight:750}.hdi-selects select{width:100%;min-height:39px;border:1px solid #d9ddd6;border-radius:8px;background:#fff;padding:0 8px;color:#343a32;font-size:10px}.hdi-selects select:disabled{background:#f4f5f3;color:#a1a59f}.hdi-modal__status{min-height:18px;margin:8px 0 2px;color:#66715f;font-size:9.5px}.hdi-modal__status.is-error{color:#a63c31}.hdi-modal__status.is-success{color:#5f8a20}.hdi-confirm{width:100%;min-height:42px;border:0;border-radius:9px;background:#6f9f20;color:#fff;font-weight:850;font-size:11px;cursor:pointer}.hdi-confirm:disabled{background:#d7dcd3;color:#8a9086;cursor:not-allowed}.hdi-modal__privacy{margin:8px 0 0;color:#969b93;font-size:8px;text-align:center;line-height:1.35}@media(min-width:560px){.hdi-product-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.hdi-location-bar{padding:6px 10px;justify-content:flex-start}.hdi-location-bar__copy{flex:1}.hdi-location-bar__copy strong{font-size:10px}.hdi-modal__panel{top:auto;bottom:0;left:0;transform:none;width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding:17px 15px 18px}.hdi-modal h2{font-size:18px}.hdi-selects{grid-template-columns:1fr}.hdi-product-promise{padding:11px}.hdi-product-promise__head strong{font-size:12.3px}.hdi-product-option__copy strong{font-size:11.6px}.hdi-product-option__meta{font-size:10px}.hdi-product-option__note{font-size:8.9px}}

/* 2.2.1 hotfix: aislar UI de estilos globales del theme */
.hdi-product-promise,.hdi-product-promise *,.hdi-location-bar,.hdi-location-bar *,.hdi-mini,.hdi-mini *,.hdi-modal,.hdi-modal *{box-sizing:border-box}
.hdi-product-promise button,.hdi-location-bar,.hdi-mini button,.hdi-modal button{font-family:inherit}


/* ===== HDI 2.3.0 mejoras de tarjetas ===== */
.hdi-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hdi-product-option{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e8ebdf;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.04)}.hdi-product-option__icon{width:54px;height:54px;min-width:54px;display:grid;place-items:center;border-radius:14px;background:#f7f9f2;border:1px solid #edf1e3;overflow:hidden}.hdi-product-option__icon img{width:38px;height:38px;object-fit:contain}.hdi-product-option__copy{display:flex;flex-direction:column;gap:2px;min-width:0}.hdi-product-option__carrier{display:inline-flex;align-self:flex-start;padding:4px 8px;border-radius:999px;background:#f3f4ef;color:#55624d;font-size:10px;font-weight:800;letter-spacing:.02em}.hdi-product-option__copy strong{font-size:15px;line-height:1.2;color:#182230}.hdi-product-option__meta{font-size:12px;line-height:1.35;color:#52604f}.hdi-product-option__note{font-size:11px;line-height:1.35;color:#7d8a77}.hdi-product-option.is-shalom .hdi-product-option__icon{background:#f8f2fb;border-color:#eadcf4}.hdi-product-option.is-home .hdi-product-option__icon{background:#f3f7ff;border-color:#deebff}.hdi-product-option.is-local .hdi-product-option__icon{background:#eef8f1;border-color:#dbeedd}@media(max-width:767px){.hdi-product-grid{grid-template-columns:1fr}.hdi-product-option{padding:13px}.hdi-product-option__icon{width:50px;height:50px;min-width:50px}.hdi-product-option__copy strong{font-size:14px}}


/* ===== HDI 2.3.1 · orden de métodos ===== */
.hdi-product-option.is-local{grid-column:1/-1}.hdi-product-option__carrier{font-size:10.5px}.hdi-product-option.is-shalom{order:1}.hdi-product-option.is-home:not(.is-local){order:2}.hdi-product-option__meta{font-weight:800}.hdi-product-option__note{margin-top:2px}.hdi-product-option.is-local .hdi-product-option__icon img{width:42px;height:42px}


/* ===== HDI 2.3.2 · barra en menú desktop + promesa compacta ===== */
@media (min-width:769px){
    .huanca-primary-nav > .hdi-location-bar{
        width:auto;
        max-width:310px;
        min-height:42px;
        margin-left:auto;
        padding:0 0 0 18px;
        justify-content:flex-end;
        gap:7px;
        border:0;
        border-left:1px solid #edf0eb;
        border-bottom:0;
        background:transparent;
        flex:0 1 auto;
    }
    .huanca-primary-nav > .hdi-location-bar .hdi-location-bar__pin{
        font-size:14px;
        flex:0 0 auto;
    }
    .huanca-primary-nav > .hdi-location-bar .hdi-location-bar__copy{
        display:flex;
        align-items:center;
        gap:5px;
        min-width:0;
    }
    .huanca-primary-nav > .hdi-location-bar .hdi-location-bar__copy small{
        display:none;
    }
    .huanca-primary-nav > .hdi-location-bar .hdi-location-bar__copy strong{
        max-width:185px;
        font-size:10.5px;
        color:#354238;
    }
    .huanca-primary-nav > .hdi-location-bar .hdi-location-bar__change{
        flex:0 0 auto;
        font-size:9px;
        text-decoration:none;
    }
}

.hdi-product-promise{
    margin:9px 0 12px;
    padding:10px 11px 11px;
    border-radius:13px;
    box-shadow:none;
}
.hdi-product-promise__head{
    gap:7px;
    min-height:25px;
}
.hdi-product-promise__pin{
    width:25px;
    height:25px;
    flex-basis:25px;
    border-radius:8px;
    font-size:13px;
}
.hdi-product-promise__place{
    font-size:9px;
}
.hdi-product-promise__head strong{
    font-size:11.5px;
}
.hdi-product-promise__head button{
    padding:3px 0 3px 6px;
    font-size:9px;
}
.hdi-product-promise__options{
    margin-top:8px;
}
.hdi-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.hdi-product-option{
    min-width:0;
    align-items:center;
    gap:8px;
    padding:9px 9px;
    border-radius:11px;
    box-shadow:none;
}
.hdi-product-option.is-local{
    grid-column:1/-1;
}
.hdi-product-option__icon{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:9px;
}
.hdi-product-option__icon img,
.hdi-product-option.is-local .hdi-product-option__icon img{
    width:28px;
    height:28px;
}
.hdi-product-option__carrier{
    display:none!important;
}
.hdi-product-option__copy{
    gap:0;
}
.hdi-product-option__copy strong{
    font-size:11.5px;
    line-height:1.18;
}
.hdi-product-option__meta{
    margin-top:3px;
    font-size:9.7px;
    line-height:1.25;
    font-weight:800;
}
.hdi-product-option__note{
    margin-top:2px;
    font-size:8.6px;
    line-height:1.28;
}

@media (max-width:768px){
    .hdi-product-grid{
        grid-template-columns:1fr;
        gap:8px;
    }
    .hdi-product-option{
        padding:10px;
    }
    .hdi-product-option__copy strong{
        font-size:12px;
    }
    .hdi-product-option__meta{
        font-size:10px;
    }
    .hdi-product-option__note{
        font-size:9px;
    }
}


/* ===== HDI 2.3.3 · promesa de producto compacta y legible ===== */
.hdi-product-promise{
    margin:9px 0 12px;
    padding:10px 11px 11px;
    border-color:#e5e9e1;
    border-radius:12px;
    box-shadow:none;
}
.hdi-product-promise__head strong{
    font-size:12px;
    font-weight:700;
}
.hdi-product-promise__place{
    font-size:10px;
    font-weight:600;
}
.hdi-product-promise__head button{
    font-size:10px;
    font-weight:700;
}
.hdi-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.hdi-product-option{
    min-width:0;
    gap:9px;
    padding:10px;
    border-radius:10px;
    box-shadow:none;
}
.hdi-product-option__icon{
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:9px;
}
.hdi-product-option__icon img,
.hdi-product-option.is-local .hdi-product-option__icon img{
    width:30px;
    height:30px;
}
.hdi-product-option__copy strong{
    font-size:12.5px;
    font-weight:700;
    line-height:1.22;
}
.hdi-product-option__meta{
    margin-top:3px;
    font-size:10.7px;
    font-weight:700;
    line-height:1.3;
}
.hdi-product-option__note{
    margin-top:2px;
    color:#737d70;
    font-size:9.8px;
    line-height:1.3;
}
.hdi-product-option.is-local{
    grid-column:1/-1;
}
@media(min-width:769px){
    body.single-product .hdi-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    body.single-product .hdi-product-option.is-local{
        grid-column:1/-1!important;
    }
}
@media(max-width:768px){
    .hdi-product-grid{
        grid-template-columns:1fr!important;
        gap:8px;
    }
    .hdi-product-option{
        padding:10px;
    }
    .hdi-product-option__copy strong{
        font-size:12.5px;
    }
    .hdi-product-option__meta{
        font-size:10.5px;
    }
    .hdi-product-option__note{
        font-size:9.8px;
    }
}

/* ===== HDI 2.5.0 · ubicación primero, sin popup automático ===== */
.hdi-product-location-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
}
.hdi-product-location-cta__gps,
.hdi-product-location-cta__manual{
    min-height:38px;
    border-radius:9px;
    font:inherit;
    cursor:pointer;
}
.hdi-product-location-cta__gps{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #cfe0bb;
    background:#f7fbf2;
    color:#34452b;
    padding:8px 11px;
}
.hdi-product-location-cta__gps span{font-size:16px;color:#6f9f20;line-height:1}
.hdi-product-location-cta__gps strong{font-size:11.5px;font-weight:750;line-height:1.2}
.hdi-product-location-cta__gps.is-loading{opacity:.7;cursor:progress}
.hdi-product-location-cta__manual{
    border:1px solid #dde2d9;
    background:#fff;
    color:#5b6656;
    padding:8px 11px;
    font-size:10.5px;
    font-weight:650;
}
.hdi-product-location-cta>small{
    grid-column:1/-1;
    color:#7b8477;
    font-size:9.5px;
    line-height:1.3;
}
.hdi-location-bar:not(.has-location) .hdi-location-bar__change{
    text-decoration:none;
    font-weight:750;
}
@media(max-width:520px){
    .hdi-product-location-cta{grid-template-columns:1fr 1fr}
    .hdi-product-location-cta__gps strong{font-size:11px}
    .hdi-product-location-cta__manual{font-size:10px;padding-left:8px;padding-right:8px}
}

/* ===== HDI 2.7.0 · ubicación manual simple por distrito ===== */
.hdi-modal__backdrop{background:rgba(19,24,18,.46);backdrop-filter:blur(1.5px)}
.hdi-modal__panel{
    top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);
    width:min(430px,calc(100% - 32px));max-height:min(680px,calc(100vh - 40px));
    padding:19px;border:1px solid #e7eae4;border-radius:17px;background:#fff;
    box-shadow:0 24px 70px rgba(21,28,19,.20);overflow:auto
}
.hdi-modal__title{gap:10px;padding-right:30px;align-items:flex-start}
.hdi-modal__pin{width:34px;height:34px;flex-basis:34px;border-radius:10px;font-size:17px}
.hdi-modal h2{font-size:17px;line-height:1.2;font-weight:800;color:#222b20}
.hdi-modal__title p{margin-top:4px;font-size:11.5px;line-height:1.45;color:#6f786b}
.hdi-modal__close{right:11px;top:10px;width:29px;height:29px;font-size:19px;background:#f5f6f4}
.hdi-district-search{margin-top:15px}
.hdi-district-search>label{display:block;margin:0 0 6px;font-size:13px;font-weight:750;color:#3f493b}
.hdi-district-search__field{height:44px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #cfd5cb;border-radius:10px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
.hdi-district-search__field:focus-within{border-color:#83a94d;box-shadow:0 0 0 3px rgba(124,164,68,.12)}
.hdi-district-search__field>span{font-size:17px;color:#74806e;line-height:1}
.hdi-district-search__field input{width:100%;height:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;color:#283126;font:inherit;font-size:13px!important}
.hdi-district-search__field input::placeholder{color:#9aa096}
.hdi-district-results{display:none;margin-top:7px;border:1px solid #e5e9e2;border-radius:11px;background:#fff;overflow:hidden}
.hdi-district-result{width:100%;min-height:48px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;border-bottom:1px solid #eef0ec;background:#fff;text-align:left;color:#2c3529;cursor:pointer;transition:background .12s ease}
.hdi-district-result:last-child{border-bottom:0}
.hdi-district-result:hover,.hdi-district-result:focus{background:#f7faf3;outline:0}
.hdi-district-result__pin{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:8px;background:#eef5e6;color:#678f2d;font-size:13px}
.hdi-district-result__copy{min-width:0;flex:1}
.hdi-district-result__copy strong,.hdi-district-result__copy small{display:block}
.hdi-district-result__copy strong{font-size:12.5px;line-height:1.25;font-weight:750;color:#263023}
.hdi-district-result__copy small{margin-top:2px;font-size:10.3px;line-height:1.25;color:#778074}
.hdi-district-result__arrow{font-size:19px;color:#87917f}
.hdi-district-search__hint,.hdi-district-search__empty{padding:10px 11px;font-size:10.5px;line-height:1.4;color:#747d70;background:#fafbf9}
.hdi-district-search__empty strong,.hdi-district-search__empty span{display:block}
.hdi-district-search__empty strong{font-size:11.5px;color:#3d4739;margin-bottom:2px}
.hdi-modal__privacy{margin:10px 2px 0;font-size:9.5px;line-height:1.4;color:#8b9288;text-align:left}
.hdi-gps,.hdi-divider,.hdi-selects,.hdi-modal__status,.hdi-confirm{display:none!important}
.hdi-product-location-cta__manual--single{width:100%;min-height:46px;display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #d9e0d4;border-radius:10px;background:#fbfcfa;color:#364130;text-align:left;cursor:pointer}
.hdi-product-location-cta__manual--single:hover{border-color:#bccaac;background:#f9fbf6}
.hdi-product-location-cta__manual--single>span:nth-child(2){min-width:0;flex:1}
.hdi-product-location-cta__manual--single strong,.hdi-product-location-cta__manual--single small{display:block}
.hdi-product-location-cta__manual--single strong{font-size:11.8px;line-height:1.2;font-weight:750;color:#2a3427}
.hdi-product-location-cta__manual--single small{margin-top:2px;font-size:9.8px;line-height:1.3;color:#737d6f}
.hdi-product-location-cta__pin{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:8px;background:#eef5e6;color:#668e2d;font-size:14px}
.hdi-product-location-cta__arrow{font-size:19px;color:#7e8978;line-height:1}
@media(max-width:720px){
    .hdi-modal__panel{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);width:calc(100% - 28px);max-width:430px;max-height:calc(100vh - 36px);padding:17px 15px;border-radius:16px}
    .hdi-modal h2{font-size:16px}
    .hdi-modal__title p{font-size:11px}
    .hdi-district-search__field{height:43px}
    .hdi-district-search__field input{font-size:16px!important} /* evita zoom automático en iOS */
}


/* ===== HDI 2.7.1 · barra breve y fuera del checkout ===== */
body.woocommerce-checkout #hdi-location-bar{display:none!important}
.hdi-location-bar__copy small{white-space:nowrap}
.hdi-location-bar__copy strong{font-weight:780}
@media(max-width:720px){
    .hdi-location-bar{min-height:36px;padding:5px 10px;gap:7px}
    .hdi-location-bar__copy{gap:5px}
    .hdi-location-bar__copy small{font-size:9.5px}
    .hdi-location-bar__copy strong{font-size:10.5px}
    .hdi-location-bar__change{font-size:9.5px}
}
