/* Página del carrito (cart-order) · maqueta RegaloOriginal-carrito-desarrolladores/cart.css.
   Líneas de producto, resumen del pedido y barra móvil de "Continuar". Los pasos están en
   ro-cart-steps.css. Archivo nuevo: no toca ro.css; todo bajo .cart-page. */
.cart-page{font-family:'DM Sans',Arial,sans-serif;color:var(--ro-ink,#222326)}
.cart-page *,.cart-page *::before,.cart-page *::after{box-sizing:border-box}
.cart-page .shell{width:min(1320px,calc(100% - 48px));margin-inline:auto}
@media(max-width:1060px){.cart-page .shell{width:calc(100% - 32px)}}
.cart-page a{text-decoration:none}
.cart-page h1,.cart-page h2{font-family:inherit;color:inherit}
/* Neutraliza estilos heredados de tarjetas de producto (col-carrito/wp-product) */
.cart-page .cart-item.col-carrito{margin:0 0 14px;padding:22px;width:auto;max-width:none;float:none}
body:has(.cart-page) #bottom-arrow{display:none!important}
.cart-page{background:#f8f8f9;padding:24px 0 54px;min-height:70vh}
.cart-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}
.cart-heading h1{margin:0;font-size:34px;letter-spacing:-.8px;line-height:1.2}
.cart-heading h1 span{font-size:16px;font-weight:400;color:var(--ro-muted,#686a70);letter-spacing:0;display:inline-block;margin-left:12px}
.cart-continue{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.cart-continue:hover{color:var(--ro-brand,#d9263b)}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}
.cart-list{min-width:0}
.cart-alert{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;margin-bottom:16px;background:#fff6e9;border:1px solid #f1ddbe;border-radius:12px;font-size:14px;line-height:1.5;color:#6f4a1e}
.cart-alert svg{width:21px;height:21px;flex-shrink:0;margin-top:1px;stroke:currentColor;fill:none;stroke-width:1.7}
.cart-alert strong{display:block;font-weight:600}
.cart-alert p{margin:0}
.cart-item{display:grid;grid-template-columns:148px minmax(0,1fr) 125px;gap:20px;padding:22px;background:white;border:1px solid var(--ro-line,#e9e7e5);border-radius:14px;margin-bottom:14px;position:relative}
.cart-item-photo{align-self:start;border-radius:10px;background:#f5f5f5;overflow:hidden;aspect-ratio:730/575}
.cart-item-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cart-item-details{min-width:0}
.cart-item h2{font-size:17px;line-height:1.4;letter-spacing:-.2px;margin:0 0 6px;font-weight:600}
.cart-item h2 a:hover{color:var(--ro-brand,#d9263b)}
.cart-unit-price{color:var(--ro-muted,#686a70);font-size:13px;margin:0 0 13px}
.cart-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;margin-bottom:11px;color:#397052}
.cart-status svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.cart-status--pending{color:#9c5617}
.cart-status--none{color:var(--ro-muted,#686a70)}
.cart-item-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cart-design-action{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;min-height:38px;border:1px solid #e6d9dc;border-radius:7px;color:var(--ro-brand,#d9263b);font-size:13px;font-weight:600}
.cart-design-action:hover{border-color:var(--ro-brand,#d9263b);background:#fcf2f3}
.cart-design-action--pending{background:var(--ro-brand,#d9263b);border-color:var(--ro-brand,#d9263b);color:#fff}
.cart-design-action--pending:hover{background:var(--ro-brand-dark,#b71c2e);color:white}
.cart-design-action--saved{background:#fff;color:#397052}
.cart-design-action--saved:hover{background:#f2f7f4;border-color:#397052;color:#2e5b43}
.cart-remove{background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#817984;font-size:12px;padding:8px 0;cursor:pointer}
.cart-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:19px;padding-top:2px}
.cart-line-total{font-size:21px;letter-spacing:-.5px;font-weight:700;white-space:nowrap}
.cart-quantity{display:grid;grid-template-columns:32px 37px 32px;height:34px;border:1px solid #dfdce0;border-radius:7px;overflow:hidden}
.cart-quantity button{border:0;background:#fff;font-size:18px;cursor:pointer;padding:0}
.cart-quantity button:hover{background:#f7f5f6}
.cart-quantity button:disabled{color:#b4adb7;cursor:default}
.cart-quantity input{width:100%;min-width:0;border:0;border-left:1px solid #e8e5e9;border-right:1px solid #e8e5e9;text-align:center;appearance:textfield;font-size:14px;padding:0;background:white}
.cart-quantity input::-webkit-inner-spin-button,.cart-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
.cart-summary{background:#fff;border:1px solid var(--ro-line,#e9e7e5);border-radius:14px;padding:24px;position:sticky;top:calc(var(--ro-header-h,74px) + 16px)}
.cart-summary h2{font-size:20px;margin:0 0 23px;letter-spacing:-.4px}
.cart-summary dl{margin:0;display:grid;gap:14px}
.cart-summary dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:14px}
.cart-summary dt{color:var(--ro-muted,#686a70)}
.cart-summary dd{margin:0;text-align:right;font-weight:500}
.cart-summary .shipping-value{font-size:13px;font-weight:400;color:var(--ro-muted,#686a70);max-width:130px}
.cart-summary .cart-summary-total{border-top:1px solid var(--ro-line,#e9e7e5);padding-top:18px;margin-top:6px;font-size:22px}
.cart-summary-total dt,.cart-summary-total dd{color:var(--ro-ink,#222326);font-weight:700;letter-spacing:-.5px}
.cart-tax-note{font-size:12px;color:var(--ro-muted,#686a70);margin:6px 0 20px}
.cart-checkout{width:100%;min-height:48px;background:var(--ro-brand,#d9263b);color:white;display:flex;justify-content:center;align-items:center;border-radius:8px;font-size:15px;font-weight:600}
.cart-checkout:hover{background:var(--ro-brand-dark,#b71c2e)}
.cart-next-note{font-size:12px;color:var(--ro-muted,#686a70);margin:12px 0 0;text-align:center;line-height:1.5}
.cart-summary-warning{font-size:13px;color:#956128;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--ro-line,#e9e7e5);line-height:1.5}
.cart-footer-note{font-size:12px;color:#807984;line-height:1.6;margin:20px 0 0}
.cart-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ro-line,#e9e7e5);border-radius:9px;background:#fff;padding:12px 16px;margin:14px 0;font-size:14px}
.cart-undo button{background:none;border:0;color:var(--ro-brand,#d9263b);font-weight:600;font-size:14px;cursor:pointer}
.cart-undo[hidden],.cart-empty[hidden],.cart-alert[hidden],.cart-summary-warning[hidden]{display:none}
.cart-empty{padding:42px 24px;text-align:center;border:1px solid var(--ro-line,#e9e7e5);border-radius:14px;background:white}
.cart-empty h2{font-size:23px;margin:0 0 10px}
.cart-empty p{color:var(--ro-muted,#686a70);font-size:16px}
.cart-empty a{color:var(--ro-brand,#d9263b);text-decoration:underline;font-weight:600}
.cart-mobile-checkout{display:none}
@media(max-width:1100px){.cart-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.cart-summary{padding:20px}.cart-item{grid-template-columns:115px minmax(0,1fr) 105px;padding:18px;gap:15px}.cart-item h2{font-size:16px}}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-summary dl{gap:12px}.cart-item{grid-template-columns:148px minmax(0,1fr) 125px;padding:22px;gap:20px}.cart-item h2{font-size:17px}.cart-summary h2{margin-bottom:18px}.cart-summary-warning{max-width:500px}}
@media(max-width:600px){.cart-page{padding:18px 0 105px}.cart-heading{align-items:flex-start;margin-bottom:18px;gap:12px}.cart-heading h1{font-size:28px}.cart-heading h1 span{display:block;font-size:13px;margin:6px 0 0}.cart-continue{font-size:12px;white-space:nowrap;margin-top:8px}.cart-alert{padding:13px 14px;font-size:13px;gap:9px}.cart-item{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:15px;margin-bottom:12px}.cart-item h2{font-size:15px;line-height:1.4;margin-bottom:5px}.cart-unit-price{font-size:12px;margin-bottom:9px}.cart-status{font-size:11px;margin-bottom:8px}.cart-item-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ro-line,#e9e7e5);padding-top:12px}.cart-line-total{font-size:19px;order:2}.cart-item-actions{gap:10px}.cart-design-action{font-size:12px;padding:7px 10px;min-height:36px}.cart-remove{font-size:12px}.cart-quantity{grid-template-columns:34px 38px 34px;height:36px}.cart-summary{padding:20px}.cart-summary-total dt,.cart-summary-total dd{font-size:22px}.cart-mobile-checkout{display:flex;position:fixed;bottom:0;left:0;right:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--ro-line,#e9e7e5);background:#fff;z-index:45;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 -4px 22px #22232608}.cart-mobile-checkout>div{display:flex;flex-direction:column;gap:2px}.cart-mobile-checkout small{color:var(--ro-muted,#686a70);font-size:11px}.cart-mobile-checkout strong{font-size:20px;white-space:nowrap}.cart-mobile-checkout .cart-checkout{width:auto;min-height:43px;padding:0 24px;font-size:14px}.cart-footer-note{font-size:12px}.cart-item-photo{border-radius:7px}}
.cart-item[hidden],.cart-summary[hidden],.cart-mobile-checkout[hidden]{display:none!important}

/* ---- Añadidos de la tienda sobre la maqueta ---- */
.cart-heading-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.cart-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.cart-item.is-busy{opacity:.6}
.cart-item.is-busy .cart-quantity{pointer-events:none}
.cart-item-photo:empty{background:#f5f5f5}
.cart-item-actions .cart-design-action{cursor:pointer}
/* Importes con decimales en línea ("6,64 €"), no elevados */
.cart-page .a-price-decimal{opacity:1}
.cart-page .a-price-fraction,.cart-page .a-price-symbol{position:static;top:auto;font-size:inherit}
.cart-page .a-price-symbol{margin-left:.25em}
.cart-page .cart-summary-total dd .a-price-whole{font-weight:inherit}
/* La maqueta supone el pie de la tienda justo debajo: sin hueco extra bajo el contenido */
.cart-page{margin-bottom:0}
@media(max-width:600px){.cart-heading-links{flex-direction:column;align-items:flex-end;gap:4px}}

/* ---- Foto del producto: rellena todo el recuadro ---- */
.cart-item-photo img{object-fit:cover}

/* ---- Eliminar: icono de papelera con tooltip ---- */
.cart-remove{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border-radius:8px;text-decoration:none;color:#817984;transition:background .15s,color .15s}
.cart-remove svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cart-remove:hover,.cart-remove:focus-visible{background:#fdecee;color:var(--ro-brand,#d9263b)}
.cart-remove:focus-visible{outline:2px solid var(--ro-brand,#d9263b);outline-offset:2px}
.cart-remove::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:6px 10px;border-radius:6px;background:var(--ro-ink,#222326);color:#fff;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,transform .15s;z-index:5}
.cart-remove::before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%,4px);border:5px solid transparent;border-top-color:var(--ro-ink,#222326);border-bottom:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,transform .15s;z-index:5}
.cart-remove:hover::after,.cart-remove:hover::before,.cart-remove:focus-visible::after,.cart-remove:focus-visible::before{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media (hover:none){.cart-remove::after,.cart-remove::before{display:none}}

/* Foto cuadrada en escritorio (tablet y móvil conservan la proporción apaisada) */
@media (min-width:901px){.cart-item-photo{aspect-ratio:1/1}}

/* Móvil y tablet táctiles: Safari de iPhone/iPad amplía la página al enfocar un campo con letra menor de 16px. Como la
   tienda ya permite ampliar con los dedos, estos campos se quedan en 16px para que enfocar no mueva ni amplíe nada. */
@media (hover: none) and (pointer: coarse) {
    .cart-quantity input {
        font-size: 16px;
    }
}

/* Aviso al intentar quitar el producto mientras quedan adicionales (la regla ya existía; faltaba explicarla) */
.cart-notice{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;margin-bottom:16px;background:#fdf0f2;border:1px solid #f0cdd3;border-radius:12px;font-size:14px;line-height:1.5;color:#8c1a2a}
.cart-notice svg{width:21px;height:21px;flex-shrink:0;margin-top:1px;stroke:currentColor;fill:none;stroke-width:1.7}
.cart-notice p{margin:0;font-weight:500}
.cart-notice[hidden]{display:none}
/* Efecto al llamar la atención sobre el aviso (sacudida + halo + fondo más fuerte); con movimiento reducido, solo halo y fondo. */
@keyframes cart-notice-atencion{0%,100%{transform:translateX(0);box-shadow:0 0 0 0 rgba(217,38,59,0);background-color:#fdf0f2}15%{transform:translateX(-8px);box-shadow:0 0 0 4px rgba(217,38,59,.30);background-color:#f9d3da}30%{transform:translateX(8px)}45%{transform:translateX(-6px);box-shadow:0 0 0 7px rgba(217,38,59,.18);background-color:#f9d3da}60%{transform:translateX(6px)}75%{transform:translateX(-3px);box-shadow:0 0 0 4px rgba(217,38,59,.10)}90%{transform:translateX(2px)}}
@keyframes cart-notice-halo{0%,100%{box-shadow:0 0 0 0 rgba(217,38,59,0);background-color:#fdf0f2}30%{box-shadow:0 0 0 6px rgba(217,38,59,.28);background-color:#f9d3da}70%{box-shadow:0 0 0 3px rgba(217,38,59,.12);background-color:#f9d3da}}
.cart-notice.is-attention{animation:cart-notice-atencion .9s ease-in-out 1}
@media(prefers-reduced-motion:reduce){.cart-notice.is-attention{animation:cart-notice-halo 1.4s ease-out 1}}
