/* FITNESS PRO 13.2 — selector de planes, diseño móvil con controles táctiles */
.fp-studio{margin:12px 0 21px;background:white;border:1px solid #dceae5;border-radius:25px;padding:23px;box-shadow:0 10px 30px #0a2d3a13;scroll-margin-top:25px}
.fp-studio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.fp-studio-eyebrow{font-size:10px;letter-spacing:.13em;color:#128b70;font-weight:900}
.fp-studio-head h2{font-size:clamp(21px,3.8vw,29px);line-height:1.14;letter-spacing:-.03em;color:#102d3e;margin:6px 0}.fp-studio-head p{font-size:12px;color:#617882;max-width:470px;margin:4px 0 0;line-height:1.55}
.fp-soft-button{cursor:pointer;flex-shrink:0;background:#f0f7f5;border:1px solid #d2e8df;border-radius:13px;padding:12px 13px;color:#174e46;font-weight:800;font-size:12px;min-height:45px}
.fp-soft-button:focus-visible,.fp-choice:focus-visible,.fp-pack:focus-visible,.fp-cta:focus-visible,.fp-ex-choice:focus-within{outline:3px solid #45bb98;outline-offset:2px}
.fp-studio-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px}.fp-choice{cursor:pointer;border:1.5px solid #dce7e5;border-radius:17px;background:#f7fafb;min-height:133px;padding:15px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;color:#243f4a}.fp-choice>span{font-size:28px}.fp-choice strong{font-size:14px;color:#173c3a}.fp-choice small{font-size:11px;line-height:1.5;color:#667c82}.fp-choice.active{border-color:#0f977b;background:#edfaf2;box-shadow:0 0 0 2px #20a9871d}.fp-choice.active:after{content:'✓ Elegido';color:#08664f;font-size:11px;font-weight:900;margin-top:3px}
.fp-studio-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.fp-studio-packs[hidden],.fp-studio-manual[hidden]{display:none!important}.fp-pack{border:1px solid #d7e7e1;background:#fff;border-radius:14px;padding:14px 11px;text-align:left;display:grid;gap:7px;cursor:pointer;min-height:105px}.fp-pack strong{font-size:12px;color:#123a31}.fp-pack span{font-size:11px;color:#5b737c;line-height:1.4}.fp-pack small{font-size:10px;font-weight:900;color:#087a68}
.fp-studio-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.fp-studio-settings label{font-size:11px;font-weight:850;color:#33535a}.fp-studio-settings select{display:block;width:100%;margin-top:8px;border:1px solid #d0e1dd;border-radius:12px;background:#fbfefd;color:#1b3d45;min-height:46px;padding:9px 7px;font-size:13px;max-width:100%}
.fp-studio-manual{margin:17px 0 0;padding:16px;border-radius:16px;border:1px solid #e0e9e5;background:#f7fbf9}.fp-studio-manual h3{font-size:15px;color:#1b4e42;margin:0 0 5px}.fp-studio-manual p{font-size:11px;color:#667a77;line-height:1.5;margin:0 0 12px}.fp-studio-exercises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:285px;overflow:auto}.fp-ex-choice{display:flex;gap:8px;background:white;border:1px solid #deeae5;border-radius:10px;padding:10px;cursor:pointer;align-items:flex-start}.fp-ex-choice input{margin-top:3px;width:18px;height:18px;accent-color:#17876e;flex:0 0 18px}.fp-ex-choice strong{font-size:11px;color:#203f3d;display:block}.fp-ex-choice small{font-size:10px;color:#809390;line-height:1.2}.fp-studio-selected{margin-top:12px;padding:10px;border-radius:11px;background:#eaf4ee;color:#1d6151;font-size:11px;line-height:1.55}
.fp-studio-bottom{background:#f3f9f6;margin-top:14px;padding:15px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:14px}.fp-studio-bottom p{margin:0;color:#295248;font-size:12px;line-height:1.5;flex:1}.fp-studio-buttons{display:flex;align-items:center;gap:8px}.fp-cta{background:#bcf478;color:#0a3724;border:0;border-radius:13px;padding:13px 15px;font-size:12px;font-weight:900;cursor:pointer;min-height:45px;white-space:nowrap}.fp-studio-disclaimer{font-size:10px;line-height:1.5;color:#7c7770;margin:13px 0 0}.fp-training-quick{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #cae5dc;background:#f1fbf4;border-radius:17px;padding:14px;margin:0 0 15px}.fp-training-quick b{font-size:13px;color:#185343}.fp-training-quick p{font-size:11px;color:#55796b;margin:4px 0 0}.fp-training-quick button{flex-shrink:0;min-height:44px}.fp-reset-panel .button-row{margin:12px 0;gap:8px}
@media(max-width:1100px){.fp-studio-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-studio-exercises{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-studio-bottom{flex-direction:column;align-items:stretch}}
@media(max-width:680px){.fp-studio{padding:15px 12px;margin:8px 0 16px;border-radius:19px}.fp-studio-head{flex-direction:column;gap:8px}.fp-studio-head h2{font-size:23px}.fp-studio-head>.fp-soft-button{align-self:flex-start}.fp-choice{padding:11px;min-height:149px}.fp-choice strong{font-size:12px}.fp-choice small{font-size:10px}.fp-studio-packs{grid-template-columns:1fr;gap:6px}.fp-pack{min-height:0;grid-template-columns:1fr;gap:2px;padding:10px 13px}.fp-studio-settings{gap:9px}.fp-studio-settings label{font-size:10px}.fp-studio-settings select{font-size:12px}.fp-studio-exercises{grid-template-columns:1fr 1fr;max-height:240px}.fp-ex-choice{padding:9px 7px}.fp-studio-bottom{padding:12px;gap:11px}.fp-studio-buttons{display:grid;grid-template-columns:1fr 1fr}.fp-studio-buttons>*{white-space:normal;padding:12px 8px;font-size:11px}.fp-training-quick{flex-direction:column;align-items:stretch}.fp-training-quick button{width:100%}.fp-reset-panel .button-row{display:grid;grid-template-columns:1fr}}

.fp-mealtimes{margin:13px 0;border:1px solid #dbe9e5;border-radius:14px;background:#fbfefd;padding:12px 13px}.fp-mealtimes summary{font-size:12px;font-weight:900;color:#1e5449;cursor:pointer;min-height:29px}.fp-mealtimes summary small{font-size:10px;color:#738b87;font-weight:500}.fp-time-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:13px 0}.fp-time-grid label{font-size:11px;font-weight:800;color:#355f5b}.fp-time-grid input{display:block;width:100%;min-height:44px;border:1px solid #cfe3db;border-radius:10px;background:#fff;margin-top:6px;padding:8px;font-size:12px}.fp-mealtimes p{color:#647a75;font-size:10px;line-height:1.5;margin-bottom:0}@media(max-width:900px){.fp-time-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:440px){.fp-time-grid{grid-template-columns:repeat(2,1fr)}}
