.cfl-product-outfit-open{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;margin:12px 0 0;padding:11px 18px;border:1px solid var(--campaign-line,var(--line));border-radius:10px;background:var(--lavender);color:var(--purple-dark);font:600 13px/1.5 system-ui,sans-serif;cursor:pointer}
.cfl-product-outfit-open:hover{border-color:var(--purple);background:color-mix(in srgb,var(--lavender) 72%,#fff)}
.cfl-product-outfit-spark{font-size:22px;line-height:1;color:var(--campaign-primary,var(--purple))}
.cfl-product-outfit-open>span:last-child{margin-left:auto;font-size:19px}
.cfl-product-outfit-open[hidden],.cfl-product-outfit [hidden]{display:none!important}
.cfl-outfit-open{overflow:hidden}
.cfl-product-outfit{width:min(var(--cfl-outfit-width,620px),calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);margin:auto;padding:0;border:1px solid var(--campaign-line,var(--line));border-radius:22px;background:var(--paper,#fff);color:var(--ink);box-shadow:0 18px 70px #21182c30;overflow:hidden}
.cfl-product-outfit:not([open]){display:none}
.cfl-product-outfit[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.cfl-product-outfit::backdrop{background:#21182cb8;backdrop-filter:blur(3px)}
.cfl-product-outfit-heading{position:relative;isolation:isolate;padding:26px 60px 17px 28px}
.cfl-product-outfit-heading::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 18% 0,var(--lavender),transparent 75%),radial-gradient(ellipse at 100% 10%,var(--peach),transparent 60%);pointer-events:none}
.cfl-product-outfit-heading h2{margin:0 0 5px;font-family:var(--cfl-loader-heading-font,Georgia,serif);font-size:32px;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}
.cfl-product-outfit-heading h2:focus{outline:none}
.cfl-product-outfit-heading>p:not(.cfl-product-outfit-success){margin:0;font:400 13px/1.6 system-ui,sans-serif;color:var(--muted)}
.cfl-product-outfit-success{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--campaign-secondary,var(--purple-dark));font:600 12px/1.5 system-ui,sans-serif}
.cfl-product-outfit-success>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--sage);font-size:15px}
.cfl-product-outfit-close{position:absolute;top:12px;right:13px;display:grid;place-items:center;width:38px;height:38px;min-height:0;margin:0;padding:0;border:1px solid var(--line);border-radius:50%;background:#ffffffd9;color:var(--purple-dark);cursor:pointer}
.cfl-product-outfit-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;pointer-events:none}
.cfl-product-outfit-body{min-height:0;padding:7px 28px 24px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}
.cfl-product-outfit .cfl-product-outfit-body ul.products{grid-template-columns:repeat(var(--cfl-outfit-columns,3),minmax(0,1fr));gap:14px;width:100%;max-width:calc(var(--cfl-outfit-columns,3)*280px);margin:0 auto}
.cfl-product-outfit-body .cfl-card-media{height:236px}
.cfl-product-outfit-body .products li.product .cfl-card-media img{height:100%}
.cfl-product-outfit-body .products li.product .cfl-card-meta{flex-wrap:wrap}
.cfl-product-outfit-body .products li.product .cfl-card-meta .cfl-card-stock{max-width:100%}
.cfl-product-outfit-message{margin:16px 0;font:400 14px/1.7 system-ui,sans-serif;color:var(--muted)}
.cfl-product-outfit-retry{border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:var(--lavender);color:var(--purple-dark);font:600 13px/1.5 system-ui,sans-serif}
.cfl-product-outfit-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 28px;border-top:1px solid var(--line);background:var(--paper,#fff)}
.cfl-product-outfit-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:160px;min-height:46px;margin:0;padding:12px 20px;border-radius:9px;font-size:13px}
.cfl-product-outfit-continue{min-height:44px;border:0;background:transparent;padding:9px 0;color:var(--purple-dark);font:600 13px/1.5 system-ui,sans-serif;cursor:pointer}
.cfl-product-outfit-open:focus-visible,.cfl-product-outfit :is(button,a):focus-visible{outline:2px solid var(--purple);outline-offset:3px}

@media(max-width:700px){.cfl-product-outfit{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:17px}.cfl-product-outfit-heading{padding:22px 48px 14px 18px}.cfl-product-outfit-heading h2{font-size:30px}.cfl-product-outfit-heading>p:not(.cfl-product-outfit-success){font-size:12px}.cfl-product-outfit-body{padding:7px 17px 20px}.cfl-product-outfit .cfl-product-outfit-body ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:none}.cfl-product-outfit .cfl-product-outfit-body ul.products>li.product{padding:10px 9px 12px}.cfl-product-outfit-body .cfl-card-media{height:clamp(150px,45vw,260px)}.cfl-product-outfit-close{top:10px;right:9px;width:34px;height:34px}.cfl-product-outfit-actions{padding:12px 17px;gap:9px}.cfl-product-outfit-actions .button{min-width:126px;font-size:12px;gap:9px;padding:10px 13px}.cfl-product-outfit-continue{font-size:12px;text-align:left}.cfl-product-outfit-success{font-size:11px;margin-bottom:10px}}
@media(forced-colors:active){.cfl-product-outfit-open,.cfl-product-outfit-close,.cfl-product-outfit-retry{border:1px solid ButtonText}.cfl-product-outfit-heading::before{display:none}}
