/* La Michoacana Denisse — modal de opciones del producto (WP Café). Solo presentación; los campos, precios y
 * validaciones son los del plugin. Se carga en home y /menu/. */
html.dn-modal-open{overflow:hidden}
body .wpc-product-popup-content{background:rgba(24,35,51,.58) !important;z-index:1300 !important}
body .wpc-product-popup-content{padding:0 !important}
body .wpc-popup-wrap{max-width:min(980px,100vw - 24px) !important;margin:14px auto !important;padding:0 !important;min-height:0 !important;height:auto !important}
body .wpc-popup-wrap-inner{position:relative;background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(24,35,51,.35);min-height:0 !important;height:auto !important;max-height:calc(100dvh - 28px) !important;overflow:auto !important;overscroll-behavior:contain}
body .wpc-close.wpc-btn{position:sticky;top:12px;float:right;margin:12px 12px -56px 0;z-index:10;width:44px;height:44px;border-radius:50%;background:#fff !important;color:var(--dn-ink) !important;border:1.5px solid var(--dn-line) !important;font-size:1.1rem;font-weight:800;box-shadow:0 6px 16px rgba(24,35,51,.15);cursor:pointer}
body .wpc-close.wpc-btn:hover{background:var(--dn-pink-soft) !important}

/* Dos columnas: foto fija a la izquierda, opciones a la derecha */
body .wpc_variation_popup_content .product.wpc-row{display:grid !important;grid-template-columns:minmax(220px,330px) minmax(0,1fr);gap:24px;padding:24px;align-items:start;margin:0}
body .wpc_variation_popup_content .product.wpc-row > [class*="wpc-col-"]{width:auto !important;max-width:none !important;float:none !important;padding:0 !important}
body .wpc_variation_popup_content .variation_product_image{position:sticky;top:24px;border-radius:24px;padding:14px;background:linear-gradient(160deg,#FFD6EA,var(--dn-sky-soft) 70%)}
body .wpc_variation_popup_content .variation_product_image img{width:100%;max-height:360px;object-fit:contain;mix-blend-mode:multiply}
body .wpc-single-content .product_title{margin:0 56px 4px 0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;color:var(--dn-ink)}
body .wpc-single-content p.price{margin:0 0 6px;color:var(--dn-berry);font-weight:800}
body .wpc-single-content p.price:has(.dn-choose){display:none}
body .wpc-single-content .woocommerce-product-details__short-description{color:var(--dn-ink-2);margin:0 0 16px}

/* Grupos de opciones */
body .wpc-inner-addon-container{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1.5px solid var(--dn-line);border-radius:20px;padding:14px 16px;margin:0 0 12px;background:#fff;transition:border-color .2s,background-color .2s}
body .wpc-inner-addon-container > .wpc-addon-name,body .wpc-inner-addon-container > .wpc-addon-required-block,body .wpc-inner-addon-container > .wpc-addon-desc{flex:1 1 100%}
body .wpc-inner-addon-container.required{border-color:#F4B6D6;background:linear-gradient(180deg,var(--dn-pink-soft),#fff)}
body .wpc-inner-addon-container.required:has(input:checked,select option:checked:not([value=""])){border-color:#2E9E5B;background:linear-gradient(180deg,#EEF9F2,#fff)}
body .wpc-addon-name{display:flex;align-items:center;gap:8px;margin:0;font-weight:800;color:var(--dn-ink);text-transform:capitalize;letter-spacing:0}
body .wpc-addon-name em.required{color:var(--dn-berry);font-style:normal}
body .wpc-reqired-text{display:none !important}
body .wpc-inner-addon-container.required > .wpc-addon-name::after{content:"Required";margin-left:auto;padding:3px 10px;border-radius:999px;background:var(--dn-berry);color:#fff;font-size:.72rem;font-weight:700}
body .wpc-inner-addon-container.required:has(input:checked,select option:checked:not([value=""])) > .wpc-addon-name::after{content:"Done";background:#2E9E5B}
body .wpc-addon-required-block{color:#B3261E;font-weight:700;font-size:.9rem;margin:0}

/* Sabores / opciones como chips seleccionables */
body .wpc-addon-wrap{margin:0;width:auto !important;display:block}
body .wpc-addon-wrap:has(> label > input[type=checkbox]),body .wpc-addon-wrap:has(> label > input[type=radio]){flex:0 0 auto}
body .wpc-addon-wrap label{display:inline-flex !important;width:auto !important;align-items:center;gap:8px;min-height:44px;padding:0 16px !important;border:1.5px solid var(--dn-line);border-radius:999px;background:#fff;color:var(--dn-ink);font-weight:600;cursor:pointer;text-transform:none;transition:background-color .15s,border-color .15s,transform .1s}
body .wpc-addon-wrap label:hover{border-color:var(--dn-sky);background:var(--dn-sky-soft)}
body .wpc-addon-wrap label:active{transform:scale(.97)}
body .wpc-addon-wrap label:has(input:checked){background:linear-gradient(135deg,var(--dn-berry),var(--dn-pink));border-color:transparent;color:#fff}
body .wpc-addon-wrap label:has(input:focus-visible){outline:3px solid var(--dn-berry);outline-offset:2px}
body .wpc-addon-wrap input[type=checkbox],body .wpc-addon-wrap input[type=radio]{position:absolute !important;opacity:0 !important;width:1px !important;height:1px !important;margin:0}
body .wpc-addon-wrap label:has(input[type=checkbox],input[type=radio])::before,body .wpc-addon-wrap label:has(input[type=checkbox],input[type=radio])::after{display:none !important}
body .wpc-addon-wrap .wpc-veriation-attribute::before,body .wpc-addon-wrap .wpc-veriation-attribute::after,body .wpc-addon-wrap .wpc-addon-checkbox::before,body .wpc-addon-wrap .wpc-addon-checkbox::after{display:none !important;content:none !important}
body .wpc-addon-wrap label:has(input:checked)::after{display:inline !important;content:"\2713";margin-left:2px;font-weight:800}
body .wpc-addon-wrap .wpc-veriation-attribute{display:inline !important;font-size:.92rem;line-height:1.1;text-transform:none;margin:0 !important;padding:0 !important}
body .wpc-addon-wrap label:has(textarea,select,input[type=text],input[type=number]){display:block;width:100%;padding:0;border:0;background:none;min-height:0;cursor:auto}
body .wpc-addon-wrap:has(textarea,select,input[type=text]){flex:1 1 100%}
body .wpc-addon-select,body .wpc-addon-text{width:100%;min-height:48px;border:1.5px solid var(--dn-line);border-radius:14px;background:#fff;padding:10px 14px;font:inherit}
body .wpc-addon-select:focus,body .wpc-addon-text:focus{outline:none;border-color:var(--dn-berry);box-shadow:0 0 0 4px rgba(185,35,112,.15)}

/* Totales y barra de acción fija abajo */
body .wpc-product-totals{margin:4px 0 0;padding:10px 14px;border-radius:16px;background:var(--dn-sky-soft);color:var(--dn-ink);font-weight:600;font-size:.9rem}
body .wpc_variation_popup_content form.cart{display:block}
body .dn-mfoot{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:12px;margin:12px -8px -8px;padding:12px 8px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--dn-line);backdrop-filter:blur(6px)}
body .dn-mtotal{display:flex;flex-direction:column;line-height:1.15;font-size:.8rem;color:var(--dn-ink-2);font-weight:600;min-width:64px}
body .dn-mtotal b{font-size:1.2rem;color:var(--dn-ink)}
body .dn-mfoot .quantity{flex:0 0 auto;margin:0 !important}
body .dn-mfoot .single_add_to_cart_button{flex:1 1 auto;min-height:52px;border-radius:999px !important;background:linear-gradient(135deg,var(--dn-berry),var(--dn-pink)) !important;color:#fff !important;font-weight:800;font-size:1rem;border:0;box-shadow:0 8px 18px rgba(185,35,112,.3);cursor:pointer}
body .dn-mfoot .single_add_to_cart_button:hover{background:linear-gradient(135deg,var(--dn-berry-dark),var(--dn-berry)) !important}
body .dn-mfoot .single_add_to_cart_button[aria-disabled=true],body .dn-mfoot .single_add_to_cart_button.loading{opacity:.65;pointer-events:none}
body .xqty-btn:focus-visible,body .cart .quantity input.qty:focus{outline:3px solid var(--dn-berry);outline-offset:2px}

@media (max-width:780px){
  body .wpc-product-popup-content{align-items:flex-end}
  body .wpc-popup-wrap{max-width:100vw !important;width:100% !important;margin:0 !important}
  body .wpc-popup-wrap-inner{border-radius:26px 26px 0 0;max-height:92dvh}
  body .wpc_variation_popup_content{margin:0 !important;padding:0 !important;width:100% !important;max-width:100% !important}
  body .wpc_variation_popup_content .product.wpc-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
  body .wpc-popup-wrap-inner{overflow-x:hidden !important}
  body .wpc_variation_popup_content .variation_product_image{position:static;display:flex;justify-content:center;padding:8px;max-height:170px}
  body .wpc_variation_popup_content .variation_product_image img{max-height:150px}
  body .wpc-single-content .product_title{font-size:1.4rem}
  body .dn-mfoot{margin:12px 0 0 !important;width:100%;box-sizing:border-box;gap:8px;padding-inline:0}
  body .dn-mfoot .quantity{height:44px !important}
  body .dn-mfoot .quantity input.qty{width:34px !important}
  body .dn-mfoot .xqty-btn{width:38px !important}
  body .dn-mtotal{min-width:56px}
  body .dn-mfoot .single_add_to_cart_button{min-width:0;padding:0 10px !important;font-size:.9rem !important;white-space:nowrap}
}
@keyframes dn-sheet{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){body .wpc-popup-wrap-inner{animation:dn-sheet .28s cubic-bezier(.2,.8,.2,1) both}}

/* Teléfonos: total y cantidad arriba, botón de añadir a todo el ancho abajo */
@media (max-width:560px){
  body .dn-mfoot{flex-wrap:wrap;row-gap:10px}
  body .dn-mfoot .dn-mtotal{flex:1 1 auto;flex-direction:row;align-items:baseline;gap:8px}
  body .dn-mfoot .single_add_to_cart_button{flex:1 1 100%;order:3;width:100%;padding:0 16px !important;font-size:1rem !important}
}

/* Producto sin foto: las opciones usan todo el ancho (antes quedaban en la columna angosta de la foto) */
body .wpc_variation_popup_content .product.wpc-row:has(> .variation_product_image .woocommerce-product-gallery--without-images){grid-template-columns:minmax(0,1fr) !important;max-width:680px;margin-inline:auto}
body .wpc_variation_popup_content .product.wpc-row:has(> .variation_product_image .woocommerce-product-gallery--without-images) > .variation_product_image{display:none !important}
body .dn-mfoot .single_add_to_cart_button{white-space:nowrap;min-width:150px;padding:0 24px !important;line-height:1.1}

/* Caja de texto a todo el ancho y totales sin repetir (el total ya se ve en la barra de abajo) */
body .wpc-inner-addon-container textarea,body .wpc-inner-addon-container .wpc-addon-textarea{display:block;width:100% !important;max-width:100% !important;min-height:96px;box-sizing:border-box;border:1.5px solid var(--dn-line);border-radius:14px;background:#fff;padding:12px 14px;font:inherit;resize:vertical}
body .wpc-inner-addon-container textarea:focus{outline:none;border-color:var(--dn-berry);box-shadow:0 0 0 4px rgba(185,35,112,.15)}
body .wpc_variation_popup_content .wpc-product-totals{display:none !important}

/* Las opciones (chips) se acomodan en filas, no una por línea */
body .wpc-inner-addon-container > .wpc-addon-required-block{display:flex !important;flex-wrap:wrap;align-items:center;gap:8px}
body .wpc-inner-addon-container > .wpc-addon-required-block > :not(.wpc-addon-wrap){flex:1 1 100%}
