/* ==========================================================================
   Joyería Panamá — Polish overrides
   ========================================================================== */

/* Cards de producto en CPT jp_joya */
.at-product-card,
body.at-team .at-product-card,
.products .product,
body.at-team .products .product {
	background: var(--jp-ivory) !important;
	border: 1px solid var(--jp-cream) !important;
	border-radius: 6px !important;
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.at-product-card:hover,
body.at-team .at-product-card:hover,
body.at-team .products .product:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(15, 15, 16, 0.08) !important;
	border-color: var(--jp-gold) !important;
}
.at-product-card__title,
body.at-team .at-product-card__title {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	color: var(--jp-black) !important;
}
.at-product-card__price,
body.at-team .at-product-card__price {
	color: var(--jp-gold-dark) !important;
	font-weight: 600;
}

/* Galeria extra en single-jp_joya */
.jp-joya-extra-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin-top: 32px;
}
.jp-extra-item {
	border-radius: 6px;
	overflow: hidden;
	background: var(--jp-cream);
}
.jp-extra-item img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 400ms ease;
}
.jp-extra-item:hover img {
	transform: scale(1.02);
}

/* Header / nav */
.at-header__nav-link,
body.at-team .at-header__nav-link {
	color: var(--jp-black) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 500;
	text-transform: uppercase;
	font-size: 0.85em;
	letter-spacing: 0.08em;
}
.at-header__nav-link:hover,
body.at-team .at-header__nav-link:hover,
.at-header__nav-link.is-active,
body.at-team .at-header__nav-link.is-active {
	color: var(--jp-gold-dark) !important;
}

/* Breadcrumb */
.at-breadcrumb,
body.at-team .at-breadcrumb {
	color: var(--jp-gold-dark) !important;
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* Tipografía general */
body.at-team,
body.at-team .at-content {
	font-family: 'Inter', -apple-system, sans-serif !important;
	color: var(--jp-black);
	line-height: 1.65;
}

h1, h2, h3, h4, h5, h6,
body.at-team h1, body.at-team h2, body.at-team h3 {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	color: var(--jp-black);
	font-weight: 500;
	letter-spacing: 0.01em;
}

/* Strip para CTAs oscuros */
.jp-cta-strip {
	background: var(--jp-black);
	color: var(--jp-ivory);
	padding: 48px 24px;
	text-align: center;
	border-radius: 6px;
	margin: 48px 0;
}
.jp-cta-strip h2 { color: var(--jp-gold); }

/* Estado "sin stock" */
.jp-out-of-stock {
	opacity: 0.7;
	position: relative;
}
.jp-out-of-stock::after {
	content: "AGOTADO";
	position: absolute;
	top: 12px;
	right: 12px;
	background: var(--jp-black);
	color: var(--jp-gold);
	padding: 4px 10px;
	font-size: 0.7em;
	letter-spacing: 0.1em;
	border-radius: 2px;
	font-weight: 600;
}
/* ==========================================================================
   JOYERÍA PANAMÁ — Módulos del home (100% datos Panamá, no demo AT)
   ========================================================================== */

/* Variables base Panamá */
:root {
    --jp-gold:        #C9A961;
    --jp-gold-dark:   #8C7236;
    --jp-gold-light:  #E6D4A5;
    --jp-black:       #0F0F10;
    --jp-cream:       #FAF7F2;
    --jp-text:        #2A2A2E;
    --jp-text-soft:   #6B6B70;
    --jp-success:     #2F8F4F;
    --jp-danger:      #B23A48;
}

/* HERO */
.jp-hero {
    background:
        linear-gradient(135deg, rgba(15,15,16,0.85), rgba(15,15,16,0.65)),
        radial-gradient(ellipse at center, var(--jp-gold-dark), var(--jp-black));
    color: #fff;
    padding: 100px 0 80px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.jp-hero__bg {
    position: absolute; inset: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(201,169,97,0.2), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(201,169,97,0.15), transparent 40%);
    pointer-events: none;
}
.jp-hero__inner { position: relative; z-index: 2; }
.jp-hero__brand {
    font-size: 14px; letter-spacing: 4px;
    color: var(--jp-gold-light);
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600;
}
.jp-hero__title {
    font-size: 64px; font-weight: 800;
    margin: 0 0 24px; color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
.jp-hero__sub {
    font-size: 22px; color: var(--jp-gold-light);
    max-width: 720px; margin: 0 auto 40px; line-height: 1.5;
}
.jp-hero__cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.jp-hero__meta {
    display: flex; gap: 24px; justify-content: center;
    margin-top: 48px; flex-wrap: wrap;
    font-size: 14px; color: var(--jp-gold-light);
}

/* BOTONES */
.jp-btn {
    display: inline-block;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s ease;
    border: 2px solid transparent;
    cursor: pointer;
    font-size: 15px;
    letter-spacing: 0.5px;
}
.jp-btn--primary {
    background: var(--jp-gold); color: var(--jp-black);
    border-color: var(--jp-gold);
}
.jp-btn--primary:hover {
    background: var(--jp-gold-dark); border-color: var(--jp-gold-dark);
    color: #fff; transform: translateY(-1px);
}
.jp-btn--ghost {
    background: transparent; color: #fff;
    border-color: rgba(255,255,255,0.5);
}
.jp-btn--ghost:hover {
    border-color: var(--jp-gold); color: var(--jp-gold-light);
}
.jp-btn--lg { padding: 18px 40px; font-size: 17px; }

/* BANNER ENVIOS */
.jp-banner-envios {
    background: linear-gradient(90deg, var(--jp-gold-dark), var(--jp-gold));
    color: #fff;
    padding: 18px 0;
    text-align: center;
}
.jp-banner-envios > .at-container {
    display: flex; align-items: center; justify-content: center;
    gap: 16px; flex-wrap: wrap;
}
.jp-banner-envios__icon { font-size: 28px; }
.jp-banner-envios__txt { font-size: 16px; }
.jp-banner-envios__txt strong { font-weight: 700; }
.jp-banner-envios__link {
    color: #fff; text-decoration: underline;
    font-weight: 600;
}

/* SECTION TITLE */
.jp-section-title {
    text-align: center; font-size: 36px; font-weight: 800;
    color: var(--jp-black); margin: 0 0 8px;
}
.jp-section-sub {
    text-align: center; color: var(--jp-text-soft);
    font-size: 16px; margin: 0 0 48px;
}
.jp-categorias, .jp-destacados, .jp-existencias, .jp-beneficios,
.jp-proceso, .jp-testimonios, .jp-sedes-resumen, .jp-cta-credito {
    padding: 80px 0;
}
.jp-categorias, .jp-existencias, .jp-testimonios, .jp-sedes-resumen {
    background: var(--jp-cream);
}

/* CATEGORIAS GRID */
.jp-categorias__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
}
.jp-categoria-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px 20px;
    text-align: center;
    text-decoration: none;
    color: var(--jp-text);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: all .25s ease;
    border: 2px solid transparent;
}
.jp-categoria-card:hover {
    transform: translateY(-4px);
    border-color: var(--jp-gold);
    box-shadow: 0 12px 32px rgba(201,169,97,0.25);
}
.jp-categoria-card__icon { font-size: 48px; margin-bottom: 12px; }
.jp-categoria-card__name {
    font-size: 16px; font-weight: 700;
    color: var(--jp-black); margin-bottom: 4px;
}
.jp-categoria-card__count { font-size: 13px; color: var(--jp-text-soft); }

/* DESTACADOS / GRID DE PRODUCTOS */
.jp-destacados__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
}
.jp-destacados__cta { text-align: center; margin-top: 48px; }

/* Card producto (reutilizable) */
.jp-joya-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: all .25s ease;
    border: 1px solid #eee;
}
.jp-joya-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    border-color: var(--jp-gold-light);
}
.jp-joya-link {
    text-decoration: none; color: inherit;
    display: block;
}
.jp-joya-img-wrap {
    aspect-ratio: 1/1;
    background: var(--jp-cream);
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.jp-joya-img-wrap img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .3s ease;
}
.jp-joya-card:hover .jp-joya-img-wrap img { transform: scale(1.05); }
.jp-joya-no-img {
    color: var(--jp-text-soft); font-size: 14px; padding: 20px; text-align: center;
}
.jp-joya-title {
    font-size: 15px; font-weight: 600;
    color: var(--jp-black);
    margin: 12px 16px 4px;
    line-height: 1.3;
}
.jp-joya-sku {
    font-size: 12px; color: var(--jp-text-soft);
    margin: 0 16px;
}
.jp-joya-price {
    font-size: 18px; font-weight: 800;
    color: var(--jp-gold-dark);
    margin: 8px 16px;
}
.jp-joya-stock {
    display: inline-block;
    margin: 0 16px 16px;
    font-size: 12px; font-weight: 600;
    padding: 4px 10px;
    border-radius: 12px;
}
.jp-in-stock {
    background: rgba(47,143,79,0.1);
    color: var(--jp-success);
}
.jp-out-stock {
    background: rgba(178,58,72,0.1);
    color: var(--jp-danger);
}

/* Footer CTA del card de producto (movido aquí desde arriba del card, 26-sep-2026).
   El botón sigue siendo .jpc-add-btn.jpc-add-btn--small del plugin del carrito,
   pero lo envolvemos en un contenedor con padding y ancho controlado para que
   se vea como un pie de e-commerce estándar: imagen, info, acción. */
.jp-joya-card__cta {
    padding: 4px 16px 16px;
    border-top: 1px solid rgba(196, 154, 80, 0.18);
    margin-top: 4px;
}
.jp-joya-card__cta .jpc-add-btn {
    width: 100%;
    justify-content: center;
    padding: 11px 16px;
    font-size: 0.8125rem;
}
.jp-joya-card__cta .jpc-add-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(201, 169, 97, 0.4);
}


/* EXISTENCIAS POR SEDE */
.jp-existencias__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}
.jp-sede-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    text-align: center;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    border-top: 4px solid var(--jp-gold);
}
.jp-sede-card__icon { font-size: 48px; margin-bottom: 12px; }
.jp-sede-card__name {
    font-size: 22px; font-weight: 800;
    color: var(--jp-black); margin: 0 0 4px;
}
.jp-sede-card__cc {
    color: var(--jp-text-soft);
    font-size: 14px; margin-bottom: 24px;
}
.jp-sede-card__stats {
    display: flex; gap: 16px; justify-content: center;
    margin-bottom: 24px;
}
.jp-stat__num {
    font-size: 36px; font-weight: 800;
    color: var(--jp-gold-dark);
    line-height: 1;
}
.jp-stat__lbl {
    font-size: 12px; color: var(--jp-text-soft);
    text-transform: uppercase; letter-spacing: 1px;
    margin-top: 4px;
}

/* BENEFICIOS */
.jp-beneficios__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 32px;
}
.jp-beneficio {
    text-align: center;
    padding: 24px;
}
.jp-beneficio__icon {
    font-size: 56px; margin-bottom: 16px;
    display: inline-block;
}
.jp-beneficio h3 {
    font-size: 20px; font-weight: 700;
    color: var(--jp-black); margin: 0 0 12px;
}
.jp-beneficio p {
    color: var(--jp-text-soft);
    line-height: 1.6; margin: 0;
}

/* PROCESO */
.jp-proceso__steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
    counter-reset: step;
}
.jp-step {
    text-align: center;
    padding: 24px;
    position: relative;
}
.jp-step__num {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: var(--jp-gold);
    color: var(--jp-black);
    font-size: 28px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
}
.jp-step h3 {
    font-size: 18px; font-weight: 700;
    color: var(--jp-black); margin: 0 0 8px;
}
.jp-step p {
    color: var(--jp-text-soft); line-height: 1.5;
    margin: 0;
}

/* TESTIMONIOS */
.jp-testimonios__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}
.jp-testimonial {
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    border-left: 4px solid var(--jp-gold);
}
.jp-testimonial__stars {
    color: var(--jp-gold);
    font-size: 18px;
    margin-bottom: 12px;
    letter-spacing: 2px;
}
.jp-testimonial__text {
    font-style: italic;
    color: var(--jp-text);
    line-height: 1.6;
    margin: 0 0 16px;
}
.jp-testimonial__autor {
    font-size: 13px;
    color: var(--jp-text-soft);
}
.jp-testimonial__autor strong {
    color: var(--jp-black);
    display: block;
    font-size: 14px;
    margin-bottom: 2px;
}

/* CTA CRÉDITO */
.jp-cta-credito {
    background:
        linear-gradient(135deg, var(--jp-black) 0%, var(--jp-gold-dark) 100%);
    color: #fff;
    text-align: center;
    padding: 80px 0;
}
.jp-cta-credito__title {
    font-size: 36px; font-weight: 800;
    margin: 0 0 12px; color: #fff;
}
.jp-cta-credito__sub {
    color: var(--jp-gold-light);
    font-size: 18px;
    margin: 0 0 32px;
}

/* SEDES RESUMEN */
.jp-sedes-resumen__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}
.jp-sede-resumen {
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.jp-sede-resumen h3 {
    font-size: 22px; font-weight: 800;
    color: var(--jp-black);
    margin: 0 0 12px;
}
.jp-sede-resumen p {
    color: var(--jp-text);
    line-height: 1.6;
    margin: 0 0 8px;
}
.jp-sede-resumen strong { color: var(--jp-gold-dark); }
.jp-sedes-resumen__cta { text-align: center; margin-top: 40px; }

/* Responsive */
@media (max-width: 768px) {
    .jp-hero { padding: 60px 0 40px; }
    .jp-hero__title { font-size: 40px; }
    .jp-hero__sub { font-size: 17px; }
    .jp-categorias, .jp-destacados, .jp-existencias,
    .jp-beneficios, .jp-proceso, .jp-testimonios,
    .jp-sedes-resumen, .jp-cta-credito { padding: 48px 0; }
    .jp-section-title { font-size: 26px; }
    .jp-section-sub { margin-bottom: 32px; }
    .jp-hero__meta { font-size: 12px; gap: 12px; }
}


/* ==========================================================================
   TOP BAR — Promoción del Mes FIJA + Redes sociales + Teléfono
   Estructura: [🎁 Promoción del Mes — Vínculo Dorado — cadena obsequio →] [📞 tel] [IG] [FB]
   ========================================================================== */
.jp-topbar {
    background: linear-gradient(90deg, #0d0d0e 0%, #1a1a1c 50%, #0d0d0e 100%);
    color: var(--jp-gold-light);
    font-size: 12.5px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(201,169,97,0.3);
    font-family: 'Inter', sans-serif;
    overflow: hidden;
    position: relative;
}
.jp-topbar__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-height: 28px;
}

/* CAMPAÑA ROTATIVA — Vínculo Dorado / Fugas 72h (etc.) */
.jp-topbar__campaign-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
	min-width: 0;
	overflow: hidden;
}
.jp-topbar__campaign-stack {
	position: relative;
	flex: 1;
	min-width: 0;
	height: 1em;
}
.jp-topbar__campaign-stack .jp-topbar__campaign-link {
	position: absolute;
	inset: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--jp-gold-light);
	text-decoration: none;
	font-size: 12.5px;
	letter-spacing: 0.3px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .35s ease, transform .35s ease;
	pointer-events: none;
}
.jp-topbar__campaign-stack .jp-topbar__campaign-link.is-active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.jp-topbar__gift {
    color: var(--jp-gold);
    flex-shrink: 0;
    animation: jp-gift-pulse 2.4s ease-in-out infinite;
}
@keyframes jp-gift-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%      { transform: scale(1.15); opacity: 0.85; }
}
.jp-topbar__campaign-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--jp-gold-light);
    text-decoration: none;
    font-size: 12.5px;
    letter-spacing: 0.3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 1;
    transition: color .2s;
}
.jp-topbar__campaign-label {
    background: var(--jp-gold);
    color: #0d0d0e;
    padding: 4px 10px;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    border-radius: 2px;
    flex-shrink: 0;
}
.jp-topbar__campaign-link strong {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 500;
    font-style: italic;
    font-size: 17px;
    color: var(--jp-gold);
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
.jp-topbar__campaign-sep {
    color: rgba(201,169,97,0.5);
    flex-shrink: 0;
}
.jp-topbar__campaign-cta {
    color: rgba(255,255,255,0.85);
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}
.jp-topbar__arrow {
    color: var(--jp-gold);
    margin-left: 4px;
    transition: transform .25s ease;
    display: inline-block;
    flex-shrink: 0;
}
.jp-topbar__campaign-link:hover { color: #fff; }
.jp-topbar__campaign-link:hover strong { color: #fff; }
.jp-topbar__campaign-link:hover .jp-topbar__campaign-label { background: #fff; }
.jp-topbar__campaign-link:hover .jp-topbar__arrow {
    transform: translateX(4px);
    color: #fff;
}
/* ==========================================================================
   LADO DERECHO: teléfono + redes
   ========================================================================== */
.jp-topbar__right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.jp-topbar__phone {
    color: var(--jp-gold-light);
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    letter-spacing: 0.3px;
    font-size: 12.5px;
}
.jp-topbar__phone svg { color: var(--jp-gold); }
.jp-topbar__phone:hover { color: #fff; }
.jp-topbar__phone:hover svg { color: #fff; }

.jp-topbar__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
}
.jp-topbar__social svg { display: block; }
.jp-topbar__social--ig {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #fff;
}
.jp-topbar__social--ig:hover {
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 14px rgba(225, 48, 108, 0.5);
}
.jp-topbar__social--fb {
    background: #1877F2;
    color: #fff;
}
.jp-topbar__social--fb:hover {
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 14px rgba(24, 119, 242, 0.5);
}

/* ==========================================================================
   FOOTER Panamá
   ========================================================================== */
.jp-footer {
    background: linear-gradient(180deg, var(--jp-black) 0%, #1a1a1c 100%);
    color: #d0d0d2;
    padding: 56px 0 0;
    margin-top: 0;
    border-top: 0;
}
.jp-cta-credito--compact + .jp-footer,
.jp-cta-credito--compact ~ .jp-footer,
.jp-cta-credito--compact + footer,
.jp-cta-credito--compact ~ footer { margin-top: 0; }
.jp-footer__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 40px;
    padding-bottom: 40px;
}
.jp-footer__col h3 {
    color: var(--jp-gold);
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.jp-footer__col p {
    line-height: 1.6;
    margin: 0 0 12px;
    font-size: 14px;
}
.jp-footer__contact a {
    color: var(--jp-gold-light);
    text-decoration: none;
}
.jp-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.jp-footer__list li {
    margin-bottom: 8px;
}
.jp-footer__list a {
    color: #d0d0d2;
    text-decoration: none;
    font-size: 14px;
    transition: color .2s;
}
.jp-footer__list a:hover { color: var(--jp-gold); }
.jp-footer__social {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
}
.jp-footer__social-btn {
    display: inline-block;
    padding: 8px 16px;
    background: rgba(201,169,97,0.15);
    color: var(--jp-gold-light);
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
    border: 1px solid rgba(201,169,97,0.3);
    transition: all .2s;
}
.jp-footer__social-btn:hover {
    background: var(--jp-gold);
    color: var(--jp-black);
}
.jp-footer__trust p {
    font-size: 13px;
    color: var(--jp-gold-light);
    margin: 4px 0;
}
.jp-footer__bottom {
    border-top: 1px solid rgba(201,169,97,0.2);
    padding: 24px 0;
    text-align: center;
    font-size: 13px;
}
.jp-footer__bottom p { margin: 4px 0; }
.jp-footer__legal a {
    color: var(--jp-gold-light);
    text-decoration: none;
}
.jp-footer__legal a:hover { text-decoration: underline; }

@media (max-width: 768px) {
    .jp-topbar__inner { flex-direction: column; text-align: center; }
    .jp-footer__grid { gap: 32px; }
}


/* ==========================================================================
   HEADER PANAMÁ — Logo 40px, nav elegante con Cormorant Garamond
   ========================================================================== */
.jp-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(15,15,16,0.06);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    backdrop-filter: saturate(180%) blur(8px);
    -webkit-backdrop-filter: saturate(180%) blur(8px);
}
.jp-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    gap: 28px;
}
.jp-header__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--jp-black);
    flex-shrink: 0;
}
.jp-header__brand img,
.jp-header__logo-img {
    max-height: 40px !important;
    width: auto;
    display: block;
}
.jp-header__brand-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--jp-black);
    letter-spacing: 0.5px;
}
.jp-header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
}
.jp-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 2px;
    align-items: center;
}
.jp-nav-list li {
    position: relative;
}
.jp-nav-list a {
    display: block;
    padding: 10px 16px;
    color: var(--jp-black);
    text-decoration: none;
    /* Tipografía elegante: Cormorant Garamond medium, no Inter uppercase */
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.3px;
    text-transform: none;
    border-radius: 2px;
    transition: color .25s;
    position: relative;
}
.jp-nav-list a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 4px;
    width: 0;
    height: 1px;
    background: var(--jp-gold);
    transition: all .25s ease;
    transform: translateX(-50%);
}
.jp-nav-list a:hover {
    color: var(--jp-gold-dark);
}
.jp-nav-list a:hover::after {
    width: calc(100% - 32px);
}
.jp-nav-list--mobile {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}
.jp-nav-list--mobile a {
    padding: 18px 24px;
    font-size: 17px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    border-radius: 0;
}
.jp-nav-list--mobile a::after { display: none; }

