/* ========== LFB Minimal Admin + Front styles ========== */

/* Tabs */
.lfb-tabs { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:0; overflow:hidden; }
.lfb-tabs-nav { display:flex; gap:0; border-bottom:1px solid #e5e7eb; background:#f8fafc; margin:0; padding:0; list-style:none; }
.lfb-tabs-nav li { margin:0; }
.lfb-tabs-nav a { display:block; padding:12px 16px; text-decoration:none; color:#111; }
.lfb-tabs .ui-tabs-active a { background:#fff; border-bottom:2px solid #2eb59f; }

.lfb-tab { padding:16px; }
.lfb-field { display:block; margin:12px 0; }
.lfb-field input[type="text"],
.lfb-field input[type="url"],
.lfb-field input[type="number"],
.lfb-field textarea,
.lfb-field select {
  width: 100%;
  max-width: 640px;
}
.lfb-field small { display:block; color:#64748b; margin-top:4px; }

.lfb-grid-2 { display:grid; grid-template-columns: repeat(2, minmax(240px,1fr)); gap:16px; }
@media (max-width: 900px){ .lfb-grid-2 { grid-template-columns: 1fr; } }

/* Color fields */
.lfb-color { max-width: 160px; }

/* Frontend: wrapper + button */
.lfb-pro-wrapper { position: fixed; z-index: var(--lfb-z,9999); }
.lfb-pro-wrapper.top-left     { top:   var(--lfb-edge,24px); left:  var(--lfb-edge,24px); }
.lfb-pro-wrapper.top-center   { top:   var(--lfb-edge,24px); left:  50%; transform: translateX(-50%); }
.lfb-pro-wrapper.top-right    { top:   var(--lfb-edge,24px); right: var(--lfb-edge,24px); }
.lfb-pro-wrapper.middle-left  { top:   50%; transform: translateY(-50%); left: var(--lfb-edge,24px); }
.lfb-pro-wrapper.middle-right { top:   50%; transform: translateY(-50%); right:var(--lfb-edge,24px); }
.lfb-pro-wrapper.bottom-left  { bottom:var(--lfb-edge,24px); left:  var(--lfb-edge,24px); }
.lfb-pro-wrapper.bottom-center{ bottom:var(--lfb-edge,24px); left:  50%; transform: translateX(-50%); }
.lfb-pro-wrapper.bottom-right { bottom:var(--lfb-edge,24px); right: var(--lfb-edge,24px); }

.lfb-pro { display:inline-flex; align-items:center; gap:10px; text-decoration:none; background:var(--lfb-bg,#111); color:var(--lfb-text,#fff); padding: var(--lfb-py,12px) var(--lfb-px,18px); border-radius: var(--lfb-radius,50px); box-shadow:none; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.lfb-pro i { font-size: var(--lfb-ic,20px); color: var(--lfb-icon,#fff); line-height: 1; }
.lfb-pro:hover { background: var(--lfb-primary,#2eb59f); }
.lfb-shadow .lfb-pro { box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.lfb-pro span { font-weight:500; }

/* Effects */
@keyframes lfb-bounce { 0%,20%,50%,80%,100% { transform: translateY(0);} 40% { transform: translateY(-6px);} 60% { transform: translateY(-3px);} }
@keyframes lfb-swing  { 20% { transform: rotate3d(0,0,1,15deg);} 40% { transform: rotate3d(0,0,1,-10deg);} 60% { transform: rotate3d(0,0,1,5deg);} 80% { transform: rotate3d(0,0,1,-5deg);} 100% { transform: rotate3d(0,0,1,0);} }
@keyframes lfb-pulse  { 0%{ transform: scale(1);} 50%{ transform: scale(1.05);} 100%{ transform: scale(1);} }

.lfb-effect-bounce .lfb-pro { animation: lfb-bounce 2s infinite; }
.lfb-effect-swing  .lfb-pro { animation: lfb-swing  2.2s infinite; transform-origin: top center; }
.lfb-effect-pulse  .lfb-pro { animation: lfb-pulse  1.5s infinite; }

/* Modal */
.lfb-modal { position: fixed; inset: 0; display:none; z-index: calc(var(--lfb-z,9999) + 1); }
.lfb-modal .lfb-backdrop { position:absolute; inset:0; background: rgba(0,0,0,.45); }
.lfb-modal .lfb-dialog { position: fixed; left:50%; top:50%; transform: translate(-50%,-50%); width:min(550px,92%); max-height: 85vh; overflow:auto; background:#fff; border-radius:16px; padding:18px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.lfb-modal .lfb-close { position:absolute; right:10px; top:6px; background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:4px 10px; cursor:pointer; }
.lfb-content { font-size:14px; color:#111; }
.lfb-content .lfb-row { margin:10px 0; display:flex; flex-direction:column; }
.lfb-content input, .lfb-content textarea { width:100%; border:1px solid #e5e7eb; border-radius:8px; padding:8px; }
.lfb-privacy-line { margin-top:6px; }
.lfb-privacy-check { margin-top:6px; text-align:left; }
.lfb-submit-wrap { margin-top:8px; text-align:left; }
.lfb-btn { display:inline-block; padding:8px 14px; border-radius:10px; background: var(--lfb-primary,#2eb59f); color:#fff; border:none; cursor:pointer; }

@media (max-width: 640px){
  .lfb-pro-wrapper.hide-mobile { display:none!important; }
}
