/* FDT CART PRO 3.0.0 — CSS COMPLETAMENTE AISLADO */
html.fdtpro-lock,html.fdtpro-lock body{overflow:hidden!important}
#fdtpro-overlay{position:fixed!important;inset:0!important;background:rgba(0,0,0,.55)!important;z-index:2147483000!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .2s!important}
#fdtpro-overlay.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
#fdtpro-panel{position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:570px!important;max-width:96vw!important;height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;background:#fff!important;color:#111!important;z-index:2147483001!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important;visibility:hidden!important;transform:translate3d(105%,0,0)!important;transition:transform .25s ease,visibility 0s linear .25s!important;font-family:Montserrat,Arial,sans-serif!important}
#fdtpro-panel.open{transform:translate3d(0,0,0)!important;visibility:visible!important;transition:transform .25s ease!important}
#fdtpro-head{flex:0 0 76px!important;height:76px!important;min-height:76px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 24px!important;background:#fff!important;border-bottom:1px solid #ddd!important;box-sizing:border-box!important}
#fdtpro-head small{display:block!important;font-size:9px!important;letter-spacing:1.8px!important;font-weight:800!important;color:#777!important;margin-bottom:4px!important}
#fdtpro-head h2{display:block!important;margin:0!important;padding:0!important;font-size:25px!important;line-height:1.05!important;font-weight:900!important;color:#111!important;position:relative!important;z-index:2!important}#fdtpro-head small{line-height:1!important;height:10px!important;overflow:hidden!important;position:relative!important;z-index:1!important}
#fdtpro-close{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;border:1px solid #999!important;border-radius:50%!important;background:#fff!important;color:#111!important;font-size:24px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}
#fdtpro-list{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;overflow-x:hidden!important;padding:18px 24px!important;background:#fff!important;box-sizing:border-box!important}
.fdtpro-item{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;gap:15px!important;padding-bottom:19px!important;margin-bottom:19px!important;border-bottom:1px solid #e4e4e4!important}
.fdtpro-img{width:86px!important;height:86px!important;border:1px solid #e7e7e7!important;border-radius:9px!important;overflow:hidden!important}
.fdtpro-img img{width:100%!important;height:100%!important;object-fit:cover!important}
.fdtpro-name-row{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px!important}
.fdtpro-name-row h4{margin:0!important;font-size:15px!important;line-height:1.25!important;font-weight:900!important;color:#111!important}
.fdtpro-x{width:30px!important;height:30px!important;min-width:30px!important;border:1px solid #999!important;border-radius:50%!important;background:#fff!important;color:#111!important;font-size:20px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
.fdtpro-config{margin-top:8px!important;padding:8px 10px!important;background:#f7f7f7!important;border:1px solid #eee!important;border-radius:7px!important}
.fdtpro-config div{display:flex!important;justify-content:space-between!important;gap:10px!important;font-size:10px!important;line-height:1.35!important;padding:2px 0!important}
.fdtpro-config span{color:#777!important}.fdtpro-config b{color:#111!important;text-align:right!important}
.fdtpro-design-title{display:flex!important;align-items:center!important;gap:7px!important;margin:12px 0 7px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.5px!important}
.fdtpro-design-title i{display:block!important;width:4px!important;height:14px!important;background:#e30613!important;border-radius:3px!important}
.fdtpro-design{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important}
.fdtpro-design-btn{height:60px!important;min-height:60px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border:1px solid #c9c9c9!important;border-radius:8px!important;background:#fff!important;color:#111!important;padding:5px!important;font-family:Montserrat,Arial,sans-serif!important}
.fdtpro-design-btn b{font-size:9px!important;font-weight:900!important;line-height:1.1!important}.fdtpro-design-btn small{display:block!important;margin-top:3px!important;font-size:8px!important;font-weight:900!important;color:#e30613!important}.fdtpro-design-btn.is-selected{border:2px solid #e30613!important;background:#fff5f5!important}.fdtpro-design-btn.is-selected .fdtpro-icon{background:#e30613!important}.fdtpro-design-btn:disabled{opacity:.65!important;cursor:wait!important}.fdtpro-design-note{margin-top:7px!important;padding:7px 9px!important;border-radius:7px!important;background:#fff5f5!important;border:1px solid #f2c5c8!important;color:#333!important;font-size:9px!important;line-height:1.35!important}.fdtpro-design-note strong{color:#e30613!important}
.fdtpro-icon{width:30px!important;height:30px!important;min-width:30px!important;border-radius:7px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#111!important;color:#fff!important;font-size:18px!important;font-weight:900!important;line-height:1!important}
.fdtpro-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-top:12px!important}
.fdtpro-qty{height:34px!important;display:flex!important;align-items:center!important;border:1px solid #ccc!important;border-radius:7px!important;overflow:hidden!important}
.fdtpro-qty button{width:32px!important;height:34px!important;border:0!important;background:#f4f4f4!important;color:#111!important;font-size:17px!important}
.fdtpro-qty strong{min-width:30px!important;text-align:center!important;font-size:12px!important;color:#111!important}
.fdtpro-price{font-size:17px!important;font-weight:900!important;color:#111!important}
#fdtpro-foot{flex:0 0 138px!important;position:relative!important;height:138px!important;min-height:138px!important;display:block!important;box-sizing:border-box!important;padding:13px 24px 17px!important;background:#fff!important;border-top:2px solid #111!important;box-shadow:0 -10px 25px rgba(0,0,0,.10)!important;z-index:5!important}
.fdtpro-total{height:29px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:8px!important}
.fdtpro-total span{font-size:11px!important;font-weight:800!important;color:#555!important}
.fdtpro-total strong{font-size:22px!important;font-weight:900!important;color:#111!important}
.fdtpro-actions{display:grid!important;grid-template-columns:1fr 1fr 1.2fr!important;gap:8px!important}
.fdtpro-btn{height:46px!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border-radius:7px!important;text-decoration:none!important;font-family:Montserrat,Arial,sans-serif!important;font-size:10px!important;font-weight:900!important;line-height:1!important;box-sizing:border-box!important}
.fdtpro-btn-white{background:#fff!important;color:#111!important;border:1px solid #111!important}
.fdtpro-btn-black{background:#111!important;color:#fff!important;border:1px solid #111!important}
.fdtpro-btn-red{background:#e30613!important;color:#fff!important;border:1px solid #e30613!important}
.fdtpro-btn span{color:inherit!important}
.fdtpro-loading,.fdtpro-empty,.fdtpro-error{padding:45px 10px!important;text-align:center!important;color:#666!important;font-size:14px!important}
@media(max-width:600px){
#fdtpro-panel{width:100vw!important;max-width:100vw!important;right:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important}
#fdtpro-head{padding:16px 18px!important;height:74px!important;min-height:74px!important;flex-basis:74px!important}
#fdtpro-head small{display:none!important}
#fdtpro-head h2{font-size:23px!important}
#fdtpro-list{padding:14px 14px 18px!important;min-height:0!important;overflow-y:auto!important}
.fdtpro-item{grid-template-columns:72px minmax(0,1fr)!important;gap:12px!important}
.fdtpro-img{width:72px!important;height:72px!important}
.fdtpro-name-row h4{font-size:14px!important}
.fdtpro-config{font-size:9px!important}
.fdtpro-design{grid-template-columns:1fr 1fr!important;gap:7px!important}
.fdtpro-design-btn{height:58px!important;min-height:58px!important;padding:5px 6px!important;min-width:0!important;overflow:hidden!important}
.fdtpro-design-btn b{font-size:8.5px!important;white-space:normal!important;text-align:left!important}
.fdtpro-design-btn:nth-child(3){grid-column:1 / -1!important}
#fdtpro-foot{flex:0 0 184px!important;height:184px!important;min-height:184px!important;padding:12px 14px 14px!important}
.fdtpro-total{margin-bottom:8px!important}
.fdtpro-total strong{font-size:20px!important}
.fdtpro-actions{grid-template-columns:1fr!important;gap:6px!important;padding-right:0!important}
.fdtpro-btn{height:40px!important;min-height:40px!important;font-size:10px!important}
}


/* 3.1.1 — carrito real + viewport móvil estable */
.fdtpro-cart-svg{width:18px!important;height:18px!important;display:block!important;flex:0 0 18px!important;color:currentColor!important}
@supports (height: 100dvh){#fdtpro-panel{height:100dvh!important;max-height:100dvh!important}}


/* =========================================================
   3.1.4 — REDISEÑO EXCLUSIVO ESCRITORIO
   El bloque móvil anterior queda intacto.
   ========================================================= */
@media (min-width:601px){
  #fdtpro-panel{
    width:720px!important;
    max-width:min(720px,96vw)!important;
    box-shadow:-22px 0 55px rgba(0,0,0,.22)!important;
  }
  #fdtpro-head{
    flex-basis:88px!important;
    height:88px!important;
    min-height:88px!important;
    padding:18px 30px!important;
    border-bottom:1px solid #e6e6e6!important;
  }
  #fdtpro-head small{font-size:8px!important;letter-spacing:2.2px!important;margin-bottom:6px!important;color:#888!important}
  #fdtpro-head h2{font-size:30px!important;line-height:1!important;letter-spacing:-.5px!important}
  #fdtpro-close{width:42px!important;height:42px!important;min-width:42px!important;font-size:23px!important;border-color:#aaa!important}

  #fdtpro-list{
    padding:24px 30px 26px!important;
    background:#fafafa!important;
  }
  .fdtpro-item{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:20px!important;
    padding:0 0 25px!important;
    margin:0 0 25px!important;
    border-bottom:1px solid #dedede!important;
  }
  .fdtpro-item:last-child{margin-bottom:0!important}
  .fdtpro-img{
    width:112px!important;height:112px!important;
    border-radius:12px!important;
    background:#fff!important;
    border:1px solid #e1e1e1!important;
    box-shadow:0 2px 8px rgba(0,0,0,.06)!important;
  }
  .fdtpro-name-row{align-items:center!important}
  .fdtpro-name-row h4{font-size:17px!important;line-height:1.2!important;letter-spacing:-.15px!important}
  .fdtpro-x{width:34px!important;height:34px!important;min-width:34px!important;font-size:19px!important;border-color:#aaa!important}

  .fdtpro-config{
    margin-top:11px!important;
    padding:10px 13px!important;
    background:#fff!important;
    border:1px solid #e3e3e3!important;
    border-radius:9px!important;
    box-shadow:0 1px 3px rgba(0,0,0,.03)!important;
  }
  .fdtpro-config div{font-size:10px!important;line-height:1.4!important;padding:2.5px 0!important}
  .fdtpro-config span{color:#777!important}

  .fdtpro-design-title{
    margin:16px 0 9px!important;
    font-size:10px!important;
    letter-spacing:.7px!important;
  }
  .fdtpro-design-title i{width:4px!important;height:16px!important}
  .fdtpro-design{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  .fdtpro-design-btn{
    height:72px!important;
    min-height:72px!important;
    padding:8px 10px!important;
    gap:9px!important;
    border:1px solid #d2d2d2!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 2px 5px rgba(0,0,0,.035)!important;
    transition:border-color .15s,box-shadow .15s,transform .15s!important;
  }
  .fdtpro-design-btn:hover{border-color:#999!important;box-shadow:0 4px 10px rgba(0,0,0,.08)!important;transform:translateY(-1px)!important}
  .fdtpro-design-btn b{font-size:10px!important;line-height:1.18!important;text-align:left!important}
  .fdtpro-design-btn small{font-size:8px!important;margin-top:4px!important}
  .fdtpro-icon{width:36px!important;height:36px!important;min-width:36px!important;font-size:18px!important;border-radius:9px!important}
  .fdtpro-design-btn.is-selected{border:2px solid #e30613!important;background:#fff7f7!important;box-shadow:0 3px 10px rgba(227,6,19,.08)!important}
  .fdtpro-design-note{font-size:10px!important;padding:9px 11px!important;margin-top:9px!important;border-radius:8px!important}

  .fdtpro-bottom{margin-top:16px!important;align-items:center!important}
  .fdtpro-qty{height:40px!important;border-radius:8px!important;background:#fff!important}
  .fdtpro-qty button{width:39px!important;height:40px!important;font-size:19px!important}
  .fdtpro-qty strong{min-width:38px!important;font-size:13px!important}
  .fdtpro-price{font-size:19px!important;letter-spacing:-.2px!important}

  #fdtpro-foot{
    flex-basis:174px!important;
    height:174px!important;
    min-height:174px!important;
    padding:17px 30px 20px!important;
    background:#fff!important;
    border-top:2px solid #111!important;
    box-shadow:0 -12px 28px rgba(0,0,0,.11)!important;
  }
  .fdtpro-total{height:34px!important;margin-bottom:13px!important}
  .fdtpro-total span{font-size:11px!important;letter-spacing:.3px!important}
  .fdtpro-total strong{font-size:25px!important;letter-spacing:-.4px!important}
  .fdtpro-actions{grid-template-columns:1fr 1fr 1fr!important;gap:11px!important}
  .fdtpro-btn{
    height:58px!important;
    min-height:58px!important;
    border-radius:9px!important;
    font-size:11.5px!important;
    font-weight:900!important;
    gap:8px!important;
    white-space:nowrap!important;
    padding:0 14px!important;
  }
  .fdtpro-cart-svg{width:20px!important;height:20px!important;flex:0 0 20px!important}
}

/* =========================================================
   3.1.5 — AJUSTE FINAL ESCRITORIO
   Solo escritorio. El móvil queda exactamente como estaba.
   ========================================================= */
@media (min-width:601px){
  /* Diseño: el suplemento queda debajo del texto */
  .fdtpro-design-btn.fdtpro-request{
    position:relative!important;
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    grid-template-rows:1fr auto!important;
    column-gap:9px!important;
    row-gap:0!important;
    align-content:center!important;
    justify-content:initial!important;
    text-align:left!important;
    padding:7px 10px 8px!important;
  }
  .fdtpro-design-btn.fdtpro-request .fdtpro-icon{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
  }
  .fdtpro-design-btn.fdtpro-request b{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    margin:0!important;
    line-height:1.1!important;
  }
  .fdtpro-design-btn.fdtpro-request small{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    margin:3px 0 0!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Pie: más presencia y mejor lectura */
  .fdtpro-total{
    height:40px!important;
    margin-bottom:13px!important;
  }
  .fdtpro-total span{
    font-size:14px!important;
    font-weight:900!important;
    letter-spacing:.5px!important;
    color:#222!important;
  }
  .fdtpro-total strong{
    font-size:30px!important;
    font-weight:900!important;
    letter-spacing:-.5px!important;
  }
  .fdtpro-actions{
    gap:12px!important;
  }
  .fdtpro-btn{
    height:62px!important;
    min-height:62px!important;
    border-radius:10px!important;
    font-size:13px!important;
    font-weight:900!important;
    letter-spacing:-.1px!important;
    padding:0 16px!important;
  }
  .fdtpro-cart-svg{
    width:22px!important;
    height:22px!important;
    flex-basis:22px!important;
  }
}

/* 3.1.7 — ajuste fino escritorio solicitado */
@media (min-width:601px){
  /* 3.1.10 — ajuste final del bloque Necesito diseño */
  .fdtpro-design-btn.fdtpro-request b,
  .fdtpro-design-btn.fdtpro-request small{
    transform:translateY(-6px)!important;
  }
  .fdtpro-design-btn.fdtpro-request .fdtpro-icon{
    transform:translateY(2px)!important;
    align-self:center!important;
  }
  .fdtpro-total strong{
    color:#e30613!important;
    font-size:36px!important;
    font-weight:900!important;
    color:#e30613!important;
    letter-spacing:-.8px!important;
  }
}

/* 3.1.11 — igualar Necesito diseño con los otros botones */
@media (min-width:601px){
  .fdtpro-design-btn.fdtpro-request b,
  .fdtpro-design-btn.fdtpro-request small{
    transform:none!important;
  }
  .fdtpro-design-btn.fdtpro-request b{
    align-self:center!important;
  }
  .fdtpro-design-btn.fdtpro-request small{
    align-self:start!important;
    margin-top:2px!important;
  }
  .fdtpro-design-btn.fdtpro-request .fdtpro-icon{
    transform:translateY(4px)!important;
    align-self:center!important;
  }
}


/* 3.1.12 — igualación definitiva del botón Necesito diseño en escritorio */
@media (min-width:601px){
  .fdtpro-design-btn.fdtpro-request{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    align-items:center!important;
    justify-content:initial!important;
    column-gap:9px!important;
    row-gap:1px!important;
    padding:8px 10px!important;
    text-align:left!important;
  }
  .fdtpro-design-btn.fdtpro-request .fdtpro-icon{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:center!important;
    transform:none!important;
    margin:0!important;
  }
  .fdtpro-design-btn.fdtpro-request b{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    line-height:1.1!important;
  }
  .fdtpro-design-btn.fdtpro-request small{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    justify-self:start!important;
    margin:1px 0 0!important;
    padding:0!important;
    transform:none!important;
    line-height:1!important;
  }
  .fdtpro-total strong{
    color:#e30613!important;
    font-size:36px!important;
    font-weight:900!important;
  }
}


/* 3.1.14 — mensaje de archivo legible y fuera de la cuadrícula de botones */
.fdtpro-upload-note{grid-column:1 / -1!important;display:flex!important;align-items:flex-start!important;gap:10px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:9px 0 0!important;padding:12px 14px!important;border:1px solid #b7dfc3!important;border-radius:9px!important;background:#f1fbf4!important;color:#14532d!important;font-family:Montserrat,Arial,sans-serif!important;font-size:12px!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.fdtpro-upload-note-icon{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 24px!important;width:24px!important;height:24px!important;border-radius:50%!important;background:#16803c!important;color:#fff!important;font-size:14px!important;font-weight:900!important;}
.fdtpro-upload-note>span:last-child{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;}
.fdtpro-upload-note strong{display:block!important;color:#14532d!important;font-size:12px!important;font-weight:800!important;line-height:1.35!important;}
.fdtpro-upload-note small{display:block!important;color:#244b31!important;font-size:11px!important;font-weight:600!important;line-height:1.4!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;}
@media(max-width:600px){.fdtpro-upload-note{padding:10px!important;font-size:11px!important}.fdtpro-upload-note strong{font-size:11px!important}.fdtpro-upload-note small{font-size:10px!important}}