/* SOCIAL BUTTONS — IG y FB oficiales con colores de marca */
.jp-header__social {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.jp-header__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
}
.jp-header__social-link svg {
    width: 18px;
    height: 18px;
    display: block;
}
.jp-header__social-link--ig {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #fff;
}
.jp-header__social-link--ig:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 18px rgba(225, 48, 108, 0.4);
}
.jp-header__social-link--fb {
    background: #1877F2;
    color: #fff;
}
.jp-header__social-link--fb:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 18px rgba(24, 119, 242, 0.4);
}
.jp-header__burger {
    display: none;
    background: transparent;
    border: 0;
    width: 40px;
    height: 40px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    padding: 8px;
}
.jp-header__burger span {
    display: block;
    height: 3px;
    background: var(--jp-black);
    border-radius: 2px;
    transition: all .3s;
}

/* MOBILE MENU */
.jp-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 9999;
}
.jp-mobile-menu[hidden] {
    display: none;
}
.jp-mobile-menu__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
}
.jp-mobile-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 300px;
    max-width: 80vw;
    background: #fff;
    padding: 24px;
    overflow-y: auto;
}
.jp-mobile-menu__nav {
    margin-top: 24px;
}

/* Override AT theme que mete chrome que no queremos */
.at-body .at-header,
.at-body .at-mobile-menu,
.at-body .jp-topbar {
    /* mantener topbar pero esconder header AT si aparece */
}
@media (max-width: 768px) {
    /* TOPBAR MOBILE: 2 filas — fila 1 campaña completa, fila 2 tel+redes */
    .jp-topbar {
        padding: 8px 0 10px;
    }
    .jp-topbar__inner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        gap: 8px;
    }
    .jp-topbar__campaign-wrap {
        justify-content: center;
        width: 100%;
    }
    /* El stack rotativo crece a multi-línea para que el cta largo no se esconda */
    .jp-topbar__campaign-stack {
        position: relative;
        height: auto;
        min-height: 2.2em;
        flex: 1;
        width: 100%;
    }
    .jp-topbar__campaign-stack .jp-topbar__campaign-link {
        position: relative;
        inset: auto;
        white-space: normal;
        justify-content: center;
        flex-wrap: wrap;
        align-content: center;
        gap: 3px 8px;
        padding: 4px 12px;
        line-height: 1.4;
        /* Permitir que el bloque crezca a la altura que necesite */
        height: auto !important;
        min-height: 0;
        text-align: center;
    }
    .jp-topbar__campaign-link strong { font-size: 14px; }
    .jp-topbar__campaign-cta { font-size: 11.5px; flex: 1 1 100%; text-align: center; margin-top: 2px; display: block; }
    .jp-topbar__campaign-label { padding: 3px 8px; font-size: 10.5px; display: inline-block; }
    .jp-topbar__campaign-sep { display: none; }
    /* FILA 2 — teléfono + redes centradas con buen spacing */
    .jp-topbar__right {
        justify-content: center;
        gap: 14px;
        padding-top: 4px;
        border-top: 1px solid rgba(201,169,97,0.18);
    }

    /* FOOTER */
    .jp-footer__grid { gap: 32px; }

    /* HEADER MOBILE: burger pegado a la derecha, logo a la izquierda */
    .jp-header__inner { padding: 10px 0; gap: 12px; }
    .jp-header__nav { display: none; }
    .jp-header__burger { display: flex; margin-left: auto; }
    .jp-header__brand-text { font-size: 18px; }
    .jp-header__brand img { max-height: 36px !important; }
    .jp-header__social { display: none; }
}

/* Breakpoint XS (≤380px): phones muy estrechos */
@media (max-width: 380px) {
    .jp-topbar__campaign-label { padding: 3px 7px; font-size: 10px; }
    .jp-topbar__phone span,
    .jp-topbar__phone { font-size: 11.5px; }
    .jp-topbar__social { width: 24px; height: 24px; }
    .jp-topbar__social svg { width: 12px; height: 12px; }
}

/* ==========================================================================
   FOOTER PANAMÁ — fix overflow y spacing
   ========================================================================== */
.jp-footer {
    background: linear-gradient(180deg, var(--jp-black) 0%, #1a1a1c 100%);
    color: #d0d0d2;
    padding: 56px 0 0;
    margin-top: 0;
    border-top: 0;
    clear: both;
}
.jp-footer .at-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.jp-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding-bottom: 40px;
    align-items: start;
}
.jp-footer__col h3 {
    color: var(--jp-gold);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    line-height: 1.3;
}
.jp-footer__col p {
    line-height: 1.6;
    margin: 0 0 12px;
    font-size: 14px;
    word-wrap: break-word;
}
.jp-footer__col p strong {
    color: var(--jp-gold-light);
    display: block;
    margin-bottom: 4px;
}
.jp-footer__contact a {
    color: var(--jp-gold-light);
    text-decoration: none;
}
.jp-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.jp-footer__list li {
    margin-bottom: 8px;
    line-height: 1.4;
}
.jp-footer__list a {
    color: #d0d0d2;
    text-decoration: none;
    font-size: 14px;
    transition: color .2s;
    display: inline-block;
    padding: 2px 0;
}
.jp-footer__list a:hover {
    color: var(--jp-gold);
}
.jp-footer__social {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}
.jp-footer__social-btn {
    display: block;
    padding: 10px 14px;
    background: rgba(201,169,97,0.15);
    color: var(--jp-gold-light);
    border-radius: 6px;
    text-decoration: none;
    font-size: 13px;
    text-align: center;
    border: 1px solid rgba(201,169,97,0.3);
    transition: all .2s;
}
.jp-footer__social-btn:hover {
    background: var(--jp-gold);
    color: var(--jp-black);
}
.jp-footer__trust p {
    font-size: 13px;
    color: var(--jp-gold-light);
    margin: 6px 0;
}
.jp-footer__bottom {
    border-top: 1px solid rgba(201,169,97,0.2);
    padding: 20px 0;
    text-align: center;
    font-size: 13px;
}
.jp-footer__bottom p {
    margin: 4px 0;
}
.jp-footer__legal a {
    color: var(--jp-gold-light);
    text-decoration: none;
    padding: 0 4px;
}
.jp-footer__legal a:hover {
    text-decoration: underline;
}

/* Responsive footer */
@media (max-width: 1024px) {
    .jp-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
}
@media (max-width: 600px) {
    .jp-footer__grid { grid-template-columns: 1fr; gap: 28px; }
    .jp-footer { padding: 40px 0 0; }
}


/* ==========================================================================
   OCULTAR chrome del theme AT cuando el front-page es Panamá
   (logo SVG "AT", botones "Ingresar"/"Comprar", footer de marketplace)
   Excluimos .jp-vinculo-home__card-foot (footer de los cards de Vinculo Dorado)
   que tienen clase jp-* para que no se oculten.
   ========================================================================== */
body.home #at-header,
body.home #at-mobile-menu,
body.home footer.at-footer,
body.home footer#at-footer,
body.home > footer:not(.jp-footer):not(.at-footer):not([class*="jp-vinculo"]) {
    display: none !important;
}
body.home .at-page > #at-header,
body.home .at-page > #at-mobile-menu {
    display: none !important;
}
/* Pero mantenemos #at-main visible */
body.home #at-main {
    display: block !important;
}

/* Ocultar SVGs de logo placeholder que añade el theme */
body.home .at-logo svg {
    display: none !important;
}

/* Asegurar que el logo Panamá se vea */
.jp-header__brand img {
    max-height: 60px !important;
    width: auto !important;
    display: inline-block !important;
}

/* Ajustar main sin header AT */
body.home .jp-front-page {
    margin-top: 0;
}
body.home main.jp-main {
    min-height: 50vh;
}

/* Forzar que el topbar quede fijo visualmente correcto */
.jp-topbar {
    position: relative;
    z-index: 50;
}
.jp-header {
    z-index: 100;
}
.jp-topbar + .jp-header {
    border-top: 0;
}


/* ==========================================================================
   CATEGORÍAS — Cards con imagen real de fondo
   ========================================================================== */
.jp-categorias {
    padding: 64px 0 56px;
    background: #fafaf8;
}
.jp-categorias__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin-top: 32px;
}
.jp-categoria-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 220px;
    border-radius: 6px;
    overflow: hidden;
    text-decoration: none;
    background-color: #2a2a2c;
    background-size: cover;
    background-position: center;
    transition: transform .35s ease, box-shadow .35s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.jp-categoria-card.has-image {
    /* background-image set inline */
}
.jp-categoria-card.no-image {
    background: linear-gradient(135deg, #2a2a2c 0%, #1a1a1c 100%);
}
.jp-categoria-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
}
.jp-categoria-card:hover .jp-categoria-card__overlay {
    background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.78) 100%);
}
.jp-categoria-card:hover .jp-categoria-card__cta {
    opacity: 1;
    transform: translateY(0);
}
.jp-categoria-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.72) 100%);
    transition: background .35s ease;
}
.jp-categoria-card__content {
    position: relative;
    z-index: 1;
    padding: 22px 22px 24px;
    color: #fff;
    width: 100%;
}
.jp-categoria-card__name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.3px;
    margin-bottom: 4px;
    color: #fff;
}
.jp-categoria-card__count {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    margin-bottom: 12px;
}
.jp-categoria-card__cta {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--jp-gold);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .35s ease, transform .35s ease;
}

@media (max-width: 768px) {
    .jp-categorias__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .jp-categoria-card { min-height: 160px; }
    .jp-categoria-card__name { font-size: 22px; }
    .jp-categoria-card__cta { opacity: 1; transform: none; font-size: 11px; }
}

/* ==========================================================================
   RESPONSIVE TOPBAR — comportamientos heredados (pre-mobile-fix)
   Mantener solo ajustes no cubiertos por el media query unificado abajo
   ========================================================================== */
@media (max-width: 900px) {
    .jp-topbar__inner { gap: 8px; }
    .jp-topbar__campaign-link { font-size: 11.5px; }
}
@media (max-width: 640px) {
    .jp-topbar__inner { gap: 8px; }
    .jp-topbar__right { gap: 10px; }
}

/* ==========================================================================
   HERO SLIDER — Slides con Ken Burns + Cross-fade
   Patrón luxury: imagen fullscreen, zoom lento 10s, overlay oscuro
   ========================================================================== */
.jp-hero-slider {
    position: relative;
    width: 100%;
    height: clamp(540px, 78vh, 760px);
    min-height: 540px;
    overflow: hidden;
    background: #0a0a0c;
    margin-top: 0;
}
.jp-hero-slider__viewport {
    position: relative;
    width: 100%;
    height: 100%;
}
.jp-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.2s ease;
    display: flex;
    align-items: center;
}
.jp-hero-slide.is-active {
    opacity: 1;
    visibility: visible;
}
.jp-hero-slide.is-active .jp-hero-slide__bg {
    animation: jp-ken-burns 11s ease-out forwards;
}
.jp-hero-slide.is-active .jp-hero-slide__mosaic-cell {
    animation: jp-mosaic-zoom 11s ease-out forwards;
}
.jp-hero-slide.is-active .jp-hero-slide__content > * {
    animation: jp-slide-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* v27.1 (27-sep-2026): slide estatico con <picture> para desktop/mobile.
   El slide completo es <a> que envuelve una imagen full-bleed.
   SIN animacion Ken Burns: las imagenes llevan TEXTO y el zoom las recorta.
   object-fit: contain para que la imagen COMPLETA sea visible (puede dejar
   franjas laterales si el aspect ratio no coincide con el contenedor;
   esas franjas llevan el color del fondo del sitio, no negro roto). */
.jp-hero-slide--static {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    background-color: var(--jp-bg, #0a0a0c);
}
.jp-hero-slide--static .jp-hero-slide__picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}
.jp-hero-slide--static .jp-hero-slide__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}
/* IMPORTANTE: NO aplicar jp-ken-burns a slides estaticos. El PNG lleva texto
   integrado y el zoom de 11s lo recorta progresivamente. Mantener imagen
   estatica, centrada y completa. */
.jp-hero-slide.is-active.jp-hero-slide--static .jp-hero-slide__img {
    /* sin animacion intencionalmente */
}

/* Cuando el slide es <a>, feedback minimo de clickeabilidad sin deformar.
   Solo cambio de brillo/opacidad, NO transform (eso romperia contain). */
.jp-hero-slide--static:hover .jp-hero-slide__img {
    filter: brightness(1.05);
    transition: filter 0.3s ease;
}
.jp-hero-slide--static:focus-visible {
    outline: 3px solid var(--jp-gold, #C9A961);
    outline-offset: -3px;
}

/* BG simple (1 imagen) */
.jp-hero-slide__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform-origin: center center;
}
.jp-hero-slide__bg--gradient {
    background: linear-gradient(135deg, #0d0d0e 0%, #2a2017 50%, #0d0d0e 100%);
}

/* MOSAICO (4 imágenes) — grid 2x2 con 1 imagen dominante */
.jp-hero-slide__mosaic {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 4px;
    background: #0a0a0c;
}
.jp-hero-slide__mosaic-cell {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform-origin: center center;
    transition: transform 8s ease-out;
}
.jp-hero-slide__mosaic-cell--1 {
    grid-row: 1 / 3;
    grid-column: 1;
}
.jp-hero-slide__mosaic-cell--2 {
    grid-row: 1; grid-column: 2;
}
.jp-hero-slide__mosaic-cell--3 {
    grid-row: 2; grid-column: 2;
    background-position: center 30%;
}
.jp-hero-slide__mosaic-cell--4 {
    display: none;  /* slot reservado si tenemos 4+ imágenes */
}
.jp-hero-slide__mosaic-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg,
        rgba(10,10,12,0.92) 0%,
        rgba(10,10,12,0.78) 30%,
        rgba(10,10,12,0.5) 55%,
        rgba(10,10,12,0.65) 100%);
    z-index: 1;
}
.jp-hero-slide.is-active .jp-hero-slide__eyebrow { animation-delay: 0.35s; }
.jp-hero-slide.is-active .jp-hero-slide__title  { animation-delay: 0.5s; }
.jp-hero-slide.is-active .jp-hero-slide__sub    { animation-delay: 0.7s; }
.jp-hero-slide.is-active .jp-hero-slide__cta    { animation-delay: 0.95s; }

