/** CPS v3.2.2 · Mantiene ficha v3.2.1 y compacta las variantes como los filtros de Tienda. */
.cps-design-detail { padding-top: 8px; }
.cps-design-detail__header { margin-bottom: 16px; }
.cps-design-detail__header > .eyebrow { margin: 0 0 8px; }
.cps-design-detail__header h1 { margin: 0; color: #121e35; font-size: clamp(2.1rem, 3.3vw, 3.9rem); line-height: 1.06; letter-spacing: -.035em; overflow-wrap: anywhere; }
.cps-design-detail__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr); gap: clamp(20px, 2.6vw, 34px); align-items: start; }
.cps-design-detail__visual { overflow: hidden; position: relative; border: 1px solid #dae1e9; border-radius: 28px; background: #fff; box-shadow: 0 14px 36px rgba(15, 29, 50, .06); }
.cps-design-detail__visual img { display: block; width: 100%; height: auto; max-height: 720px; aspect-ratio: 1/1; object-fit: contain; }
.cps-design-detail__visual video { display: block; width: 100%; max-height: 720px; aspect-ratio: 1/1; object-fit: contain; }
.cps-design-detail__copy { min-width: 0; display: grid; gap: 14px; align-content: start; }
.cps-design-detail__price { display: grid; gap: 4px; padding: 16px 19px; border: 1px solid #f2c8b5; border-radius: 18px; background: #fffaf6; }
.cps-design-detail__price-label { color: #d94c10; font-size: .77rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.cps-design-detail__price strong { display: block; color: #102544; font-family: var(--font-heading, inherit); font-size: clamp(2rem, 3vw, 3.1rem); line-height: 1.07; font-weight: 850; letter-spacing: -.025em; overflow-wrap: anywhere; }
.cps-design-detail__price small { color: #56647a; font-size: .83rem; line-height: 1.45; }
.cps-design-detail__choices { min-width: 0; padding: 0; margin: 0; border: 0; }
.cps-design-detail__choices legend { color: #12213b; font-size: 1.1rem; font-weight: 850; padding: 0; }
.cps-design-detail__choices > p { margin: 3px 0 7px; color: #56647a; font-size: .85rem; }
.cps-design-detail__option-list { display: grid; gap: 2px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.cps-design-detail__option { display: flex; align-items: center; gap: 9px; min-height: 29px; padding: 4px 7px; border: 0; border-radius: 8px; cursor: pointer; font-size: .87rem; font-weight: 650; color: #16283f; background: transparent; transition: background-color .15s ease; }
.cps-design-detail__option + .cps-design-detail__option { border-top: 0; }
.cps-design-detail__option:hover { background: #fff9f0; }
.cps-design-detail__option.is-selected, .cps-design-detail__option:has(input:checked) { background: #fff4e5; color: #a43b00; font-weight: 750; }
.cps-design-detail__option input { appearance: auto; width: 16px !important; height: 16px !important; min-height: 0 !important; flex: 0 0 16px; margin: 0; padding: 0; accent-color: #ed7000; cursor: pointer; box-shadow: none; }
.cps-design-detail__option input:focus-visible { outline: 2px solid #f58b27; outline-offset: 2px; }
.cps-design-detail__option span { min-width: 0; line-height: 1.32; }
.cps-design-detail__cta { display: grid; gap: 12px; padding: 17px 18px; border: 1px solid #d8e6df; border-radius: 18px; background: #f7fbf8; }
.cps-design-detail__cta-copy h2 { margin: 0 0 5px; color: #0f2645; font-size: 1.2rem; }
.cps-design-detail__cta-copy p { margin: 0; color: #56647a; font-size: .9rem; line-height: 1.48; }
.cps-design-detail__cta-copy small { display: block; margin-top: 10px; color: #35556f; font-size: .83rem; }
.cps-design-detail__cta-button { width: 100%; justify-content: center; }
.cps-design-detail__no-price { display: grid; gap: 11px; margin-top: 4px; padding: 20px; border: 1px solid #f3cfbd; border-radius: 16px; background: #fff8f2; }
.cps-design-detail__no-price p { margin: 0; color: #647086; }
.cps-design-detail__no-price .button { justify-self: start; }
.cps-design-description__inner { max-width: 950px; }
.cps-design-description__hint { margin-top: 14px; color: #657287; font-size: .88rem; }
@media (max-width: 920px) {
    .cps-design-detail__grid { grid-template-columns: 1fr; gap: 18px; }
    .cps-design-detail__visual { max-width: 620px; width: 100%; margin: 0 auto; }
}
@media (max-width: 640px) {
    .cps-design-detail { padding-top: 0; }
    .cps-design-detail__header { margin-bottom: 12px; }
    .cps-design-detail__header h1 { font-size: clamp(2rem, 10vw, 2.6rem); }
    .cps-design-detail__grid { gap: 16px; }
    .cps-design-detail__visual { border-radius: 19px; }
    .cps-design-detail__copy { gap: 12px; }
    .cps-design-detail__price { padding: 15px; }
    .cps-design-detail__price strong { font-size: clamp(1.95rem, 10vw, 2.5rem); }
    .cps-design-detail__option { min-height: 31px; padding: 5px 7px; }
    .cps-design-detail__cta { padding: 15px 13px; }
}
