.foufe-wrap {
  box-sizing: border-box;
  margin: 1rem 0;
}
.foufe-wrap *,
.foufe-wrap *::before,
.foufe-wrap *::after {
  box-sizing: border-box;
}
.foufe-form,
.foufe-dashboard {
  max-width: 860px;
  padding: 1.25rem;
  border: 1px solid #dcdcde;
  border-radius: 8px;
  background: #fff;
}
.foufe-form__header h3,
.foufe-dashboard__header h3 {
  margin: 0 0 .35rem;
}
.foufe-form__description,
.foufe-dashboard__header p {
  margin: 0 0 1rem;
}
.foufe-field {
  margin-bottom: 1rem;
}
.foufe-field__label {
  display: block;
  margin-bottom: .4rem;
  font-weight: 600;
}
.foufe-wrap input[type="text"],
.foufe-wrap textarea,
.foufe-wrap select {
  width: 100%;
  padding: .7rem .8rem;
  border: 1px solid #8c8f94;
  border-radius: 6px;
  background: #fff;
}
.foufe-wrap textarea {
  min-height: 150px;
  resize: vertical;
}
.foufe-field__error {
  margin: .35rem 0 0;
  color: #b32d2e;
}
.foufe-field__hint {
  margin: .45rem 0 0;
  color: #50575e;
  font-size: .92rem;
}
.foufe-media-picker {
  display: grid;
  gap: .65rem;
  max-width: 320px;
  padding: .9rem;
  border: 1px solid #dcdcde;
  border-radius: 4px;
  background: #fff;
}
.foufe-media-picker__preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  padding: .75rem;
  border: 1px solid #c3c4c7;
  border-radius: 2px;
  background: #f6f7f7;
  color: #50575e;
}
.foufe-media-picker__preview.is-filled {
  background: #fff;
}
.foufe-media-picker__empty {
  font-size: .93rem;
}
.foufe-media-picker__preview img {
  display: block;
  max-width: 100%;
  max-height: 220px;
  height: auto;
  border-radius: 2px;
}
.foufe-media-picker__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .45rem;
}
.foufe-media-picker__link {
  padding: 0;
  border: 0;
  background: transparent;
  color: #2271b1;
  cursor: pointer;
  text-decoration: none;
  font-size: .92rem;
}
.foufe-media-picker__link:hover,
.foufe-media-picker__link:focus {
  color: #135e96;
  text-decoration: underline;
}
.foufe-media-picker__remove.is-hidden {
  display: none;
}
.foufe-editor-wrap .wp-editor-wrap {
  border-radius: 6px;
}
.foufe-editor-wrap .wp-editor-container textarea.wp-editor-area {
  min-height: 240px;
}
.foufe-editor-wrap .quicktags-toolbar,
.foufe-editor-wrap .mce-toolbar-grp {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.foufe-editor-wrap .wp-editor-container {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  overflow: hidden;
}
.foufe-field--checkbox label {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-weight: 600;
}
.foufe-field--checkbox input[type="checkbox"] {
  width: auto;
}
.foufe-field--error input,
.foufe-field--error textarea {
  border-color: #b32d2e;
}
.foufe-button {
  display: inline-block;
  padding: .8rem 1.15rem;
  border: 0;
  border-radius: 6px;
  background: #2271b1;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
}
.foufe-button--secondary {
  background: #50575e;
}
.foufe-button--danger {
  background: #b32d2e;
}
.foufe-notice {
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border-left: 4px solid #72aee6;
  background: #f6f7f7;
}
.foufe-notice--success {
  border-left-color: #00a32a;
}
.foufe-notice--warning {
  border-left-color: #dba617;
}
.foufe-notice--error {
  border-left-color: #d63638;
}
.foufe-dashboard__filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  align-items: end;
  margin-bottom: 1rem;
}
.foufe-dashboard__filters label span {
  display: block;
  margin-bottom: .35rem;
  font-weight: 600;
}
.foufe-dashboard__list {
  display: grid;
  gap: 1rem;
}
.foufe-dashboard-card {
  border: 1px solid #dcdcde;
  border-radius: 8px;
  padding: 1rem;
  background: #fff;
}
.foufe-dashboard-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: .5rem;
}
.foufe-dashboard-card__status,
.foufe-dashboard-card__type {
  display: inline-block;
  padding: .2rem .5rem;
  border-radius: 999px;
  background: #f0f0f1;
  font-size: .85rem;
}
.foufe-dashboard-card__status--publish {
  background: #edfaef;
}
.foufe-dashboard-card__status--pending {
  background: #fff8e5;
}
.foufe-dashboard-card__status--draft {
  background: #f0f6fc;
}
.foufe-dashboard-card__title {
  margin: 0 0 .35rem;
}
.foufe-dashboard-card__date {
  margin: 0 0 1rem;
  color: #50575e;
  font-size: .92rem;
}
.foufe-dashboard-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.foufe-dashboard__pagination {
  margin-top: 1rem;
}
.foufe-dashboard__pagination .page-numbers {
  display: inline-block;
  margin-right: .4rem;
  padding: .4rem .65rem;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  text-decoration: none;
}
.foufe-dashboard__pagination .current {
  background: #2271b1;
  color: #fff;
  border-color: #2271b1;
}
@media (max-width: 640px) {
  .foufe-form,
  .foufe-dashboard {
    padding: 1rem;
  }
  .foufe-dashboard-card__actions {
    flex-direction: column;
  }
  .foufe-button {
    text-align: center;
  }
}
.foufe-wrap input[type="email"],
.foufe-wrap input[type="password"] {
  width: 100%;
  padding: .7rem .8rem;
  border: 1px solid #8c8f94;
  border-radius: 6px;
  background: #fff;
}
.foufe-account {
  max-width: 980px;
  padding: 1.25rem;
  border: 1px solid #dcdcde;
  border-radius: 8px;
  background: #fff;
}
.foufe-account__header h3 {
  margin: 0 0 .35rem;
}
.foufe-account__header p {
  margin: 0 0 1rem;
}
.foufe-account-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.foufe-account-card {
  border: 1px solid #dcdcde;
  border-radius: 8px;
  padding: 1rem;
  background: #fff;
}
.foufe-account-card h4 {
  margin-top: 0;
}
.foufe-account-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.foufe-account-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid #f0f0f1;
}
.foufe-account-list li:last-child {
  border-bottom: 0;
}
.foufe-account-card__header-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
}
.foufe-account-card__header-inline h4 {
  margin: 0;
}
.foufe-subscriptions {
  max-width: 1100px;
  padding: 1.25rem;
  border: 1px solid #dcdcde;
  border-radius: 8px;
  background: #fff;
}
.foufe-subscriptions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}
.foufe-subscription-card {
  border: 1px solid #dcdcde;
  border-radius: 8px;
  padding: 1rem;
  background: #fff;
}
.foufe-subscription-card__title {
  margin: 0 0 .35rem;
}
.foufe-subscription-card__price {
  margin: 0 0 .75rem;
  font-size: 1.15rem;
  font-weight: 700;
}
.foufe-subscription-card__description {
  margin-bottom: .75rem;
}
.foufe-subscription-card__actions {
  margin-top: 1rem;
}
.foufe-subscription-card__hint {
  margin: .65rem 0 0;
  color: #50575e;
  font-size: .92rem;
}
.foufe-subscription-card__meta {
  list-style: none;
  margin: 0;
  padding: 0;
}
.foufe-subscription-card__meta li {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding: .45rem 0;
  border-bottom: 1px solid #f0f0f1;
}
.foufe-subscription-card__meta li:last-child {
  border-bottom: 0;
}
@media (max-width: 640px) {
  .foufe-account-card__header-inline,
  .foufe-subscription-card__meta li {
    flex-direction: column;
    align-items: flex-start;
  }
}


.foufe-restriction-notice {
    margin-top: 1rem;
}

.foufe-restriction-teaser {
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #d1d5db;
}

.foufe-restriction-cta {
    margin-top: 0.75rem;
}