.jp-hero-slide__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg,
        rgba(10,10,12,0.85) 0%,
        rgba(10,10,12,0.65) 35%,
        rgba(10,10,12,0.35) 60%,
        rgba(10,10,12,0.55) 100%);
    z-index: 1;
}
.jp-hero-slide[data-bg-type="gradient"] .jp-hero-slide__overlay {
    background: linear-gradient(135deg, #0d0d0e 0%, #2a2017 50%, #0d0d0e 100%);
}
.jp-hero-slide__vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.4) 100%);
    z-index: 2;
    pointer-events: none;
}
.jp-hero-slide__content {
    position: relative;
    z-index: 3;
    max-width: 720px;
    padding: 0 60px;
    color: #fff;
}
.jp-hero-slide__eyebrow {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--jp-gold);
    margin-bottom: 22px;
    padding-bottom: 10px;
    position: relative;
}
.jp-hero-slide__eyebrow::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 1px;
    background: var(--jp-gold);
}
.jp-hero-slide__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 500;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 1.05;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    color: #fff;
    text-shadow: 0 2px 16px rgba(0,0,0,0.4);
}
.jp-hero-slide__title em {
    font-style: italic;
    color: var(--jp-gold);
    font-weight: 400;
}
.jp-hero-slide__sub {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.55;
    color: rgba(255,255,255,0.85);
    max-width: 540px;
    margin: 0 0 36px;
}
.jp-hero-slide__cta {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}
.jp-hero-slide__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: all .25s ease;
    cursor: pointer;
    border: 1px solid transparent;
}
.jp-hero-slide__btn span {
    transition: transform .25s ease;
    display: inline-block;
}
.jp-hero-slide__btn:hover span {
    transform: translateX(4px);
}
.jp-hero-slide__btn--primary {
    background: var(--jp-gold);
    color: #0d0d0e;
    border-color: var(--jp-gold);
}
.jp-hero-slide__btn--primary:hover {
    background: #d9b96b;
    border-color: #d9b96b;
    box-shadow: 0 8px 24px rgba(201,169,97,0.35);
    transform: translateY(-2px);
}
.jp-hero-slide__btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,0.4);
}
.jp-hero-slide__btn--ghost:hover {
    border-color: var(--jp-gold);
    color: var(--jp-gold);
}

/* FLECHAS LATERALES */
.jp-hero-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .25s ease;
    opacity: 0;
}
.jp-hero-slider:hover .jp-hero-slider__arrow {
    opacity: 1;
}
.jp-hero-slider__arrow:hover {
    background: var(--jp-gold);
    border-color: var(--jp-gold);
    color: #0d0d0e;
    transform: translateY(-50%) scale(1.05);
}
.jp-hero-slider__arrow--prev { left: 24px; }
.jp-hero-slider__arrow--next { right: 24px; }

/* INDICADORES (línea fina dorada) */
.jp-hero-slider__indicators {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 10px;
    align-items: center;
}
.jp-hero-slider__dot {
    width: 32px;
    height: 2px;
    background: rgba(255,255,255,0.3);
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: all .3s ease;
    position: relative;
    overflow: hidden;
}
.jp-hero-slider__dot::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background: var(--jp-gold);
    transition: width 6s linear;
}
.jp-hero-slider__dot.is-active {
    background: rgba(255,255,255,0.2);
    width: 56px;
}
.jp-hero-slider__dot.is-active::after {
    width: 100%;
}
.jp-hero-slider__dot:hover {
    background: rgba(255,255,255,0.5);
}

/* KEYFRAMES */
@keyframes jp-ken-burns {
    0%   { transform: scale(1)    translate(0, 0); }
    100% { transform: scale(1.12) translate(-1.5%, -1.5%); }
}
@keyframes jp-mosaic-zoom {
    0%   { transform: scale(1.02); }
    100% { transform: scale(1.10); }
}
@keyframes jp-slide-in {
    0%   { opacity: 0; transform: translateY(30px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* RESPONSIVE HERO */
@media (max-width: 900px) {
    .jp-hero-slider { height: clamp(480px, 70vh, 620px); min-height: 480px; }
    .jp-hero-slide__content { padding: 0 30px; }
    .jp-hero-slide__title { font-size: clamp(36px, 8vw, 56px); }
    .jp-hero-slide__sub { font-size: 15px; }
    .jp-hero-slider__arrow { display: none; }
}
@media (max-width: 640px) {
    .jp-hero-slider { height: 580px; min-height: 580px; }
    .jp-hero-slide__content { padding: 0 24px; }
    .jp-hero-slide__title { font-size: 38px; }
    .jp-hero-slide__sub { font-size: 14px; margin-bottom: 28px; }
    .jp-hero-slide__btn { padding: 12px 22px; font-size: 12px; letter-spacing: 1px; }
    .jp-hero-slider__indicators { bottom: 20px; gap: 8px; }
    .jp-hero-slider__dot.is-active { width: 40px; }
}

/* ==========================================================================
   ANIMACIONES DE ENTRADA — Para todos los módulos
   Patrón: fade-up con stagger al entrar al viewport
   ========================================================================== */
.jp-section-anim {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .9s cubic-bezier(0.22, 1, 0.36, 1),
                transform .9s cubic-bezier(0.22, 1, 0.36, 1);
}
.jp-section-anim.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger hijos dentro de grids */
.jp-stagger > * {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s cubic-bezier(0.22, 1, 0.36, 1),
                transform .7s cubic-bezier(0.22, 1, 0.36, 1);
}
.jp-stagger.is-visible > * {
    opacity: 1;
    transform: translateY(0);
}
.jp-stagger.is-visible > *:nth-child(1) { transition-delay: 0.0s; }
.jp-stagger.is-visible > *:nth-child(2) { transition-delay: 0.08s; }
.jp-stagger.is-visible > *:nth-child(3) { transition-delay: 0.16s; }
.jp-stagger.is-visible > *:nth-child(4) { transition-delay: 0.24s; }
.jp-stagger.is-visible > *:nth-child(5) { transition-delay: 0.32s; }
.jp-stagger.is-visible > *:nth-child(6) { transition-delay: 0.40s; }
.jp-stagger.is-visible > *:nth-child(7) { transition-delay: 0.48s; }
.jp-stagger.is-visible > *:nth-child(8) { transition-delay: 0.56s; }

/* Reduced motion: respetar accesibilidad */
@media (prefers-reduced-motion: reduce) {
    .jp-section-anim,
    .jp-stagger > *,
    .jp-hero-slide.is-active .jp-hero-slide__bg-zoom {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ==========================================================================
   SINGLE JOYA — Layout 2 columnas + zoom lupa + reglas de tamaño + specs
   ========================================================================== */
.jp-single-joya {
    padding: 32px 0 80px;
    background: #fafaf8;
}
.jp-single-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 56px;
    align-items: start;
}

/* COLUMNA IZQUIERDA — Imagen + zoom + reglas */
.jp-single-media {
    position: sticky;
    top: 90px;
    align-self: start;
}
.jp-zoom-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    background: #f5f1e8;
    border-radius: 4px;
    cursor: zoom-in;
    user-select: none;
}
.jp-zoom-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity .25s ease;
}
.jp-zoom-noimg {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
}

/* Reglas SVG de tamaño — sobre la imagen */
.jp-ruler {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: opacity .35s ease;
}
.jp-ruler--h {
    top: 8%;
    left: 8%;
    right: 8%;
    width: auto;
    height: 4px;
}
.jp-ruler--v {
    left: 8%;
    top: 8%;
    bottom: 8%;
    width: 4px;
    height: auto;
}
.jp-ruler-label {
    position: absolute;
    color: rgba(255, 255, 255, 0.95);
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.5px;
    background: rgba(15, 15, 16, 0.75);
    padding: 2px 6px;
    border-radius: 2px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .35s ease;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.jp-ruler-label--h {
    top: 6%;
    left: 50%;
    transform: translateX(-50%);
}
.jp-ruler-label--v {
    left: 6%;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: center;
}
.jp-zoom-wrap.is-hovered .jp-ruler,
.jp-zoom-wrap.is-hovered .jp-ruler-label {
    opacity: 1;
}

/* Lente lupa — sigue el mouse */
.jp-zoom-lens {
    position: absolute;
    width: 200px;
    height: 200px;
    border: 2px solid rgba(201, 169, 97, 0.9);
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(0);
    pointer-events: none;
    border-radius: 50%;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    background-repeat: no-repeat;
    /* background-size y background-position los controla jp-zoom.js
       para preservar el aspect ratio de la imagen natural
       (bug 30-sep-2026: antes era 250% 250% fijo -> deformaba
        imagenes no cuadradas porque el wrap es cuadrado). */
    transform: translate(-50%, -50%);
    display: none;
}
.jp-zoom-wrap.is-hovered .jp-zoom-lens {
    display: block;
}

.jp-zoom-hint {
    margin: 14px 0 0;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #8a8a8e;
    text-align: center;
    font-style: italic;
}

/* COLUMNA DERECHA — Información */
.jp-single-info {
    font-family: 'Inter', sans-serif;
    color: #2a2a2e;
}
.jp-single-info__head {
    margin-bottom: 24px;
}
.jp-single-info__cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8e7437;
    text-decoration: none;
    margin-bottom: 12px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(142, 116, 55, 0.3);
    transition: color .2s;
}
.jp-single-info__cat:hover { color: #C9A961; border-color: #C9A961; }
.jp-single-info__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.3px;
    color: #0f0f10;
    margin: 0 0 8px;
}
.jp-single-info__sku {
    font-size: 13px;
    color: #8a8a8e;
    margin: 0;
    letter-spacing: 0.4px;
}

.jp-single-info__price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 24px 0;
    margin: 16px 0 28px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    flex-wrap: wrap;
}
.jp-single-info__amount {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 38px;
    font-weight: 500;
    color: #0f0f10;
    letter-spacing: -0.3px;
}
.jp-single-info__currency {
    font-size: 16px;
    font-weight: 500;
    color: #6b6b70;
}
.jp-single-info__installments {
    flex-basis: 100%;
    font-size: 13px;
    color: #8a8a8e;
    margin-top: 4px;
}

/* CTAs */
.jp-single-info__cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}
.jp-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-decoration: none;
    border-radius: 3px;
    transition: all .25s ease;
    cursor: pointer;
    border: 1px solid transparent;
}
.jp-cta svg { flex-shrink: 0; }
.jp-cta--primary {
    background: #C9A961;
    color: #0d0d0e;
    border-color: #C9A961;
}
.jp-cta--primary:hover {
    background: #d9b96b;
    border-color: #d9b96b;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(201, 169, 97, 0.35);
}
.jp-cta--ghost {
    background: transparent;
    color: #0f0f10;
    border-color: rgba(0, 0, 0, 0.15);
}
.jp-cta--ghost:hover {
    border-color: #0f0f10;
    background: rgba(0, 0, 0, 0.04);
}

.jp-single-info__trust {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 28px;
    font-size: 12px;
    color: #6b6b70;
}
.jp-single-info__trust svg { color: #C9A961; flex-shrink: 0; }

/* TARJETAS DE SECCIÓN (Características, Existencias, etc.) */
.jp-section-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 4px;
    padding: 24px 28px;
    margin-bottom: 20px;
}
.jp-section-card__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: #0f0f10;
    margin: 0 0 4px;
}
.jp-section-card__sub {
    font-size: 12px;
    color: #8a8a8e;
    margin: 0 0 16px;
}

/* Specs (características) */
.jp-specs {
    margin: 0;
    padding: 0;
}
.jp-specs__row {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    font-size: 14px;
    gap: 16px;
}
.jp-specs__row:last-child { border-bottom: 0; }
.jp-specs__row dt {
    color: #8a8a8e;
    font-weight: 500;
}
.jp-specs__row dd {
    margin: 0;
    color: #2a2a2e;
    font-weight: 500;
}

