/* LR&PF Pro — estilos frontend */
/* Paleta: #00A499 #EA7600 #394049 #8C4799 #498BCA #EAAA00 */

.lrpf-notice{padding:12px 16px;background:#f0f9f8;border-left:4px solid #00A499;color:#394049;font-size:14px;}

/* ===== Popups ===== */
.lrpf-popup{position:fixed;inset:0;z-index:99999;display:none;pointer-events:none;}
.lrpf-popup.is-open{display:block;pointer-events:auto;}
.lrpf-popup__overlay{position:absolute;inset:0;background:rgba(57,64,73,.7);}
.lrpf-popup__box{position:relative;background:#fff;box-shadow:0 10px 40px rgba(57,64,73,.35);overflow:auto;max-height:90vh;}
.lrpf-popup--modal .lrpf-popup__box{margin:5vh auto 0;width:calc(100% - 32px);border-radius:8px;}
.lrpf-popup--fullscreen .lrpf-popup__box{position:absolute;inset:0;max-height:none;max-width:none!important;border-radius:0;}
.lrpf-popup--bar-top,.lrpf-popup--bar-bottom{inset:auto 0;}
.lrpf-popup--bar-top{top:0;}
.lrpf-popup--bar-bottom{bottom:0;}
.lrpf-popup--bar-top .lrpf-popup__box,.lrpf-popup--bar-bottom .lrpf-popup__box{width:100%;max-height:60vh;border-radius:0;}
.lrpf-popup--slide-right,.lrpf-popup--slide-left{inset:auto 16px 16px auto;}
.lrpf-popup--slide-left{left:16px;right:auto;}
.lrpf-popup--slide-right .lrpf-popup__box,.lrpf-popup--slide-left .lrpf-popup__box{width:calc(100vw - 32px);border-radius:8px;}
.lrpf-popup__close{position:absolute;top:8px;right:8px;z-index:2;width:32px;height:32px;border:0;border-radius:50%;background:#394049;color:#fff;font-size:20px;line-height:1;cursor:pointer;}
.lrpf-popup__close:hover{background:#EA7600;}

/* ===== Formulario ===== */
.lrpf-form__fields{display:flex;flex-wrap:wrap;gap:14px;}
.lrpf-form__group{display:flex;flex-direction:column;gap:5px;flex:1 1 100%;}
.lrpf-form__group--w100{flex-basis:100%;}
.lrpf-form__group--w66{flex-basis:calc(66% - 14px);}
.lrpf-form__group--w50{flex-basis:calc(50% - 14px);}
.lrpf-form__group--w33{flex-basis:calc(33% - 14px);}
.lrpf-form__group--w25{flex-basis:calc(25% - 14px);}
.lrpf-form__group--hidden{display:none;}
.lrpf-form label{font-weight:600;color:#394049;font-size:14px;}
.lrpf-req{color:#EA7600;}
.lrpf-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.lrpf-form textarea,.lrpf-form select{border:1px solid #cfd4d9;border-radius:5px;padding:10px 12px;font:inherit;width:100%;box-sizing:border-box;}
.lrpf-form input:focus,.lrpf-form textarea:focus,.lrpf-form select:focus{outline:2px solid #00A499;outline-offset:0;border-color:#00A499;}
.lrpf-form input.lrpf-error,.lrpf-form textarea.lrpf-error,.lrpf-form select.lrpf-error{border-color:#EA7600;}
.lrpf-form__options{display:flex;flex-direction:column;gap:6px;}
.lrpf-form__option{display:flex;align-items:center;gap:8px;font-weight:400!important;}
.lrpf-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0;}
.lrpf-form button[type=submit]{margin-top:16px;border:0;border-radius:5px;padding:12px 28px;font:inherit;font-weight:600;background:#00A499;color:#fff;cursor:pointer;transition:filter .2s;}
.lrpf-form button[type=submit]:hover{filter:brightness(.92);}
.lrpf-form button[type=submit]:disabled{opacity:.6;cursor:wait;}
.lrpf-form__message{margin-top:12px;font-size:14px;display:none;padding:10px 14px;border-radius:5px;}
.lrpf-form__message.is-success{display:block;background:#e6f6f5;color:#00726a;border-left:4px solid #00A499;}
.lrpf-form__message.is-error{display:block;background:#fdf0e6;color:#a35300;border-left:4px solid #EA7600;}

/* ===== Posts (grilla) ===== */
.lrpf-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lrpf-posts__card{overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(57,64,73,.12);}
.lrpf-posts__image{display:block;position:relative;overflow:hidden;padding-bottom:56%;}
.lrpf-posts__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.lrpf-posts__image--auto{padding-bottom:0!important;}
.lrpf-posts__image--auto img{position:static;height:auto;}
.lrpf-posts__card:hover .lrpf-posts__image img{transform:scale(1.04);}
.lrpf-posts__body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.lrpf-posts__badge{align-self:flex-start;background:#00A499;color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;}
.lrpf-posts__title{margin:0;font-size:18px;line-height:1.35;}
.lrpf-posts__title a{color:#394049;text-decoration:none;}
.lrpf-posts__title a:hover{color:#00A499;}
.lrpf-posts__meta{font-size:13px;color:#7a828a;}
.lrpf-posts__excerpt{font-size:14px;color:#4d545c;line-height:1.55;}
.lrpf-posts__more{margin-top:auto;align-self:flex-start;color:#EA7600;font-weight:600;text-decoration:none;font-size:14px;}
.lrpf-posts__more:hover{text-decoration:underline;}
.lrpf-posts__pagination{margin-top:28px;text-align:center;}
.lrpf-posts__pagination .page-numbers{display:inline-block;padding:6px 13px;margin:0 3px;border:1px solid #cfd4d9;border-radius:4px;color:#394049;text-decoration:none;}
.lrpf-posts__pagination .page-numbers.current{background:#00A499;border-color:#00A499;color:#fff;}
@media(max-width:1024px){.lrpf-posts{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.lrpf-posts{grid-template-columns:1fr;}}

/* ===== Slides ===== */
.lrpf-slides .swiper-slide{display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;position:relative;}
.lrpf-slides__overlay{position:absolute;inset:0;background:rgba(57,64,73,.45);}
.lrpf-slides__content{position:relative;z-index:1;text-align:center;max-width:760px;padding:24px;}
.lrpf-slides__heading{color:#fff;margin:0 0 12px;font-size:38px;}
.lrpf-slides__description{color:#fff;font-size:17px;margin-bottom:20px;}
.lrpf-slides__button{display:inline-block;background:#EA7600;color:#fff;padding:12px 30px;border-radius:5px;text-decoration:none;font-weight:600;}
.lrpf-swiper .swiper-button-prev,.lrpf-swiper .swiper-button-next{color:#fff;}
.lrpf-swiper .swiper-pagination-bullet-active{background:#00A499;}
@media(max-width:640px){.lrpf-slides__heading{font-size:26px;}}

/* ===== Testimonios ===== */
.lrpf-testimonials .swiper-slide{height:auto;}
.lrpf-testimonial{background:#fff;border-top:4px solid #00A499;border-radius:8px;box-shadow:0 2px 10px rgba(57,64,73,.12);padding:24px;height:100%;display:flex;flex-direction:column;gap:16px;box-sizing:border-box;}
.lrpf-testimonial__content{font-style:italic;color:#4d545c;line-height:1.6;}
.lrpf-testimonial__footer{display:flex;align-items:center;gap:12px;margin-top:auto;}
.lrpf-testimonial__image{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.lrpf-testimonial__name{font-weight:700;color:#00A499;}
.lrpf-testimonial__title{font-size:13px;color:#7a828a;}
.lrpf-testimonials .swiper{padding-bottom:36px;}

/* ===== Countdown ===== */
.lrpf-countdown{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.lrpf-countdown__item{background:#394049;border-radius:8px;min-width:82px;padding:14px 10px;text-align:center;display:flex;flex-direction:column;gap:4px;}
.lrpf-countdown__digit{font-size:32px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;}
.lrpf-countdown__label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#EAAA00;}
.lrpf-countdown__expired{font-weight:700;color:#EA7600;font-size:18px;}

/* ===== Flip Box ===== */
.lrpf-flip{perspective:1200px;height:280px;}
.lrpf-flip__inner{position:relative;width:100%;height:100%;transition:transform .7s;transform-style:preserve-3d;}
.lrpf-flip:hover .lrpf-flip__inner{transform:rotateY(180deg);}
.lrpf-flip--vertical:hover .lrpf-flip__inner{transform:rotateX(180deg);}
.lrpf-flip__front,.lrpf-flip__back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff;gap:10px;}
.lrpf-flip__back{transform:rotateY(180deg);}
.lrpf-flip--vertical .lrpf-flip__back{transform:rotateX(180deg);}
.lrpf-flip__icon{font-size:40px;}
.lrpf-flip__icon svg{width:44px;height:44px;fill:currentColor;}
.lrpf-flip__title{margin:0;color:#fff;}
.lrpf-flip__button{display:inline-block;margin-top:8px;background:#EAAA00;color:#394049;padding:9px 22px;border-radius:5px;text-decoration:none;font-weight:700;}

/* ===== CTA ===== */
.lrpf-cta{position:relative;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;border-radius:8px;overflow:hidden;min-height:280px;transition:transform .3s;}
.lrpf-cta--zoom:hover{transform:scale(1.015);}
.lrpf-cta__overlay{position:absolute;inset:0;}
.lrpf-cta__content{position:relative;z-index:1;text-align:center;padding:32px;max-width:640px;}
.lrpf-cta__title{color:#fff;margin:0 0 10px;font-size:28px;}
.lrpf-cta__description{color:#fff;margin-bottom:18px;}
.lrpf-cta__button{display:inline-block;background:#EA7600;color:#fff;padding:12px 30px;border-radius:5px;text-decoration:none;font-weight:600;}

/* ===== Título animado ===== */
.lrpf-headline__dynamic{color:#00A499;border-right:2px solid transparent;}
.lrpf-headline[data-animation="typing"] .lrpf-headline__dynamic.is-typing{border-right-color:currentColor;}
.lrpf-headline__dynamic.lrpf-fade{transition:opacity .4s;}
.lrpf-headline__dynamic.lrpf-fade.is-out{opacity:0;}

/* ===== Price table / list ===== */
.lrpf-price-table{position:relative;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 3px 14px rgba(57,64,73,.14);text-align:center;}
.lrpf-price-table__ribbon{position:absolute;top:18px;right:-34px;transform:rotate(45deg);background:#EA7600;color:#fff;font-size:12px;font-weight:700;padding:5px 40px;z-index:1;}
.lrpf-price-table__header{background:#00A499;color:#fff;padding:22px 16px;}
.lrpf-price-table__title{margin:0;color:#fff;font-size:22px;}
.lrpf-price-table__subtitle{opacity:.85;font-size:13px;margin-top:4px;}
.lrpf-price-table__price{padding:22px 16px 8px;color:#394049;}
.lrpf-price-table__currency{font-size:20px;vertical-align:top;}
.lrpf-price-table__amount{font-size:44px;font-weight:800;}
.lrpf-price-table__period{color:#7a828a;font-size:14px;}
.lrpf-price-table__features{list-style:none;margin:14px 0;padding:0;}
.lrpf-price-table__features li{padding:9px 16px;border-bottom:1px solid #f0f2f3;color:#4d545c;font-size:14px;}
.lrpf-price-table__features li.is-excluded{color:#b6bcc2;text-decoration:line-through;}
.lrpf-price-table__button{display:inline-block;margin:10px 0 24px;background:#EA7600;color:#fff;padding:12px 34px;border-radius:6px;text-decoration:none;font-weight:700;}
.lrpf-price-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.lrpf-price-list__item{display:flex;gap:14px;align-items:flex-start;}
.lrpf-price-list__image{width:64px;height:64px;object-fit:cover;border-radius:6px;flex-shrink:0;}
.lrpf-price-list__body{flex:1;}
.lrpf-price-list__head{display:flex;align-items:baseline;gap:8px;}
.lrpf-price-list__title{font-weight:700;color:#394049;}
.lrpf-price-list__dots{flex:1;border-bottom:2px dotted #cfd4d9;}
.lrpf-price-list__price{font-weight:700;color:#EA7600;white-space:nowrap;}
.lrpf-price-list__description{font-size:13px;color:#7a828a;margin-top:3px;}

/* ===== TOC ===== */
.lrpf-toc{border:1px solid #e2e5e8;border-left:4px solid #00A499;border-radius:6px;padding:14px 18px;background:#fafbfb;}
.lrpf-toc__header{display:flex;align-items:center;justify-content:space-between;}
.lrpf-toc__title{font-weight:700;color:#394049;}
.lrpf-toc__toggle{border:0;background:none;font-size:20px;cursor:pointer;color:#394049;line-height:1;}
.lrpf-toc__list{margin-top:10px;}
.lrpf-toc__list.is-collapsed{display:none;}
.lrpf-toc__list ol{margin:0;padding-left:20px;}
.lrpf-toc__list a{color:#00A499;text-decoration:none;font-size:14px;line-height:1.9;}
.lrpf-toc__list a:hover{text-decoration:underline;}
.lrpf-toc__empty{color:#9aa1a8;font-size:13px;}

/* ===== Share ===== */
.lrpf-share{display:flex;gap:10px;flex-wrap:wrap;}
.lrpf-share__button{display:inline-block;background:#394049;color:#fff;padding:8px 16px;border-radius:5px;text-decoration:none;font-size:13px;font-weight:600;transition:filter .2s;}
.lrpf-share__button:hover{filter:brightness(1.12);color:#fff;}

/* ===== Blockquote ===== */
.lrpf-blockquote{border-left:5px solid #00A499;margin:0;padding:14px 22px;background:#fafbfb;border-radius:0 8px 8px 0;}
.lrpf-blockquote__text{margin:0;font-size:19px;font-style:italic;color:#394049;line-height:1.55;}
.lrpf-blockquote__author{display:block;margin-top:10px;font-size:14px;color:#8C4799;font-style:normal;font-weight:600;}

/* ===== Nav menu ===== */
.lrpf-nav{position:relative;}
.lrpf-nav__list{list-style:none;margin:0;padding:0;display:flex;gap:4px;}
.lrpf-nav--vertical .lrpf-nav__list{flex-direction:column;}
.lrpf-nav__list li{position:relative;}
.lrpf-nav__list a{display:block;padding:10px 14px;text-decoration:none;color:#394049;font-weight:500;}
.lrpf-nav__list a:hover{color:#00A499;}
.lrpf-nav .sub-menu{list-style:none;margin:0;padding:6px 0;position:absolute;top:100%;left:0;min-width:210px;background:#fff;box-shadow:0 6px 20px rgba(57,64,73,.18);border-radius:6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;z-index:100;}
.lrpf-nav__list li:hover > .sub-menu,.lrpf-nav__list li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.lrpf-nav .sub-menu .sub-menu{top:0;left:100%;}
.lrpf-nav--vertical .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:16px;}
.lrpf-nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.lrpf-nav__toggle span{display:block;width:26px;height:3px;background:#394049;border-radius:2px;transition:.25s;}
.lrpf-nav.is-open .lrpf-nav__toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.lrpf-nav.is-open .lrpf-nav__toggle span:nth-child(2){opacity:0;}
.lrpf-nav.is-open .lrpf-nav__toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.lrpf-nav.is-open .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:16px;}

/* ===== Login ===== */
.lrpf-login form p{margin:0 0 14px;}
.lrpf-login label{display:block;font-weight:600;color:#394049;margin-bottom:5px;font-size:14px;}
.lrpf-login input[type=text],.lrpf-login input[type=password]{width:100%;border:1px solid #cfd4d9;border-radius:5px;padding:10px 12px;box-sizing:border-box;}
.lrpf-login input[type=submit]{border:0;border-radius:5px;background:#00A499;color:#fff;padding:11px 28px;font-weight:600;cursor:pointer;}
.lrpf-login__lost{font-size:13px;color:#498BCA;}
.lrpf-login--logged{padding:12px 16px;background:#f0f9f8;border-left:4px solid #00A499;border-radius:4px;}

/* ===== Search form ===== */
.lrpf-search-form{display:flex;gap:8px;}
.lrpf-search-form input[type=search]{flex:1;border:1px solid #cfd4d9;border-radius:5px;padding:10px 12px;}
.lrpf-search-form button{border:0;border-radius:5px;background:#00A499;color:#fff;padding:10px 20px;font-weight:600;cursor:pointer;}

/* ===== Widgets de tema ===== */
.lrpf-post-info{color:#7a828a;font-size:14px;}
.lrpf-post-info a{color:#00A499;text-decoration:none;}
.lrpf-post-info__sep{opacity:.55;margin:0 2px;}
.lrpf-author-box{display:flex;gap:18px;align-items:flex-start;background:#fafbfb;border:1px solid #e2e5e8;border-radius:8px;padding:20px;}
.lrpf-author-box__avatar img{border-radius:50%;}
.lrpf-author-box__name{font-weight:700;font-size:17px;color:#394049;}
.lrpf-author-box__name a{color:#00A499;text-decoration:none;}
.lrpf-author-box__bio{font-size:14px;color:#4d545c;margin-top:6px;}
.lrpf-post-nav{display:flex;justify-content:space-between;gap:16px;}
.lrpf-post-nav a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:#00A499;}
.lrpf-post-nav__next{text-align:right;}
.lrpf-post-nav__label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#7a828a;}
.lrpf-post-nav__title{font-weight:600;color:#394049;}
.lrpf-breadcrumbs{font-size:13px;color:#7a828a;}
.lrpf-breadcrumbs a{color:#00A499;text-decoration:none;}
.lrpf-breadcrumbs__sep{margin:0 4px;opacity:.6;}
.lrpf-site-logo img{max-width:100%;height:auto;display:inline-block;}
.lrpf-site-logo__fallback{font-weight:800;font-size:22px;color:#394049;}

/* ===== Sticky ===== */
.lrpf-sticky.lrpf-is-stuck{position:fixed!important;z-index:9998;left:0;right:0;width:100%!important;max-width:100%;}
body.admin-bar .lrpf-sticky.lrpf-is-stuck[data-lrpf-sticky="top"]{margin-top:32px;}

/* ===== Loop Grid (v1.1.0) ===== */
.lrpf-loop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lrpf-loop-grid__item{min-width:0;}
.lrpf-loop-grid__item .elementor{height:100%;}
@media (max-width:1024px){.lrpf-loop-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:767px){.lrpf-loop-grid{grid-template-columns:1fr;}}

/* ===== Loop Grid v1.4.0: masonry + paginación ===== */
.lrpf-loop-grid--masonry{grid-auto-rows:8px;row-gap:0;align-items:start;}
.lrpf-loop-grid--masonry .lrpf-loop-grid__item{height:auto;}
.lrpf-posts__pagination--pn{display:flex;justify-content:space-between;margin-top:28px;}
.lrpf-loop-grid__more-wrap{text-align:center;margin-top:28px;}
.lrpf-loop-grid__more{background:#EA7600;color:#fff;border:0;padding:12px 32px;border-radius:4px;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s;}
.lrpf-loop-grid__more:hover{background:#00A499;}
.lrpf-loop-grid__more:disabled{opacity:.6;cursor:wait;}
.lrpf-loop-grid__sentinel{height:1px;}

/* ===== Loop Carousel v1.5.0 ===== */
.lrpf-loop-carousel{position:relative;padding:0 44px;}
.lrpf-loop-carousel .swiper{padding-bottom:36px;}
.lrpf-loop-carousel .swiper-button-prev,.lrpf-loop-carousel .swiper-button-next{color:#EA7600;width:32px;}
.lrpf-loop-carousel .swiper-button-prev{left:0;}
.lrpf-loop-carousel .swiper-button-next{right:0;}
.lrpf-loop-carousel .swiper-button-prev:after,.lrpf-loop-carousel .swiper-button-next:after{font-size:26px;font-weight:700;}
.lrpf-loop-carousel .swiper-pagination-bullet-active{background:#EA7600;}
@media (max-width:767px){.lrpf-loop-carousel{padding:0 34px;}}

/* ===== Loop Grid v1.6.4: paginación numerada AJAX ===== */
.lrpf-loop-grid__pagination-ajax{transition:opacity .2s;}
.lrpf-loop-grid__pagination-ajax a.page-numbers{cursor:pointer;}
.lrpf-posts__pagination .page-numbers.dots{border:0;padding:6px 4px;color:#8c8f94;}
