/* Composicion comun de todas las fichas. Cargada tras los estilos de formulario. */
body :is(.dc-detail,.immediate-detail.cv-product-details){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:40px;width:100%;max-width:1152px;margin:0 auto;padding:0;background:transparent;border:0;box-sizing:border-box}
body .immediate-detail .immediate-detail-photo{width:100%;margin:0;min-width:0}
body .immediate-detail .immediate-detail-photo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:20px;display:block}
body .dc-detail>div>.dc-photo{width:100%;aspect-ratio:1/1;border-radius:20px;overflow:hidden}
body :is(.dc-detail>.cv-product-details,.immediate-detail>.immediate-detail-copy){padding:26px;border:1px solid #e4d4be;border-radius:20px;background:#f0e5d4;min-width:0;box-sizing:border-box;color:#644c31}
body :is(.dc-detail,.immediate-detail) .cv-product-heading{padding:0 0 24px}
body :is(.dc-detail,.immediate-detail) .cv-product-eyebrow{margin:0 0 14px!important}
body :is(.dc-detail,.immediate-detail) .cv-product-heading h2{font:400 26px/1.45 Raleway,Arial,sans-serif!important;color:#644c31;margin:0 0 18px}
body :is(.dc-detail,.immediate-detail) .cv-product-description{font-size:14px;line-height:1.7;margin:0 0 10px;color:#644c31}
body :is(.dc-detail,.immediate-detail) .cv-product-description:empty{display:none}
body :is(.dc-detail,.immediate-detail) .cv-product-prices{padding:20px 24px;margin:0 0 28px;border-radius:16px;background:#fff8ed;border:1px solid #e3cfb6}
body :is(.dc-detail,.immediate-detail) .cv-product-main-price{font-size:28px;color:#644c31}
body :is(.dc-detail,.immediate-detail) .cv-product-form{display:flex;flex-direction:column;gap:24px;margin:0}
body :is(.dc-detail,.immediate-detail) .cv-allergy{margin:24px 0;padding:18px;background:#fff8ed;border:1px solid #e3cfb6;border-radius:16px}
body :is(.dc-detail,.immediate-detail) .cv-product-form input[type=number]{width:100px!important;max-width:100px;flex:0 0 100px}
body :is(.dc-detail,.immediate-detail) .cv-product-add{min-height:54px;margin:0;width:100%}
@media(max-width:760px){body :is(.dc-detail,.immediate-detail.cv-product-details){grid-template-columns:minmax(0,1fr);gap:24px}body :is(.dc-detail>.cv-product-details,.immediate-detail>.immediate-detail-copy){padding:20px;border-radius:16px}body :is(.dc-detail,.immediate-detail) .cv-product-heading h2{font-size:23px!important}}

body :is(.dc-detail,.immediate-detail) .dc-small{text-align:center;line-height:1.7;margin:18px 0 0}

/* Ritmo uniforme y campos de compra alineados en la ficha. */
body :is(.dc-detail>.cv-product-details,.immediate-detail>.immediate-detail-copy){padding:32px}
body :is(.dc-detail,.immediate-detail) .cv-product-heading{padding:0 0 24px;border-bottom:1px solid #d8c5aa;margin-bottom:24px}
body :is(.dc-detail,.immediate-detail) .cv-product-heading h2{margin-bottom:14px}
body :is(.dc-detail,.immediate-detail) .cv-product-description{margin:0;line-height:1.8}
body :is(.dc-detail,.immediate-detail) .product-delivery-options{margin:0 0 24px}
body :is(.dc-detail,.immediate-detail) .product-delivery-options>span{margin-bottom:12px;font-size:12px}
body :is(.dc-detail,.immediate-detail) .cv-product-prices{margin:0 0 28px;padding:20px 22px}
body :is(.dc-detail,.immediate-detail) .cv-product-form{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px 24px;align-items:start}
body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-product-field{grid-column:1;margin:0}
body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-allergy{grid-column:2;margin:0;padding:16px;min-width:0}
body :is(.dc-detail,.immediate-detail) .cv-allergy legend{font-size:13px;line-height:1.6;padding:0 5px;margin:0 0 8px}
body :is(.dc-detail,.immediate-detail) .cv-allergy-trigger{white-space:normal;line-height:1.5}
body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-product-add{grid-column:1/-1;min-height:54px;margin:4px 0 0}
body :is(.dc-detail,.immediate-detail) .cv-product-form>select,body :is(.dc-detail,.immediate-detail) .cv-product-form>label{grid-column:1/-1;width:100%;margin:0}
body :is(.dc-detail,.immediate-detail) .cv-product-quantity{flex-wrap:wrap;gap:8px}
body :is(.dc-detail,.immediate-detail) .cv-product-quantity>span{font-size:12px}
body :is(.dc-detail,.immediate-detail) .dc-small{margin:22px 0 0;line-height:1.8}
@media(min-width:761px) and (max-width:1100px){body :is(.dc-detail,.immediate-detail) .cv-product-form{grid-template-columns:1fr}body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-allergy{grid-column:1}}
@media(max-width:600px){body :is(.dc-detail>.cv-product-details,.immediate-detail>.immediate-detail-copy){padding:24px}body :is(.dc-detail,.immediate-detail) .cv-product-form{grid-template-columns:1fr;gap:24px}body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-allergy{grid-column:1}body :is(.dc-detail,.immediate-detail) .cv-product-quantity{flex-wrap:nowrap;gap:12px}}

/* Precio como resumen final antes de confirmar la compra. */
body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-product-prices{grid-column:1/-1;margin:0;padding:20px 22px}
body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-product-add{margin-top:0}

/* Pregunta de cantidad completa y alérgenos en su propia fila. */
body :is(.dc-detail,.immediate-detail) .cv-product-form{grid-template-columns:minmax(0,1fr);gap:24px}
body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-product-field,body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-allergy{grid-column:1/-1}
body :is(.dc-detail,.immediate-detail) .cv-product-field>label{margin-bottom:14px;line-height:1.6}
body :is(.dc-detail,.immediate-detail) .cv-product-quantity{flex-wrap:nowrap;gap:14px}
body .dc-detail .cv-product-price-note{margin:10px 0 0;font-size:13px;line-height:1.6;color:#8a7056}

/* Selector de variantes con menú redondeado, navegación por teclado y foco visible. */
.cv-variant-select{position:relative;grid-column:1/-1;min-width:0}
.cv-variant-select>select[hidden]{display:none!important}
body .cv-product-form .cv-variant-trigger{display:block;position:relative;box-sizing:border-box;width:100%;min-height:48px;margin:0;padding:13px 44px 13px 18px;border:1px solid #d8bca0;border-radius:16px;background:#fff8ed;color:#644c31;font:400 14px/1.5 Raleway,Arial,sans-serif;text-align:left;text-transform:none;letter-spacing:0;box-shadow:none;cursor:pointer}
.cv-variant-trigger:after{content:'';position:absolute;right:20px;top:19px;width:7px;height:7px;border-right:1.5px solid #a3333b;border-bottom:1.5px solid #a3333b;transform:rotate(45deg)}
.cv-variant-trigger[aria-expanded=true]:after{transform:rotate(225deg);top:22px}
.cv-variant-menu{position:absolute;inset:calc(100% + 8px) 0 auto;z-index:30;padding:6px;border:1px solid #d8bca0;border-radius:16px;background:#fff8ed;box-shadow:0 8px 24px #4b281626;max-height:260px;overflow-y:auto}
.cv-variant-menu[hidden]{display:none}
body .cv-product-form .cv-variant-option{display:block;box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:11px 14px;border:0;border-radius:11px;background:transparent;color:#644c31;font:400 14px/1.5 Raleway,Arial,sans-serif;text-align:left;text-transform:none;letter-spacing:0;box-shadow:none;cursor:pointer}
body .cv-product-form .cv-variant-option:hover,body .cv-product-form .cv-variant-option[aria-selected=true]{background:#f0e5d4;color:#a3333b}
body .cv-product-form :is(.cv-variant-trigger,.cv-variant-option):focus-visible{outline:2px solid #a3333b;outline-offset:-3px}

body :is(.dc-detail,.immediate-detail) .cv-product-form>.cv-product-delivery-note{grid-column:1/-1;box-sizing:border-box;margin:0;padding:14px 18px;border:1px solid #ddc9ad;border-radius:12px;background:#fff8ed;color:#795e43;font-size:13px;line-height:1.7;text-align:left}