/* Existencias por sede */
.jp-stock-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 12px;
}
.jp-stock-cell {
    background: #faf7f2;
    border: 1px solid rgba(201, 169, 97, 0.2);
    border-radius: 3px;
    padding: 14px 12px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.jp-stock-cell__city {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 15px;
    font-weight: 500;
    color: #0f0f10;
}
.jp-stock-cell__qty {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #8e7437;
    line-height: 1;
}
.jp-stock-cell__qty small {
    font-size: 11px;
    color: #8a8a8e;
    font-weight: 400;
}
.jp-stock-cell__addr {
    font-size: 10.5px;
    color: #8a8a8e;
    line-height: 1.3;
    margin-top: 2px;
}

/* Descripción */
.jp-single-info__desc {
    font-size: 14px;
    line-height: 1.65;
    color: #2a2a2e;
}
.jp-single-info__desc p { margin: 0 0 12px; }
.jp-single-info__desc p:last-child { margin-bottom: 0; }

/* Acordeón */
.jp-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.jp-accordion__item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    padding: 0;
}
.jp-accordion__item:last-child { border-bottom: 0; }
.jp-accordion__item summary {
    cursor: pointer;
    padding: 14px 0;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #0f0f10;
    list-style: none;
    position: relative;
    transition: color .2s;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.jp-accordion__item summary::-webkit-details-marker { display: none; }
.jp-accordion__item summary::after {
    content: '+';
    color: #C9A961;
    font-size: 22px;
    font-weight: 300;
    transition: transform .25s;
    line-height: 1;
}
.jp-accordion__item[open] summary::after { transform: rotate(45deg); }
.jp-accordion__item summary:hover { color: #8e7437; }
.jp-accordion__item p {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.65;
    color: #4a4a4e;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .jp-single-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .jp-single-media {
        position: relative;
        top: 0;
    }
    .jp-single-info__title { font-size: 30px; }
    .jp-single-info__amount { font-size: 30px; }
    .jp-stock-grid { grid-template-columns: 1fr; }
    .jp-section-card { padding: 20px 18px; }
}
@media (max-width: 640px) {
    .jp-zoom-wrap { cursor: default; }
    .jp-zoom-hint { display: none; }
    .jp-single-info__title { font-size: 26px; }
    .jp-single-info__price { padding: 18px 0; margin: 12px 0 20px; }
    .jp-single-info__amount { font-size: 26px; }
}

/* ==========================================================================
   v3.1 — Ajustes home 2026-07-13
   ========================================================================== */

/* (1) "Selección de la semana" — quitar padding inferior grande + spacing del título */
.jp-destacados-wrap { padding: 8px 0 0; }
.jp-destacados-wrap > .at-container { margin-bottom: 8px; }
.jp-destacados-wrap .jp-section-title { margin-bottom: 6px; }
.jp-destacados-wrap .jp-section-sub  { margin: 0 0 16px; }

.jp-destacados--by-cat { padding: 24px 0; }
.jp-destacados__head   { margin-bottom: 14px; }
.jp-destacados__cat-link { margin-top: 4px; }

/* (2) ¿Por qué Joyería Panamá? — versión rotativa (1 línea) */
.jp-beneficios--rotator { padding: 32px 0 24px; }
.jp-beneficios--rotator .jp-section-title { margin-bottom: 18px; }
.jp-beneficios__viewport { overflow: hidden; }
.jp-beneficios__track {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    min-height: 180px;
    position: relative;
}
.jp-beneficio--rot {
    text-align: center;
    padding: 18px 16px;
    background: var(--jp-ivory, #FAF8F5);
    border: 1px solid rgba(201, 169, 97, 0.18);
    border-radius: 8px;
    transition: opacity 600ms ease, transform 600ms ease, filter 600ms ease;
    opacity: 0;
    transform: translateY(8px);
    filter: blur(2px);
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.jp-beneficio--rot.is-visible {
    opacity: 1;
    transform: none;
    filter: none;
    position: relative;
    pointer-events: auto;
}
.jp-beneficio--rot.is-leaving {
    opacity: 0;
    transform: translateY(-8px);
    filter: blur(2px);
    position: absolute;
}
.jp-beneficio--rot h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 18px;
    margin: 10px 0 6px;
    color: var(--jp-black, #0F0F10);
}
.jp-beneficio--rot p {
    font-size: 13.5px;
    line-height: 1.55;
    color: #4a4a4e;
    margin: 0;
}
.jp-beneficio__icon--shine {
    width: 48px;
    height: 48px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #FFF8E1 0%, #F5D78E 40%, #C9A961 100%);
    box-shadow: 0 4px 14px rgba(201, 169, 97, 0.32), inset 0 1px 0 rgba(255,255,255,0.6);
    transition: transform 400ms ease;
}
.jp-beneficio--rot.is-visible .jp-beneficio__icon--shine { animation: jpBenefitShine 3.2s ease-in-out infinite; }
.jp-beneficio--rot:hover .jp-beneficio__icon--shine { transform: scale(1.08); }
@keyframes jpBenefitShine {
    0%, 100% { box-shadow: 0 4px 14px rgba(201, 169, 97, 0.32), inset 0 1px 0 rgba(255,255,255,0.6); }
    50%      { box-shadow: 0 4px 22px rgba(245, 215, 142, 0.7),  inset 0 1px 0 rgba(255,255,255,0.9); }
}
.jp-beneficios__dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 18px;
}
.jp-beneficios__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    border: 0;
    background: rgba(201, 169, 97, 0.28);
    cursor: pointer;
    transition: all 200ms ease;
    padding: 0;
}
.jp-beneficios__dot.is-active {
    width: 22px;
    border-radius: 3px;
    background: var(--jp-gold, #C9A961);
}
@media (max-width: 900px) {
    .jp-beneficios__track { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
    .jp-beneficios__track { grid-template-columns: 1fr; min-height: 220px; }
    .jp-beneficios__dots  { margin-top: 14px; }
}

/* (3) Proceso Compra Asistida */
.jp-proceso--asistida { padding: 48px 0 40px; }
.jp-proceso__eyebrow {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: 12px;
    color: var(--jp-gold-dark, #8E7437);
    border: 1px solid rgba(201, 169, 97, .35);
    padding: 5px 12px;
    border-radius: 999px;
    margin-bottom: 12px;
    background: rgba(201, 169, 97, .06);
}
.jp-proceso--asistida .jp-section-title { margin-bottom: 8px; }
.jp-proceso__lead {
    max-width: 640px;
    margin: 0 auto 28px;
    color: #3a3a3e;
    font-size: 15px;
    line-height: 1.65;
}
.jp-proceso__cta {
    text-align: center;
    margin-top: 24px;
}
@media (max-width: 640px) {
    .jp-proceso__lead { font-size: 14px; }
}

/* (4) CTA crédito — versión compact (sin gran espacio inferior) */
.jp-cta-credito--compact { padding: 36px 0 28px !important; margin-bottom: 0 !important; }
.jp-cta-credito--compact .jp-cta-credito__title { margin-bottom: 6px; }
.jp-cta-credito--compact .jp-cta-credito__sub { margin: 0 0 14px; }

/* (5) Footer social — IG/FB icono + texto correctamente centrados */
.jp-footer__social {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
    align-items: flex-start;
}
.jp-footer__social-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--jp-ivory, #FAF8F5) !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .04em;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: background 200ms ease, transform 200ms ease, border-color 200ms ease;
    line-height: 1;
}
.jp-footer__social-btn:hover {
    background: rgba(201, 169, 97, 0.12);
    border-color: var(--jp-gold, #C9A961);
    transform: translateY(-1px);
}
.jp-footer__social-icon {
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    vertical-align: middle;
}
.jp-footer__social-btn span {
    display: inline-block;
    line-height: 1;
    transform: translateY(1px);
}

/* ==========================================================================
   v3.2 — Ajustes home 2026-07-13 (turno 2)
   ========================================================================== */

/* (A) "Selección de la semana" — más padding top */
.jp-destacados-wrap { padding: 36px 0 0; }
.jp-destacados-wrap > .at-container { margin-bottom: 12px; }
.jp-destacados-wrap .jp-section-title { margin-bottom: 8px; }
.jp-destacados-wrap .jp-section-sub  { margin: 0 0 20px; }
.jp-destacados--by-cat { padding: 28px 0 32px; }
.jp-destacados__head   { margin-bottom: 18px; }
.jp-destacados__cat-link { margin-top: 4px; }
.jp-destacados--by-cat:last-of-type { padding-bottom: 24px; }

/* (B) "Ver categoría completa" — botón grande al final de cada subsección */
.jp-destacados__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 18px auto 0;
    padding: 11px 26px;
    border: 1.5px solid var(--jp-gold, #C9A961);
    background: transparent;
    color: var(--jp-gold-dark, #8E7437);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
    transition: background 220ms ease, color 220ms ease, transform 220ms ease;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.jp-destacados__more:hover {
    background: var(--jp-gold, #C9A961);
    color: #fff;
    transform: translateX(-50%) translateY(-1px);
}
.jp-destacados__more::after {
    content: '→';
    font-size: 15px;
    transition: transform 220ms ease;
}
.jp-destacados__more:hover::after { transform: translateX(3px); }
.jp-destacados__more-wrap {
    text-align: center;
    margin-top: 18px;
}

/* (C) Rotator de beneficios — slot → bloque: los 3 actuales se van, entran 3 nuevos */
.jp-beneficios--rotator { padding: 36px 0 28px; }
.jp-beneficios--rotator .jp-section-title { margin-bottom: 20px; }
.jp-beneficios__viewport {
    overflow: hidden;
    position: relative;
}
.jp-beneficios__track {
    display: flex;
    width: 100%;
    position: relative;
    min-height: 200px;
}
.jp-beneficio--rot {
    flex: 0 0 calc((100% - 32px) / 3);
    margin-right: 16px;
    text-align: center;
    padding: 22px 18px;
    background: var(--jp-ivory, #FAF8F5);
    border: 1px solid rgba(201, 169, 97, 0.2);
    border-radius: 8px;
    box-sizing: border-box;
    transition: opacity 500ms ease, transform 500ms ease;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
}
.jp-beneficio--rot:nth-child(3n) { margin-right: 0; }
.jp-beneficio--rot.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.jp-beneficio--rot.is-leaving {
    opacity: 0;
    transform: translateY(-8px);
}
.jp-beneficio--rot h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 19px;
    margin: 12px 0 8px;
    color: var(--jp-black, #0F0F10);
}
.jp-beneficio--rot p {
    font-size: 13.5px;
    line-height: 1.55;
    color: #4a4a4e;
    margin: 0;
}
.jp-beneficio__icon--shine {
    width: 52px;
    height: 52px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #FFF8E1 0%, #F5D78E 40%, #C9A961 100%);
    box-shadow: 0 4px 14px rgba(201, 169, 97, 0.32), inset 0 1px 0 rgba(255,255,255,0.6);
    transition: transform 400ms ease;
}
.jp-beneficio--rot.is-visible .jp-beneficio__icon--shine {
    animation: jpBenefitShine 3.2s ease-in-out infinite;
}
.jp-beneficio--rot:hover .jp-beneficio__icon--shine { transform: scale(1.08); }
@keyframes jpBenefitShine {
    0%, 100% { box-shadow: 0 4px 14px rgba(201, 169, 97, 0.32), inset 0 1px 0 rgba(255,255,255,0.6); }
    50%      { box-shadow: 0 4px 22px rgba(245, 215, 142, 0.7),  inset 0 1px 0 rgba(255,255,255,0.9); }
}
.jp-beneficios__dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 20px;
}
.jp-beneficios__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    border: 0;
    background: rgba(201, 169, 97, 0.28);
    cursor: pointer;
    transition: all 200ms ease;
    padding: 0;
}
.jp-beneficios__dot.is-active {
    width: 22px;
    border-radius: 3px;
    background: var(--jp-gold, #C9A961);
}
@media (max-width: 900px) {
    .jp-beneficio--rot { flex: 0 0 calc((100% - 16px) / 2); margin-right: 16px; }
    .jp-beneficio--rot:nth-child(3n) { margin-right: 16px; }
    .jp-beneficio--rot:nth-child(2n) { margin-right: 0; }
}
@media (max-width: 640px) {
    .jp-beneficios__track { min-height: 220px; }
    .jp-beneficio--rot { flex: 0 0 100%; margin-right: 0; }
    .jp-beneficio--rot:nth-child(3n) { margin-right: 0; }
    .jp-beneficios__dots  { margin-top: 16px; }
}

/* (D) Proceso Compra Asistida — 2 CTAs */
.jp-proceso--asistida { padding: 52px 0 44px; }
.jp-proceso__eyebrow {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: 12px;
    color: var(--jp-gold-dark, #8E7437);
    border: 1px solid rgba(201, 169, 97, .35);
    padding: 5px 12px;
    border-radius: 999px;
    margin-bottom: 12px;
    background: rgba(201, 169, 97, .06);
}
.jp-proceso--asistida .jp-section-title { margin-bottom: 10px; }
.jp-proceso__lead {
    max-width: 640px;
    margin: 0 auto 32px;
    color: #3a3a3e;
    font-size: 15px;
    line-height: 1.65;
}
.jp-proceso__cta {
    text-align: center;
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
@media (max-width: 640px) {
    .jp-proceso__lead { font-size: 14px; }
    .jp-proceso__cta  { flex-direction: column; align-items: stretch; }
    .jp-proceso__cta .jp-btn { width: 100%; }
}

/* (E) CTA crédito — versión compact (sin gran espacio inferior) */
.jp-cta-credito--compact { padding: 36px 0 32px !important; margin-bottom: 0 !important; }
.jp-cta-credito--compact .jp-cta-credito__title { margin-bottom: 6px; }
.jp-cta-credito--compact .jp-cta-credito__sub { margin: 0 0 14px; }
/* Si el CTA compacto es el ÚLTIMO módulo antes del footer, que NO deje hueco */
.jp-cta-credito--compact:last-of-type { margin-bottom: 0 !important; padding-bottom: 40px !important; }

/* (F) HEADER — Logo real + drawer mobile */
.jp-header__brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    text-decoration: none;
}
.jp-header__brand img,
.jp-header__logo-img,
.jp-replaced-logo {
    height: 30px !important;
    width: auto !important;
    max-width: 160px !important;
    display: block !important;
    object-fit: contain;
}
@media (min-width: 1024px) {
    .jp-header__brand img,
    .jp-header__logo-img,
    .jp-replaced-logo {
        height: 32px !important;
        max-width: 180px !important;
    }
}
/* Theme AT logo (cuando se use) */
.at-logo svg { display: none !important; }
.at-logo .at-logo__img,
.at-logo .jp-replaced-logo { height: 30px !important; }
@media (min-width: 1024px) {
    .at-logo .at-logo__img,
    .at-logo .jp-replaced-logo { height: 32px !important; }
}
.at-header.is-scrolled {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(8px);
}
@media (min-width: 1024px) {
    .at-header__burger { display: none !important; }
    .at-nav { display: flex !important; }
}
@media (max-width: 1023px) {
    .at-nav { display: none !important; }
    .at-header__burger { display: flex !important; }
}

/* (G) Mobile drawer — tanto .jp-mobile-drawer (inyectado por JS) como
   .jp-mobile-menu (renderizado por front-page.php del plugin) */
.jp-mobile-drawer,
.jp-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 99999;
    visibility: hidden;
    opacity: 0;
    transition: opacity 280ms ease, visibility 0s linear 280ms;
}
.jp-mobile-drawer.is-open,
.jp-mobile-menu.is-open {
    visibility: visible;
    opacity: 1;
    transition: opacity 280ms ease;
}
.jp-mobile-drawer__backdrop,
.jp-mobile-menu__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);
}
.jp-mobile-drawer__panel,
.jp-mobile-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 320px;
    max-width: 86vw;
    background: #fff;
    padding: 24px 24px 32px;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 320ms cubic-bezier(.2, .8, .25, 1);
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
}
.jp-mobile-drawer.is-open .jp-mobile-drawer__panel,
.jp-mobile-menu.is-open .jp-mobile-menu__panel { transform: translateX(0); }
.jp-mobile-drawer__close,
.jp-mobile-menu__close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--jp-black, #0F0F10);
    cursor: pointer;
    border-radius: 50%;
    transition: background 200ms;
    font-size: 20px;
    line-height: 1;
}
.jp-mobile-drawer__close:hover,
.jp-mobile-menu__close:hover { background: rgba(0,0,0,0.06); }
.jp-mobile-drawer__nav,
.jp-mobile-menu__nav { margin-top: 56px; }
.jp-mobile-drawer__list,
.jp-mobile-menu .jp-nav-list--mobile {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.jp-mobile-drawer__item,
.jp-mobile-menu .jp-nav-list--mobile li { margin: 0; }
.jp-mobile-drawer__link,
.jp-mobile-menu .jp-nav-list--mobile a {
    display: block;
    padding: 14px 12px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--jp-black, #0F0F10);
    text-decoration: none;
    border-radius: 8px;
    letter-spacing: 0.04em;
    transition: background 180ms, color 180ms;
}
.jp-mobile-drawer__link:hover,
.jp-mobile-drawer__link.is-active,
.jp-mobile-menu .jp-nav-list--mobile a:hover,
.jp-mobile-menu .jp-nav-list--mobile a.is-active {
    background: rgba(201, 169, 97, 0.1);
    color: var(--jp-gold-dark, #8E7437);
}

/* ==========================================================================
   v3.3 — Header/footer Panamá en páginas internas
   ========================================================================== */

/* (H) Breadcrumb en single de producto */
.jp-breadcrumb-wrap {
    padding: 14px 20px 18px;
    margin: 0 auto 16px;
    max-width: 1280px;
    overflow: hidden;
}
.jp-breadcrumb {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #6a6a6e;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.jp-breadcrumb a {
    color: var(--jp-gold-dark, #8E7437);
    text-decoration: none;
    transition: color 180ms;
}
.jp-breadcrumb a:hover { color: var(--jp-black, #0F0F10); }
.jp-breadcrumb__sep { color: #c9c9cc; font-weight: 300; }
.jp-breadcrumb__current {
    color: #2a2a2e;
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    font-size: 13px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.jp-breadcrumb {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #6a6a6e;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.jp-breadcrumb a {
    color: var(--jp-gold-dark, #8E7437);
    text-decoration: none;
    transition: color 180ms;
}
.jp-breadcrumb a:hover { color: var(--jp-black, #0F0F10); }
.jp-breadcrumb__sep { color: #c9c9cc; font-weight: 300; }
.jp-breadcrumb__current {
    color: #2a2a2e;
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    font-size: 13px;
    max-width: 100%; white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 480px) {
    .jp-breadcrumb { font-size: 11px; gap: 4px; }
    .jp-breadcrumb__current { font-size: 12px; }
    .jp-breadcrumb-wrap { padding: 18px 16px 22px; margin: 0 0 18px; }
}

/* (I) Página regular Panamá */
.jp-page-main { padding: 24px 0 56px; }
.jp-page-content { max-width: 920px; margin: 0 auto; }
.jp-page-header { margin-bottom: 28px; text-align: center; }
.jp-page-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 42px !important;
    font-weight: 500;
    color: var(--jp-black, #0F0F10);
    margin: 0;
    letter-spacing: 0.01em;
}
.jp-page-body {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.75;
    color: #2a2a2e;
}
.jp-page-body p { margin: 0 0 16px; }
.jp-page-body h2,
.jp-page-body h3,
.jp-page-body h4 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    color: var(--jp-black, #0F0F10);
    margin: 28px 0 12px;
}
.jp-page-body h2 { font-size: 28px; }
.jp-page-body h3 { font-size: 22px; }
.jp-page-body a { color: var(--jp-gold-dark, #8E7437); }
@media (max-width: 640px) {
    .jp-page-title { font-size: 32px !important; }
    .jp-page-body  { font-size: 15px; }
}

/* (J) Archive / catálogo */
.jp-archive-main { padding: 32px 0 56px; }
.jp-archive-header { text-align: center; margin-bottom: 32px; }
.jp-archive-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 38px !important;
    font-weight: 500;
    color: var(--jp-black, #0F0F10);
    margin: 0 0 6px;
}
.jp-archive-count {
    font-family: 'Inter', sans-serif;
    color: #6a6a6e;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0;
}
.jp-archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 22px;
}
@media (max-width: 640px) {
    .jp-archive-title { font-size: 30px !important; }
    .jp-archive-grid  { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
/* ==========================================================================
   MÓDULO DE ENTREGA EXPRESS (reemplaza "Existencias en nuestras sedes")
   ========================================================================== */
.jp-entrega-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 22px 24px;
    border-radius: var(--jpc-radius, 12px);
    border: 1px solid var(--jpc-gold-light, #e6d8b8);
    background: var(--jpc-cream, #faf6ee);
    margin: 16px 0 28px;
}
.jp-entrega-card__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--jpc-gold, #b8941f);
    background: rgba(184, 148, 31, 0.1);
}
.jp-entrega-card__body {
    flex: 1;
    min-width: 0;
}
.jp-entrega-card__body .jp-section-card__title {
    margin: 0 0 6px;
    font-size: 1.25rem;
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: var(--jpc-black, #1a1a1a);
}
.jp-entrega-card__principal {
    margin: 0 0 6px;
    font-size: 0.95rem;
    color: var(--jpc-black, #1a1a1a);
    line-height: 1.5;
}
.jp-entrega-card__detalle {
    margin: 0 0 10px;
    font-size: 0.875rem;
    color: var(--jpc-gray, #6b6b6b);
    line-height: 1.5;
}
.jp-entrega-card__shipping-note {
    margin: 8px 0 0;
    padding-top: 10px;
    border-top: 1px dashed rgba(0,0,0,0.08);
    font-size: 0.8125rem;
    color: var(--jpc-gray, #6b6b6b);
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 6px;
}
.jp-entrega-card__shipping-note svg {
    color: #5a9a6f;
    flex-shrink: 0;
}
.jp-entrega-card--shipping-express {
    background: linear-gradient(135deg, #fff8e7 0%, #faf6ee 100%);
    border-color: var(--jpc-gold, #b8941f);
    box-shadow: 0 2px 12px rgba(184, 148, 31, 0.12);
}
.jp-entrega-card--shipping-express .jp-entrega-card__icon {
    color: var(--jpc-gold, #b8941f);
    background: rgba(184, 148, 31, 0.15);
    animation: jp-entrega-pulse 2.4s ease-in-out infinite;
}
.jp-entrega-card--shipping-fast {
    background: linear-gradient(135deg, #f0faf4 0%, #faf6ee 100%);
    border-color: #5a9a6f;
}
.jp-entrega-card--shipping-fast .jp-entrega-card__icon {
    color: #2d6e44;
    background: rgba(90, 154, 111, 0.12);
}
.jp-entrega-card--shipping-standard {
    background: var(--jpc-cream, #faf6ee);
    border-color: #d6cdb8;
}
@keyframes jp-entrega-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(184, 148, 31, 0.3); }
    50%      { transform: scale(1.04); box-shadow: 0 0 0 8px rgba(184, 148, 31, 0); }
}
@media (max-width: 640px) {
    .jp-entrega-card { padding: 18px 16px; gap: 12px; }
    .jp-entrega-card__icon { width: 38px; height: 38px; }
    .jp-entrega-card__body .jp-section-card__title { font-size: 1.1rem; }
}

/* ==========================================================================
   CATÁLOGO — Sidebar de filtros + grid
   ========================================================================== */
.jp-archive-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    align-items: flex-start;
    margin-bottom: 32px;
}
.jp-archive-filters {
    background: var(--jpc-cream, #faf6ee);
    border: 1px solid var(--jpc-gold-light, #e6d8b8);
    border-radius: var(--jpc-radius, 12px);
    padding: 20px;
    position: sticky;
    top: 80px;
}
.jp-filters__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.25rem;
    margin: 0 0 16px;
    color: var(--jpc-black, #1a1a1a);
}
.jp-filters__group {
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}
.jp-filters__group:last-of-type {
    border-bottom: none;
    margin-bottom: 12px;
}
.jp-filters__label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--jpc-gray, #6b6b6b);
    margin-bottom: 8px;
}
.jp-filters__select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d4cdb8;
    border-radius: 6px;
    background: #fff;
    font-size: 0.9375rem;
    color: var(--jpc-black, #1a1a1a);
    font-family: inherit;
}
.jp-filters__chips {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.jp-filters__chip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #e6d8b8;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9375rem;
    background: #fff;
    transition: all 0.15s;
}
.jp-filters__chip:hover {
    background: #faf6ee;
    border-color: var(--jpc-gold, #b8941f);
}
.jp-filters__chip input[type="radio"] {
    margin: 0;
    accent-color: var(--jpc-gold, #b8941f);
}
.jp-filters__chip input:checked + span {
    font-weight: 600;
    color: var(--jpc-gold, #b8941f);
}
.jp-filters__submit {
    width: 100%;
    padding: 12px;
    background: var(--jpc-gold, #b8941f);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9375rem;
    cursor: pointer;
    margin-top: 8px;
}
.jp-filters__submit:hover {
    background: #a07d0f;
}
.jp-filters__clear {
    display: block;
    text-align: center;
    margin-top: 8px;
    font-size: 0.875rem;
    color: var(--jpc-gray, #6b6b6b);
    text-decoration: underline;
}
.jp-archive-grid {
    min-width: 0;  /* para que el grid no desborde */
}
@media ( max-width: 900px ) {
    .jp-archive-layout {
        grid-template-columns: 1fr;
    }
    .jp-archive-filters {
        position: static;
    }
}

/* ==========================================================================
   City list dentro del módulo de entrega
   ========================================================================== */
.jp-entrega-card__city-list {
    margin: 10px 0;
    padding: 8px 12px;
    background: rgba(184, 148, 31, 0.06);
    border-left: 3px solid var(--jpc-gold, #b8941f);
    border-radius: 4px;
    font-size: 0.9375rem;
    color: var(--jpc-black, #1a1a1a);
    display: flex;
    align-items: center;
    gap: 6px;
}
.jp-entrega-card__city-list svg {
    color: var(--jpc-gold, #b8941f);
    flex-shrink: 0;
}
.jp-entrega-card__city-list strong {
    color: var(--jpc-gold, #b8941f);
    font-weight: 600;
}


/* ==========================================================================
   COMBOS REALES DE LA CAMPAÑA VÍNCULO DORADO
   ========================================================================== */

.jp-campana-combos {
	padding: 64px 0;
	background: linear-gradient(135deg, #fdfaf3 0%, #f8f1e3 100%);
}

.jp-campana-combos__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 32px;
}

@media (max-width: 900px) {
	.jp-campana-combos__grid {
		grid-template-columns: 1fr;
	}
}

/* Cada combo: card con productos reales */
.jp-combo {
	background: var(--jpc-white);
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 4px 16px rgba(15, 15, 16, 0.06);
	border: 1px solid var(--jpc-cream);
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: all 0.25s ease;
}

.jp-combo:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(15, 15, 16, 0.12);
	border-color: var(--jpc-gold);
}

.jp-combo__num {
	display: inline-block;
	background: var(--jpc-gold);
	color: var(--jpc-black);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	align-self: flex-start;
}

.jp-combo h3 {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--jpc-black);
	font-family: 'Cormorant Garamond', Georgia, serif;
	line-height: 1.2;
}

.jp-combo p {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--jpc-gray);
	line-height: 1.5;
}

/* Lista de productos del combo */
.jp-combo__items {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-top: 1px solid var(--jpc-cream);
	padding-top: 16px;
}



.jp-combo__item-thumb {
	width: 64px;
	height: 64px;
	background: var(--jpc-cream);
	border-radius: 8px;
	overflow: hidden;
	display: block;
}

.jp-combo__item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jp-combo__item-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.jp-combo__item-cat {
	font-size: 0.65rem;
	color: var(--jpc-gold-dark);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
}

.jp-combo__item-title {
	font-size: 0.875rem;
	color: var(--jpc-black);
	font-weight: 500;
	text-decoration: none;
	line-height: 1.3;
	font-family: 'Cormorant Garamond', Georgia, serif;
	transition: color 0.2s ease;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.jp-combo__item-title:hover {
	color: var(--jpc-gold-dark);
}

.jp-combo__item-price {
	font-size: 0.75rem;
	color: var(--jpc-gray);
	font-weight: 500;
}

/* Footer del combo: total + obsequio + CTA */
.jp-combo__footer {
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-top: 1px solid var(--jpc-cream);
	padding-top: 16px;
}

.jp-combo__price {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--jpc-black);
}

.jp-combo__gift {
	display: inline-block;
	background: linear-gradient(135deg, var(--jpc-gold) 0%, var(--jpc-gold-dark) 100%);
	color: var(--jpc-white);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
	align-self: flex-start;
	letter-spacing: 0.03em;
}

.jp-combo__cta {
	display: inline-block;
	padding: 10px 16px;
	background: var(--jpc-black);
	color: var(--jpc-ivory);
	border-radius: 8px;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	transition: background 0.2s ease;
	font-family: inherit;
	letter-spacing: 0.02em;
	margin-top: 4px;
}

.jp-combo__cta:hover {
	background: var(--jpc-gold);
	color: var(--jpc-black);
}


/* ==========================================================================
   COMBOS REALES DE LA CAMPAÑA VÍNCULO DORADO
   ========================================================================== */

.jp-campana-combos__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 32px;
}

@media (max-width: 900px) {
	.jp-campana-combos__grid {
		grid-template-columns: 1fr;
	}
}

/* Combo card con layout claro - items apilados verticalmente sin encimarse */
.jp-combo {
	background: var(--jpc-white);
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 4px 16px rgba(15, 15, 16, 0.06);
	border: 1px solid var(--jpc-cream);
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: all 0.25s ease;
	position: relative;
	overflow: hidden;
}

.jp-combo:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(15, 15, 16, 0.12);
	border-color: var(--jpc-gold);
}

/* Combo destacado: el de "1 pieza + cadena gratis" */
.jp-combo--featured {
	border-color: var(--jpc-gold);
	background: linear-gradient(135deg, #fffcf3 0%, #fff9eb 100%);
	grid-column: span 2; /* ocupa todo el ancho */
}

@media (max-width: 900px) {
	.jp-combo--featured {
		grid-column: span 1;
	}
}

.jp-combo--featured::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--jpc-gold-dark), var(--jpc-gold), var(--jpc-gold-dark));
}

.jp-combo__badge {
	display: inline-block;
	background: var(--jpc-gold);
	color: var(--jpc-black);
	font-size: 0.7rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	align-self: flex-start;
	box-shadow: 0 2px 4px rgba(201, 169, 97, 0.3);
}

.jp-combo__num {
	display: inline-block;
	background: var(--jpc-gold);
	color: var(--jpc-black);
	font-size: 0.7rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	align-self: flex-start;
}

.jp-combo h3 {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--jpc-black);
	font-family: 'Cormorant Garamond', Georgia, serif;
	line-height: 1.2;
}

.jp-combo p {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--jpc-gray);
	line-height: 1.5;
}

/* Lista de productos del combo - cada item es una fila horizontal SIN encimarse */
.jp-combo__items {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	border-top: 1px solid var(--jpc-cream);
	padding-top: 16px;
	min-height: 0;
}

.jp-combo__item {
	display: flex;
	flex-direction: row;
	gap: 14px;
	align-items: flex-start;
	padding: 4px 0;
	min-height: 80px;
	/* nada de overlap ni position absolute */
	clear: both;
}

.jp-combo__item-thumb {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	background: var(--jpc-cream);
	border-radius: 8px;
	overflow: hidden;
	display: block;
	position: relative;
}

.jp-combo__item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.jp-combo__item-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding-top: 2px;
}

.jp-combo__item-cat {
	font-size: 0.65rem;
	color: var(--jpc-gold-dark);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
}

.jp-combo__item-title {
	font-size: 0.9375rem;
	color: var(--jpc-black);
	font-weight: 500;
	text-decoration: none;
	line-height: 1.3;
	font-family: 'Cormorant Garamond', Georgia, serif;
	transition: color 0.2s ease;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	max-height: 2.6em;
}

.jp-combo__item-title:hover {
	color: var(--jpc-gold-dark);
}

.jp-combo__item-price {
	font-size: 0.8125rem;
	color: var(--jpc-gray);
	font-weight: 500;
}

/* Footer del combo */
.jp-combo__footer {
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-top: 1px solid var(--jpc-cream);
	padding-top: 16px;
	margin-top: auto;
}

.jp-combo__price {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--jpc-black);
}

.jp-combo__gift {
	display: inline-block;
	background: linear-gradient(135deg, var(--jpc-gold) 0%, var(--jpc-gold-dark) 100%);
	color: var(--jpc-white);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
	align-self: flex-start;
	letter-spacing: 0.03em;
}

.jp-combo__cta {
	display: inline-block;
	padding: 10px 16px;
	background: var(--jpc-black);
	color: var(--jpc-ivory);
	border-radius: 8px;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	transition: background 0.2s ease;
	font-family: inherit;
	letter-spacing: 0.02em;
	margin-top: 4px;
}

.jp-combo__cta:hover {
	background: var(--jpc-gold);
	color: var(--jpc-black);
}


/* ==========================================================================
   CTA DUAL: Compra Asistida + Añadir al carrito (lateral)
   ========================================================================== */

.jp-single-info__cta-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: stretch;
}

.jp-single-info__cta-main {
	flex: 1;
	min-width: 0;
}

.jp-single-info__cta-secondary {
	display: flex;
	align-items: stretch;
}

.jp-single-info__cta-secondary .jpc-add-btn {
	height: 100%;
	min-height: 48px;
	padding: 0 20px;
	background: transparent;
	color: var(--jpc-black);
	border: 1.5px solid var(--jpc-black);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	border-radius: 10px;
	transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
	white-space: nowrap;
}

.jp-single-info__cta-secondary .jpc-add-btn:hover {
	background: var(--jpc-black);
	color: var(--jpc-ivory);
}

.jp-single-info__cta-secondary .jpc-add-btn:active {
	transform: scale(0.98);
}

.jp-single-info__cta-secondary .jpc-add-btn svg {
	width: 16px;
	height: 16px;
}

@media (max-width: 600px) {
	.jp-single-info__cta-row {
		grid-template-columns: 1fr;
	}
	.jp-single-info__cta-secondary .jpc-add-btn {
		width: 100%;
	}
}


/* ==========================================================================
   SERVICIO TÉCNICO BANNER (Nuestras Sedes)
   ========================================================================== */

.jp-st-banner {
	background: linear-gradient(135deg, #1F2A3A 0%, #2C3E50 100%);
	color: var(--jpc-ivory);
	padding: 56px 0;
}

.jp-st-banner__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 40px;
}

.jp-st-banner__eyebrow {
	display: inline-block;
	background: var(--jpc-gold);
	color: var(--jpc-black);
	font-size: 0.7rem;
	font-weight: 700;
	padding: 5px 14px;
	border-radius: 999px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.jp-st-banner__title {
	margin: 0 0 16px;
	font-size: 1.875rem;
	color: var(--jpc-ivory);
	font-family: 'Cormorant Garamond', Georgia, serif;
	line-height: 1.2;
}

.jp-st-banner__lead {
	margin: 0;
	font-size: 0.9375rem;
	color: rgba(250, 248, 245, 0.85);
	line-height: 1.6;
}

.jp-st-banner__subtitle {
	text-align: center;
	margin: 40px 0 6px;
	font-size: 1.125rem;
	color: var(--jpc-gold-light);
	font-family: 'Cormorant Garamond', Georgia, serif;
}

.jp-st-banner__note {
	text-align: center;
	margin: 0 0 24px;
	font-size: 0.8125rem;
	color: rgba(250, 248, 245, 0.6);
}

.jp-st-banner__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

@media ( max-width: 1024px ) {
	.jp-st-banner__grid { grid-template-columns: repeat(3, 1fr); }
}

@media ( max-width: 768px ) {
	.jp-st-banner__grid { grid-template-columns: repeat(2, 1fr); }
}

.jp-st-card {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 10px;
	border: 1px solid rgba(201, 169, 97, 0.2);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--jpc-ivory);
	transition: all 0.25s ease;
	overflow: hidden;
}

.jp-st-card:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: var(--jpc-gold);
	transform: translateY(-2px);
}

.jp-st-card__img {
	width: 100%;
	aspect-ratio: 1;
	background: rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.jp-st-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jp-st-card__body {
	padding: 10px 12px 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.jp-st-card__cat {
	font-size: 0.6rem;
	color: var(--jpc-gold);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
}

.jp-st-card__title {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--jpc-ivory);
	font-family: 'Cormorant Garamond', Georgia, serif;
	height: 2em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.jp-st-card__sku {
	font-size: 0.65rem;
	color: rgba(250, 248, 245, 0.5);
}

.jp-st-card__price {
	font-size: 0.8125rem;
	color: var(--jpc-gold-light);
	font-weight: 600;
	margin-top: 2px;
}

.jp-st-banner__cta {
	text-align: center;
	margin-top: 32px;
}

.jp-st-banner__btn {
	display: inline-block;
	background: var(--jpc-gold);
	color: var(--jpc-black);
	padding: 12px 32px;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: all 0.25s ease;
}

.jp-st-banner__btn:hover {
	background: var(--jpc-gold-dark);
	color: var(--jpc-ivory);
	transform: translateY(-1px);
}
/* ================================================================
/* ================================================================
 * CAMPAÑA VÍNCULO DORADO — precio tachado + mobile polish
 * Limpieza total: solo aplica a las nuevas clases del shortcode
 * jp_campana_vinculo_dorado. Las clases legacy (jp-campana-single,
 * jp-campana-combos, jp-campana-gifts) fueron eliminadas con sus
 * secciones obsoletas. No se reutilizan aquí.
 * ================================================================ */

/* --- Sección grid de 4 pares --- */
.jp-campana-pares {
	padding: 60px 0 40px;
	background: linear-gradient(180deg, #fff8ef 0%, #fdf6ec 100%);
}
.jp-campana-pares__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	margin-top: 32px;
}
@media (max-width: 900px) {
	.jp-campana-pares__grid { grid-template-columns: 1fr; gap: 22px; }
}

/* --- Tarjeta de cada par --- */
.jp-campana-par {
	background: #fff;
	border-radius: 18px;
	border: 1px solid rgba(196, 154, 80, 0.18);
	box-shadow: 0 4px 18px rgba(40, 25, 5, 0.06), 0 1px 0 rgba(255,255,255,0.7) inset;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.jp-campana-par:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(40, 25, 5, 0.10), 0 1px 0 rgba(255,255,255,0.7) inset;
}

.jp-campana-par__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 18px;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 100%);
	color: #fff;
	font-weight: 600;
}
.jp-campana-par__badge {
	font-size: 15px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-weight: 700;
}
.jp-campana-par__rule {
	font-size: 12px;
	opacity: 0.92;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}

.jp-campana-par__items {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 12px;
	align-items: stretch;
	padding: 18px;
	position: relative;
}
.jp-campana-par__items > .jp-cam-card {
	display: flex;
	flex-direction: column;
}
.jp-campana-par__plus {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
	color: #c49a50;
	padding: 0 4px;
}
@media (max-width: 520px) {
	.jp-campana-par__items { grid-template-columns: 1fr; }
	.jp-campana-par__plus { padding: 4px 0; transform: rotate(90deg); }
}

.jp-campana-par__foot {
	padding: 0 18px 18px;
}

/* --- Cadenas vs Pulseras (regalo): distinción visual fuerte --- */
.jp-cam-card--cadena {
	border: 1px solid rgba(196, 154, 80, 0.22);
	background: #fff;
	transition: border-color 0.15s ease;
}
.jp-cam-card--cadena:hover { border-color: rgba(196, 154, 80, 0.5); }

.jp-cam-card--gift {
	background: linear-gradient(135deg, #fff8ef 0%, #fff2dd 100%);
	border: 1px solid rgba(196, 154, 80, 0.35);
	position: relative;
}
.jp-cam-card--gift::before {
	content: "🎁";
	position: absolute;
	top: 10px;
	right: 12px;
	font-size: 18px;
	opacity: 0.85;
}

/* --- Ajustes jp-cam-card genérico (compartido) --- */
.jp-cam-card {
	display: block;
	text-decoration: none;
	color: inherit;
	border-radius: 12px;
	overflow: hidden;
}
.jp-cam-card__img {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f8f1e6;
}
.jp-cam-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}
.jp-cam-card:hover .jp-cam-card__img img { transform: scale(1.04); }
.jp-cam-card__body {
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.jp-cam-card__cat {
	font-size: 11px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #8a6b35;
	font-weight: 600;
}
.jp-cam-card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #1f1306;
	line-height: 1.3;
}
.jp-cam-card__sku {
	font-size: 11px;
	color: #8a6b35;
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
.jp-cam-card__price {
	font-size: 15px;
	font-weight: 700;
	color: #1f1306;
	margin-top: 2px;
}

/* --- Precio tachado + etiqueta obsequio (en pulsera de regalo) --- */
.jp-cam-card__pricing {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px dashed rgba(196, 154, 80, 0.35);
	flex-wrap: wrap;
}
.jp-cam-card__price-was {
	font-size: 13px;
	color: #8a6b35;
	font-weight: 500;
	line-height: 1.2;
}
.jp-cam-card__price-was s {
	text-decoration: line-through;
	text-decoration-thickness: 1.5px;
	text-decoration-color: #8a6b35;
	opacity: 0.85;
}
.jp-cam-card__price-was s::after {
	content: "";
}
.jp-cam-card__gift-tag {
	display: inline-block;
	padding: 6px 10px;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 100%);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.6px;
	border-radius: 999px;
	text-transform: uppercase;
	white-space: nowrap;
}

/* --- Botón CTA dentro del par --- */
.jp-campana-par__cta {
	display: block;
	text-align: center;
	padding: 12px 16px;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 100%);
	color: #fff !important;
	font-weight: 700;
	border-radius: 10px;
	text-decoration: none !important;
	letter-spacing: 0.3px;
	transition: filter 0.15s ease;
}
.jp-campana-par__cta:hover { filter: brightness(1.08); }

/* --- Sección Catálogo de Cadenas Gucci --- */
.jp-campana-catalogo {
	padding: 60px 0;
	background: #fff;
}
.jp-campana-catalogo__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin-top: 32px;
}
@media (max-width: 1100px) {
	.jp-campana-catalogo__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.jp-campana-catalogo__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.jp-campana-catalogo__grid { grid-template-columns: 1fr; }
}
.jp-campana-catalogo__note {
	margin-top: 26px;
	font-size: 14px;
	color: #6a5a40;
	font-style: italic;
	text-align: center;
}

/* --- Compatibilidad: ajuste para el eyebrow con sede --- */
.jp-campana-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	letter-spacing: 0.4px;
	color: #8a6b35;
	text-transform: uppercase;
	font-weight: 600;
}

/* ================================================================
 * MOBILE POLISH — ajustes finos para pantallas pequeñas
 * ================================================================ */
@media (max-width: 640px) {
	.jp-campana-pares { padding: 40px 0 24px; }
	.jp-campana-pares__grid { margin-top: 22px; }
	.jp-campana-par__head {
		padding: 12px 14px;
	}
	.jp-campana-par__badge { font-size: 13px; }
	.jp-campana-par__rule { font-size: 11px; }
	.jp-campana-par__items {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 14px;
	}
	.jp-campana-par__plus {
		padding: 2px 0;
		transform: rotate(90deg);
		font-size: 20px;
	}
	.jp-campana-par__foot { padding: 0 14px 14px; }
	.jp-campana-par__cta { padding: 14px 16px; font-size: 15px; }

	.jp-cam-card__img { aspect-ratio: 1 / 1; }
	.jp-cam-card__title { font-size: 13px; }
	.jp-cam-card__price { font-size: 14px; }
	.jp-cam-card__price-was { font-size: 12px; }
	.jp-cam-card__gift-tag { font-size: 10px; padding: 5px 9px; }

	.jp-campana-catalogo { padding: 40px 0; }
	.jp-campana-catalogo__grid { gap: 14px; margin-top: 22px; }
	.jp-campana-catalogo__note { font-size: 13px; padding: 0 12px; }

	.jp-campana-hero__eyebrow { font-size: 11px; }
}

/* Tablets medianas */
@media (max-width: 900px) and (min-width: 641px) {
	.jp-campana-pares__grid { gap: 22px; }
	.jp-campana-par__items {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.jp-campana-par__plus {
		transform: rotate(90deg);
		padding: 2px 0;
	}
}

/* Pantallas muy grandes */
@media (min-width: 1400px) {
	.jp-campana-pares__grid { gap: 32px; }
	.jp-campana-catalogo__grid { gap: 26px; }
}

/* ============================================================
 * MÓDULO HOME — "No te quedes sin tu Pulsera de Obsequio"
 * Shortcode: [jp_vinculo_dorado_home_module]
 * Mismo handler de carrito que [jp_campana_vinculo_dorado].
 * Paleta dorada coherente con la campaña.
 * ============================================================ */
.jp-vinculo-home {
	background: linear-gradient(180deg, #faf7f0 0%, #ffffff 60%, #faf7f0 100%);
	padding: 64px 0 56px;
	border-top: 1px solid rgba(196, 154, 80, 0.18);
	border-bottom: 1px solid rgba(196, 154, 80, 0.18);
}
.jp-vinculo-home__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 36px;
	padding: 0 16px;
}
.jp-vinculo-home__eyebrow {
	display: inline-block;
	padding: 6px 14px;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 100%);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	border-radius: 999px;
	margin-bottom: 14px;
}
.jp-vinculo-home__title {
	margin: 0 0 12px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: clamp(1.75rem, 4vw, 2.4rem);
	color: #1a1a1a;
	line-height: 1.15;
}
.jp-vinculo-home__title em {
	font-style: italic;
	color: #8a6b35;
	font-weight: 600;
}
.jp-vinculo-home__sub {
	margin: 0;
	color: #4a4a4a;
	font-size: 0.95rem;
	line-height: 1.55;
}
.jp-vinculo-home__sub strong {
	color: #8a6b35;
	font-weight: 600;
}

/* Grid responsivo: 4 col desktop, 2 col tablet, 1 col mobile */
.jp-vinculo-home__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 16px;
}
@media (max-width: 1100px) { .jp-vinculo-home__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .jp-vinculo-home__grid { grid-template-columns: 1fr; gap: 16px; } }

/* Card */
.jp-vinculo-home__card {
	background: #fff;
	border: 1px solid rgba(196, 154, 80, 0.25);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.jp-vinculo-home__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 22px rgba(196, 154, 80, 0.18);
}

/* Head del card */
.jp-vinculo-home__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 14px 10px;
	background: linear-gradient(180deg, #fbf7ed 0%, #ffffff 100%);
	border-bottom: 1px solid rgba(196, 154, 80, 0.18);
}
.jp-vinculo-home__badge {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #fff;
	background: #1a1a1a;
	padding: 4px 10px;
	border-radius: 6px;
}
.jp-vinculo-home__gift-pill {
	font-size: 11px;
	font-weight: 600;
	color: #8a6b35;
	background: rgba(196, 154, 80, 0.14);
	padding: 4px 10px;
	border-radius: 999px;
	white-space: nowrap;
}

/* Productos dentro del card */
.jp-vinculo-home__products {
	display: grid;
	grid-template-columns: 1fr 28px 1fr;
	gap: 4px;
	padding: 14px 14px 8px;
	align-items: center;
}
.jp-vinculo-home__product {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.jp-vinculo-home__media {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #fafafa;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jp-vinculo-home__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.jp-vinculo-home__noimg {
	color: #b0a48a;
	font-size: 12px;
}
.jp-vinculo-home__prod-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.jp-vinculo-home__prod-cat {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: #8a6b35;
}
.jp-vinculo-home__prod-title {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.25;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	min-height: 2.5em;
}
.jp-vinculo-home__prod-price {
	font-size: 12.5px;
	font-weight: 700;
	color: #1a1a1a;
}
.jp-vinculo-home__prod-price--gift {
	display: flex;
	flex-direction: column;
	gap: 1px;
	color: #8a6b35;
}
.jp-vinculo-home__prod-price--gift s {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	color: #b09a6c;
	font-weight: 500;
}
.jp-vinculo-home__prod-price--gift small {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #8a6b35;
}

/* "+" entre productos */
.jp-vinculo-home__plus {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	color: #c49a50;
}
.jp-vinculo-home__plus-line {
	width: 1px;
	height: 18px;
	background: linear-gradient(180deg, transparent 0%, #c49a50 50%, transparent 100%);
}
.jp-vinculo-home__plus-icon {
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

/* Foot del card — STICKY al pie, CTA destacado tipo e-commerce standard */
.jp-vinculo-home__card-foot {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px 16px;
	border-top: 1px solid rgba(196, 154, 80, 0.22);
	background: #fff;
	box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.06);
	position: sticky;
	bottom: 0;
	z-index: 1;
}
.jp-vinculo-home__addcombo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px 16px;
	background: var(--jpc-gold, #C9A961);
	color: #0d0d0e;
	border: 1px solid var(--jpc-gold, #C9A961);
	border-radius: 3px;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-transform: none;
	cursor: pointer;
	transition: background 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease;
}
.jp-vinculo-home__addcombo:hover {
	background: #d9b96b;
	border-color: #d9b96b;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(196, 154, 80, 0.32);
}
.jp-vinculo-home__addcombo:active { transform: translateY(0); }
.jp-vinculo-home__addcombo:focus-visible {
	outline: 2px solid var(--jpc-gold, #C9A961);
	outline-offset: 2px;
}
.jp-vinculo-home__addcombo--pulse {
	animation: jp-vinculo-pulse 0.6s ease-out;
}
@keyframes jp-vinculo-pulse {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.04); box-shadow: 0 0 0 6px rgba(201, 169, 97, 0.28); }
	100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.jp-vinculo-home__addcombo--pulse { animation: none; }
}
.jp-vinculo-home__detail {
	display: block;
	text-align: center;
	font-size: 12px;
	color: #6b6b70;
	text-decoration: none;
	font-weight: 500;
	padding: 4px 0;
}
.jp-vinculo-home__detail:hover {
	color: var(--jpc-gold, #C9A961);
	text-decoration: underline;
}

/* ============================================================
 * Botón "Añadir combo" dentro de la página de campaña
 * (shortcode [jp_campana_vinculo_dorado], sección pares).
 * Reemplaza al CTA anterior "Reclamar mi par N por WhatsApp".
 * ============================================================ */
.jp-campana-par__addcombo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 13px 16px;
	background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
	color: #c49a50;
	border: 1px solid #c49a50;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.jp-campana-par__addcombo:hover {
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #1a1a1a;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(196, 154, 80, 0.35);
}
.jp-campana-par__addcombo:active { transform: translateY(0); }
.jp-campana-par__addcombo:focus-visible {
	outline: 2px solid #c49a50;
	outline-offset: 2px;
}
.jp-campana-par__addcombo--pulse {
	animation: jp-vinculo-pulse 0.6s ease-out;
}
.jp-campana-par__addcombo-ico { font-size: 16px; }

/* Footer del par — solo el botón "Añadir y comprar el combo".
   El CTA WhatsApp se elimino: el cliente que quiera consultar va al
   hero CTA "Preguntar por WhatsApp" o al finalizar el modal. */
.jp-campana-par__foot {
	padding-top: 14px;
	padding-bottom: 6px;
}

/* ============================================================
 * Item de carrito marcado como obsequio (gift)
 * ============================================================ */
.jpc-item--gift {
	background: linear-gradient(180deg, #fbf7ed 0%, #ffffff 100%);
	border-left: 3px solid #c49a50;
}
.jpc-item__price--gift {
	margin: 4px 0 0;
}
.jpc-item__gift-tag {
	display: inline-block;
	padding: 5px 10px;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 100%);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	border-radius: 999px;
}

/* ============================================================
 * Campaña Fugas 72h — shortcode [jp_fugas_72h]
 * Iteración 2: fondo negro profundo, un solo CTA "Comprar ahora",
 * paleta dorado Joyeria Panama. El WhatsApp se dispara desde el
 * modal del carrito al confirmar (flujo existente).
 * Coexiste con Vínculo Dorado sin overrides cruzados.
 * ============================================================ */

.jp-fugas {
	background: #000 !important;
	color: #f5f5f5 !important;
	padding: 72px 0 96px !important;
	position: relative !important;
	overflow: hidden !important;
}

/* --- HERO --- */

.jp-fugas .at-container {
	position: relative;
	z-index: 1;
}

.jp-fugas__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 56px;
}

.jp-fugas__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	background: rgba(196, 154, 80, 0.12);
	border: 1px solid rgba(196, 154, 80, 0.4);
	border-radius: 999px;
	color: #e3bd6f;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	margin-bottom: 24px;
}

.jp-fugas__pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e74c3c;
	box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7);
	animation: jp-fugas-pulse 1.8s ease-out infinite;
}

@keyframes jp-fugas-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7); }
	70%  { box-shadow: 0 0 0 10px rgba(231, 76, 60, 0); }
	100% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0); }
}

.jp-fugas__title {
	font-size: clamp(2.6rem, 7vw, 4.5rem) !important;
	font-weight: 800 !important;
	margin: 0 0 18px;
	letter-spacing: -0.025em;
	line-height: 1.05;
	color: #fff;
}

.jp-fugas__title em {
	font-style: normal;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 50%, #fff5d9 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.jp-fugas__sub {
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	color: #b8b8b8;
	line-height: 1.55;
	margin: 0 0 32px;
}

.jp-fugas__sub strong {
	color: #e3bd6f;
}

/* --- COUNTDOWN --- */

.jp-fugas__countdown {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 16px 24px !important;
	background: #0a0a0a !important;
	border: 1px solid rgba(196, 154, 80, 0.35) !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 32px rgba(196, 154, 80, 0.12) !important;
}

.jp-fugas__cd-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #c49a50;
	margin-right: 8px;
}

.jp-fugas__cd-cell {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	min-width: 60px;
	padding: 6px 10px;
	background: #000;
	border-radius: 10px;
	border: 1px solid rgba(196, 154, 80, 0.25);
}

.jp-fugas__cd-num {
	font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
	font-size: clamp(1.7rem, 3.5vw, 2.2rem);
	font-weight: 800;
	color: #fff;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.jp-fugas__cd-unit {
	font-size: 9px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #888;
	margin-top: 4px;
}

.jp-fugas__cd-sep {
	color: #c49a50;
	font-size: 1.4rem;
	font-weight: 700;
	align-self: center;
}

/* Countdown expirado */
.jp-fugas__countdown[data-expired="true"] {
	background: #0a0a0a;
	border-color: rgba(150, 150, 150, 0.4);
}

.jp-fugas__countdown[data-expired="true"] .jp-fugas__cd-label {
	color: #888;
}

.jp-fugas__countdown[data-expired="true"] .jp-fugas__cd-num {
	color: #888;
}

/* --- GRID DE PRODUCTOS --- */

.jp-fugas__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 28px;
}

@media (min-width: 1024px) {
	.jp-fugas__grid {
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		gap: 32px;
	}
}

.jp-fugas__card {
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 36px rgba(0, 0, 0, 0.5);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	display: flex;
	flex-direction: column;
	color: #1a1a1a;
}

.jp-fugas__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 48px rgba(196, 154, 80, 0.4);
}

.jp-fugas__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: #f7f3eb;
	overflow: hidden;
}

.jp-fugas__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.jp-fugas__card:hover .jp-fugas__media img {
	transform: scale(1.06);
}

.jp-fugas__badge {
	position: absolute;
	top: 14px;
	right: 14px;
	padding: 7px 14px;
	background: linear-gradient(135deg, #c49a50 0%, #e74c3c 100%);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(231, 76, 60, 0.45);
	letter-spacing: 0.5px;
}

.jp-fugas__badge[data-expired="true"] {
	display: none;
}

/* --- CARD BODY --- */

.jp-fugas__body {
	padding: 22px 22px 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.jp-fugas__cat {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #c49a50;
	margin-bottom: 8px;
}

.jp-fugas__name {
	font-size: 1.05rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 6px;
	line-height: 1.3;
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.jp-fugas__sku {
	font-size: 12px;
	color: #888;
	margin-bottom: 14px;
	font-family: 'SF Mono', 'Cascadia Code', monospace;
}

/* --- PRICING TACHADO --- */

.jp-fugas__pricing {
	margin: 4px 0 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 14px;
	background: linear-gradient(180deg, #fbf7ed 0%, #fff 100%);
	border-radius: 10px;
	border: 1px dashed rgba(196, 154, 80, 0.35);
}

.jp-fugas__price-was {
	font-size: 13px;
	color: #999;
	font-weight: 500;
}

.jp-fugas__price-was s {
	text-decoration: line-through;
	text-decoration-thickness: 1.5px;
	text-decoration-color: #c49a50;
}

.jp-fugas__price-now {
	font-size: 1.85rem;
	font-weight: 800;
	color: #1a1a1a;
	line-height: 1.05;
	margin-top: 2px;
}

.jp-fugas__price-save {
	display: inline-block;
	margin-top: 6px;
	padding: 4px 10px;
	background: linear-gradient(90deg, rgba(196, 154, 80, 0.18) 0%, rgba(231, 76, 60, 0.18) 100%);
	color: #b87333;
	font-size: 11px;
	font-weight: 700;
	border-radius: 999px;
	align-self: flex-start;
	letter-spacing: 0.3px;
}

/* --- ACCIONES (un solo botón full-width) --- */

.jp-fugas__actions {
	margin-top: auto;
}

.jp-fugas__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 14px 20px;
	border: 0;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.2s ease;
	font-family: inherit;
	white-space: nowrap;
	line-height: 1;
	letter-spacing: 0.3px;
}

.jp-fugas__btn--buy {
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #1a1a1a;
	box-shadow: 0 6px 18px rgba(196, 154, 80, 0.4);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

.jp-fugas__btn--buy:hover {
	background: linear-gradient(135deg, #b58a40 0%, #d3ad5f 100%);
	box-shadow: 0 8px 22px rgba(196, 154, 80, 0.55);
	transform: translateY(-2px);
}

.jp-fugas__btn--buy:active {
	transform: translateY(0);
}

.jp-fugas__btn-arrow {
	font-size: 18px;
	font-weight: 800;
	transition: transform 0.2s ease;
}

.jp-fugas__btn--buy:hover .jp-fugas__btn-arrow {
	transform: translateX(4px);
}

.jp-fugas__btn--regular {
	background: #1a1a1a;
	color: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.jp-fugas__btn--regular:hover {
	background: #2a2a2a;
}

/* --- BLOQUE EXPIRADO (oculto por default) --- */

.jp-fugas__expired[hidden] {
	display: none;
}

.jp-fugas__expired {
	margin-top: auto;
	padding: 14px;
	background: #f7f3eb;
	border-radius: 12px;
	text-align: center;
}

.jp-fugas__expired-tag {
	display: inline-block;
	padding: 4px 12px;
	background: #555;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	border-radius: 999px;
	margin-bottom: 8px;
}

.jp-fugas__expired-msg {
	font-size: 13px;
	color: #555;
	line-height: 1.4;
	margin: 0 0 12px;
}

/* Cuando el card está expirado */
.jp-fugas__card[data-expired="true"] .jp-fugas__actions {
	display: none;
}

.jp-fugas__card[data-expired="true"] .jp-fugas__pricing {
	opacity: 0.55;
}

.jp-fugas__card[data-expired="true"] .jp-fugas__pricing .jp-fugas__price-was,
.jp-fugas__card[data-expired="true"] .jp-fugas__pricing .jp-fugas__price-save {
	display: none;
}

/* --- FOOTER --- */

.jp-fugas__foot {
	margin-top: 64px;
	padding-top: 36px;
	border-top: 1px solid rgba(196, 154, 80, 0.18);
	text-align: center;
}

.jp-fugas__note {
	max-width: 720px;
	margin: 0 auto;
	font-size: 13px;
	color: #999;
	line-height: 1.65;
}

.jp-fugas__note strong {
	color: #e3bd6f;
}

/* --- RESPONSIVE --- */

@media (max-width: 640px) {
	.jp-fugas {
		padding: 56px 0 72px;
	}

	.jp-fugas__head {
		margin-bottom: 40px;
	}

	.jp-fugas__countdown {
		flex-wrap: wrap;
		justify-content: center;
		padding: 12px 14px;
		gap: 6px;
	}

	.jp-fugas__cd-cell {
		min-width: 52px;
		padding: 4px 6px;
	}

	.jp-fugas__cd-label {
		flex-basis: 100%;
		text-align: center;
		margin-right: 0;
		margin-bottom: 4px;
	}

	.jp-fugas__cd-sep {
		font-size: 1.1rem;
	}

	.jp-fugas__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.jp-fugas__price-now {
		font-size: 1.6rem;
	}

	.jp-fugas__btn--buy {
		font-size: 14px;
		padding: 13px 18px;
	}
}
/* ============================================================
   jp-fugas-home — módulo compacto de cadenas Gucci en el home
   Reutiliza paleta oro (#c49a50) y rojo descuento (#c0392b)
   ============================================================ */

.jp-fugas-home {
	background: #000;
	color: #f5f5f5;
	padding: 56px 0 72px;
	position: relative;
	overflow: hidden;
}

.jp-fugas-home .at-container {
	position: relative;
	z-index: 1;
}

/* --- HERO MINI --- */

.jp-fugas-home__head {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 40px;
}

.jp-fugas-home__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 16px;
	background: rgba(196, 154, 80, 0.12);
	border: 1px solid rgba(196, 154, 80, 0.4);
	border-radius: 999px;
	color: #e3bd6f;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.jp-fugas-home__pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e74c3c;
	box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7);
	animation: jp-fugas-pulse 1.8s ease-out infinite;
}

@keyframes jp-fugas-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7); }
	70%  { box-shadow: 0 0 0 8px rgba(231, 76, 60, 0); }
	100% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0); }
}

.jp-fugas-home__title {
	font-size: clamp(2rem, 5vw, 3.2rem);
	font-weight: 800;
	color: #fff;
	margin: 0 0 12px;
	line-height: 1.15;
}

.jp-fugas-home__title em {
	font-style: normal;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 50%, #fff5d9 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.jp-fugas-home__sub {
	font-size: clamp(0.95rem, 1.5vw, 1.05rem);
	color: #b8b8b8;
	margin: 0;
}

.jp-fugas-home__sub strong {
	color: #e3bd6f;
}

/* --- GRID --- */

.jp-fugas-home__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}

@media (min-width: 1024px) {
	.jp-fugas-home__grid {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
		gap: 28px;
	}
}

/* --- CARD --- */

.jp-fugas-home__card {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	display: flex;
	flex-direction: column;
	color: #1a1a1a;
}

.jp-fugas-home__card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 40px rgba(196, 154, 80, 0.35);
}

.jp-fugas-home__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: #f7f3eb;
	overflow: hidden;
}

.jp-fugas-home__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.jp-fugas-home__card:hover .jp-fugas-home__media img {
	transform: scale(1.06);
}

.jp-fugas-home__badge {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 6px 12px;
	background: linear-gradient(135deg, #c49a50 0%, #c0392b 100%);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(192, 57, 43, 0.45);
	letter-spacing: 0.5px;
}

/* --- CARD BODY --- */

.jp-fugas-home__body {
	padding: 18px 18px 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.jp-fugas-home__cat {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #c49a50;
	margin-bottom: 6px;
}

.jp-fugas-home__name {
	font-size: 0.95rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 5px;
	line-height: 1.3;
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.jp-fugas-home__sku {
	font-size: 11px;
	color: #888;
	margin-bottom: 10px;
}

/* --- PRICING --- */

.jp-fugas-home__pricing {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-bottom: 14px;
}

.jp-fugas-home__price-was {
	font-size: 13px;
	color: #999;
}

.jp-fugas-home__price-was s {
	color: #999;
}

.jp-fugas-home__price-now {
	font-size: 1.35rem;
	font-weight: 800;
	color: #c0392b;
}

/* --- BUTTON --- */

.jp-fugas-home__btn {
	width: 100%;
	padding: 13px 16px;
	background: linear-gradient(135deg, #c49a50 0%, #b8862e 100%);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 4px 14px rgba(196, 154, 80, 0.4);
	margin-top: auto;
}

.jp-fugas-home__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(196, 154, 80, 0.5);
	background: linear-gradient(135deg, #d4af37 0%, #c49a50 100%);
}

.jp-fugas-home__btn:active {
	transform: translateY(0);
}

/* --- RESPONSIVE --- */

@media (max-width: 640px) {
	.jp-fugas-home {
		padding: 40px 0 56px;
	}

	.jp-fugas-home__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.jp-fugas-home__body {
		padding: 14px 14px 16px;
	}

	.jp-fugas-home__name {
		font-size: 0.85rem;
	}

	.jp-fugas-home__price-now {
		font-size: 1.1rem;
	}

	.jp-fugas-home__btn {
		font-size: 11px;
		padding: 11px 10px;
	}
}

/* Countdown + footer del modulo home (anadido post-fugas) */
.jp-fugas-home__countdown {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 20px auto 0;
	padding: 12px 20px;
	background: rgba(196,154,80,.06);
	border: 1px solid rgba(196,154,80,.3);
	border-radius: 14px;
	box-shadow: 0 4px 20px rgba(0,0,0,.06);
}

.jp-fugas-home__cd-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #8a6d2c;
	margin-right: 6px;
}

.jp-fugas-home__cd-cell {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	min-width: 44px;
	padding: 4px 6px;
	background: #fff;
	border-radius: 8px;
	border: 1px solid rgba(196,154,80,.25);
}

.jp-fugas-home__cd-num {
	font-family: 'SF Mono','Cascadia Code','Consolas',monospace;
	font-size: clamp(1.1rem, 2.2vw, 1.4rem);
	font-weight: 800;
	color: #1a1a1a;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.jp-fugas-home__cd-unit {
	font-size: 8px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #8a6d2c;
	margin-top: 3px;
}

.jp-fugas-home__cd-sep {
	color: #c49a50;
	font-size: 1.1rem;
	font-weight: 700;
	align-self: center;
}

.jp-fugas-home__cd-expired {
	display: inline-block;
	padding: 8px 16px;
	background: rgba(150,150,150,.15);
	border: 1px solid rgba(150,150,150,.4);
	border-radius: 999px;
	color: #666;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .05em;
}

.jp-fugas-home__foot {
	margin-top: 36px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.jp-fugas-home__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 50%, #c49a50 100%);
	color: #1a1a1a;
	border: 0;
	border-radius: 999px;
	font-family: inherit;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .02em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 6px 20px rgba(196,154,80,.35);
	transition: transform .2s ease, box-shadow .2s ease;
}

.jp-fugas-home__cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(196,154,80,.5);
	color: #1a1a1a;
}

.jp-fugas-home__cta-arrow {
	font-size: 16px;
	transition: transform .2s ease;
}

.jp-fugas-home__cta:hover .jp-fugas-home__cta-arrow {
	transform: translateX(4px);
}

.jp-fugas-home__note {
	margin: 0;
	font-size: 12px;
	color: #888;
	font-style: italic;
}

/* Card link: cubre toda la card salvo el botón (que vive afuera del <a>) */
.jp-fugas-home__card {
	position: relative;
	display: flex;
	flex-direction: column;
}
.jp-fugas-home__cardlink {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: inherit;
	text-decoration: none;
	border-radius: inherit;
	outline: none;
	transition: transform .15s ease;
}
.jp-fugas-home__cardlink:focus-visible {
	box-shadow: 0 0 0 3px rgba(196, 154, 80, 0.55);
	border-radius: 10px;
}
.jp-fugas-home__cardlink:hover {
	text-decoration: none;
	color: inherit;
}
.jp-fugas-home__btn {
	position: relative;
	z-index: 2;          /* queda encima del <a> para que el click NO navegue */
	margin-top: auto;
}

/* Mismo patron para la landing [jp_fugas_72h]: .jp-fugas__card */
.jp-fugas__card {
	position: relative;
	display: flex;
	flex-direction: column;
}
.jp-fugas__cardlink {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: inherit;
	text-decoration: none;
	border-radius: inherit;
	outline: none;
	transition: transform .15s ease;
}
.jp-fugas__cardlink:focus-visible {
	box-shadow: 0 0 0 3px rgba(196, 154, 80, 0.55);
	border-radius: 10px;
}
.jp-fugas__cardlink:hover {
	text-decoration: none;
	color: inherit;
}
.jp-fugas__actions,
.jp-fugas__expired {
	position: relative;
	z-index: 2;
	margin-top: auto;
}

/* ==== Campana / descuento aplicado en single-jp_joya ==== */
.jp-single-info__campbar {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	padding: 10px 16px;
	background: linear-gradient(135deg, rgba(196, 154, 80, 0.28), rgba(196, 154, 80, 0.12));
	border: 1px solid rgba(196, 154, 80, 0.55);
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
}
.jp-single-info__campbadge {
	display: inline-block;
	background: #c49a50;
	color: #1a1a1a;
	font-weight: 700;
	font-size: 12px;
	padding: 2px 10px;
	border-radius: 999px;
	letter-spacing: .03em;
}
.jp-single-info__camplabel {
	font-size: 13px;
	color: #3a2f15;            /* dorado oscuro, contraste alto sobre fondo claro */
	font-weight: 600;
}
.jp-single-info__price-was {
	display: inline-flex;
	align-items: baseline;
	margin-left: 10px;
	font-size: 14px;
	color: #8a7a55;            /* dorado apagado para precio tachado, contraste alto */
}
.jp-single-info__price-was s {
	color: inherit;
}
.jp-single-info__price-saved {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: #c49a50;
	font-weight: 600;
}
.jp-single-info__amount--now {
	color: #c49a50;
}

@media (max-width: 600px) {
	.jp-fugas-home__countdown { padding: 8px 12px; gap: 4px; }
	.jp-fugas-home__cd-cell { min-width: 36px; padding: 3px 4px; }
	.jp-fugas-home__cd-label { display: none; }
	.jp-fugas-home__cta { padding: 12px 22px; font-size: 12px; }
	.jp-single-info__campbar { padding: 6px 10px; gap: 6px; }
	.jp-single-info__campbadge { font-size: 11px; padding: 2px 8px; }
	.jp-single-info__camplabel { font-size: 11px; }
	.jp-single-info__price-was { font-size: 12px; margin-left: 6px; }
	.jp-single-info__price-saved { font-size: 11px; }
}

/* ============================================================
 * Campaña "Cadena Gratis Octubre" — CSS
 * Paleta: dorado (#c49a50 / #e3bd6f), negro (#000), crema (#faf7f0)
 * Mobile-first, breakpoint 768px.
 * ============================================================ */

/* ============================================================
 * LANDING — [jp_cadena_gratis_landing]
 * ============================================================ */

.jp-cadena-gratis {
	background: linear-gradient(180deg, #0a0a0a 0%, #111 100%);
	color: #f5f5f5;
	padding: 80px 0 96px;
	position: relative;
	overflow: hidden;
}

/* Fondo decorativo sutil */
.jp-cadena-gratis::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 50% -10%, rgba(196, 154, 80, 0.18) 0%, transparent 70%),
		radial-gradient(ellipse 60% 40% at 80% 110%, rgba(196, 154, 80, 0.08) 0%, transparent 60%);
	pointer-events: none;
}

.jp-cadena-gratis .at-container {
	position: relative;
	z-index: 1;
}

/* HERO */
.jp-cg__head {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 64px;
	padding: 0 16px;
}

.jp-cg__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 16px;
	background: rgba(196, 154, 80, 0.12);
	border: 1px solid rgba(196, 154, 80, 0.45);
	border-radius: 999px;
	color: #e3bd6f;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	margin-bottom: 28px;
}

.jp-cg__pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #c49a50;
	box-shadow: 0 0 0 0 rgba(196, 154, 80, 0.7);
	animation: jp-cg-pulse 2s ease-out infinite;
}

