
/* Modal + small UI helpers */
.fdf-select-ffl-trigger{ cursor:pointer; }
.fdf-select-ffl-trigger, .fdf-row button, .fdf-save-btn{ text-transform:none !important; }
.fdf-select-ffl-trigger{
  font-size:12px;
  padding:6px 10px;
}
.fdf-view-current-ffl{
  font-size:12px;
  text-decoration:underline;
  cursor:pointer;
}
.fdf-current-ffl-preview{
  width:100%;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid #e8e8e8;
  border-radius:12px;
  background:#fff;
  font-size:12px;
  color:#444;
}
/* When the button/link sits in a flex row (e.g., My Account actions), force the preview to wrap below */
.fdf-actions .fdf-current-ffl-preview{ flex-basis:100%; }
.fdf-current-ffl-preview .fdf-preview-line{ margin-top:4px; }
.fdf-modal-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:999999; display:none;
}
.fdf-modal{
  position:fixed; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(960px, calc(100% - 32px)); max-height:calc(100% - 80px);
  background:#fff; border-radius:12px; z-index:1000000;
  display:none; overflow:hidden;
  /* Structure as header + scrollable body + fixed action bar */
  display:flex;
  flex-direction:column;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.fdf-modal header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid #e6e6e6;
}
.fdf-modal header h3{ margin:0; font-size:18px; line-height:1.2; }
.fdf-modal .fdf-close{
  appearance:none; border:0; background:transparent; font-size:26px; line-height:1; cursor:pointer;
}
.fdf-modal .fdf-body{
  padding:14px 16px;
  overflow:auto;
  flex:1;
  /* Let flexbox handle sizing so the action bar stays visible */
  max-height:none;
}
.fdf-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap:14px;
}
@media (max-width: 820px){
  .fdf-grid{ grid-template-columns:1fr; }
}
.fdf-card{
  border:1px solid #e8e8e8; border-radius:12px; padding:12px; background:#fafafa;
}
.fdf-row{ display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
.fdf-row label{ font-size:13px; display:block; margin-bottom:6px; }
.fdf-required{ color:#d63638; font-weight:700; }
.fdf-row input, .fdf-row select{
  padding:9px 10px; border:1px solid #d7d7d7; border-radius:10px; width:210px; max-width:100%;
}
.fdf-row .fdf-grow{ flex:1; min-width:240px; }
.fdf-row button{
  padding:10px 14px;
  border-radius:10px;
  cursor:pointer;
}
.fdf-row button:disabled{ opacity:.55; cursor:not-allowed; }
.fdf-helptext{ font-size:13px; color:#444; margin-top:10px; }
.fdf-results{ margin-top:12px; max-height:340px; overflow-y:auto; padding-right:6px; -webkit-overflow-scrolling:touch; }
.fdf-result{
  padding:10px; border:1px solid #e3e3e3; border-radius:10px; background:#fff; margin-bottom:10px; cursor:pointer;
}
.fdf-result:hover{ border-color:#2271b1; }
.fdf-result.fdf-selected{ border-color:#2271b1; box-shadow:0 0 0 2px rgba(34,113,177,.18); }
.fdf-result.fdf-default{ border-color:#2ea043; border-width:3px; box-shadow:0 0 0 2px rgba(46,160,67,.18); }
.fdf-result.fdf-default.fdf-selected{ border-color:#2ea043; border-width:3px; box-shadow:0 0 0 2px rgba(46,160,67,.18); }


/* On-file icon (document + green check) */
.fdf-onfile{
  display:inline-block;
  width:26px;
  height:26px;
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z%22%20stroke%3D%22%23555%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%0A%3Cpath%20d%3D%22M14%202v6h6%22%20stroke%3D%22%23555%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%0A%3Cpath%20d%3D%22M8.2%2014.6l2.0%202.0%205.2-5.2%22%20stroke%3D%22%232ea043%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%0A%3C/svg%3E');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  flex:0 0 auto;
}
.fdf-required{ color:#d63638; font-weight:700; }


/* Right-side map panel in the selector */
.fdf-map-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fdf-map-panel iframe{
  width:100%;
  height:340px;
  border:0;
  border-radius:12px;
  background:#fff;
}
.fdf-map-placeholder{
  padding:12px;
  border:1px dashed #d7d7d7;
  border-radius:12px;
  background:#fff;
  font-size:13px;
  color:#444;
}
.fdf-result .fdf-name{ font-weight:700; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fdf-account-wrap .fdf-help{ margin: 8px 0 14px; }
.fdf-account-wrap .fdf-card{ background:#fff; }
.fdf-ffl-lines{ margin-bottom:10px; }
.fdf-map iframe{ width:100%; height:320px; border:0; border-radius:12px; }
.fdf-actions{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; }

/* Action bar at bottom of the modal (always visible) */
.fdf-modal-actions{
  display:flex; gap:10px; align-items:center; justify-content:space-between;
  padding:12px 16px;
  border-top:1px solid #e6e6e6;
  background:#fff;
}
.fdf-actions-right{ display:flex; align-items:center; gap:10px; }
.fdf-save-infobox{
  max-width:520px;
  font-size:12px;
  color:#444;
  background:#f6f7f7;
  border:1px solid #e6e6e6;
  border-radius:10px;
  padding:8px 10px;
}
.fdf-selected-summary{ font-size:13px; color:#444; display:flex; gap:10px; align-items:flex-start; }
.fdf-selected-label{ font-weight:700; color:#111; white-space:nowrap; padding-top:2px; }
.fdf-selected-content{ flex:1; }
.fdf-selected-ffl-block{ line-height:1.25; }
.fdf-selected-ffl-line1{ margin-bottom:2px; }
.fdf-selected-ffl-line2{ margin-bottom:2px; }
.fdf-selected-ffl-line3 a{ text-decoration:underline; }

/* Default FFL block used under the Shipping box and other inline placements */
.fdf-default-ffl-block{ margin-top:10px; }
.fdf-default-ffl-title{ margin-bottom:4px; }
.fdf-default-ffl-lines{ line-height:1.25; }
.fdf-default-ffl-line1{ margin-bottom:2px; }
.fdf-default-ffl-line2{ margin-bottom:2px; }
.fdf-default-ffl-line3 a{ text-decoration:underline; }
.fdf-save-btn{
  padding:10px 14px;
  border-radius:10px;
  cursor:pointer;
}
.fdf-save-btn:disabled{ opacity:.55; cursor:not-allowed; }


/* In-Store Pickup shortcut button (small, no forced uppercase) */
.fdf-instore-pickup-btn{
  font-size:12px !important;
  padding:6px 10px !important;
  text-transform:none !important;
  line-height:1.2;
}
.fdf-instore-pickup-btn .fdf-instore-storelink{
  text-decoration:underline;
  cursor:pointer;
  font-weight:600;
}

/* My Account action buttons smaller */
.fdf-account-wrap .fdf-actions .button,
.fdf-account-wrap .fdf-actions button{
  font-size:12px !important;
  padding:6px 10px !important;
  text-transform:none !important;
}

/* My Store popup: show selected FFL block + small Change button */
.fdf-ms-selected-ffl{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #e8e8e8;
  border-radius:12px;
  background:#fff;
}
.fdf-ms-change-row{ margin-top:8px; }
.fdf-ms-change-btn{
  font-size:12px !important;
  padding:6px 10px !important;
  text-transform:none !important;
}
