.cp-page .cp-hero h1{max-width:20ch}
.cp-page .cp-product-hero{min-height:430px}
.cp-page .cp-hero-overline{font-size:12px!important;letter-spacing:.18em;font-weight:700}
.cp-intro{padding:76px 0 66px;text-align:center}
.cp-intro h2,.cp-section-heading h2{font-size:clamp(32px,3vw,48px);margin:11px 0 18px}
.cp-how{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px;text-align:left}
.cp-how article{padding:26px;border-radius:20px;background:#eee9e1}
.cp-how article>span,.cp-step-heading>span{color:#7f2629;font-weight:700;letter-spacing:.1em}
.cp-how h3{font-size:22px;margin:13px 0 8px}.cp-how p{line-height:1.6;margin:0}
.cp-config{padding:75px 0 90px;background:#f4efe8;scroll-margin-top:10px}
.cp-section-heading{text-align:center;max-width:760px;margin:0 auto 40px}.cp-section-heading p{font-size:17px}
.cp-config-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.cp-workspace{display:grid;gap:22px}.cp-step{padding:32px;border-radius:22px;background:#fff}
.cp-step-heading{display:flex;gap:19px;align-items:start;margin-bottom:23px}.cp-step-heading>span{font-size:20px;padding-top:5px}
.cp-step-heading h3{font-size:25px;margin:0 0 5px}.cp-step-heading p{margin:0;color:#6b615d}
.cp-formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cp-format{appearance:none;display:flex;flex-direction:column;align-items:start;gap:7px;width:100%;min-height:145px;padding:20px;border:1px solid #d8cfc5;border-radius:16px;background:#f4efe8;text-align:left;color:#3f3b3b;text-decoration:none;cursor:pointer}
.cp-format:hover,.cp-format:focus-visible,.cp-format.is-active{border-color:#7f2629;background:#f7e7dc}
.cp-format-num{color:#7f2629;font-size:12px;font-weight:700}.cp-format strong{font-size:22px}.cp-format small{line-height:1.4;color:#6b615d}
.cp-format-link{margin-top:auto;font-size:12px;color:#7f2629;font-weight:700}
.cp-step-note{font-size:12px;color:#7f2629;margin:18px 0 0;line-height:1.5}
.cp-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.cp-filter button{border:1px solid #c7bbb0;border-radius:30px;background:#fff;padding:9px 16px;cursor:pointer;color:#3f3b3b}.cp-filter button.is-active{background:#7f2629;color:#fff;border-color:#7f2629}
.cp-wines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.cp-wine{display:flex;flex-direction:column;min-width:0;border:1px solid #e2d8cd;border-radius:16px;overflow:hidden;background:#faf7f2}.cp-wine[hidden]{display:none}
.cp-wine-art{display:grid;place-items:center;height:190px;overflow:hidden;background:#eee9e1}.cp-wine-art img{display:block;width:auto;height:152px;max-width:75%;min-height:0;object-fit:contain;filter:drop-shadow(6px 8px 5px #39272033)}
.cp-wine-copy{display:flex;flex-direction:column;flex:1;padding:16px}.cp-wine-copy>span{font-size:12px;color:#7f2629;font-weight:700}.cp-wine h3{font-size:18px;line-height:1.2;margin:7px 0;min-height:2.4em}.cp-wine p{font-weight:700;margin:0 0 14px}.cp-wine p small{display:block;font-size:11px;font-weight:400;color:#786f6f}
.cp-add{display:flex;justify-content:space-between;gap:7px;width:100%;margin-top:auto;border:1px solid #7f2629;border-radius:22px;padding:8px 11px;background:transparent;color:#7f2629;font-size:12px;font-weight:700;cursor:pointer}.cp-add:hover:not(:disabled){background:#7f2629;color:#fff}.cp-add:disabled{opacity:.4;cursor:not-allowed}
.cp-gift{display:grid;gap:10px;margin:0 0 24px;padding:20px;border:1px solid #d8cfc5;border-radius:14px}.cp-gift legend{padding:0 7px;color:#7f2629;font-weight:700}.cp-gift label{display:flex;gap:8px;align-items:center}.cp-gift small{color:#786f6f}.cp-gift input{accent-color:#7f2629}
.cp-message{display:grid;gap:9px;font-weight:700}.cp-message small{font-weight:400;color:#786f6f}.cp-message textarea{width:100%;min-height:105px;padding:13px;border:1px solid #cfc5b8;border-radius:10px;resize:vertical;font:inherit}
.cp-summary{position:sticky;top:20px;padding:28px;border-radius:20px;background:#443535;color:#fff}.cp-summary .cat-eyebrow{color:#ffb14c}.cp-summary h3{font-size:29px;margin:9px 0 22px}.cp-progress-text{font-weight:700}.cp-progress{height:8px;margin:13px 0 25px;border-radius:9px;background:#ffffff3a;overflow:hidden}.cp-progress span{display:block;height:100%;width:0;background:#ee840a;transition:width .2s}
.cp-selected{list-style:none;margin:0;padding:0;min-height:120px}.cp-selected li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff32;font-size:13px}.cp-selected li.cp-placeholder{color:#e5d7ce}.cp-selected-actions{display:flex;gap:4px}.cp-selected-actions button{width:27px;height:27px;border:1px solid #ffffff88;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.cp-selected-actions button:disabled{opacity:.4;cursor:not-allowed}
.cp-totals{padding:17px 0;border-bottom:1px solid #ffffff46}.cp-totals>div{display:flex;justify-content:space-between;gap:10px;margin:7px 0}.cp-estimate,.cp-summary-note{font-size:12px;line-height:1.55;color:#f0e3da}.cp-submit{width:100%;margin-top:17px;justify-content:center!important}.cp-submit:disabled{opacity:.6;cursor:not-allowed}.cp-summary-note{margin-bottom:0}
.cp-other{padding:60px 0}.cp-other h2{font-size:31px;margin:0 0 22px}
.cp-dialog{width:min(470px,calc(100% - 28px));padding:34px;border:0;border-radius:20px;background:#faf7f2;color:#3f3b3b;box-shadow:0 22px 65px #0005}.cp-dialog::backdrop{background:#0009}.cp-dialog h2{font-size:30px;margin:0 30px 15px 0}.cp-dialog p{line-height:1.6}.cp-dialog-close{position:absolute;right:17px;top:11px;border:0;background:none;font-size:28px;cursor:pointer}
.cp-page :focus-visible{outline:3px solid #ee840a;outline-offset:3px}
@media(max-width:1050px){.cp-config-layout{grid-template-columns:minmax(0,1fr) 280px}.cp-wines{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.cp-config-layout{grid-template-columns:1fr}.cp-summary{position:static}.cp-how{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.cp-intro{padding:50px 0}.cp-how{grid-template-columns:1fr;gap:10px}.cp-how article{padding:20px}.cp-config{padding:52px 0 65px}.cp-step{padding:19px}.cp-step-heading h3{font-size:22px}.cp-formats{grid-template-columns:1fr 1fr}.cp-format{min-height:123px;padding:15px}.cp-format strong{font-size:18px}.cp-wines{gap:9px}.cp-wine-art{height:145px}.cp-wine-art img{height:116px}.cp-wine-copy{padding:11px}.cp-wine h3{font-size:15px}.cp-add{font-size:11px;padding:8px}.cp-page .cp-product-hero{min-height:430px}}