@keyframes jp-cg-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(196, 154, 80, 0.7); }
	70%  { box-shadow: 0 0 0 10px rgba(196, 154, 80, 0); }
	100% { box-shadow: 0 0 0 0 rgba(196, 154, 80, 0); }
}

.jp-cg__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(2rem, 5.5vw, 3.6rem);
	font-weight: 600;
	margin: 0 0 18px;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: #fff;
}

.jp-cg__title strong {
	color: #e3bd6f;
}

.jp-cg__title em {
	font-style: normal;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 60%, #fff8e1 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.jp-cg__hero-sub {
	font-size: clamp(0.95rem, 1.8vw, 1.1rem);
	color: #c0c0c0;
	line-height: 1.55;
	margin: 0 0 36px;
}

.jp-cg__hero-sub strong {
	color: #e3bd6f;
}

/* CTA */
.jp-cg__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #0a0a0a;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.jp-cg__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 22px rgba(196, 154, 80, 0.4);
	filter: brightness(1.08);
	text-decoration: none;
	color: #0a0a0a;
}

.jp-cg__cta:active {
	transform: translateY(0);
}

.jp-cg__cta svg {
	flex-shrink: 0;
}

/* CARDS */
.jp-cg__cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
	max-width: 960px;
	margin: 0 auto 72px;
	padding: 0 16px;
}

