/* Pepfine Core: estilos de los bloques del plugin (usan las variables y botones del tema Pepfine). */
.pfc-admin-note { margin: 12px 0; padding: 12px 14px; border: 2px dashed #b4573f; border-radius: 12px; background: #fff7f2; color: #6d2b18; font-size: 16px; }

/* barra de envío gratis */
.pfc-bar { margin: 0 0 18px; padding: 16px 18px; border-radius: 16px; background: #eef3f8; color: #14212c; }
.pfc-bar[hidden] { display: none; }
.pfc-bar__t { margin: 0 0 10px; font-size: 18px; line-height: 1.4; }
.pfc-bar__track { height: 10px; border-radius: 99px; background: #fff; overflow: hidden; }
.pfc-bar__track i { display: block; height: 100%; border-radius: 99px; background: #3a6b94; transition: width .4s ease; }
.pfc-bar.is-done .pfc-bar__track i { background: #1f6f43; }
@media (prefers-reduced-motion: reduce) { .pfc-bar__track i { transition: none; } }

/* boletín */
.pfc-nl { display: grid; gap: 10px; }
.pfc-nl__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pfc-nl .lp-nl__row { display: flex; gap: 10px; }
.pfc-nl input[type=email] { flex: 1; min-width: 0; min-height: 56px; padding: 0 18px; font: inherit; font-size: 18px; border: 1.5px solid #9a9993; border-radius: 999px; background: #fff; color: #1d1d1b; }
.pfc-nl input[aria-invalid="true"] { border-color: #a1442f; }
.pfc-nl .lp-btn { min-height: 56px; }
.pfc-nl .lp-nl__msg { margin: 0; font-size: 17px; min-height: 1.4em; }
.pfc-nl .lp-nl__msg.ok { color: #1f5a2a; font-weight: 600; }
.pfc-nl .lp-nl__msg.err { color: #a1442f; font-weight: 600; }
@media (max-width: 760px) { .pfc-nl .lp-nl__row { flex-direction: column; } }

/* recomendados del carrito */
.pfc-rec { margin-top: 40px; }
.pfc-up { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 18px; padding: 18px 20px; border-radius: 18px; background: #14212c; color: #fff; }
.pfc-up p { margin: 0; font-size: 18px; max-width: 52ch; }
.pfc-up .lp-btn { background: #c9dbea; color: #14212c; border-color: #c9dbea; min-height: 52px; }
.pfc-rec__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pfc-rec__card { display: flex; flex-direction: column; gap: 6px; padding: 0 0 14px; border: 1px solid #e2e1dc; border-radius: 18px; background: #fff; overflow: hidden; }
.pfc-rec__img img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: #f1f0ec; }
.pfc-rec__name { margin: 4px 14px 0; font-size: 18px; font-weight: 600; line-height: 1.3; color: #1d1d1b; text-decoration: none; }
.pfc-rec__price { margin: 0 14px; font-size: 17px; font-weight: 600; }
.pfc-rec__btn { margin: auto 14px 0; display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 999px; border: 1.5px solid #1d1d1b; color: #1d1d1b; font-weight: 600; font-size: 17px; text-decoration: none; }
.pfc-rec__btn:hover { background: #1d1d1b; color: #fff; }
@media (max-width: 900px) { .pfc-rec__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* protección de envío */
.pfc-protect { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0; padding: 16px 18px; border: 1.5px solid #d6e2ec; border-radius: 16px; background: #fff; }
.pfc-protect p { margin: 0; font-size: 17px; max-width: 56ch; }
.pfc-protect .pfc-protect__h { font-size: 19px; font-weight: 600; }
.pfc-protect__h span { color: #3a6b94; }
.pfc-protect.is-on { border-color: #1f6f43; background: #f2f8f4; }
.pfc-protect .lp-btn { min-height: 52px; }

/* agendar llamada */
.pfc-bk { display: grid; gap: 18px; font-size: 18px; }
.pfc-bk h2 { margin: 0; }
.pfc-bk__set { margin: 0; padding: 0; border: 0; display: grid; gap: 10px; }
.pfc-bk__set legend { margin-bottom: 8px; font-size: 19px; font-weight: 600; }
.pfc-bk__set legend small { font-weight: 500; color: #4a5d6d; font-size: 16px; }
.pfc-bk__day { margin: 6px 0 0; font-weight: 600; font-size: 17px; }
.pfc-bk__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.pfc-bk__opt { position: relative; display: inline-flex; }
.pfc-bk__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pfc-bk__opt span { display: inline-flex; align-items: center; min-height: 52px; padding: 0 18px; border: 1.5px solid #c8d3dc; border-radius: 14px; background: #fff; font-size: 17px; font-weight: 600; cursor: pointer; }
.pfc-bk__opt input:checked + span { background: #14212c; border-color: #14212c; color: #fff; }
.pfc-bk__opt input:focus-visible + span { outline: 3px solid #3a6b94; outline-offset: 3px; }
.pfc-bk__field { display: grid; gap: 6px; margin: 0; }
.pfc-bk__field label { font-weight: 600; }
.pfc-bk__field input, .pfc-bk__field textarea { width: 100%; min-height: 56px; padding: 12px 16px; font: inherit; font-size: 18px; border: 1.5px solid #9fb4c6; border-radius: 14px; background: #fff; }
.pfc-bk .bk-btn { min-height: 58px; font-size: 19px; border: 0; cursor: pointer; }
.pfc-bk .bk-btn[disabled] { opacity: .5; cursor: not-allowed; }
.pfc-bk__err { margin: 0; padding: 12px 14px; border-radius: 12px; background: #fdecea; color: #8a2a17; font-weight: 600; }
.pfc-bk__fine { margin: 0; font-size: 15px; color: #4a5d6d; }
.pfc-bk__cal { max-width: 420px; padding: 16px; border: 1.5px solid #dfe5ea; border-radius: 18px; background: #fff; }
.pfc-bk__calhead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; font-size: 18px; }
.pfc-bk__nav { width: 40px; height: 40px; border: 1.5px solid #c8d3dc; border-radius: 50%; background: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.pfc-bk__nav[disabled] { opacity: .3; cursor: default; }
.pfc-bk__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; text-align: center; }
.pfc-bk__wd { font-size: 13px; font-weight: 600; color: #6b7a87; text-transform: capitalize; padding-bottom: 4px; }
.pfc-bk__date { aspect-ratio: 1; min-height: 40px; border: 0; border-radius: 50%; background: transparent; color: #b3bcc4; font: inherit; font-size: 16px; }
.pfc-bk__date.is-open { background: #eaf1f7; color: #14212c; font-weight: 700; cursor: pointer; }
.pfc-bk__date.is-open:hover { background: #d5e3ef; }
.pfc-bk__date.is-on { background: #14212c; color: #fff; }
.pfc-bk__date.is-today { box-shadow: inset 0 0 0 1.5px #9fb4c6; }
.pfc-bk__date:focus-visible { outline: 3px solid #3a6b94; outline-offset: 2px; }
.pfc-bk__pick { margin: 0; color: #4a5d6d; font-size: 16px; }
.pfc-bk__dayset[hidden], .pfc-bk__cal[hidden], .pfc-bk__pick[hidden], .pfc-bk__need[hidden] { display: none; }

/* boletín: oferta y código */
.pfc-nl__offer { margin: 0; font-size: 18px; }
.pfc-nl__code { margin: 0; padding: 14px 16px; border-radius: 14px; background: #eef3f8; font-size: 18px; display: grid; gap: 4px; }
.pfc-nl__code b { font-size: 22px; letter-spacing: .04em; user-select: all; }
.pfc-nl__code small { font-size: 15px; color: #4a5d6d; }

/* puntos en el carrito y saldo */
.pfc-pts { margin: 18px 0; padding: 16px 18px; border-radius: 16px; background: linear-gradient(150deg, #fbf3dc 0%, #f3e3b4 100%); color: #1d1d1b; display: grid; gap: 10px; justify-items: start; }
.pfc-pts p { margin: 0; font-size: 18px; }
.pfc-pts .lp-btn { min-height: 52px; }
.pfc-pbal { display: grid; gap: 8px; justify-items: start; }
.pfc-pbal p { margin: 0; font-size: 18px; }
.pfc-pbal__k { font-size: 15px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #5a5040; }
.pfc-pbal__n { font-size: 44px !important; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.pfc-pbal__n span { font-size: 20px; font-weight: 500; }

/* socios */
.pfc-af { display: grid; gap: 14px; }
.pfc-af .two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pfc-af select { width: 100%; min-height: 56px; padding: 0 14px; font: inherit; font-size: 18px; border: 1.5px solid #9fb4c6; border-radius: 14px; background: #fff; }
.pfc-af .af-agree { display: flex; gap: 10px; align-items: flex-start; font-size: 17px; }
.pfc-af .af-agree input { width: 24px; height: 24px; flex: none; margin-top: 2px; }
.pfc-af .af-submit { min-height: 58px; font-size: 19px; border: 0; cursor: pointer; }
.pfc-af--ok h2 em, .pfc-af h2 em { font-family: var(--wp--preset--font-family--serif); font-weight: 400; }
@media (max-width: 640px) { .pfc-af .two { grid-template-columns: 1fr; } }

/* mi cuenta */
.pfc-acc { display: grid; gap: 12px; font-size: 18px; }
.pfc-acc p { margin: 0; }
.pfc-acc__big { font-size: 48px !important; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.pfc-acc__big span { font-size: 20px; font-weight: 500; }
.pfc-acc__rule { font-size: 16px; color: #4a5d6d; }
.pfc-acc__link input { width: 100%; min-height: 52px; padding: 0 14px; font-size: 17px; border: 1.5px solid #9fb4c6; border-radius: 12px; background: #fff; }
.pfc-acc__kpis { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.pfc-acc__kpis li { padding: 12px 14px; border-radius: 14px; background: #eef3f8; font-size: 15px; display: grid; }
.pfc-acc__kpis b { font-size: 22px; }

/* carrito lateral (Mini-Cart) */
/* carrito lateral, como el cajón de Shopify (drawer.js + parts/mini-cart.html del tema) */
.wc-block-mini-cart__drawer .components-modal__content, .wc-block-mini-cart__drawer .wc-block-mini-cart__template-part { color: #111; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { display: flex; align-items: center; gap: 10px; margin: 18px 64px 6px 20px; font-size: 28px; font-weight: 700; letter-spacing: -.01em; mask-image: none; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-items-counter-block { display: none; }
.pfc-count { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 99px; background: #e8e8e8; color: #333; font-size: 15px; font-weight: 600; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { top: 14px; right: 16px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #e3e3e3; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgb(0 0 0 / .06); opacity: 1; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding: 8px 20px 0; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { padding: 14px 0; border: 0; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { width: 72px; height: 72px; object-fit: cover; border-radius: 6px; background: #f2f4f6; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-size: 16px; font-weight: 500; color: #111; text-decoration: none; line-height: 1.35; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata, .wc-block-mini-cart__drawer .wc-block-components-product-details { font-size: 15px; color: #6b6b6b; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices { font-size: 15px; color: #6b6b6b; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total { font-size: 16px; font-weight: 500; }
.wc-block-mini-cart__drawer .wc-block-components-product-badge { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-item__quantity { display: flex; align-items: center; gap: 14px; margin-top: 10px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { width: 118px; height: 42px; border: 1px solid #d6d6d6; border-radius: 4px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector::after { display: none; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button { min-width: 38px; font-size: 20px; color: #333; opacity: 1; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input { font-size: 16px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link { width: 36px; height: 36px; font-size: 0 !important; background: currentColor; color: #111; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3'/%3E%3C/svg%3E") center / 22px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3'/%3E%3C/svg%3E") center / 22px no-repeat; text-decoration: none; }
.pfc-dr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 8px 20px 16px; font-size: 15px; }
.pfc-dr p { margin: 0; }
.pfc-dr .pfc-bar { margin: 0; padding: 12px 14px; }
.pfc-dr .pfc-bar__t { font-size: 15px; margin-bottom: 8px; }
.pfc-dr__h { font-weight: 700; font-size: 17px; color: #14212c; }
.pfc-dr__rech { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pfc-dr__arrows { display: flex; gap: 2px; }
.pfc-dr__arrows button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: #333; font-size: 24px; line-height: 1; cursor: pointer; }
.pfc-dr__arrows button:hover { background: #f1f1f1; }
.pfc-dr__rec ul { list-style: none; margin: 10px 0 0; padding: 0 0 4px; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pfc-dr__rec ul::-webkit-scrollbar { display: none; }
.pfc-dr__card { flex: 0 0 min(300px, 82%); scroll-snap-align: start; display: flex; gap: 10px; align-items: flex-start; padding: 10px; border: 1px solid #e3e3e3; border-radius: 10px; background: #fff; }
.pfc-dr__card.is-offer { border: 1px dashed #9fb4c6; background: #f1f6fb; }
.pfc-dr__img { flex: none; }
.pfc-dr__img img { display: block; width: 56px; height: 56px; object-fit: cover; border-radius: 8px; background: #f2f4f6; }
.pfc-dr__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pfc-dr__name { font-size: 14.5px; font-weight: 700; line-height: 1.25; color: #111; text-decoration: none; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pfc-dr__info small { font-size: 13px; line-height: 1.3; color: #5b5b5b; }
.pfc-dr__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.pfc-dr__price { font-size: 14.5px; font-weight: 700; }
.pfc-dr__add { flex: none; min-height: 32px; padding: 0 12px; border: 1.5px solid #111; border-radius: 99px; background: #fff; color: #111; font-weight: 600; font-size: 13.5px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfc-dr__add:hover { background: #111; color: #fff; }
.pfc-dr__add:disabled { opacity: .5; cursor: progress; }
.pfc-dr__cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.pfc-dr__cats a { display: flex; align-items: center; justify-content: center; min-height: 60px; padding: 8px 10px; border-radius: 14px; background: #eef3f8; color: #14212c; text-decoration: none; font-weight: 600; font-size: 16px; text-align: center; }
.pfc-dr--empty { margin: 18px 20px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { padding: 0 20px 18px; border-top: 1px solid #e6e6e6; box-shadow: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal { display: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions { display: block; margin-top: 14px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: center; border: 0; border-radius: 12px; background: #000; color: #fff; font-size: 17px; font-weight: 600; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover { background: #222; color: #fff; }
.pfc-df p { margin: 0; }
.pfc-df__disc { border-bottom: 1px solid #e6e6e6; }
.pfc-df__disc summary { display: flex; align-items: center; justify-content: space-between; min-height: 50px; font-size: 15px; cursor: pointer; list-style: none; }
.pfc-df__disc summary::-webkit-details-marker { display: none; }
.pfc-df__disc summary i { position: relative; width: 14px; height: 14px; }
.pfc-df__disc summary i::before, .pfc-df__disc summary i::after { content: ''; position: absolute; left: 0; top: 6px; width: 14px; height: 2px; background: #111; }
.pfc-df__disc summary i::after { transform: rotate(90deg); transition: transform .2s; }
.pfc-df__disc[open] summary i::after { transform: none; }
.pfc-df__form { display: flex; gap: 8px; padding-bottom: 12px; }
.pfc-df__form input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #cfcfcf; border-radius: 8px; font: inherit; font-size: 15px; }
.pfc-df__form button { padding: 0 16px; border: 0; border-radius: 8px; background: #111; color: #fff; font-weight: 600; cursor: pointer; }
.pfc-df__chip { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 12px !important; padding: 4px 6px 4px 10px; border-radius: 6px; background: #eef1f4; font-size: 13.5px; font-weight: 600; }
.pfc-df__chip button { width: 24px; height: 24px; border: 0; background: none; font-size: 18px; cursor: pointer; }
.pfc-df__prot { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 14px 16px; border: 1px solid #dfe5ea; border-radius: 12px; background: #f3f6f8; }
.pfc-df__shield { flex: none; width: 38px; height: 38px; display: grid; place-items: center; border: 1.5px solid #111; border-radius: 50%; }
.pfc-df__shield svg { width: 20px; height: 20px; fill: none; stroke: #111; stroke-width: 1.8; stroke-linejoin: round; }
.pfc-df__prot > div { flex: 1; min-width: 0; font-size: 14.5px; line-height: 1.4; color: #333; }
.pfc-df__prot b { font-size: 16px; color: #111; }
.pfc-df__prot b + span { margin-left: 4px; color: #5b5b5b; }
.pfc-df__sw { flex: none; position: relative; width: 50px; height: 28px; border: 0; border-radius: 99px; background: #c8ced3; cursor: pointer; transition: background .2s; }
.pfc-df__sw i { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: transform .2s; }
.pfc-df__sw[aria-checked="true"] { background: #111; }
.pfc-df__sw[aria-checked="true"] i { transform: translateX(22px); }
.pfc-df__sw[aria-checked="true"] i::after { content: '✓'; position: absolute; inset: 0; display: grid; place-items: center; color: #111; font-size: 13px; font-weight: 700; }
.pfc-df__sw:focus-visible, .pfc-dr__add:focus-visible, .pfc-dr__arrows button:focus-visible, .pfc-df__disc summary:focus-visible { outline: 3px solid #3a6b94; outline-offset: 2px; }
.pfc-df__msg { margin-top: 8px !important; font-size: 14px; color: #a1442f; font-weight: 600; }
.pfc-df__msg:empty { display: none; }
.pfc-df__total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 16px !important; font-size: 17px; }
.pfc-df__total b { font-size: 18px; }
.pfc-dt { margin: 14px 0 0; text-align: center; font-size: 14.5px; color: #333; }
.pfc-dt span { margin-right: 6px; color: #e3a008; letter-spacing: 1px; }
.pf-mc-empty { margin: 32px 20px 12px; font-size: 18px; }
@media (prefers-reduced-motion: reduce) { .pfc-df__sw, .pfc-df__sw i, .pfc-df__disc summary i::after { transition: none; } }

/* selector país, idioma y moneda (menú) */
.pfl { position: relative; }
.pfl > summary { list-style: none; }
.pfl > summary::-webkit-details-marker { display: none; }
.pfl__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px 0 8px; border: 1.5px solid #d9d8d2; border-radius: 999px; background: #fff; color: #1d1d1b; font-size: 15px; font-weight: 600; letter-spacing: .02em; cursor: pointer; white-space: nowrap; }
.pfl__btn:hover, .pfl[open] .pfl__btn { border-color: #1d1d1b; }
.pfl__btn:focus-visible, .pfl__dd:focus-visible, .pfl__opt:focus-visible, .pfl__sel:focus-visible, .pfl__acts button:focus-visible { outline: 3px solid #3a6b94; outline-offset: 2px; }
.pfl__btn i { font-style: normal; color: #8a8983; }
.pfl-flag { display: block; flex: none; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
.pfl .pfl__chev { width: 16px !important; height: 16px !important; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.pfl[open] .pfl__btn .pfl__chev { transform: rotate(180deg); }
.pfl__menu { position: absolute; z-index: 1000; top: calc(100% + 10px); right: 0; width: min(380px, calc(100vw - 32px)); padding: 22px; border: 1px solid #e2e1dc; border-radius: 20px; background: #fff; color: #1d1d1b; box-shadow: 0 18px 50px rgba(20, 33, 44, .18); text-align: left; }
.pfl__title { margin: 0 0 16px; font-size: 20px; font-weight: 700; }
.pfl__form { display: grid; gap: 16px; margin: 0; }
.pfl__field { position: relative; display: grid; gap: 6px; }
.pfl__l { margin: 0; font-size: 15px; font-weight: 600; color: #4a4a46; }
.pfl__dd, .pfl__sel { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 0 14px; border: 1.5px solid #9a9993; border-radius: 14px; background: #fff; color: #1d1d1b; font: inherit; font-size: 17px; text-align: left; cursor: pointer; }
.pfl__dd span:nth-child(2) { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pfl__sel { appearance: auto; }
.pfl__sel:disabled { opacity: 1; background: #f6f5f1; cursor: default; }
.pfl__pop { position: absolute; z-index: 2; top: calc(100% + 6px); left: 0; right: 0; padding: 10px; border: 1px solid #e2e1dc; border-radius: 16px; background: #fff; box-shadow: 0 14px 40px rgba(20, 33, 44, .18); }
.pfl__pop[hidden] { display: none; }
.pfl__search { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 12px; border: 1.5px solid #d9d8d2; border-radius: 12px; }
.pfl__search svg { width: 20px !important; height: 20px !important; fill: none; stroke: #4a4a46; stroke-width: 2; stroke-linecap: round; }
.pfl__search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 17px; color: #1d1d1b; }
.pfl__list { max-height: 300px; margin-top: 8px; overflow-y: auto; overscroll-behavior: contain; }
.pfl__opt { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 6px 10px; border: 0; border-radius: 10px; background: transparent; color: #1d1d1b; font: inherit; font-size: 17px; text-align: left; cursor: pointer; }
.pfl__opt[hidden] { display: none; }
.pfl__opt:hover, .pfl__opt:focus-visible { background: #eef3f8; }
.pfl__opt span { flex: 1; }
.pfl__opt svg { width: 20px !important; height: 20px !important; fill: none; stroke: #1f6f43; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; visibility: hidden; }
.pfl__opt[aria-selected="true"] { font-weight: 700; }
.pfl__opt[aria-selected="true"] svg { visibility: visible; }
.pfl__tag { margin-left: 6px; padding: 2px 8px; border-radius: 99px; background: #eef3f8; color: #2c5577; font-size: 13px; font-style: normal; font-weight: 600; }
.pfl__none { margin: 8px 10px; font-size: 16px; color: #4a4a46; }
.pfl__note { margin: 0; font-size: 14px; color: #5c5b56; }
.pfl__acts { display: flex; gap: 10px; justify-content: flex-end; }
.pfl__acts button { min-height: 52px; padding: 0 22px; border-radius: 999px; font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; }
.pfl__cancel { border: 1.5px solid #1d1d1b; background: #fff; color: #1d1d1b; }
.pfl__save { border: 1.5px solid #1d1d1b; background: #1d1d1b; color: #fff; }
@media (max-width: 760px) {
	.pfl__btn { padding: 0 8px; gap: 4px; }
	.pfl__btn > span, .pfl__btn > i, .pfl__btn .pfl__chev { display: none; }
	.pfl__menu { position: fixed; top: auto; right: 0; bottom: 0; left: 0; width: auto; max-height: 88vh; overflow-y: auto; border-radius: 22px 22px 0 0; padding: 22px 16px calc(22px + env(safe-area-inset-bottom)); }
	.pfl__acts button { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .pfl .pfl__chev { transition: none; } }
/* Abierto: el encabezado (sticky, z-index 50) sube por encima del aviso de cookies, los modales y las barras fijas; si no, tapan el menú y «Guardar». */
html.pfl-open header.wp-block-template-part, html.pfl-open .pf-header, header.wp-block-template-part:has(details.pfl[open]) { z-index: 2147483600 !important; }
html.pfl-open .pfl__menu { z-index: 2147483600; }
.wc-block-mini-cart__drawer .components-modal__content { font-family: var(--wp--preset--font-family--sans, system-ui, sans-serif); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-family: inherit; }
.pfc-dr *, .pfc-df * { box-sizing: border-box; }
.wc-block-mini-cart__drawer .wc-block-components-product-details { list-style: none; margin: 2px 0 4px; padding: 0; }
.wc-block-mini-cart__drawer .wc-block-components-product-details li { margin: 0; }
.wc-block-mini-cart__drawer .wc-block-components-product-details__name { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices ins, .wc-block-mini-cart__drawer .wc-block-components-product-price__value { text-decoration: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout, .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover { text-decoration: none; }

/* cookies y privacidad (consent.php + consent.js) */
.pfk-banner { position: fixed; z-index: 99990; left: 16px; right: 16px; bottom: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; max-width: 980px; margin: 0 auto; padding: 16px 18px; border: 1px solid #dfe5ea; border-radius: 16px; background: #fff; color: #14212c; box-shadow: 0 18px 50px rgb(20 33 44 / .18); font-family: var(--wp--preset--font-family--sans, system-ui, sans-serif); font-size: 15.5px; line-height: 1.45; }
.pfk-banner[hidden], .pfk-modal[hidden] { display: none; }
.pfk-banner p { flex: 1 1 360px; margin: 0; }
.pfk-banner a, .pfk-dialog a, .pfk-page a { color: inherit; text-decoration: underline; }
.pfk-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pfk-btn { min-height: 46px; padding: 0 18px; border: 1.5px solid #14212c; border-radius: 999px; background: #fff; color: #14212c; font: 600 15px/1 var(--wp--preset--font-family--sans, system-ui, sans-serif); cursor: pointer; }
.pfk-btn:hover { background: #eef3f8; }
.pfk-btn--main { background: #14212c; color: #fff; }
.pfk-btn--main:hover { background: #000; }
.pfk-btn:focus-visible, .pfk-sw:focus-visible, .pfk-x:focus-visible { outline: 3px solid #3a6b94; outline-offset: 2px; }
.pfk-modal { position: fixed; z-index: 99995; inset: 0; display: grid; place-items: center; padding: 16px; background: rgb(20 33 44 / .5); }
.pfk-dialog { position: relative; width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; padding: 26px 22px 22px; border-radius: 18px; background: #fff; color: #14212c; font-family: var(--wp--preset--font-family--sans, system-ui, sans-serif); font-size: 15.5px; line-height: 1.45; }
.pfk-dialog:focus { outline: 0; }
.pfk-dialog h2 { margin: 0 0 6px; font-size: 22px; }
.pfk-dialog > p { margin: 0 0 14px; color: #3d4b57; }
.pfk-x { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f1f3f5; font-size: 22px; cursor: pointer; }
.pfk-cats { display: grid; gap: 10px; margin: 0 0 16px; }
.pfk-cat { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border: 1px solid #dfe5ea; border-radius: 14px; background: #f7f9fb; }
.pfk-cat p { margin: 0; font-size: 14px; color: #3d4b57; }
.pfk-cat .pfk-cat__t { margin-bottom: 2px; font-size: 16px; font-weight: 700; color: #14212c; }
.pfk-always { flex: none; font-size: 13px; font-weight: 600; color: #1f6f43; }
.pfk-sw { flex: none; position: relative; width: 50px; height: 28px; border: 0; border-radius: 99px; background: #c8ced3; cursor: pointer; transition: background .2s; }
.pfk-sw i { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: transform .2s; }
.pfk-sw[aria-checked="true"] { background: #14212c; }
.pfk-sw[aria-checked="true"] i { transform: translateX(22px); }
.pfk-sw:disabled { opacity: .5; cursor: not-allowed; }
.pfk-gpc { margin: 0; padding: 10px 12px; border-radius: 10px; background: #eef3f8; font-size: 14px; }
.pfk-page { margin: 28px 0; }
.pfk-page h2 { margin: 0 0 6px; }
.pfk-status { margin: 0 0 14px; font-weight: 600; }
.pfk-saved { margin: 10px 0 0; color: #1f6f43; font-weight: 600; min-height: 1.4em; }
.pfk-table { overflow-x: auto; margin: 10px 0 14px; }
.pfk-table table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pfk-table th, .pfk-table td { padding: 10px; border-bottom: 1px solid #e2e6ea; text-align: left; vertical-align: top; }
.pfk-table code { font-size: 13px; word-break: break-word; }
.pfk-note { font-size: 15px; color: #3d4b57; }
@media (max-width: 600px) { .pfk-banner { left: 8px; right: 8px; bottom: 8px; } .pfk-banner .pfk-actions, .pfk-dialog .pfk-actions { width: 100%; } .pfk-actions .pfk-btn { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { .pfk-sw, .pfk-sw i { transition: none; } }

/* socios: panel en Mi cuenta y bienvenida en /partners/ */
.pfp { display: grid; gap: 18px; color: #14212c; font-size: 16px; }
.pfp h2, .pfp h3 { margin: 0; color: #14212c; letter-spacing: -0.02em; }
.pfp h2 { font-size: clamp(26px, 3.4vw, 34px); font-weight: 600; }
.pfp h3 { font-size: 19px; font-weight: 650; margin-bottom: 12px; }
.pfp p { margin: 0; }
.pfp-k { font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #3a6b94; margin-bottom: 6px !important; }
.pfp-meta { margin-top: 8px !important; color: #4a5d6d; font-size: 15px; }
.pfp-pill { display: inline-block; margin-right: 8px; padding: 3px 10px; border-radius: 99px; background: #e5f2ea; color: #1f6f43; font-size: 13px; font-weight: 700; }
.pfp-card { padding: 20px 22px; border: 1px solid #e3e8ed; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px -24px rgb(20 33 44 / .35); }
.pfp-share-card { background: linear-gradient(135deg, #f4f8fb, #fff 60%); }
.pfp-copies { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 12px; }
.pfp-copy label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: #4a5d6d; }
.pfp-copy > div { display: flex; border: 1.5px solid #cfdbe5; border-radius: 12px; background: #fff; overflow: hidden; }
.pfp-copy input { flex: 1; min-width: 0; height: 48px; padding: 0 12px; border: 0; background: transparent; font: inherit; font-size: 15px; color: #14212c; }
.pfp-copy--big input { font-size: 19px; font-weight: 700; letter-spacing: .08em; }
.pfp-copy button { flex: none; padding: 0 16px; border: 0; border-left: 1.5px solid #cfdbe5; background: #14212c; color: #fff; font-weight: 600; font-size: 14px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfp-copy button.is-done { background: #1f6f43; }
.pfp-copy button:focus-visible, .pfp-share a:focus-visible, .pfp-btn:focus-visible { outline: 3px solid #3a6b94; outline-offset: 2px; }
.pfp-note { margin-top: 12px !important; font-size: 15px; color: #3d4b57; }
.pfp-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; font-size: 14px; color: #4a5d6d; }
.pfp-share a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border: 1.5px solid #cfdbe5; border-radius: 99px; color: #14212c; font-weight: 600; text-decoration: none; }
.pfp-share a:hover { border-color: #14212c; }
.pfp-kpis { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pfp-kpis li { display: grid; gap: 4px; padding: 16px 18px; border: 1px solid #e3e8ed; border-radius: 16px; background: #fff; }
.pfp-kpis span { font-size: 13px; font-weight: 600; color: #4a5d6d; }
.pfp-kpis b { font-size: 24px; letter-spacing: -0.02em; }
.pfp-kpis small { font-size: 13px; color: #6b7a87; }
.pfp-kpis .is-hl { border-color: #14212c; background: #14212c; color: #fff; }
.pfp-kpis .is-hl span, .pfp-kpis .is-hl small { color: #c9dbea; }
.pfp-table { overflow-x: auto; }
.pfp-table table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pfp-table th { padding: 10px 12px; border-bottom: 1px solid #e3e8ed; text-align: left; font-size: 13px; font-weight: 600; color: #4a5d6d; }
.pfp-table td { padding: 12px; border-bottom: 1px solid #eef2f5; }
.pfp-st { display: inline-block; padding: 3px 10px; border-radius: 99px; font-size: 13px; font-weight: 600; }
.pfp-st.is-wait { background: #fdf3dc; color: #8a5a00; }
.pfp-st.is-due { background: #e6eef6; color: #24425c; }
.pfp-st.is-ok { background: #e5f2ea; color: #1f6f43; }
.pfp-st.is-no { background: #f6e8e4; color: #a1442f; }
.pfp-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pfp-steps, .pfp-list { margin: 0 0 14px; padding-left: 20px; display: grid; gap: 8px; font-size: 15px; color: #3d4b57; }
.pfp-steps b { color: #14212c; }
.pfp-pay label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: #4a5d6d; }
.pfp-pay > div { display: flex; gap: 8px; }
.pfp-pay input { flex: 1; min-width: 0; height: 46px; padding: 0 12px; border: 1.5px solid #cfdbe5; border-radius: 10px; font: inherit; font-size: 15px; }
.pfp-pay button, .pfp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border: 0; border-radius: 99px; background: #14212c; color: #fff; font-weight: 600; font-size: 15px; line-height: 1; font-family: inherit; text-decoration: none; cursor: pointer; }
.pfp-ok { margin-top: 8px !important; color: #1f6f43; font-weight: 600; font-size: 14px; }
.pfp-muted { color: #6b7a87; font-size: 15px; }
.pfp-empty { display: grid; gap: 10px; justify-items: start; padding: 28px; }
.pfp-welcome { display: grid; gap: 14px; }
.pfp-welcome h2 { margin: 0; }
.pfp-welcome .pfp-copy { width: 100%; }
.pfp-where { display: grid; gap: 12px; justify-items: start; margin-top: 6px; padding: 16px 18px; border-radius: 14px; background: #f4f8fb; }
@media (max-width: 760px) {
	.pfp-copies, .pfp-cols { grid-template-columns: minmax(0, 1fr); }
	.pfp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pfp-card { padding: 16px; }
	.pfp-table thead { display: none; }
	.pfp-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; padding: 10px 0; border-bottom: 1px solid #eef2f5; }
	.pfp-table td { padding: 2px 0; border: 0; }
	.pfp-table td::before { content: attr(data-title); display: block; font-size: 12px; color: #6b7a87; }
}

/* Mi Protocolo */
.pfp-alert { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 15px; font-weight: 600; }
.pfp-alert.is-ok { background: #e5f2ea; color: #1f5a2a; }
.pfp-alert.is-err { background: #f6e8e4; color: #8a3524; }
.pfpr { display: grid; gap: 14px; }
.pfpr-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pfpr-top h3 { margin: 0; }
.pfpr-days { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.pfpr-days li { display: grid; gap: 4px; align-content: start; padding: 14px 12px; border: 1px solid #e3e8ed; border-radius: 14px; background: #fff; text-align: center; }
.pfpr-d { font-size: 18px; font-weight: 700; }
.pfpr-date { font-size: 13.5px; color: #4a5d6d; }
.pfpr-st { margin-top: 6px; font-size: 13.5px; font-weight: 600; color: #6b7a87; }
.pfpr-days .is-ok { border-color: #bfe0cb; background: #f2f9f4; }
.pfpr-days .is-ok .pfpr-st { color: #1f6f43; }
.pfpr-days .is-due { border-color: #14212c; box-shadow: 0 10px 24px -18px rgb(20 33 44 / .6); }
.pfpr-up { margin: 6px 0 0; }
.pfpr-file { position: relative; width: 100%; min-height: 40px; padding: 0 10px; font-size: 14px; overflow: hidden; cursor: pointer; }
.pfpr-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pfpr-file:focus-within { outline: 3px solid #3a6b94; outline-offset: 2px; }
.pfpr-start label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #3d4b57; }
.pfpr-start > div { display: flex; gap: 8px; flex-wrap: wrap; }
.pfpr-start input { height: 44px; padding: 0 12px; border: 1.5px solid #cfdbe5; border-radius: 10px; font: inherit; }
.pfpr-start button { min-height: 44px; padding: 0 16px; border: 1.5px solid #14212c; border-radius: 99px; background: #fff; color: #14212c; font-weight: 600; font-size: 14px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfp { display: grid; gap: 18px; }
.pfp svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -3px; }
.pfp-card h3 { margin: 0 0 10px; font-size: 18px; }
.pfp-locked { position: relative; background: #f6f8fa; }
.pfp-lockmsg { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
.pfp-lockmsg > svg { width: 30px; height: 30px; color: #3a6b94; }
.pfp-lockmsg h3 { margin: 0 0 6px; }
.pfp-lockmsg p { margin: 0 0 12px; color: #4a5d6d; font-size: 15px; }
.pfpr-days.is-blur { opacity: .55; filter: grayscale(1); pointer-events: none; user-select: none; }
.pfpr-days .is-locked, .pfpr-days .is-next, .pfpr-days .is-missed { background: #f6f8fa; }
.pfpr-days .is-missed { border-color: #ecd3cc; }
.pfpr-days .is-missed .pfpr-st { color: #8a3524; }
.pfpr-days .is-due { grid-column: span 2; text-align: left; }
.pfpr-days .is-due .pfpr-st { color: #1f6f43; }
.pfpr-up { display: grid; gap: 8px; }
.pfpr-up .pfpr-file { display: grid; gap: 4px; min-height: 0; padding: 0; overflow: visible; cursor: default; }
.pfpr-up .pfpr-file input { position: static; opacity: 1; font-size: 14px; }
.pfpr-up label > span { font-size: 13.5px; font-weight: 600; color: #3d4b57; }
.pfpr-com { display: grid; gap: 4px; }
.pfpr-com textarea { width: 100%; padding: 8px 10px; border: 1.5px solid #cfdbe5; border-radius: 10px; font: inherit; font-size: 14px; resize: vertical; }
.pfpr-up .pfp-btn { min-height: 42px; font-size: 14px; }
.pfpr-note { margin: 6px 0 0; font-size: 13.5px; color: #4a5d6d; font-style: italic; text-align: left; }
.pfp-books { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pfp-books li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #e3e8ed; border-radius: 14px; background: #fff; }
.pfp-books li > svg { width: 24px; height: 24px; color: #3a6b94; }
.pfp-books li > div { flex: 1; display: grid; gap: 2px; }
.pfp-books li span { font-size: 14px; color: #6b7a87; }
.pfp-books .is-locked { opacity: .6; }
.pfp-books .pfp-btn { min-height: 40px; font-size: 14px; }
@media (max-width: 760px) { .pfpr-days { grid-template-columns: repeat(2, minmax(0, 1fr));  } .pfpr-days .is-due { grid-column: 1 / -1; } }

/* ---------- Reseñas de compras verificadas (pepfine/reviews) ---------- */
.pfr { padding: 56px 16px; background: #fcfbf7; color: #14212c; }
.pfr-wrap { max-width: 1080px; margin: 0 auto; display: grid; gap: 22px; }
.pfr-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; flex-wrap: wrap; }
.pfr-k { margin: 0 0 6px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #5c6b77; }
.pfr h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.pfr-sum { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pfr-sum b { font-size: 34px; line-height: 1; }
.pfr-sum span:last-child { font-size: 14px; color: #5c6b77; }
.pfr-stars { position: relative; display: inline-block; width: 92px; height: 18px; vertical-align: middle;
	background: linear-gradient(#d9dee3, #d9dee3); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cg%3E%3Cpath id='s' d='M12 1.8l3.1 6.4 7 1-5.1 4.9 1.2 7L12 17.8l-6.2 3.3 1.2-7L1.9 9.2l7-1z'/%3E%3Cuse href='%23s' x='24'/%3E%3Cuse href='%23s' x='48'/%3E%3Cuse href='%23s' x='72'/%3E%3Cuse href='%23s' x='96'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cg%3E%3Cpath id='s' d='M12 1.8l3.1 6.4 7 1-5.1 4.9 1.2 7L12 17.8l-6.2 3.3 1.2-7L1.9 9.2l7-1z'/%3E%3Cuse href='%23s' x='24'/%3E%3Cuse href='%23s' x='48'/%3E%3Cuse href='%23s' x='72'/%3E%3Cuse href='%23s' x='96'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
.pfr-stars > span { position: absolute; inset: 0 auto 0 0; background: #e0a526; }
.pfr-dist { display: grid; gap: 6px; max-width: 420px; }
.pfr-dist p { display: grid; grid-template-columns: 34px 1fr 28px; align-items: center; gap: 10px; margin: 0; font-size: 13px; color: #5c6b77; }
.pfr-dist i { display: block; height: 8px; border-radius: 99px; background: #e7ebef; overflow: hidden; }
.pfr-dist i b { display: block; height: 100%; background: #e0a526; }
.pfr-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.pfr-item { display: grid; gap: 8px; align-content: start; padding: 18px; border: 1px solid #e6e2d8; border-radius: 16px; background: #fff; }
.pfr-item[hidden] { display: none; }
.pfr-item h3 { margin: 0; font-size: 16px; }
.pfr-text { margin: 0; font-size: 15px; line-height: 1.55; color: #33414d; }
.pfr-photo img { display: block; width: 100%; max-height: 240px; object-fit: cover; border-radius: 12px; }
.pfr-by { margin: 0; font-size: 13px; color: #5c6b77; }
.pfr-ver { color: #1f6b3a; font-weight: 600; }
.pfr-more { justify-self: center; min-height: 44px; padding: 0 22px; border: 1.5px solid #14212c; border-radius: 99px; background: #fff; color: #14212c; font-weight: 600; font-size: 15px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfr-empty { margin: 0; color: #5c6b77; }
.pfr-write { border: 1px solid #e6e2d8; border-radius: 16px; background: #fff; }
.pfr-write summary { padding: 16px 18px; font-weight: 700; cursor: pointer; }
.pfr-form { display: grid; gap: 14px; padding: 0 18px 18px; }
.pfr-form p { margin: 0; }
.pfr-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #3d4b57; }
.pfr-form input:not([type=radio]):not([type=file]), .pfr-form textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1.5px solid #cfdbe5; border-radius: 10px; font: inherit; background: #fff; }
.pfr-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pfr-rate { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; margin: 0; padding: 0; border: 0; }
.pfr-rate legend { width: 100%; margin-bottom: 4px; font-size: 14px; font-weight: 600; color: #3d4b57; }
.pfr-rate input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pfr-rate label { margin: 0; font-size: 32px; line-height: 1; color: #d9dee3; cursor: pointer; }
.pfr-rate label:hover, .pfr-rate label:hover ~ label, .pfr-rate input:checked ~ label { color: #e0a526; }
.pfr-rate input:focus-visible + label { outline: 2px solid #14212c; outline-offset: 2px; border-radius: 4px; }
.pfr-legal { font-size: 12.5px; color: #5c6b77; }
.pfr-line { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: inherit; text-decoration: none; }
@media (max-width: 640px) { .pfr { padding: 40px 16px; } .pfr-two { grid-template-columns: 1fr; } }
.pfr-form .pfp-btn { justify-self: start; padding: 0 28px; }

/* ---------- Avísame cuando vuelva ---------- */
.pfs { margin: 12px 0 0; padding: 16px; border: 1px solid #e6e2d8; border-radius: 14px; background: #fcfbf7; color: #14212c; }
.pfs[hidden] { display: none; }
.pfs-h { margin: 0; font-weight: 700; font-size: 16px; }
.pfs-t { margin: 4px 0 10px; font-size: 14px; color: #5c6b77; }
.pfs-f { display: flex; gap: 8px; }
.pfs-f[hidden] { display: none; }
.pfs-f input[type=email] { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 1.5px solid #cfdbe5; border-radius: 99px; font: inherit; background: #fff; }
.pfs-f button { min-height: 46px; padding: 0 20px; border: 0; border-radius: 99px; background: #14212c; color: #fff; font-weight: 600; font-size: 15px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfs-f button:disabled { opacity: .6; }
.pfs-hp, .pfs-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pfs-msg { margin: 8px 0 0; font-size: 14px; font-weight: 600; }
.pfs-msg:empty { display: none; }

/* ======================================================================
   Loading: spinner on buttons, top progress bar, skeleton shimmer
   ====================================================================== */
.is-loading { position: relative !important; color: transparent !important; pointer-events: none; }
.is-loading > * { visibility: hidden; }
.is-loading::after { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; border-radius: 50%; border: 2.4px solid rgb(255 255 255 / .35); border-top-color: #fff; animation: pfc-spin .7s linear infinite; }
.pfx-btn--ghost.is-loading::after, .pfm-btn--ghost.is-loading::after, .pfs-f button.is-loading::after { border-color: rgb(20 33 44 / .2); border-top-color: #14212c; }
@keyframes pfc-spin { to { transform: rotate(360deg); } }
.pfc-progress { position: fixed; z-index: 100000; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, #3a6b94, #14212c); box-shadow: 0 0 8px rgb(58 107 148 / .5); opacity: 0; pointer-events: none; }
.pfc-progress.is-on { opacity: 1; animation: pfc-prog 8s cubic-bezier(.08,.8,.2,1) forwards; }
.pfc-progress.is-done { opacity: 0; width: 100%; transition: opacity .3s .1s, width .2s; }
@keyframes pfc-prog { 0% { width: 0; } 20% { width: 45%; } 60% { width: 78%; } 100% { width: 92%; } }
.pfc-skel, .pfc-skel-img { background: linear-gradient(100deg, #eef1f4 30%, #f8f9fb 50%, #eef1f4 70%) 0 0 / 300% 100% !important; animation: pfc-shimmer 1.3s ease-in-out infinite; }
@keyframes pfc-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }
.pfc-skel { border-radius: 10px; color: transparent !important; min-height: 1em; }
@media (prefers-reduced-motion: reduce) { .pfc-progress.is-on, .pfc-skel, .pfc-skel-img { animation: none; } .pfc-progress.is-on { width: 70%; } }

/* ======================================================================
   Shared form look (partners, contact, login, phone)
   ====================================================================== */
.pfx-f { display: grid; gap: 7px; margin: 0; min-width: 0; }
.pfx-f > label, .pfx-pw > label { font-size: 15px; font-weight: 600; color: #24333f; }
.pfx-f label small, .pfx-pw label small { font-weight: 400; color: #5f6b75; }
.pfx-f abbr { color: #a1442f; text-decoration: none; }
.pfx-f input:not([type=checkbox]):not([type=radio]), .pfx-f select, .pfx-f textarea, .pfx-pw input { width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px 14px; border: 1.5px solid #d3dce4; border-radius: 12px; background: #fff; color: #14212c; font: inherit; font-size: 16px; transition: border-color .15s, box-shadow .15s; }
.pfx-f textarea { min-height: 120px; resize: vertical; }
.pfx-f input:focus, .pfx-f select:focus, .pfx-f textarea:focus, .pfx-pw input:focus { outline: 0; border-color: #3a6b94; box-shadow: 0 0 0 3px rgb(58 107 148 / .16); }
.pfx-f [aria-invalid="true"], .pfx-pw [aria-invalid="true"] { border-color: #a1442f !important; }
.pfx-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pfx-err { margin: 0; padding: 12px 14px; border-radius: 12px; background: #f9ebe7; color: #8a3524; font-size: 15px; font-weight: 600; }
.pfx-fine { margin: 0; font-size: 13.5px; color: #5f6b75; text-align: center; }
.pfx-fine a { color: inherit; }
.pfx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 26px; border: 1.5px solid #14212c; border-radius: 99px; background: #14212c; color: #fff !important; font-weight: 600; font-size: 16px; line-height: 1; font-family: inherit; text-decoration: none; cursor: pointer; transition: background .15s, transform .15s; }
.pfx-btn:hover { background: #000; transform: translateY(-1px); }
.pfx-btn:focus-visible { outline: 3px solid #3a6b94; outline-offset: 2px; }
.pfx-btn--ghost { background: transparent; color: #14212c !important; }
.pfx-btn--ghost:hover { background: #14212c; color: #fff !important; }
.pfx-btn--block { width: 100%; }
.pfx-pwwrap, .pfx-pw > span { position: relative; display: block; }
.pfx-pwwrap input, .pfx-pw input { padding-right: 76px !important; }
.pfx-eye { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); min-height: 36px; padding: 0 12px; border: 0; border-radius: 8px; background: #eef3f7; color: #24333f; font-weight: 600; font-size: 13px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfc-field-msg { display: block; font-size: 14px; font-weight: 600; color: #a1442f; }
.pfc-field-msg:empty { display: none; }
.pfc-fix { padding: 0; border: 0; background: none; color: #14212c; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }

/* phone with country code */
.pfc-tel { display: flex; align-items: stretch; min-height: 52px; border: 1.5px solid #d3dce4; border-radius: 12px; background: #fff; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.pfc-tel:focus-within { border-color: #3a6b94; box-shadow: 0 0 0 3px rgb(58 107 148 / .16); }
.pfc-tel__ccw { position: relative; flex: none; display: flex; align-items: center; gap: 6px; padding: 0 30px 0 12px; border-right: 1.5px solid #e3e9ee; background: #f6f8fa; font-size: 16px; font-weight: 600; color: #14212c; white-space: nowrap; }
.pfc-tel__ccw::after { content: ""; position: absolute; right: 12px; top: 50%; width: 7px; height: 7px; border-right: 2px solid #5f6b75; border-bottom: 2px solid #5f6b75; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.pfc-tel__cc { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; font-size: 16px; }
.pfc-tel input[type=tel] { flex: 1; min-width: 0; min-height: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 14px !important; font: inherit; font-size: 16px; background: transparent; color: #14212c; outline: 0; }
.pfc-tel:has([aria-invalid="true"]) { border-color: #a1442f; }
.pfc-tel__cc:focus-visible + * , .pfc-tel__ccw:focus-within { outline: 2px solid #3a6b94; outline-offset: -2px; }

/* ======================================================================
   Modal (newsletter code / phone)
   ====================================================================== */
html.pfm-open { overflow: hidden; }
.pfm { position: fixed; inset: 0; z-index: 99990; display: grid; place-items: center; padding: 16px; background: rgb(14 22 30 / .55); animation: pfm-in .2s ease; }
@keyframes pfm-in { from { opacity: 0; } }
.pfm-d { position: relative; width: min(460px, 100%); max-height: calc(100vh - 32px); overflow: auto; box-sizing: border-box; padding: 34px 28px 26px; border-radius: 24px; background: #fff; color: #14212c; text-align: center; box-shadow: 0 40px 90px -30px rgb(0 0 0 / .45); animation: pfm-up .28s cubic-bezier(.2,.8,.2,1); outline: 0; }
@keyframes pfm-up { from { transform: translateY(16px) scale(.98); opacity: 0; } }
.pfm-x { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f1f4f7; color: #14212c; font-size: 16px; cursor: pointer; }
.pfm-k { margin: 0 0 6px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5f6b75; }
.pfm-d h2 { margin: 0 0 10px; font-size: 26px; line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; }
.pfm-d p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.5; color: #3d4b57; }
.pfm-code { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0 10px; padding: 12px 12px 12px 18px; border: 2px dashed #14212c; border-radius: 16px; background: #f4f8fb; }
.pfm-code b { font-size: 24px; letter-spacing: .08em; word-break: break-all; text-align: left; }
.pfm-copy { flex: none; min-height: 40px; padding: 0 16px; border: 0; border-radius: 99px; background: #14212c; color: #fff; font-weight: 600; font-size: 14px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfm-small { font-size: 14px !important; color: #5f6b75 !important; }
.pfm-btns { display: grid; gap: 8px; margin-top: 16px; }
.pfm-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border: 1.5px solid #14212c; border-radius: 99px; background: #14212c; color: #fff; font-weight: 600; font-size: 16px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfm-btn--ghost { background: #fff; color: #14212c; }
.pfm-status { min-height: 0; margin: 10px 0 0 !important; font-size: 14px !important; font-weight: 600; color: #1f5a2a !important; }
.pfm-status:empty { display: none; }
.pfm-status.is-err { color: #a1442f !important; }
.pfm-phone { display: grid; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #e8edf1; text-align: left; }
.pfm-ph-t { text-align: center; }
.pfm-lbl { font-size: 14px; font-weight: 600; }
.pfm-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; color: #3d4b57; }
.pfm-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: #14212c; }
.pfm-ok { margin: 4px 0 0 !important; padding: 14px; border-radius: 12px; background: #e5f2ea; color: #1f5a2a !important; font-weight: 600; text-align: center; }

/* ======================================================================
   /partners/ page
   ====================================================================== */
.pfx { --pfx-ink: #14212c; --pfx-muted: #4d5d6b; --pfx-line: #e1e6eb; --pfx-blue: #c9dbea; max-width: 1180px; margin: 0 auto; padding: 24px 16px 96px; display: grid; gap: clamp(56px, 8vw, 96px); color: var(--pfx-ink); font-size: 17px; line-height: 1.55; }
.pfx h1 em, .pfx h2 em, .pfx h3 em, .pfct h2 em, .pflog h2 em { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; }
.pfx-k { margin: 0 0 8px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pfx-muted, #4d5d6b); }
.pfx h2 { margin: 0; font-size: clamp(30px, 4vw, 46px); line-height: 1.05; font-weight: 500; letter-spacing: -0.035em; }
.pfx-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding: clamp(28px, 5vw, 60px); border-radius: 32px; background: radial-gradient(120% 100% at 100% 0%, #f3f8fc 0%, #d6e4f0 50%, #b3cbe0 100%); }
.pfx-pill { justify-self: start; display: inline-block; margin: 0 0 16px; padding: 7px 14px; border-radius: 99px; background: rgb(255 255 255 / .7); font-size: 14px; font-weight: 600; }
.pfx-hero h1 { margin: 0 0 16px; font-size: clamp(36px, 5.2vw, 62px); line-height: 1.02; font-weight: 500; letter-spacing: -0.04em; text-align: left; text-wrap: balance; color: var(--pfx-ink); }
.pfx-lede { margin: 0 0 22px; max-width: 48ch; font-size: 18px; color: #2c3d4c; }
.pfx-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.pfx-facts { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.pfx-facts li { display: grid; padding: 10px 16px; border-radius: 14px; background: rgb(255 255 255 / .6); line-height: 1.2; }
.pfx-facts b { font-size: 20px; }
.pfx-facts span { font-size: 13px; color: #3d4b57; }
.pfx-hero__card { display: grid; gap: 12px; padding: 24px; border-radius: 24px; background: #fff; box-shadow: 0 30px 60px -30px rgb(20 33 44 / .4); }
.pfx-mock__k { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pfx-muted); }
.pfx-mock__row { display: grid; gap: 4px; padding: 12px 14px; border-radius: 14px; background: #f4f7fa; }
.pfx-mock__row small { font-size: 12.5px; color: var(--pfx-muted); }
.pfx-mock__row code { font: 600 15px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--pfx-ink); word-break: break-all; }
.pfx-mock__code { font-size: 20px !important; letter-spacing: .1em; }
.pfx-mock__calc { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px; border-radius: 14px; background: #14212c; color: #fff; font-size: 15px; }
.pfx-mock__calc b { font-size: 20px; color: var(--pfx-blue); }
.pfx-mock__calc i { font-style: normal; opacity: .6; }
.pfx-mock__note { margin: 0; font-size: 12.5px; color: var(--pfx-muted); text-align: center; }
.pfx-steps ol { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: s; }
.pfx-steps li { display: grid; gap: 8px; align-content: start; padding: 24px; border: 1px solid var(--pfx-line); border-radius: 22px; background: #fff; }
.pfx-steps i { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: #e6eff6; }
.pfx-steps svg, .pfx-get svg { width: 22px; height: 22px; fill: none; stroke: #14212c; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pfx-steps b { margin-top: 6px; font-size: 19px; }
.pfx-steps p { margin: 0; font-size: 15.5px; color: #3d4b57; }
.pfx-apply { scroll-margin-top: 90px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.pfx-apply__head { position: sticky; top: 110px; }
.pfx-get { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.pfx-get li { display: flex; align-items: center; gap: 10px; font-size: 16.5px; }
.pfx-get svg { flex: none; width: 24px; height: 24px; padding: 4px; border-radius: 50%; background: #14212c; stroke: #c9dbea; stroke-width: 2.6; box-sizing: border-box; }
.pfx-form, .pfx-card { display: grid; gap: 16px; padding: clamp(22px, 3.4vw, 36px); border: 1px solid var(--pfx-line, #e1e6eb); border-radius: 26px; background: #fff; box-shadow: 0 40px 80px -50px rgb(20 33 44 / .45); }
.pfx-more { border: 1px solid #e6ebf0; border-radius: 14px; background: #fafbfc; }
.pfx-more summary { padding: 14px 16px; font-weight: 600; cursor: pointer; }
.pfx-more summary small { font-weight: 400; color: #5f6b75; }
.pfx-more[open] { display: grid; gap: 14px; padding: 0 16px 16px; }
.pfx-more[open] summary { margin: 0 -16px; }
.pfx-agree { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: #3d4b57; }
.pfx-agree input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: #14212c; }
.pfx-card h3 { margin: 0; font-size: clamp(26px, 3vw, 34px); line-height: 1.1; font-weight: 500; letter-spacing: -0.03em; }
.pfx-card > p { margin: 0; color: #3d4b57; }
.pfx-done { text-align: center; }
.pfx-pass { display: grid; gap: 12px; padding: 20px; border-radius: 18px; background: linear-gradient(135deg, #eaf2f9, #f8fbfd); border: 1.5px solid #c9dbea; }
.pfx-pass h4 { margin: 0; font-size: 20px; }
.pfx-pass p { margin: 0; font-size: 15px; color: #3d4b57; }
.pfx-pw { display: grid; gap: 6px; }
.pfx-where { display: grid; gap: 12px; justify-items: start; padding: 18px; border-radius: 18px; background: #f3f7fa; }
.pfx-where p { margin: 0; font-size: 15px; }
.pfx-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pfx-rule { padding: 20px 22px; border-radius: 20px; background: #f3f7fa; }
.pfx-rule b { font-size: 16.5px; }
.pfx-rule p { margin: 6px 0 0; font-size: 15px; color: #3d4b57; }
.pfx-rule a { color: inherit; font-weight: 600; }
.pfx-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.pfx-faq > div { display: grid; gap: 10px; }
.pfx-faq details { border: 1px solid var(--pfx-line); border-radius: 16px; background: #fff; }
.pfx-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 20px; font-weight: 600; cursor: pointer; list-style: none; }
.pfx-faq summary::-webkit-details-marker { display: none; }
.pfx-faq summary i { flex: none; width: 12px; height: 12px; border-right: 2px solid #14212c; border-bottom: 2px solid #14212c; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.pfx-faq details[open] summary i { transform: rotate(-135deg); }
.pfx-faq details p { margin: 0; padding: 0 20px 18px; font-size: 15.5px; color: #3d4b57; }
.pfx-welcome .pfp-copy, .pfx-welcome .pfp-share { margin: 0; }
@media (max-width: 900px) {
	.pfx-hero, .pfx-apply, .pfx-faq { grid-template-columns: minmax(0, 1fr); }
	.pfx-apply__head { position: static; }
	.pfx-steps ol, .pfx-rules { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.pfx { padding-top: 12px; }
	.pfx-hero { border-radius: 24px; padding: 24px 18px; }
	.pfx-two { grid-template-columns: minmax(0, 1fr); }
	.pfx-ctas .pfx-btn { flex: 1 1 100%; }
}

/* ======================================================================
   Contact form
   ====================================================================== */
.pfct { display: grid; gap: 16px; padding: clamp(22px, 3.4vw, 34px); border: 1px solid #e1e6eb; border-radius: 26px; background: #fff; box-shadow: 0 40px 80px -50px rgb(20 33 44 / .45); color: #14212c; scroll-margin-top: 100px; }
.pfct h2 { margin: 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.1; font-weight: 500; letter-spacing: -0.03em; text-align: left; }
.pfct-sub { margin: -6px 0 0; color: #4d5d6b; }
.pfct--ok { text-align: center; justify-items: center; }
.pfct-ok-ic { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #e5f2ea; color: #1f5a2a; font-size: 26px; font-weight: 700; }
.pfct--ok h2 { text-align: center; }
.pfct--ok p { margin: 0; color: #3d4b57; }
.pfct-alt a { color: #1f6b3a; font-weight: 600; }
@media (max-width: 600px) { .pfct .pfx-two { grid-template-columns: minmax(0, 1fr); } }

/* ======================================================================
   Mi cuenta: entrar / crear cuenta, saludo y tarjeta del usuario
   ====================================================================== */
.pflog { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); max-width: 1000px; margin: 0 auto; border: 1px solid #e1e6eb; border-radius: 28px; overflow: hidden; background: #fff; box-shadow: 0 50px 100px -60px rgb(20 33 44 / .5); color: #14212c; }
.pfl-side { display: grid; align-content: start; gap: 18px; padding: clamp(28px, 4vw, 48px); background: radial-gradient(120% 100% at 0% 0%, #f3f8fc 0%, #d6e4f0 55%, #b3cbe0 100%); }
.pfl-brand { margin: 0; font-family: "Instrument Serif", Georgia, serif; font-size: 34px; line-height: 1; }
.pfl-side h2 { margin: 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.08; font-weight: 500; letter-spacing: -0.03em; text-align: left; }
.pfl-side ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pfl-side li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.4; }
.pfl-side svg { flex: none; width: 22px; height: 22px; padding: 4px; box-sizing: border-box; border-radius: 50%; background: #14212c; fill: none; stroke: #c9dbea; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.pfl-help { margin: 8px 0 0; font-size: 14px; color: #2c3d4c; }
.pfl-help a { color: inherit; font-weight: 600; }
.pfl-main { display: grid; align-content: start; gap: 16px; padding: clamp(26px, 4vw, 48px); }
.pfl-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 99px; background: #eef2f5; }
.pfl-tabs button { min-height: 44px; border: 0; border-radius: 99px; background: none; color: #4d5d6b; font-weight: 600; font-size: 15px; line-height: 1; font-family: inherit; cursor: pointer; }
.pfl-tabs button[aria-selected="true"] { background: #fff; color: #14212c; box-shadow: 0 2px 8px rgb(20 33 44 / .12); }
.pfl-main section { display: grid; gap: 16px; }
.pfl-main section[hidden] { display: none; }
.pfl-h { margin: 6px 0 0 !important; font-size: clamp(30px, 3.4vw, 40px) !important; line-height: 1.05; font-weight: 500 !important; letter-spacing: -0.03em; text-align: left !important; }
.pfl-sub { margin: -8px 0 4px; color: #4d5d6b; }
.pfl-form { display: grid; gap: 14px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.pfl-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 15px; }
.pfl-row a { color: #3a6b94; font-weight: 600; }
.pfl-rem { display: inline-flex; gap: 8px; align-items: center; cursor: pointer; }
.pfl-rem input { width: 18px; height: 18px; accent-color: #14212c; }
.pfl-note { margin: 0; font-size: 14px; color: #5f6b75; }
.pfa-hello { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 4px; padding: 26px 28px; border-radius: 24px; background: radial-gradient(120% 140% at 100% 0%, #f3f8fc 0%, #d6e4f0 60%, #c2d6e7 100%); }
.pfa-hello h2 { margin: 0 0 4px; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.05; font-weight: 500; letter-spacing: -0.03em; }
.pfa-hello p { margin: 0; color: #2c3d4c; }
.pfa-k { margin: 0 0 6px !important; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #3d4b57 !important; }
.pfa-shop { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 99px; background: #14212c; color: #fff !important; font-weight: 600; text-decoration: none; }
.pfa-me { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #e3e8ed; border-radius: 18px; background: #fff; min-width: 0; }
.pfa-me__av { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #14212c; color: #fff; font-weight: 700; }
.pfa-me b { display: block; font-size: 15.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pfa-me small { display: block; font-size: 13px; color: #5f6b75; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pfa-me > span:last-child { min-width: 0; }
@media (max-width: 800px) {
	.pflog { grid-template-columns: minmax(0, 1fr); border-radius: 22px; }
	.pfl-side { padding: 24px 22px; gap: 12px; }
	.pfl-side ul { display: none; }
	.pfa-hello { padding: 20px; }
}

/* /partners/: cómo te pagamos */
.pfx-payout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 56px); align-items: start; padding: clamp(24px, 4vw, 48px); border-radius: 28px; background: #14212c; color: #fff; }
.pfx-payout .pfx-k { color: #c9dbea; }
.pfx-payout h2 { color: #fff; }
.pfx-payout > div > p:last-child { margin: 14px 0 0; color: #d3dee8; font-size: 16.5px; }
.pfx-payout ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pfx-payout li { display: grid; align-content: start; gap: 2px; padding: 16px 18px; border-radius: 16px; background: rgb(255 255 255 / .08); border: 1px solid rgb(255 255 255 / .12); }
.pfx-payout li b { font-size: 16.5px; }
.pfx-payout li span { font-size: 14.5px; color: #c7d3de; }
.pfx-payout li:last-child { grid-column: 1 / -1; }
.pfx-payout__note { grid-column: 1 / -1; margin: 0; padding: 14px 18px; border-radius: 14px; background: #c9dbea; color: #14212c; font-size: 15.5px; }
.pfp-select { width: 100%; min-height: 46px; margin-bottom: 10px; padding: 0 12px; border: 1.5px solid #cfdbe5; border-radius: 10px; background: #fff; font: inherit; font-size: 15px; }
@media (max-width: 900px) { .pfx-payout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .pfx-payout ul { grid-template-columns: minmax(0, 1fr); } }

/* Panel de socio: métodos de pago */
.pfpo { margin-top: 18px; }
.pfpo-sub { margin: 0 0 14px; color: #3d4b57; font-size: 15px; }
.pfpo-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.pfpo-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 16px; border: 1px solid #e3e8ed; border-radius: 14px; background: #fff; }
.pfpo-list li.is-main { border-color: #14212c; box-shadow: 0 0 0 1px #14212c inset; }
.pfpo-list small { display: block; margin-top: 2px; font-size: 14px; color: #4a5d6d; word-break: break-word; }
.pfpo-badge { display: inline-block; padding: 2px 9px; border-radius: 99px; background: #14212c; color: #fff; font-size: 12px; font-weight: 600; vertical-align: 1px; }
.pfpo-acts { display: flex; gap: 14px; font-size: 14px; }
.pfpo-acts a { color: #14212c; font-weight: 600; }
.pfpo-acts .pfpo-del { color: #a1442f; }
.pfpo-empty { margin: 0 0 12px; padding: 14px 16px; border-radius: 12px; background: #fff7e6; color: #6b4b00; font-size: 15px; }
.pfpo-add { border: 1.5px dashed #b9c8d6; border-radius: 14px; background: #fafcfd; }
.pfpo-add summary { padding: 14px 16px; font-weight: 700; cursor: pointer; }
.pfpo-form { display: grid; gap: 12px; padding: 0 16px 16px; }
.pfpo-form label { display: block; margin-bottom: 5px; font-size: 14px; font-weight: 600; color: #3d4b57; }
.pfpo-form input:not([type=checkbox]), .pfpo-form select, .pfpo-form textarea { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 12px; border: 1.5px solid #cfdbe5; border-radius: 10px; background: #fff; font: inherit; font-size: 15px; }
.pfpo-form small { display: block; margin-top: 4px; font-size: 12.5px; color: #5f6b75; }
.pfpo-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.pfpo-fields[hidden] { display: none; }
.pfpo-fields p { margin: 0 0 10px; }
.pfpo-fields p:only-child, .pfpo-fields p:has(textarea) { grid-column: 1 / -1; }
.pfpo-main { display: flex !important; gap: 8px; align-items: center; font-weight: 500 !important; }
.pfpo-main input { width: 18px; height: 18px; accent-color: #14212c; }
.pfpo-form .pfp-btn { justify-self: start; }
.pfpo-lock { margin: 0; font-size: 13px; color: #5f6b75; }
@media (max-width: 600px) { .pfpo-fields { grid-template-columns: minmax(0, 1fr); } }

/* Mi cuenta: completa tu perfil */
.pfpf { margin: 4px 0 18px; padding: 22px; border: 1px solid #e3e8ed; border-radius: 22px; background: #fff; color: #14212c; }
.pfpf .pfp-alert { margin-bottom: 12px; }
.pfpf-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.pfpf-k { margin: 0 0 4px; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #3a6b94; }
.pfpf h3 { margin: 0 0 4px; font-size: 24px; font-weight: 600; letter-spacing: -0.02em; }
.pfpf h3 em { font-style: normal; color: #3a6b94; }
.pfpf-head p { margin: 0; font-size: 14.5px; color: #4a5d6d; }
.pfpf-ring { flex: none; display: grid; place-items: center; width: 74px; height: 74px; border-radius: 50%; background: conic-gradient(#14212c calc(var(--p) * 1%), #e6edf3 0); }
.pfpf-ring b { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #fff; font-size: 17px; }
.pfpf-bar { height: 8px; margin: 16px 0 14px; border-radius: 99px; background: #e6edf3; overflow: hidden; }
.pfpf-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #3a6b94, #14212c); transition: width .6s ease; }
.pfpf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pfpf-list > li { border: 1px solid #e8edf2; border-radius: 14px; background: #fafcfd; }
.pfpf-list > li.is-done { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #f3faf5; border-color: #d5ebdc; }
.pfpf-list > li.is-gift { border-color: #14212c; box-shadow: 0 0 0 1px #14212c inset; background: #fff; }
.pfpf-list summary { display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer; list-style: none; }
.pfpf-list summary::-webkit-details-marker { display: none; }
.pfpf-list summary div, .pfpf-list li.is-done div { flex: 1; min-width: 0; }
.pfpf-list b { display: block; font-size: 15.5px; }
.pfpf-list small { display: block; font-size: 13.5px; color: #4a5d6d; }
.pfpf-ic { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e6edf3; color: #14212c; font-weight: 700; }
.is-done .pfpf-ic { background: #1f6b3a; color: #fff; }
.pfpf-pts { flex: none; padding: 5px 10px; border-radius: 99px; background: #14212c; color: #fff; font-size: 13px; font-weight: 700; }
.pfpf-f { display: grid; gap: 10px; padding: 0 14px 14px 56px; }
.pfpf-f input[type=date], .pfpf-f select, .pfpf-f input[type=file] { width: 100%; max-width: 360px; min-height: 46px; padding: 8px 12px; box-sizing: border-box; border: 1.5px solid #cfdbe5; border-radius: 10px; background: #fff; font: inherit; font-size: 15px; }
.pfpf-f .pfc-tel { max-width: 420px; }
.pfpf-f .pfp-btn { justify-self: start; }
.pfpf-check { display: flex; gap: 8px; align-items: center; font-size: 14px; color: #3d4b57; }
.pfpf-check input { width: 18px; height: 18px; accent-color: #14212c; }
.pfpf-gift { margin: 0; padding: 12px 14px; border-radius: 12px; background: #eaf2f9; font-size: 15px; }
.pfpf-code { margin: 0 0 14px; padding: 16px; border: 2px dashed #14212c; border-radius: 16px; background: #f4f8fb; text-align: center; }
.pfpf-code p { margin: 0 0 4px; }
.pfpf-code b { display: block; font-size: 24px; letter-spacing: .08em; }
.pfpf-code small { color: #4a5d6d; }
.pfpf-done { display: flex; align-items: center; gap: 12px; }
.pfpf-done > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #e0a526; color: #fff; font-size: 22px; }
.pfpf-done small { display: block; color: #4a5d6d; }
.pfa-me__av img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.pfa-me__av { overflow: hidden; }
.pfl-new { margin: 0; font-size: 15px; }
.pfl-link { padding: 0; border: 0; background: none; color: #3a6b94; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
@media (max-width: 600px) { .pfpf { padding: 16px; } .pfpf-f { padding-left: 14px; } .pfpf-ring { width: 60px; height: 60px; } .pfpf-ring b { width: 46px; height: 46px; font-size: 14px; } }
.pfpf-gift b { display: inline; font-size: inherit; }
/* Carrito lateral compacto, con las medidas del cajón de Shopify. */
.wc-block-mini-cart__drawer .components-modal__content { font-size: 14px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { margin: 16px 56px 4px 20px; font-size: 22px; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { top: 12px; right: 14px; width: 34px; height: 34px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding: 4px 20px 0; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { padding: 10px 0; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { width: 64px; height: 64px; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-size: 14.5px; line-height: 1.3; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata, .wc-block-mini-cart__drawer .wc-block-components-product-details { font-size: 13px; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices { font-size: 13.5px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total { font-size: 14.5px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__quantity { gap: 10px; margin-top: 6px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { width: 104px; height: 36px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button { min-width: 32px; font-size: 17px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input { font-size: 14px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link { width: 30px; height: 30px; }
.pfc-dr { gap: 10px; margin: 4px 20px 12px; font-size: 13.5px; }
.pfc-dr .pfc-bar { padding: 9px 12px; border-radius: 12px; }
.pfc-dr .pfc-bar__t { font-size: 13.5px; margin-bottom: 6px; }
.pfc-dr .pfc-bar__track { height: 6px; }
.pfc-dr__h { font-size: 15px; }
.pfc-dr__arrows button { width: 30px; height: 30px; font-size: 20px; }
.pfc-dr__rec ul { margin-top: 6px; gap: 8px; }
.pfc-dr__card { flex-basis: min(260px, 78%); gap: 8px; padding: 8px; }
.pfc-dr__img img { width: 48px; height: 48px; }
.pfc-dr__name { font-size: 13px; }
.pfc-dr__info small { font-size: 11.5px; }
.pfc-dr__row { margin-top: 4px; }
.pfc-dr__price { font-size: 13px; }
.pfc-dr__add { min-height: 26px; padding: 0 10px; font-size: 12px; border-width: 1px; }
.pfc-dr__cats a { min-height: 48px; font-size: 13.5px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { padding: 0 20px 14px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions { margin-top: 10px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { min-height: 48px; font-size: 15px; }
.pfc-df__disc summary { min-height: 42px; font-size: 13.5px; }
.pfc-df__form input { height: 38px; font-size: 14px; }
.pfc-df__prot { gap: 10px; margin-top: 10px; padding: 10px 12px; }
.pfc-df__shield { width: 30px; height: 30px; }
.pfc-df__shield svg { width: 16px; height: 16px; }
.pfc-df__prot > div { font-size: 12.5px; line-height: 1.35; }
.pfc-df__prot b { font-size: 14px; }
.pfc-df__sw { width: 44px; height: 24px; }
.pfc-df__sw i { width: 18px; height: 18px; }
.pfc-df__sw[aria-checked="true"] i { transform: translateX(20px); }
.pfc-df__sw[aria-checked="true"] i::after { font-size: 11px; }
.pfc-df__total { margin-top: 10px !important; font-size: 14.5px; }
.pfc-df__total b { font-size: 15px; font-weight: 600; }
.pfc-dt { font-size: 13px !important; margin-top: 10px !important; }
/* Navbar avatar (profile.php) */
.pfc-av-wrap { display: flex; align-items: center; }
.pfc-av { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: #111; color: #fff !important; font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none !important; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #e3e3e3; transition: box-shadow .15s; }
.pfc-av:hover { box-shadow: 0 0 0 2px #fff, 0 0 0 3px #111; }
.pfc-av:focus-visible { outline: 3px solid #3a6b94; outline-offset: 3px; }
.pfc-av img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Mi cuenta → Suscripciones */
.pfs { display: grid; gap: 14px; }
.pfs-top { display: flex; gap: 14px; align-items: flex-start; }
.pfs-top img { flex: none; width: 72px; height: 72px; object-fit: cover; border-radius: 14px; background: #eef4f9; }
.pfs-top h3 { margin: 0 0 4px; font-size: 18px; }
.pfs-top p { margin: 0 0 4px; }
.pfs-st { font-weight: 700; }
.pfs-st.is-active { color: #1f6f43; } .pfs-st.is-pending { color: #8a5a00; } .pfs-st.is-paused { color: #4a5d6d; } .pfs-st.is-cancelled { color: #8a3524; }
.pfs-acts { display: flex; flex-wrap: wrap; gap: 8px; }
.pfs-f { display: flex; gap: 6px; align-items: center; margin: 0; }
.pfs-f select { height: 40px; padding: 0 10px; border: 1.5px solid #cfdbe5; border-radius: 10px; font: inherit; font-size: 14px; }
.pfs-b { min-height: 40px; padding: 0 14px; border: 1.5px solid #14212c; border-radius: 99px; background: #fff; color: #14212c; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.pfs-b:focus-visible { outline: 3px solid #3a6b94; outline-offset: 2px; }
.woocommerce-MyAccount-navigation-link--suscripciones { --pfa-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 0 0-14.3-4.9L4 8M4 4v4h4M4 13a8 8 0 0 0 14.3 4.9L20 16M20 20v-4h-4'/%3E%3C/svg%3E"); }
