/* Minimal FarmPress styles (new implementation).
   Legacy styles in farmpress-farmml-modal.css remain for rollback but are no longer required for new module.
   KEEP THIS FILE LIGHT. */

/* Do NOT aggressively hide original farmml elements; JS replaces them quickly.
   If brief flash is unacceptable, uncomment the lighter visibility rule below. */
/* farmml\:cite, farmml-cite { visibility:hidden; } */

.fp-container { display:inline; position:relative; vertical-align:baseline; }

.fp-info-btn {
    background: #3f5b6a;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 1.6rem;
    height: 1.6rem;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin-left: 0.35rem;
    padding: 0;
    box-sizing: border-box;
    transition: background .18s ease, transform .18s ease;
}
    .fp-info-btn:hover {
        background: #8c2232;
    }
.fp-info-btn:active { transform:scale(.92); }
.fp-info-btn:focus-visible { outline:2px solid #00395d; outline-offset:2px; }
.fp-i { pointer-events:none; }

/* Popup overlay */
.fp-popup-overlay { position:fixed; inset:0; background:rgba(0,0,0,.42); display:flex; align-items:center; justify-content:center; z-index:1000; opacity:0; transition:opacity .15s ease; padding:1rem; }
.fp-popup-overlay.open { opacity:1; }

.fp-popup { background:#fff; max-width:480px; width:calc(100% - 2rem); border-radius:6px; box-shadow:0 4px 18px rgba(0,0,0,.18); animation:fpIn .18s ease; display:flex; flex-direction:column; }
.fp-popup-header { display:flex; align-items:center; justify-content:space-between; padding:.75rem 1rem .5rem 1rem; border-bottom:1px solid #e5e5e5; }
.fp-popup-title { margin:0; font-size:1.05rem; font-weight:600; color:#1f2937; }
.fp-popup-close { background:none; border:none; font-size:1.25rem; line-height:1; cursor:pointer; padding:.25rem; border-radius:4px; color:#555; }
.fp-popup-close:hover { background:#f1f1f1; }
.fp-popup-close:focus-visible { outline:2px solid #005e9e; outline-offset:2px; }
.fp-popup-body { padding:1rem; font-size:.9rem; line-height:1.45; color:#333; max-height:60vh; overflow:auto; }

@keyframes fpIn { from { transform:translateY(8px); opacity:0;} to { transform:translateY(0); opacity:1;} }

@media (max-width:640px){
  .fp-popup { max-width:100%; }
  .fp-info-btn { width:1.4rem; height:1.4rem; font-size:.75rem; }
  .fp-popup-body { max-height:70vh; }
}