.jp-cg__card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(196, 154, 80, 0.28);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.jp-cg__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 36px rgba(196, 154, 80, 0.22);
}

.jp-cg__media {
	position: relative;
	overflow: hidden;
	background: #0d0d0d;
}

.jp-cg__img {
	width: 100%;
	height: 260px;
	object-fit: contain;
	display: block;
	transition: transform 0.3s ease;
}

.jp-cg__card:hover .jp-cg__img {
	transform: scale(1.03);
}

.jp-cg__badge {
	position: absolute;
	top: 14px;
	right: 14px;
	padding: 5px 12px;
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #0a0a0a;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	border-radius: 999px;
}

.jp-cg__info {
	padding: 22px 24px 26px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.jp-cg__card-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.2rem;
	font-weight: 600;
	color: #f0e6cc;
	margin: 0;
	line-height: 1.2;
}

.jp-cg__sku {
	font-size: 11px;
	color: #888;
	letter-spacing: 0.6px;
	margin: 0;
}

.jp-cg__price {
	font-size: 1.05rem;
	color: #e3bd6f;
	font-weight: 600;
	margin: 4px 0 0;
	text-decoration: line-through;
	opacity: 0.7;
}

.jp-cg__threshold {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 4px 0 0;
	padding: 6px 12px;
	background: rgba(196, 154, 80, 0.12);
	border: 1px solid rgba(196, 154, 80, 0.4);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	color: #e3bd6f;
}

