.fxp,.fxp-bar,.fxp-panel{--r:#E4032E;--b:#4A2B1F;--m:#8A7565;--cream:#FCF4EE;--line:#E8DDD2;font-family:Outfit,sans-serif;color:var(--b)}
.fxp *,.fxp-panel *{box-sizing:border-box}
.fxp a{text-decoration:none;color:inherit}
[hidden]{display:none!important}
.fxp h1,.fxp h2,.fxp h3{font-family:'Playfair Display',serif;font-weight:700;margin:0;color:var(--b)}
.fxp-wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Botones */
.fxp-btn{display:inline-block;border:1.5px solid var(--r);border-radius:40px;background:var(--r);color:#fff!important;font:500 14px Outfit,sans-serif;padding:13px 28px;cursor:pointer;text-align:center;transition:.15s}
.fxp-btn:hover{background:#c40227;border-color:#c40227}
.fxp-btn--o{background:transparent;border-color:#fff}.fxp-btn--o:hover{background:#fff;color:var(--b)!important;border-color:#fff}
.fxp-btn--soft{background:#FCE6D0;border-color:#FCE6D0;color:var(--b)!important}.fxp-btn--soft:hover{background:#f6d6b6;border-color:#f6d6b6}
.fxp-btn--sel{margin-top:24px;background:#fff;color:var(--r)!important}.fxp-btn--sel:hover{background:var(--r);color:#fff!important}
.fxp-btn--sel.is-on{background:var(--r);color:#fff!important}

/* Filtros y grilla */
.fxp-filtros{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1140px;margin:0 auto 40px;padding:0 24px}
.fxp-pill{font:500 13px Outfit,sans-serif;color:var(--b);background:transparent;border:1px solid #CDBFB2;border-radius:40px;padding:10px 20px;cursor:pointer;transition:.15s}
.fxp-pill:hover{border-color:var(--r);color:var(--r)}.fxp-pill.is-on{background:#fff;border-color:#fff;color:var(--r);box-shadow:0 6px 16px -10px rgba(74,43,31,.4)}
.fxp-pill:focus-visible,.fxp-add:focus-visible{outline:2px solid var(--b);outline-offset:2px}
.fxp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1500px;margin:0 auto;padding:0 clamp(16px,3.2vw,50px)}.fxp-wrap .fxp-grid{padding:0}
.fxp-card{position:relative;aspect-ratio:.69;overflow:hidden;background:#3a2218}
.fxp-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fxp-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(55,42,32,.82) 0,rgba(55,42,32,.45) 38%,rgba(55,42,32,0) 68%)}
.fxp-card__link{position:absolute;inset:0;z-index:1}
.fxp-card__over{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;pointer-events:none}
.fxp-card h3{font-size:clamp(20px,2.1vw,30px);line-height:1.12;color:#fff}.fxp-card__sub{margin:0;color:#fff;font-size:clamp(13px,1.1vw,16px);font-weight:300}
.fxp-add{margin-top:12px;pointer-events:auto;position:relative;z-index:3;border:0;border-radius:40px;background:var(--r);color:#fff;font:500 13px Outfit,sans-serif;padding:9px 22px;cursor:pointer;transition:.15s}
.fxp-add:hover{background:#c40227}.fxp-add.is-on{background:#fff;color:var(--r)}
.fxp-vacio{text-align:center;color:var(--m);margin:24px 0}

/* Ficha */
.fxp-single{background:#FFFDF9}
.fxp-hero{display:flex;align-items:center;justify-content:center;min-height:300px;padding:120px 24px 60px;background:linear-gradient(rgba(30,12,6,.55),rgba(30,12,6,.55)),var(--bg,none) center/cover #4A2B1F}
.fxp-hero__t{margin:0;color:#fff;font:400 clamp(34px,5vw,56px)/1.1 Outfit,sans-serif;letter-spacing:.04em;text-transform:uppercase;text-align:center}
.fxp-bc{font-size:11.5px;color:var(--m);padding:16px 0 20px}.fxp-bc a:hover{text-decoration:underline}.fxp-bc b{font-weight:400;color:var(--b)}
.fxp-main{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.fxp-pic{background:#fff;border:1px solid var(--line);padding:24px}.fxp-pic img{display:block;width:100%;height:auto}
.fxp-tag{margin:0 0 8px;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--r)}
.fxp-info h1{font-size:clamp(30px,3.4vw,40px);line-height:1.1}
.fxp-sub{margin:10px 0 0;font-size:16px;font-weight:300}
.fxp-rule{display:flex;align-items:center;gap:12px;color:var(--r);margin:22px 0}.fxp-rule i{flex:1;height:2px;background:var(--r)}.fxp-rule svg{width:22px;height:22px;animation:fxpbeat 1.4s ease-in-out infinite}
.fxp-desc{font-size:14.5px;font-weight:300;line-height:1.7}.fxp-desc p{margin:0 0 14px}
.fxp-specs{margin:22px 0 0;border-top:1px solid var(--line)}
.fxp-specs div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.fxp-specs dt{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--m);padding-top:2px}.fxp-specs dd{margin:0}
.fxp-cta{margin:56px 0 64px;padding:34px 36px;background:#4F2A1D;color:#fff}
.fxp-cta h2{color:#fff;font-size:26px;margin-bottom:10px}.fxp-cta p{margin:0 0 22px;font-size:14px;font-weight:300;color:#EBDDD3;max-width:560px}
.fxp-cta div{display:flex;flex-wrap:wrap;gap:12px}
.fxp-rel{background:var(--cream);padding:64px 0}
.fxp-rel h2{text-align:center;color:var(--r);font-size:38px;margin-bottom:34px}
.fxp-center{text-align:center;margin:36px 0 0}

/* Barra flotante y panel de selección */
.fxp-bar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:9998;display:flex;align-items:center;gap:12px;padding:12px 22px;border:0;border-radius:40px;background:#4F2A1D;color:#fff;font:500 14px Outfit,sans-serif;cursor:pointer;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
.fxp-bar b{min-width:24px;height:24px;display:grid;place-items:center;border-radius:12px;background:var(--r);font-size:12px}
.fxp-panel{position:fixed;inset:0;z-index:9999}
.fxp-panel__bg{position:absolute;inset:0;background:rgba(30,12,6,.5)}
.fxp-panel aside{position:absolute;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:#fff;display:flex;flex-direction:column;outline:0}
.fxp-panel header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.fxp-panel h2{font:700 22px 'Playfair Display',serif;margin:0}
.fxp-panel header button{border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--b)}
.fxp-list{list-style:none;margin:0;padding:8px 24px;flex:1;overflow:auto}
.fxp-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.fxp-list img{width:48px;height:48px;object-fit:cover;flex:none}
.fxp-list span{flex:1;display:flex;flex-direction:column;font-size:14px}.fxp-list small{color:var(--m);font-size:11.5px}
.fxp-list li button{border:0;background:none;font-size:22px;color:var(--m);cursor:pointer}
.fxp-empty{padding:24px;color:var(--m);margin:0;flex:1}
.fxp-panel footer{display:flex;flex-direction:column;gap:10px;padding:20px 24px;border-top:1px solid var(--line);background:var(--cream)}
.fxp-panel footer p{margin:0 0 4px;font-size:13px;font-weight:500}
.fxp-panel .fxp-btn--o{color:var(--b)!important;border-color:var(--b)}.fxp-panel .fxp-btn--o:hover{background:var(--b);color:#fff!important}
.fxp-clear{border:0;background:none;color:var(--m);font:13px Outfit,sans-serif;text-decoration:underline;cursor:pointer;padding:6px}

@keyframes fxpbeat{0%{scale:1}14%{scale:1.3}28%{scale:1}42%{scale:1.22}70%,100%{scale:1}}
@media(prefers-reduced-motion:reduce){.fxp-rule svg{animation:none}}
@media(max-width:1000px){.fxp-grid{grid-template-columns:repeat(2,1fr)}.fxp-main{grid-template-columns:1fr;gap:32px}}
@media(max-width:640px){.fxp-hero{min-height:240px;padding:100px 20px 40px}.fxp-cta{padding:26px 22px}.fxp-specs div{grid-template-columns:110px 1fr}.fxp-rel h2{font-size:30px}.fxp-card h3{font-size:18px}.fxp-card__over{padding:14px}.fxp-grid{gap:12px;padding:0 16px}.fxp-bar{bottom:14px}}
