.dv-cart-fab{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:82;
    min-height:50px;
    display:flex;
    align-items:center;
    gap:9px;
    min-width:142px;
    padding:0 15px;
    border:0;
    border-radius:999px;
    background:#134a9a;
    color:#fff;
    cursor:pointer;
    box-shadow:0 15px 34px rgba(19,74,154,.28);
    font:inherit;
    font-size:.8rem;
    font-weight:900;
    transition:width .24s ease,min-width .24s ease,padding .24s ease,box-shadow .18s ease;
    overflow:visible;
    transform:translateZ(0);
    backface-visibility:hidden;
    will-change:width;
}
@media(hover:hover){
    .dv-cart-fab:hover{transform:translate3d(0,-2px,0);box-shadow:0 19px 38px rgba(19,74,154,.34)}
}
.dv-cart-fab svg{width:23px;height:23px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dv-cart-fab__label{max-width:74px;opacity:1;overflow:hidden;white-space:nowrap;transition:max-width .22s ease,opacity .18s ease}
.dv-cart-fab.is-compact{width:56px;min-width:56px;height:56px;padding:0;justify-content:center;gap:0}
.dv-cart-fab.is-compact .dv-cart-fab__label{max-width:0;opacity:0}
.dv-cart-fab.is-compact .dv-cart-count{
    position:absolute;
    right:-6px;
    top:-6px;
    min-width:22px;
    height:22px;
    padding:0 5px;
    border:2px solid #fff;
    font-size:.65rem;
}

.dv-cart-count{
    position:relative;z-index:4;min-width:23px;height:23px;display:grid;place-items:center;padding:0 5px;border-radius:999px;
    background:#f0393b;color:#fff;font-size:.7rem;font-weight:950;box-shadow:0 0 0 2px #fff
}
.dv-cart-overlay{
    position:fixed;inset:0;z-index:120;background:rgba(15,24,39,.42);backdrop-filter:blur(3px);
    opacity:0;pointer-events:none;transition:.2s ease
}
.dv-cart-drawer{
    position:fixed;right:0;top:0;z-index:121;width:min(430px,100%);height:100dvh;
    display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;
    background:#fff;color:#17233a;box-shadow:-20px 0 55px rgba(18,31,52,.22);
    transform:translateX(104%);transition:.22s ease
}
.dv-cart-open .dv-cart-overlay{opacity:1;pointer-events:auto}
.dv-cart-open .dv-cart-drawer{transform:translateX(0)}
.dv-cart-head{
    display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px;
    border-bottom:1px solid #e7ebf1;background:linear-gradient(135deg,#fff,#f7faff)
}
.dv-cart-head-copy h2{margin:0;color:#0d376f;font-size:1.35rem;letter-spacing:-.03em}
.dv-cart-head-copy p{margin:4px 0 0;color:#667085;font-size:.76rem}
.dv-cart-close{
    width:39px;height:39px;display:grid;place-items:center;border:1px solid #dfe5ef;border-radius:50%;
    background:#fff;color:#40506a;cursor:pointer;font-size:1.25rem
}
.dv-cart-body{min-height:0;overflow:auto;padding:14px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.dv-cart-items{display:grid;gap:10px}
.dv-cart-item{
    display:grid;grid-template-columns:66px minmax(0,1fr);gap:11px;padding:10px;
    border:1px solid #e1e6ed;border-radius:16px;background:#fff
}
.dv-cart-item-media{
    width:66px;height:66px;overflow:hidden;display:grid;place-items:center;border-radius:12px;
    background:linear-gradient(135deg,#eef4ff,#fff1f2);color:#134a9a;font-weight:950
}
.dv-cart-item-media img{width:100%;height:100%;object-fit:cover;display:block}
.dv-cart-item-main{min-width:0}
.dv-cart-item-row{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.dv-cart-item-name{min-width:0;color:#17233a;font-size:.86rem;font-weight:900;line-height:1.25}
.dv-cart-item-remove{border:0;background:transparent;color:#9a4450;cursor:pointer;font-size:1rem;padding:0 2px}
.dv-cart-item-meta{margin-top:4px;color:#667085;font-size:.69rem;line-height:1.35}
.dv-cart-item-meta b{color:#79500f}
.dv-cart-pricing-slot{min-height:24px;display:flex;align-items:center;margin-top:4px}
.dv-cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}
.dv-cart-stepper{display:inline-grid;grid-template-columns:28px 30px 28px;align-items:center;border:1px solid #dfe5ef;border-radius:10px;overflow:hidden}
.dv-cart-stepper button{height:28px;border:0;background:#f7f9fc;color:#0d376f;cursor:pointer;font-size:1rem;font-weight:900}
.dv-cart-stepper span{display:grid;place-items:center;height:28px;font-size:.73rem;font-weight:900}
.dv-cart-item-price{min-width:96px;min-height:34px;text-align:right}.dv-cart-item-price strong{display:block;color:#0d376f;font-size:.87rem}.dv-cart-item-price span{display:block;margin-top:2px;color:#8a93a3;font-size:.63rem}
.dv-cart-empty{padding:42px 22px;text-align:center;color:#667085}.dv-cart-empty-icon{
    width:64px;height:64px;display:grid;place-items:center;margin:0 auto 12px;border-radius:20px;
    background:#eef4ff;color:#134a9a
}.dv-cart-empty-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8}
.dv-cart-empty strong{display:block;color:#17233a;font-size:.95rem}.dv-cart-empty p{margin:5px 0 0;font-size:.76rem;line-height:1.45}
.dv-cart-foot{padding:15px 18px 18px;border-top:1px solid #e7ebf1;background:#fff}
.dv-cart-total{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}
.dv-cart-total span{color:#667085;font-size:.74rem}.dv-cart-total strong{min-width:108px;min-height:29px;display:block;color:#0d376f;font-size:1.38rem;text-align:right}
.dv-cart-checkout{
    width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;border:0;border-radius:14px;
    background:#134a9a;color:#fff;text-decoration:none;font-size:.82rem;font-weight:950;letter-spacing:.02em
}
.dv-cart-checkout.is-disabled{pointer-events:none;opacity:.45}
.dv-cart-delivery-note{margin:8px 0 0;color:#8a93a3;font-size:.66rem;text-align:center}
.dv-cart-skeleton{display:grid;gap:10px}
.dv-cart-skeleton-row{height:88px;border-radius:16px;background:linear-gradient(90deg,#f1f3f6 25%,#fafbfd 42%,#f1f3f6 62%);background-size:320% 100%;animation:dvCartShimmer 1.15s infinite}
@keyframes dvCartShimmer{0%{background-position:100% 0}100%{background-position:0 0}}
.dv-cart-toast{
    position:fixed;
    left:50%;
    bottom:22px;
    z-index:140;
    width:min(520px,calc(100% - 24px));
    display:grid;
    grid-template-columns:32px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    transform:translate(-50%,18px);
    padding:10px 11px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:17px;
    background:#17233a;
    color:#fff;
    box-shadow:0 18px 46px rgba(18,31,52,.30);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
}
.dv-cart-toast.is-show{
    opacity:1;
    pointer-events:auto;
    transform:translate(-50%,0);
}
.dv-cart-toast__check{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:.95rem;
    font-weight:950;
}
.dv-cart-toast__message{
    min-width:0;
    color:#fff;
    font-size:.75rem;
    font-weight:850;
    line-height:1.3;
}
.dv-cart-toast__action{
    min-height:36px;
    padding:0 11px;
    border:1px solid #f0393b;
    border-radius:10px;
    background:#f0393b;
    color:#fff;
    cursor:pointer;
    font:inherit;
    font-size:.68rem;
    font-weight:950;
    white-space:nowrap;
}
.dv-cart-toast__action[hidden]{display:none}
.dv-cart-card-control,.dv-kit-cart-action{display:flex;align-items:center;justify-content:flex-end;min-width:104px}
.dv-cart-card-control:not(.is-ready) > *,
.dv-kit-cart-action:not(.is-ready) > *{visibility:hidden}
.dv-cart-card-control.is-ready > *,
.dv-kit-cart-action.is-ready > *{visibility:visible}
.dv-cart-add-btn[hidden],
.dv-kit-cart-add[hidden]{display:none!important}
.dv-cart-add-btn,.dv-kit-cart-add{
    min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;
    border:0;border-radius:12px;background:#134a9a;color:#fff;cursor:pointer;font:inherit;font-size:.76rem;font-weight:900
}
.dv-cart-inline-stepper{
    display:grid;grid-template-columns:34px 36px 34px;align-items:center;overflow:hidden;
    min-height:38px;border:1px solid #cfd8e6;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(19,74,154,.06)
}
.dv-cart-inline-stepper[hidden]{display:none!important}
.dv-cart-inline-stepper button{
    height:38px;border:0;background:#f5f8fc;color:#0d376f;cursor:pointer;font:inherit;font-size:1rem;font-weight:950
}
.dv-cart-inline-stepper button:hover{background:#eef4ff}
.dv-cart-inline-stepper span{height:38px;display:grid;place-items:center;color:#17233a;font-size:.78rem;font-weight:950}
.dv-kit-added-stepper{grid-template-columns:38px 42px 38px}
.dv-cart-add-btn[disabled],.dv-kit-cart-add[disabled]{opacity:.45;cursor:not-allowed}
.dv-cart-add-btn.is-loading,.dv-kit-cart-add.is-loading{pointer-events:none}
.dv-cart-button-spinner{
    width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;
    animation:dvCartSpin .65s linear infinite
}
@keyframes dvCartSpin{to{transform:rotate(360deg)}}
.dv-kit-cart-panel{
    display:grid;grid-template-columns:minmax(130px,1fr) auto auto auto;gap:10px;align-items:center;
    margin:0;padding:11px 12px;border:1px solid rgba(19,74,154,.18);border-radius:18px;background:rgba(255,255,255,.97);
    box-shadow:0 14px 34px rgba(18,31,52,.16);backdrop-filter:blur(10px)
}
.dv-kit-cart-status strong{display:block;color:#0d376f;font-size:.9rem}.dv-kit-cart-status span{display:block;margin-top:2px;color:#667085;font-size:.69rem;font-weight:750}
.dv-kit-cart-price{text-align:right}.dv-kit-cart-price span{display:block;color:#667085;font-size:.67rem}.dv-kit-cart-price strong{display:block;margin-top:3px;color:#0d376f;font-size:1.18rem}
.dv-kit-qty{display:flex;align-items:center;gap:7px}.dv-kit-qty label{color:#667085;font-size:.68rem;font-weight:800}.dv-kit-qty input{width:54px;height:38px;border:1px solid #dfe5ef;border-radius:10px;text-align:center;color:#17233a;background:#fff;font-weight:900}
.dv-kit-option-control{
    width:100%;display:grid;grid-template-columns:34px minmax(28px,1fr) 34px;align-items:center;border:1px solid #dfe5ef;border-radius:10px;overflow:hidden;background:#fff
}
.dv-kit-option-control button{height:32px;border:0;background:#f7f9fc;color:#0d376f;cursor:pointer;font-weight:950;font-size:.95rem}
.dv-kit-option-control button:disabled{cursor:not-allowed;opacity:.35}
.dv-kit-option-control span{height:32px;display:grid;place-items:center;font-size:.72rem;font-weight:900}
.dv-kit-option.is-selected{border-color:rgba(19,74,154,.55);box-shadow:0 0 0 3px rgba(19,74,154,.08)}
@media(max-width:640px){
    .dv-cart-fab{right:12px;bottom:14px;min-height:50px;min-width:132px;padding:0 13px}
    .dv-cart-fab.is-compact{width:50px;min-width:50px;height:50px;padding:0}
    .dv-cart-drawer{width:100%}
    .dv-kit-cart-panel{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 10px}.dv-kit-cart-status{grid-column:1}.dv-kit-qty{grid-column:2}.dv-kit-cart-price{grid-column:1;text-align:left}.dv-kit-cart-action{grid-column:2;grid-row:2;justify-content:stretch}.dv-kit-cart-add,.dv-kit-added-stepper{width:100%;min-height:42px}.dv-kit-added-stepper{grid-template-columns:40px 1fr 40px}.dv-kit-cart-discount-note{display:none}
}

.dv-kit-option-actions{display:grid;gap:6px;align-items:end;margin-top:auto}.dv-kit-option-actions .status,.dv-kit-option-actions .extra{justify-self:start}
@media(max-width:560px){
    .dv-kit-option-actions{grid-column:2;justify-items:start}
}

.dv-cart-discount{
    display:inline-flex!important;
    margin-top:4px!important;
    padding:4px 7px;
    border-radius:999px;
    background:#eaf7ee;
    color:#28633c!important;
    font-size:.61rem!important;
    font-weight:900;
}
.dv-cart-price-loading,
.dv-cart-price-loading-line,
.dv-cart-total strong.is-pricing{
    position:relative;overflow:hidden;background:#eef1f5;border-radius:999px;color:transparent!important
}
.dv-cart-price-loading{width:112px;height:19px}
.dv-cart-price-loading-line{display:block;margin-left:auto;width:82px;height:12px}
.dv-cart-price-loading-line + .dv-cart-price-loading-line{width:58px;height:8px;margin-top:5px}
.dv-cart-price-loading::after,
.dv-cart-price-loading-line::after,
.dv-cart-total strong.is-pricing::after{
    content:"";position:absolute;inset:0;transform:translateX(-100%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
    animation:dvCartInlineShimmer .9s infinite
}
@keyframes dvCartInlineShimmer{to{transform:translateX(100%)}}
.dv-cart-discount-placeholder{display:block;width:1px;height:19px}
.dv-cart-stepper button:disabled{cursor:wait;opacity:.65}
.dv-cart-total strong.is-pricing{height:29px}
.dv-cart-total-saving{
    min-height:17px;margin:-4px 0 10px;color:#28633c;font-size:.68rem;font-weight:850;text-align:right
}
.dv-cart-total-saving.is-empty{color:#8a93a3}

.dv-kit-cart-discount-note{
    grid-column:1/-1;
    margin-top:-4px;
    color:#667085;
    font-size:.66rem;
    font-weight:700;
}

.dv-kit-cart-panel.is-in-cart .dv-kit-qty{display:none}

html.dv-cart-open,
html.dv-cart-open body{
    overflow:hidden!important;
    overscroll-behavior:none;
}
html.dv-cart-open .dv-cart-body{
    overscroll-behavior:contain;
    touch-action:pan-y;
}

.dv-cart-fab{display:none!important}
.dv-kit-cart-panel--simple{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px;
}
.dv-kit-cart-panel--simple .dv-kit-cart-action{
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    min-width:0;
    justify-content:stretch;
}
.dv-kit-cart-panel--simple .dv-kit-cart-add{
    width:100%;
    min-height:46px;
    border-radius:13px;
    font-size:.82rem;
}
.dv-kit-cart-panel--simple .dv-kit-progress{
    grid-column:1 / -1;
    grid-row:1;
    width:100%;
}
.dv-kit-cart-panel--fixed-simple .dv-kit-cart-action{
    grid-row:1;
}


/* Catálogo mobile en 2 columnas: el selector de cantidad debe ser compacto.
   Conserva áreas táctiles cómodas sin ocupar todo el ancho de la tarjeta. */
@media(max-width:580px){
    .catalog-item[data-kind="producto"] .dv-cart-card-control{
        width:100%;
        justify-content:center;
    }
    .catalog-item[data-kind="producto"] .dv-cart-inline-stepper{
        width:100%!important;
        max-width:126px;
        min-width:0;
        min-height:42px;
        grid-template-columns:repeat(3,minmax(0,1fr));
        margin-inline:auto;
        border-radius:12px;
        box-shadow:none;
    }
    .catalog-item[data-kind="producto"] .dv-cart-inline-stepper button,
    .catalog-item[data-kind="producto"] .dv-cart-inline-stepper span{
        height:42px;
    }
    .catalog-item[data-kind="producto"] .dv-cart-inline-stepper button{
        min-width:0;
        width:100%;
        padding:0;
        font-size:1.08rem;
        line-height:1;
    }
    .catalog-item[data-kind="producto"] .dv-cart-inline-stepper span{
        font-size:.82rem;
    }
}


/* Navegación del catálogo */
.dv-site-loader{
    position:fixed;
    inset:0;
    z-index:2147482500;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(245,247,251,.84);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:0;
    pointer-events:none;
    transition:opacity .16s ease;
}
.dv-site-loader.is-visible{
    opacity:1;
    pointer-events:auto;
}
.dv-site-loader__card{
    min-width:min(280px,calc(100vw - 40px));
    display:grid;
    justify-items:center;
    gap:8px;
    padding:22px 24px;
    border:1px solid #dfe5ef;
    border-radius:22px;
    background:#fff;
    color:#17233a;
    box-shadow:0 22px 70px rgba(18,31,52,.17);
    text-align:center;
}
.dv-site-loader__card img{
    width:70px;
    height:54px;
    object-fit:contain;
}
.dv-site-loader__spinner{
    width:25px;
    height:25px;
    border:3px solid #dce6f4;
    border-top-color:#134a9a;
    border-radius:50%;
    animation:dvCartSpin .65s linear infinite;
}
.dv-site-loader__card strong{
    margin-top:1px;
    color:#0d376f;
    font-size:.9rem;
}
.dv-site-loader__card small{
    color:#667085;
    font-size:.7rem;
}

/* Feedback visual al agregar un producto */
.dv-cart-add-btn.is-adding{
    pointer-events:none;
    opacity:1;
}
.dv-cart-add-btn.is-added{
    background:#2f7d4b;
    color:#fff;
}

@media(max-width:640px){
    .dv-site-loader__card{
        min-width:min(250px,calc(100vw - 28px));
        padding:20px;
        border-radius:18px;
    }
}


/* Flujo de compra guiado */
.dv-cart-step-label{
    display:block;margin-bottom:3px;color:#f0393b;font-size:.62rem;
    font-weight:950;letter-spacing:.08em
}
.dv-cart-progress{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;
    padding:9px 14px;border-bottom:1px solid #e7ebf1;background:#fbfcfe
}
.dv-cart-progress span{
    min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;
    padding:6px 4px;border-radius:9px;color:#8992a1;font-size:.62rem;font-weight:850;
    white-space:nowrap
}
.dv-cart-progress b{
    width:19px;height:19px;display:grid;place-items:center;border-radius:50%;
    background:#e9edf3;color:#667085;font-size:.6rem
}
.dv-cart-progress .is-active{background:#eef4ff;color:#0d376f}
.dv-cart-progress .is-active b{background:#134a9a;color:#fff}
.dv-cart-explainer{
    margin:0 0 10px;padding:9px 10px;border-radius:11px;background:#eef4ff;
    color:#48698f;font-size:.68rem;line-height:1.4
}
.dv-cart-explainer strong{display:block;margin-bottom:2px;color:#0d376f}
.dv-cart-special-link{
    display:block;margin-top:10px;color:#134a9a;text-align:center;
    font-size:.67rem;font-weight:850;text-decoration:none
}
.dv-cart-special-link:hover{text-decoration:underline}
.dv-cart-empty-actions{
    display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px
}
.dv-cart-empty-actions a{
    min-height:38px;display:flex;align-items:center;justify-content:center;
    border:1px solid #d4ddea;border-radius:11px;background:#fff;color:#0d376f;
    text-decoration:none;font-size:.68rem;font-weight:900
}
.dv-cart-count.is-pulse{animation:dvCartCountPulse .38s ease}
@keyframes dvCartCountPulse{
    0%{transform:scale(1)}
    45%{transform:scale(1.32)}
    100%{transform:scale(1)}
}
@media(max-width:420px){
    .dv-cart-progress span{font-size:.57rem}
    .dv-cart-progress b{width:18px;height:18px}
}

.dv-cart-feedback-pulse{animation:dvCartFeedbackPulse .58s ease}
@keyframes dvCartFeedbackPulse{
    0%{filter:brightness(1);transform:scale(1)}
    45%{filter:brightness(1.08);transform:scale(1.08)}
    100%{filter:brightness(1);transform:scale(1)}
}
@media(max-width:640px){
    .dv-cart-toast{
        bottom:max(14px,env(safe-area-inset-bottom));
        grid-template-columns:30px minmax(0,1fr) auto;
        gap:8px;
        padding:9px;
        border-radius:15px;
    }
    .dv-cart-toast__check{width:30px;height:30px}
    .dv-cart-toast__message{font-size:.7rem}
    .dv-cart-toast__action{min-height:34px;padding:0 9px;font-size:.64rem}
}
@media(max-width:420px){
    .dv-cart-toast{
        width:calc(100% - 16px);
        grid-template-columns:30px minmax(0,1fr) auto;
        gap:7px;
        padding:8px;
    }
    .dv-cart-toast__message{
        font-size:.67rem;
        line-height:1.25;
    }
    .dv-cart-toast__action{
        grid-column:auto;
        justify-self:end;
        min-width:84px;
        padding:0 8px;
        font-size:.61rem;
    }
}

@media(max-width:640px){
    .dv-cart-stepper{
        grid-template-columns:repeat(3,minmax(0,1fr));
        width:92px;
        min-width:92px;
    }
    .dv-cart-stepper button{
        min-width:0;
        width:100%;
        padding:0;
        line-height:1;
    }
}


/* Selección de color en productos y kits */
.dv-color-config{
    margin-top:14px;
    padding:14px;
    border:1px solid #d7e1ef;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 18px rgba(19,74,154,.045);
}
.dv-color-config--kit{margin-top:12px;margin-bottom:12px}
.dv-color-config__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.dv-color-config__head strong{color:#0d376f;font-size:.86rem}
.dv-color-config__head span{max-width:360px;color:#667085;font-size:.68rem;line-height:1.4;text-align:right}
.dv-color-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dv-color-option{
    min-width:0;display:flex;align-items:flex-start;gap:9px;padding:11px;
    border:1px solid #dfe5ef;border-radius:12px;background:#f8fafc;cursor:pointer
}
.dv-color-option:has(input:checked){border-color:#134a9a;background:#eef4ff;box-shadow:0 0 0 2px rgba(19,74,154,.08)}
.dv-color-option input{width:17px;height:17px;margin:2px 0 0;accent-color:#134a9a;flex:0 0 auto}
.dv-color-option span{min-width:0}
.dv-color-option b{display:block;color:#17233a;font-size:.76rem}
.dv-color-option small{display:block;margin-top:3px;color:#667085;font-size:.64rem;line-height:1.4}
.dv-color-option.is-disabled{opacity:.58;cursor:not-allowed}
.dv-color-select-wrap{margin-top:12px}
.dv-color-select-wrap[hidden]{display:none!important}
.dv-color-current{
    margin-bottom:9px;color:#17233a;font-size:.78rem;font-weight:800
}
.dv-color-current strong{color:#0d376f}
.dv-color-swatches{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.dv-color-swatch{
    --swatch-color:#eef1f4;
    position:relative;
    width:46px;
    height:46px;
    flex:0 0 46px;
    padding:4px;
    border:1px solid #d7dce3;
    border-radius:50%;
    background:#fff;
    cursor:pointer;
    box-shadow:0 2px 8px rgba(18,31,52,.05);
    transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.dv-color-swatch::before{
    content:"";
    display:block;
    width:100%;
    height:100%;
    border-radius:50%;
    background:var(--swatch-color);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.dv-color-swatch:hover{transform:translateY(-1px);border-color:#aeb8c6}
.dv-color-swatch[data-tooltip]::after{
    content:attr(data-tooltip);
    position:absolute;
    left:50%;
    bottom:calc(100% + 9px);
    z-index:40;
    width:max-content;
    max-width:190px;
    padding:7px 9px;
    border-radius:7px;
    background:#27272a;
    color:#fff;
    font-size:.72rem;
    font-weight:750;
    line-height:1.2;
    white-space:normal;
    text-align:center;
    box-shadow:0 6px 18px rgba(0,0,0,.22);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,4px);
    transition:opacity .12s ease,transform .12s ease,visibility .12s ease;
    pointer-events:none;
}
.dv-color-swatch[data-tooltip]:hover::after,
.dv-color-swatch[data-tooltip]:focus-visible::after{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}
.dv-color-swatch.is-selected{
    border:2px solid #17233a;
    padding:3px;
    box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(19,74,154,.20);
}
.dv-color-swatch__check{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:1.15rem;
    font-weight:950;
    line-height:1;
    opacity:0;
    text-shadow:0 1px 3px rgba(0,0,0,.75);
    pointer-events:none;
}
.dv-color-swatch.is-selected .dv-color-swatch__check{opacity:1}
.dv-color-swatch.is-light .dv-color-swatch__check{
    color:#17233a;
    text-shadow:0 1px 2px rgba(255,255,255,.9);
}
.dv-color-swatch:focus-visible{
    outline:3px solid rgba(19,74,154,.28);
    outline-offset:3px;
}
@media(max-width:640px){
    .dv-color-config{padding:11px;border-radius:14px}
    .dv-color-config__head{display:block}
    .dv-color-config__head span{display:block;margin-top:4px;max-width:none;text-align:left}
    .dv-color-options{grid-template-columns:1fr}
    .dv-color-swatches{gap:7px}
    .dv-color-swatch{width:42px;height:42px;flex-basis:42px;padding:4px}
    .dv-color-swatch.is-selected{padding:3px}
}