.jp-cg__threshold svg {
	color: #c49a50;
	flex-shrink: 0;
}

.jp-cg__card-note {
	font-size: 11px;
	color: #888;
	margin: 4px 0 0;
}

/* CÓMO FUNCIONA */
.jp-cg__how {
	max-width: 680px;
	margin: 0 auto 72px;
	padding: 0 16px;
}

.jp-cg__how-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(1.4rem, 3vw, 1.9rem);
	font-weight: 600;
	color: #fff;
	text-align: center;
	margin: 0 0 36px;
}

.jp-cg__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.jp-cg__step {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.jp-cg__step-num {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #0a0a0a;
	font-size: 15px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

.jp-cg__step strong {
	display: block;
	color: #f0e6cc;
	font-size: 1rem;
	margin-bottom: 4px;
}

.jp-cg__step p {
	margin: 0;
	font-size: 0.9rem;
	color: #b0b0b0;
	line-height: 1.5;
}

.jp-cg__step strong {
	color: #e3bd6f;
}

/* CTA FINAL (BLOQUE 6) — entre Combos Express y Términos */
.jp-cg__final-cta {
	text-align: center;
	background: linear-gradient(135deg, rgba(196,154,80,0.10) 0%, rgba(196,154,80,0.04) 100%);
	border: 1px solid rgba(196, 154, 80, 0.32);
	border-radius: 18px;
	padding: 56px 32px;
	margin-bottom: 56px;
}
.jp-cg__final-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 600;
	color: #fff !important;
	margin: 0 0 14px;
	letter-spacing: -0.01em;
	line-height: 1.2;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.jp-cg__final-sub {
	font-size: 0.98rem;
	color: #b3a98e !important;
	margin: 0 0 32px;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}
.jp-cg__final-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}
.jp-cg__final-actions .jp-cg__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 32px;
	font-size: 15px;
	font-weight: 700;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s, transform 0.15s, color 0.2s, border-color 0.2s;
}
.jp-cg__final-actions .jp-cg__cta:hover {
	transform: translateY(-2px);
}
.jp-cg__final-catalog {
	background: transparent !important;
	color: #e3bd6f !important;
	border: 1px solid rgba(196, 154, 80, 0.5) !important;
}
.jp-cg__final-catalog:hover {
	background: rgba(196, 154, 80, 0.12) !important;
	color: #fff !important;
	border-color: #c49a50 !important;
}
.jp-cg__final-note {
	font-size: 0.88rem;
	color: #8a6d2c !important;
	margin: 18px 0 0;
	font-style: italic;
}

