/* =========================================================
   YO, TURO — COMPONENTE RAHUE (rahue-box.php)
   Carrito, checkout, fichas de producto y /tienda/snacks/.
========================================================= */

.turo-rahue-box {
	--rahue-stripe: repeating-linear-gradient(90deg,#ee3f6d 0 34px,#f6b21a 34px 58px,#27b9c4 58px 92px,#111 92px 100px,#f26a2e 100px 128px,#83d2a8 128px 150px,#111 150px 158px);
	position: relative;box-sizing: border-box;margin: 28px 0 4px;padding: 30px 22px 22px;overflow: hidden;border-radius: 22px;background: #f8efb7;color: #111;font-family: var(--turo-font-family);text-align: left;
}
/* Franja con los colores del packaging Rahue. */
.turo-rahue-box::before { content: "";position: absolute;top: 0;left: 0;right: 0;height: 8px;background: var(--rahue-stripe); }

.turo-rahue-box__eyebrow { display: block;font-size: 10px;font-weight: 800;letter-spacing: .14em; }
.turo-rahue-box h2 { margin: 6px 0 4px !important;padding: 0 !important;border: 0 !important;color: #111 !important;font-family: var(--turo-font-family);font-size: clamp(22px, 2.4vw, 28px) !important;font-weight: 900 !important;line-height: 1.1 !important;letter-spacing: -.03em; }
.turo-rahue-box__head p { max-width: 640px;margin: 0 !important;color: #222;font-size: 13px;line-height: 1.5; }
.turo-rahue-box__head b { padding: 1px 6px;border-radius: 6px;background: var(--turo-violet, #bb9efa);font-weight: 800; }

/* Progreso: tres puntos + texto. También se usa en la barra fija. */
.turo-rahue-progress { display: flex;align-items: center;gap: 12px; }
.turo-rahue-progress strong { font-size: 12px;font-weight: 800;line-height: 1.35; }
.turo-rahue-dots { display: flex;flex: none;gap: 5px; }
.turo-rahue-dots span { width: 18px;height: 18px;box-sizing: border-box;border: 2px solid #111;border-radius: 50%;background: #fff;transition: background .2s ease; }
.turo-rahue-dots span.is-on { background: var(--turo-violet, #bb9efa); }
.turo-rahue-box .turo-rahue-progress { margin: 16px 0;padding: 11px 14px;border-radius: 14px;background: rgba(255, 255, 255, .7); }
.turo-rahue-box.is-active .turo-rahue-progress { background: #83d2a8; }
.turo-rahue-box.is-active .turo-rahue-dots span { background: #111; }

/* Tarjetas. */
.turo-rahue-box__grid { display: grid;grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));gap: 12px; }
.turo-rahue-card {
	position: relative;display: flex;flex-direction: column;padding: 8px 8px 10px;border: 2px solid transparent;border-radius: 18px;background: #fff;transition: border-color .2s ease, transform .2s ease;
}
.turo-rahue-card.is-added { border-color: #111; }
.turo-rahue-card__off {
	position: absolute;z-index: 1;top: 14px;left: 14px;padding: 4px 7px;border-radius: 8px;background: var(--turo-violet, #bb9efa);color: #111;font-size: 11px;font-weight: 900;line-height: 1;
}
.turo-rahue-card__image { display: block;aspect-ratio: 1;overflow: hidden;border-radius: 12px;background: #f3eee4; }
.turo-rahue-card__image img { display: block;width: 100% !important;height: 100% !important;margin: 0 !important;object-fit: cover;transition: transform .35s ease; }
.turo-rahue-card:hover .turo-rahue-card__image img { transform: scale(1.04); }
.turo-rahue-card h3 { flex: 1;margin: 10px 4px 6px !important;padding: 0 !important;border: 0 !important;font-family: var(--turo-font-family);font-size: 12px !important;font-weight: 800 !important;line-height: 1.25 !important;letter-spacing: 0 !important; }
.turo-rahue-card h3 a { color: #111 !important;font-size: inherit !important;font-weight: inherit !important;line-height: inherit !important;text-decoration: none !important; }
.turo-rahue-card__prices { display: flex;flex-direction: column;gap: 3px;margin: 0 4px 10px; }
.turo-rahue-card__regular,
.turo-rahue-card__regular .amount { color: #555 !important;font-size: 12px !important;font-weight: 700 !important; }
.turo-rahue-card__promo { align-self: flex-start;padding: 3px 7px;border-radius: 7px;background: #83d2a8;color: #111;font-size: 13px;font-weight: 900; }
.turo-rahue-card__promo .amount { color: #111 !important;font-size: inherit !important;font-weight: 900 !important; }
.turo-rahue-card__promo small { font-size: 9px;font-weight: 800;text-transform: uppercase; }
.turo-rahue-card__counts { align-self: flex-start;padding: 3px 7px;border-radius: 7px;background: var(--turo-violet-soft, #e9e0fb);color: #111;font-size: 10px;font-weight: 800; }
.turo-rahue-card__counts--out { background: #f1efe9;color: #555; }
.turo-rahue-card__regular--own del,
.turo-rahue-card__regular--own del .amount { color: #999 !important;font-weight: 600 !important; }
.turo-rahue-card__regular--own ins { text-decoration: none; }
.turo-rahue-card__regular--own ins .amount { color: #111 !important; }

.turo-rahue-card__qty { display: flex;align-items: center;justify-content: space-between;padding: 3px;border-radius: 999px;background: #111; }
.turo-rahue-card__qty button {
	display: grid;place-items: center;width: 32px;height: 32px;min-height: 0 !important;margin: 0 !important;padding: 0 !important;border: 0 !important;border-radius: 50% !important;background: #fff !important;color: #111 !important;font-size: 18px !important;font-weight: 700;line-height: 1 !important;cursor: pointer;box-shadow: none !important;
}
.turo-rahue-card__qty button:disabled { opacity: .35;cursor: default; }
.turo-rahue-card__qty strong { color: #fff;font-size: 14px;font-weight: 800; }

.turo-rahue-box__error { margin: 12px 0 0 !important;color: #b42318;font-size: 12px;font-weight: 700; }
.turo-rahue-box__all { display: inline-flex;gap: 8px;margin-top: 16px;color: #111 !important;font-size: 12px;font-weight: 800;text-decoration: none !important; }

/* ---------- Ubicaciones ---------- */

/* Carrito y checkout: lista compacta, una fila por snack
   (foto · nombre y precio · cantidad). */
/* En el checkout WordPress agrega <br> y <p> vacíos dentro de la caja: no ocupan lugar. */
.turo-rahue-box br,
.turo-rahue-card > p:empty { display: none; }
.turo-rahue-box--cart .turo-rahue-box__grid,
.turo-rahue-box--checkout .turo-rahue-box__grid { grid-template-columns: minmax(0, 1fr);gap: 8px; }
.turo-rahue-box--cart .turo-rahue-card,
.turo-rahue-box--checkout .turo-rahue-card {
	display: grid;grid-template-columns: 64px minmax(0, 1fr) auto;grid-template-areas: "img name qty" "img prices qty";column-gap: 14px;row-gap: 4px;align-items: center;padding: 8px 10px 8px 8px;border-radius: 14px;
}
.turo-rahue-box--cart .turo-rahue-card__image,
.turo-rahue-box--checkout .turo-rahue-card__image { grid-area: img;width: 64px;border-radius: 10px; }
.turo-rahue-box--cart .turo-rahue-card__off,
.turo-rahue-box--checkout .turo-rahue-card__off { top: 4px;left: 4px;padding: 3px 5px;border-radius: 6px;font-size: 9px; }
.turo-rahue-box--cart .turo-rahue-card h3,
.turo-rahue-box--checkout .turo-rahue-card h3 { grid-area: name;align-self: end;margin: 0 !important;font-size: 13px !important; }
.turo-rahue-box--cart .turo-rahue-card__prices,
.turo-rahue-box--checkout .turo-rahue-card__prices { grid-area: prices;flex-direction: row;flex-wrap: wrap;align-items: center;align-self: start;gap: 4px 8px;margin: 0; }
.turo-rahue-box--cart .turo-rahue-card__promo,
.turo-rahue-box--cart .turo-rahue-card__counts,
.turo-rahue-box--checkout .turo-rahue-card__promo,
.turo-rahue-box--checkout .turo-rahue-card__counts { align-self: center; }
.turo-rahue-box--cart .turo-rahue-card__qty,
.turo-rahue-box--checkout .turo-rahue-card__qty { grid-area: qty;gap: 10px; }
.turo-rahue-box--cart .turo-rahue-card__qty button,
.turo-rahue-box--checkout .turo-rahue-card__qty button { width: 30px;height: 30px; }
.turo-rahue-box--cart .turo-rahue-card__qty strong,
.turo-rahue-box--checkout .turo-rahue-card__qty strong { min-width: 14px;text-align: center; }

.woocommerce-cart .turo-rahue-box--cart { margin: 30px 0 10px; }

.turo-rahue-box--single { width: min(1180px, calc(100% - 40px));margin: 40px auto;padding: 34px 28px 26px; }

/* /tienda/snacks/: la grilla es el contenido principal, sin caja amarilla. */
/* /tienda/snacks/: lugar para la barra fija al final de la página (no antes del newsletter). */
body.turo-snacks-archive { padding-bottom: 96px; }
body.turo-snacks-archive #content #primary { margin-bottom: 0; }
.turo-rahue-box--page { width: 100%;margin: var(--turo-section-space) auto 0;padding: 0;overflow: visible;background: transparent; }
.turo-rahue-box--page::before { display: none; }
.turo-rahue-box--page .turo-rahue-box__eyebrow { color: var(--turo-violet, #bb9efa); }
.turo-rahue-box--page h2 { font-size: clamp(30px, 3.4vw, 46px) !important;letter-spacing: -.045em; }
.turo-rahue-box--page .turo-rahue-box__head p { font-size: 14px;color: #555; }
.turo-rahue-box--page .turo-rahue-progress { display: none; }
.turo-rahue-box--page .turo-rahue-box__grid { grid-template-columns: repeat(4, minmax(0, 1fr));gap: 20px;margin-top: 26px; }
@media (max-width: 1024px) { .turo-rahue-box--page .turo-rahue-box__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.turo-rahue-box--page .turo-rahue-card { padding: 10px 10px 14px;border-color: rgba(17, 17, 17, .06);box-shadow: 0 14px 34px rgba(17, 17, 17, .06); }
.turo-rahue-box--page .turo-rahue-card.is-added { border-color: #111; }
.turo-rahue-box--page .turo-rahue-card__off { top: 18px;left: 18px;font-size: 12px; }
.turo-rahue-box--page .turo-rahue-card h3 { margin: 14px 4px 8px !important;font-size: 15px !important; }
.turo-rahue-box--page .turo-rahue-card__regular,
.turo-rahue-box--page .turo-rahue-card__regular .amount { font-size: 14px !important; }
.turo-rahue-box--page .turo-rahue-card__promo { font-size: 15px; }
.turo-rahue-box--page .turo-rahue-card__qty button { width: 38px;height: 38px; }

/* Barra fija de /tienda/snacks/. */
.turo-rahue-bar {
	position: fixed;z-index: 90;left: 50%;bottom: 18px;display: flex;align-items: center;justify-content: space-between;gap: 16px;width: min(620px, calc(100% - 40px));box-sizing: border-box;padding: 10px 10px 10px 18px;border-radius: 999px;background: #111;color: #fff;font-family: var(--turo-font-family);box-shadow: 0 16px 40px rgba(17, 17, 17, .28);transform: translateX(-50%);
}
.turo-rahue-bar .turo-rahue-dots span { border-color: #fff;background: transparent; }
.turo-rahue-bar .turo-rahue-dots span.is-on { border-color: var(--turo-violet, #bb9efa);background: var(--turo-violet, #bb9efa); }
.turo-rahue-bar.is-active .turo-rahue-dots span { border-color: #83d2a8;background: #83d2a8; }
.turo-rahue-bar strong { color: #fff; }
.turo-rahue-bar__pay { flex: none;padding: 12px 18px;border-radius: 999px;background: #f8efb7;color: #111 !important;font-size: 11px;font-weight: 900;letter-spacing: .04em;text-decoration: none !important;white-space: nowrap; }
.turo-rahue-bar__pay[hidden] { display: none; }
.turo-rahue-bar.is-active .turo-rahue-bar__pay { background: #83d2a8; }

/* Carrito: aviso de la promo y descuento en cada línea (antes en 23-snacks.css, que no se carga en el carrito). */
.turo-rahue-cart-notice{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 22px;padding:20px 22px;border-radius:18px;background:#f8efb7;color:#111;font-family:var(--turo-font-family);text-align:left}.turo-rahue-cart-notice>strong{font-size:19px;font-weight:800;line-height:1.3}.turo-rahue-cart-notice>span{font-size:13px;line-height:1.5}.turo-rahue-cart-notice>small{font-size:10px;line-height:1.5;color:#555}.turo-rahue-cart-notice>a{display:inline-flex;padding:10px 16px;border-radius:999px;background:#111;color:#fff!important;text-decoration:none;font-size:10px;font-weight:800}.turo-rahue-cart-notice.is-active{background:var(--turo-violet-soft, #e9e0fb)}
/* Centrado como el resto de la columna "Precio final"; en celular la columna va a la izquierda. */
.woocommerce-cart .turo-rahue-line-final{display:inline-flex;flex-direction:column;align-items:center;gap:8px}
.woocommerce-cart .turo-rahue-line-discount{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--turo-violet, #bb9efa);color:#111;font-family:var(--turo-font-family);font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
.woocommerce-cart .turo-rahue-line-amount{display:block;font-weight:800}
@media(max-width:767px){.woocommerce-cart .turo-rahue-line-discount{font-size:10px;padding:5px 8px}.woocommerce-cart .turo-rahue-line-final{align-items:flex-start}}

/* Carrito y checkout en celular: franja compacta en lugar de la caja. */
.turo-rahue-mini { display: none; }

@media (max-width: 767px) {
	.turo-rahue-box { padding: 26px 14px 18px; }
	.turo-rahue-box__grid { grid-template-columns: 1fr 1fr;gap: 10px; }

	.turo-rahue-box--single { width: calc(100% - 24px);margin: 28px auto; }

	.turo-rahue-box--page .turo-rahue-box__grid { grid-template-columns: 1fr 1fr;gap: 10px;margin-top: 18px; }
	.turo-rahue-box--page .turo-rahue-card { padding: 7px 7px 10px; }
	.turo-rahue-box--page .turo-rahue-card__off { top: 13px;left: 13px;font-size: 11px; }
	.turo-rahue-box--page .turo-rahue-card h3 { margin: 10px 3px 6px !important;font-size: 13px !important; }
	.turo-rahue-box--page .turo-rahue-card__promo { font-size: 13px; }
	.turo-rahue-box--page .turo-rahue-card__qty button { width: 32px;height: 32px; }

	/* Deja libre el botón de WhatsApp de la esquina. */
	.turo-rahue-bar { left: 12px;right: 84px;bottom: 14px;width: auto;gap: 10px;padding: 8px 8px 8px 14px;transform: none; }
	.turo-rahue-bar .turo-rahue-dots span { width: 14px;height: 14px; }
	.turo-rahue-bar strong { font-size: 11px; }
	.turo-rahue-bar__pay { padding: 10px 12px;font-size: 10px; }

	.turo-rahue-box--cart,
	.turo-rahue-box--checkout { display: none; }
	.turo-rahue-mini {
		position: relative;display: flex;align-items: center;gap: 12px;margin: 18px 0 2px;padding: 16px 14px 12px;overflow: hidden;border-radius: 16px;background: #f8efb7;color: #111 !important;font-family: var(--turo-font-family);text-decoration: none !important;
	}
	.turo-rahue-mini::before {
		content: "";position: absolute;top: 0;left: 0;right: 0;height: 5px;
		background: repeating-linear-gradient(90deg,#ee3f6d 0 34px,#f6b21a 34px 58px,#27b9c4 58px 92px,#111 92px 100px,#f26a2e 100px 128px,#83d2a8 128px 150px,#111 150px 158px);
	}
	.turo-rahue-mini__thumbs { display: flex;flex: none;padding-left: 10px; }
	.turo-rahue-mini__thumbs img { width: 38px !important;height: 38px !important;margin: 0 0 0 -10px !important;border: 2px solid #fff;border-radius: 50%;object-fit: cover; }
	.turo-rahue-mini__text { display: flex;flex: 1;flex-direction: column;gap: 2px;min-width: 0; }
	.turo-rahue-mini__text strong { font-size: 13px;font-weight: 900;line-height: 1.25; }
	.turo-rahue-mini__text > span { font-size: 11px;font-weight: 600;line-height: 1.35; }
	.turo-rahue-mini__text .amount { font-weight: 800; }
	.turo-rahue-mini__arrow { display: grid;place-items: center;flex: none;width: 32px;height: 32px;border-radius: 50%;background: #111;color: #fff;font-size: 15px;font-weight: 800; }
}