/* TÉRMINOS */
.jp-cg__terms {
	max-width: 640px;
	margin: 0 auto 72px;
	padding: 32px 36px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(196, 154, 80, 0.2);
	border-radius: 14px;
}

.jp-cg__terms-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.15rem;
	font-weight: 600;
	color: #e3bd6f !important;
	margin: 0 0 18px;
}

.jp-cg__terms-list {
	margin: 0;
	padding-left: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.jp-cg__terms-list li {
	display: flex;
	gap: 10px;
	font-size: 0.88rem;
	color: #b0b0b0 !important;
	line-height: 1.45;
}

.jp-cg__terms-list li::before {
	content: '—';
	color: #c49a50;
	flex-shrink: 0;
}

.jp-cg__terms-list li strong {
	color: #e3bd6f !important;
	font-weight: 600;
}
.jp-cg__closing-body {
	font-size: 1rem;
	color: #b0b0b0 !important;
	line-height: 1.7;
	margin: 0 0 24px;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.jp-cg__closing-body strong {
	color: #fff !important;
	font-weight: 600;
}
.jp-cg__highlight {
	background: linear-gradient(180deg, transparent 60%, rgba(196,154,80,0.32) 60%);
	color: #e3bd6f !important;
	font-weight: 700;
	padding: 0 2px;
}

/* FOOTER CTA */
.jp-cg__footer-cta {
	text-align: center;
}

/* ============================================================
 * HOME MODULE — [jp_cadena_gratis_home_module]
 * Diseño compacto, sin countdown.
 * ============================================================ */

.jp-cg-home {
	background: linear-gradient(180deg, #faf7f0 0%, #ffffff 60%, #faf7f0 100%);
	padding: 60px 0 56px;
	border-top: 1px solid rgba(196, 154, 80, 0.2);
	border-bottom: 1px solid rgba(196, 154, 80, 0.2);
}

.jp-cg-home .at-container {
	max-width: 1100px;
	margin: 0 auto;
}

.jp-cg-home__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 36px;
	padding: 0 16px;
}

.jp-cg-home__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 100%);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	border-radius: 999px;
	margin-bottom: 14px;
}

.jp-cg-home__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255,255,255,0.8);
}

.jp-cg-home__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: clamp(1.6rem, 3.5vw, 2.2rem);
	color: #1a1a1a;
	line-height: 1.15;
	margin: 0 0 10px;
}

.jp-cg-home__title strong {
	color: #8a6b35;
}

.jp-cg-home__title em {
	font-style: italic;
	color: #c49a50;
	font-weight: 600;
}

.jp-cg-home__sub {
	margin: 0;
	color: #4a4a4a;
	font-size: 0.93rem;
	line-height: 1.5;
}

.jp-cg-home__sub strong {
	color: #8a6b35;
}

/* Grid: 2 col desktop, 1 col mobile */
.jp-cg-home__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 860px;
	margin: 0 auto 32px;
	padding: 0 16px;
}

.jp-cg-home__card {
	background: #fff;
	border: 1px solid rgba(196, 154, 80, 0.22);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 5px rgba(0,0,0,0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.jp-cg-home__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 24px rgba(196, 154, 80, 0.16);
}

.jp-cg-home__media {
	position: relative;
	overflow: hidden;
	background: #faf7f0;
}

.jp-cg-home__img {
	width: 100%;
	height: 200px;
	object-fit: contain;
	display: block;
	transition: transform 0.25s ease;
}

.jp-cg-home__card:hover .jp-cg-home__img {
	transform: scale(1.04);
}

.jp-cg-home__badge {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 4px 10px;
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #0a0a0a;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	border-radius: 999px;
}

.jp-cg-home__info {
	padding: 18px 20px 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.jp-cg-home__sku {
	font-size: 10px;
	color: #999;
	letter-spacing: 0.5px;
	margin: 0;
}

.jp-cg-home__card-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.05rem;
	font-weight: 600;
	color: #1a1a1a;
	margin: 0;
	line-height: 1.2;
}

.jp-cg-home__threshold {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 4px 0 0;
	padding: 4px 10px;
	background: rgba(196, 154, 80, 0.1);
	border: 1px solid rgba(196, 154, 80, 0.35);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	color: #8a6b35;
}

.jp-cg-home__threshold svg {
	color: #c49a50;
	flex-shrink: 0;
}

.jp-cg-home__cta {
	display: inline-block;
	margin-top: 12px;
	padding: 8px 18px;
	border: 1.5px solid #c49a50;
	color: #8a6b35;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-decoration: none;
	border-radius: 999px;
	transition: background 0.18s ease, color 0.18s ease;
	align-self: flex-start;
}

.jp-cg-home__cta:hover {
	background: #c49a50;
	color: #fff;
	text-decoration: none;
}

/* Footer */
.jp-cg-home__footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.jp-cg-home__btn-main {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 28px;
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #0a0a0a;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 999px;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.jp-cg-home__btn-main:hover {
	transform: translateY(-1px);
	box-shadow: 0 5px 20px rgba(196, 154, 80, 0.38);
	filter: brightness(1.06);
	text-decoration: none;
	color: #0a0a0a;
}

.jp-cg-home__btn-main svg {
	flex-shrink: 0;
}

.jp-cg-home__terms-link {
	font-size: 12px;
	color: #999;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.15s;
}

.jp-cg-home__terms-link:hover {
	color: #c49a50;
}

/* ============================================================
 * TOPBAR ITEM — .jp-campaign-bar__item--cadena-gratis
 * ============================================================ */

.jp-campaign-bar__item--cadena-gratis .jp-campaign-bar__dot {
	background: #c49a50;
}

.jp-campaign-bar__item--cadena-gratis .jp-campaign-bar__sub {
	color: rgba(255, 255, 255, 0.8);
}

/* ============================================================
 * RESPONSIVE — breakpoint 768px
 * ============================================================ */

@media (max-width: 768px) {
	.jp-cadena-gratis {
		padding: 56px 0 64px;
	}

	.jp-cg__head {
		margin-bottom: 44px;
	}

	.jp-cg__cards {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 56px;
	}

	.jp-cg__img {
		height: 220px;
	}

	.jp-cg__how {
		margin-bottom: 56px;
	}

	.jp-cg__terms {
		margin-bottom: 56px;
		padding: 24px 22px;
	}

	.jp-cg__steps {
		gap: 20px;
	}

	.jp-cg-home {
		padding: 48px 0 44px;
	}

	.jp-cg-home__grid {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-bottom: 28px;
	}

	.jp-cg-home__img {
		height: 180px;
	}
}

/* ============================================================
 * LANDING — EMBUDO DE VENTAS (nuevos bloques)
 * Selectores: .jp-cg__hero · .jp-cg__obs-* · .jp-cg__combo-*
 *             .jp-cg__how · .jp-cg__closing
 * Paleta: #c49a50 · #e3bd6f · #1a1a1a · #f2ebe0
 * Mobile-first, breakpoint 768px.
 * ============================================================ */

/* ── HERO ── */
.jp-cg__hero {
	text-align: center;
	max-width: 820px;
	margin: 0 auto;
	padding: 0 16px 72px;
}

.jp-cg__hero-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(2.1rem, 5.5vw, 3.8rem);
	font-weight: 600;
	margin: 0 0 22px;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: #fff;
}
.jp-cg__hero-title em {
	font-style: normal;
	background: linear-gradient(90deg, #c49a50 0%, #e3bd6f 60%, #fff8e1 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.jp-cg__hero-sub {
	font-size: clamp(1rem, 2vw, 1.18rem);
	color: #c8c8c8;
	line-height: 1.65;
	margin: 0 0 36px;
}

.jp-cg__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

.jp-cg__cta--ghost {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 24px;
	background: transparent;
	border: 1px solid rgba(196,154,80,0.45);
	color: #e3bd6f;
	font-size: 13px;
	font-weight: 600;
	border-radius: 8px;
	text-decoration: none;
	transition: border-color 0.2s, color 0.2s;
}
.jp-cg__cta--ghost:hover {
	border-color: #c49a50;
	color: #fff;
}

/* ── OBSEQUIO CARDS (las 2 cadenas) ── */
.jp-cg__obs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	margin-bottom: 80px;
}

.jp-cg__obs-card {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(196,154,80,0.28);
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.jp-cg__obs-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 40px rgba(196,154,80,0.24);
}

.jp-cg__obs-media {
	position: relative;
	overflow: hidden;
	background: #0d0d0d;
}
.jp-cg__obs-img {
	width: 100%;
	height: 300px;
	object-fit: contain;
	display: block;
	transition: transform 0.3s ease;
}
.jp-cg__obs-card:hover .jp-cg__obs-img { transform: scale(1.04); }

.jp-cg__obs-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	padding: 5px 14px;
	background: linear-gradient(135deg, #c49a50 0%, #e3bd6f 100%);
	color: #0a0a0a;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	border-radius: 999px;
}

.jp-cg__obs-info {
	padding: 24px 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.jp-cg__obs-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--jp-gold) !important;
	margin: 0;
	line-height: 1.25;
}
.jp-cg__obs-desc {
	font-size: 0.88rem;
	color: #aaa;
	line-height: 1.5;
	margin: 0;
}
.jp-cg__obs-sku {
	font-size: 11px;
	color: #888;
	letter-spacing: 0.5px;
	margin: 0;
}
.jp-cg__obs-price-slash {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 4px 0;
}
.jp-cg__obs-price-slash s {
	font-size: 0.95rem;
	color: #888;
}
.jp-cg__obs-free {
	font-size: 1.1rem;
	font-weight: 800;
	color: #e3bd6f;
}
.jp-cg__obs-condition {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 0.88rem;
	color: #c8c8c8;
	margin: 0;
}

/* ── COMBOS ── */
.jp-cg__combos-section {
	margin-bottom: 80px;
}

.jp-cg__section-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 600;
	color: #fff !important;
	text-align: center;
	margin: 0 0 12px;
	letter-spacing: -0.01em;
}
.jp-cg__section-sub {
	font-size: 1rem;
	color: #aaa;
	text-align: center;
	margin: 0 0 40px;
	line-height: 1.6;
}

.jp-cg__combos-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.jp-cg__combo {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(196,154,80,0.25);
	border-radius: 16px;
	padding: 20px 22px 18px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	overflow: hidden;
}

.jp-cg__combo-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
}
.jp-cg__combo-label {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.1rem;
	font-weight: 600;
	color: #fff;
}
.jp-cg__combo-badge {
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	flex-shrink: 0;
}
.jp-cg__combo-badge--cr {
	background: rgba(196,154,80,0.2);
	color: #e3bd6f;
	border: 1px solid rgba(196,154,80,0.4);
}
.jp-cg__combo-badge--mq {
	background: rgba(220,80,80,0.15);
	color: #f5a0a0;
	border: 1px solid rgba(220,80,80,0.35);
}

.jp-cg__combo__products {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.jp-cg__combo__product {
	display: flex;
	align-items: center;
	gap: 10px;
}
.jp-cg__combo-thumb-wrap {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background: #0d0d0d;
}
.jp-cg__combo-thumb {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.jp-cg__combo-thumb--empty {
	width: 100%;
	height: 100%;
	background: #1a1a1a;
	border: 1px dashed rgba(196,154,80,0.3);
	border-radius: 8px;
}
.jp-cg__combo-prod-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.jp-cg__combo-prod-name {
	font-size: 0.82rem;
	color: #e8e8e8;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration: none;
	transition: color 0.15s ease;
}
.jp-cg__combo-prod-name:hover {
	color: var(--jp-gold);
	text-decoration: underline;
}
.jp-cg__combo-prod-price {
	font-size: 0.9rem;
	font-weight: 700;
	color: #e3bd6f;
}

.jp-cg__combo-add-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 12px;
	background: rgba(196,154,80,0.15);
	border: 1px solid rgba(196,154,80,0.4);
	border-radius: 7px;
	color: #e3bd6f;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.18s, border-color 0.18s;
	flex-shrink: 0;
}
.jp-cg__combo-add-btn:hover {
	background: rgba(196,154,80,0.3);
	border-color: #c49a50;
}

.jp-cg__combo-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 10px;
	border-top: 1px solid rgba(196,154,80,0.15);
}
.jp-cg__combo-sum {
	display: flex;
	flex-direction: column;
	gap: 1px;
}
.jp-cg__combo-sum-label {
	font-size: 10px;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.jp-cg__combo-sum-value {
	font-size: 1rem;
	font-weight: 800;
	color: #fff;
}
.jp-cg__combo-ok {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 700;
	color: #7ec87e;
}
.jp-cg__combo-low {
	font-size: 11px;
	color: #e07070;
}

/* ── CÓMO FUNCIONA ── */
.jp-cg__how {
	margin-bottom: 72px;
}

.jp-cg__steps {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 640px;
}
.jp-cg__step {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}
.jp-cg__step-icon {
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	background: rgba(196,154,80,0.12);
	border: 1px solid rgba(196,154,80,0.3);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #e3bd6f;
}
.jp-cg__how-cta {
	text-align: center;
	margin-top: 36px;
}

/* ── CIERRE EMOCIONAL ── */
.jp-cg__closing {
	text-align: center;
	background: linear-gradient(135deg, rgba(196,154,80,0.08) 0%, rgba(196,154,80,0.03) 100%);
	border: 1px solid rgba(196,154,80,0.25);
	border-radius: 20px;
	padding: 56px 32px;
	margin-bottom: 56px;
}
.jp-cg__closing-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(1.7rem, 3.5vw, 2.6rem);
	font-weight: 600;
	color: #fff !important;
	margin: 0 0 18px;
	letter-spacing: -0.01em;
	line-height: 1.15;
}
/* .jp-cg__closing-body movido a línea ~5792 para agrupar con los !important */
.jp-cg__closing-sig {
	font-size: 0.95rem;
	color: #e3bd6f;
	margin: 0 0 32px;
	line-height: 1.6;
}
.jp-cg__closing-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	align-items: center;
}
.jp-cg__closing-actions .jp-cg__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 32px;
	font-size: 15px;
	font-weight: 700;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s, transform 0.15s, color 0.2s, border-color 0.2s;
	border: 1px solid transparent;
}
.jp-cg__closing-actions .jp-cg__cta:hover {
	transform: translateY(-2px);
}
.jp-cg__cta--big {
	background: linear-gradient(135deg, #c49a50 0%, #a8803e 100%) !important;
	color: #0f0f10 !important;
	border: 1px solid #c49a50 !important;
	box-shadow: 0 6px 24px rgba(196,154,80,0.25);
}
.jp-cg__cta--big:hover {
	background: linear-gradient(135deg, #d6b06b 0%, #c49a50 100%) !important;
	color: #0f0f10 !important;
}
.jp-cg__open-cart {
	background: transparent !important;
	color: #e3bd6f !important;
	border-color: rgba(196,154,80,0.5) !important;
}
.jp-cg__open-cart:hover {
	background: rgba(196,154,80,0.12) !important;
	color: #fff !important;
	border-color: #c49a50 !important;
}

/* ── BLOQUE 5b — Combos Express ── */
.jp-cg__express {
	margin-bottom: 64px;
	padding: 0 4px;
}
.jp-cg__express .jp-cg__section-title {
	font-size: clamp(1.4rem, 2.8vw, 2.1rem) !important;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
.jp-cg__express .jp-cg__section-sub {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.jp-cg__combo-action {
	margin-top: 6px;
	padding-top: 14px;
	border-top: 1px dashed rgba(196,154,80,0.18);
}
.jp-cg__cta--addall {
	width: 100%;
	justify-content: center;
	background: linear-gradient(135deg, #c49a50 0%, #a8803e 100%) !important;
	color: #0f0f10 !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	letter-spacing: 0.4px;
	padding: 14px 18px !important;
	border: 1px solid #c49a50 !important;
	border-radius: 10px !important;
	cursor: pointer;
	box-shadow: 0 4px 18px rgba(196,154,80,0.18);
	transition: transform 0.18s, box-shadow 0.18s, background 0.18s;
}
.jp-cg__cta--addall:hover {
	transform: translateY(-2px);
	background: linear-gradient(135deg, #d6b06b 0%, #c49a50 100%) !important;
	box-shadow: 0 8px 26px rgba(196,154,80,0.32);
}
.jp-cg__cta--addall:active {
	transform: translateY(0);
}
.jp-cg__cta--addall.is-loading {
	opacity: 0.7;
	pointer-events: none;
}
.jp-cg__cta--addall.is-added {
	background: linear-gradient(135deg, #2d8a4e 0%, #1f6b39 100%) !important;
	color: #fff !important;
	border-color: #2d8a4e !important;
}
.jp-cg__cta--addall svg {
	flex-shrink: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
	.jp-cg__obs-grid,
	.jp-cg__combos-grid {
		grid-template-columns: 1fr;
	}
	.jp-cg__obs-img { height: 220px; }
	.jp-cg__hero { padding-bottom: 40px; }
	.jp-cg__combos-section { margin-bottom: 48px; }
	.jp-cg__closing { padding: 36px 20px; }
	.jp-cg__how { margin-bottom: 48px; }
	.jp-cg__steps { gap: 18px; }
	.jp-cg__step-icon { width: 44px; height: 44px; }
}

@media (max-width: 480px) {
	.jp-cg__hero-title { font-size: 1.9rem; }
	.jp-cg__section-title { font-size: 1.5rem; }
	.jp-cg__closing-title { font-size: 1.5rem; }
	.jp-cg__hero-actions { flex-direction: column; align-items: center; }
	.jp-cg__cta--ghost { text-align: center; justify-content: center; }
}

@media (max-width: 480px) {
	.jp-cg__title {
		font-size: 1.8rem;
	}

	.jp-cg__cta {
		padding: 13px 22px;
		font-size: 12px;
	}
}
