/* FETYCI Branding Manager v6.3.0 */
:root { --fetyci-logo-url: url('/static/img/logo.png'); }

.fetyci-dynamic-logo,
img[data-fetyci-brand-logo] {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  object-position: center !important;
}

.footer-brand .fetyci-dynamic-logo,
.admin-brand .fetyci-dynamic-logo,
.ft-admin-mobile-brand .fetyci-dynamic-logo {
  display: inline-block;
  width: 34px;
  height: 34px;
  margin-right: 10px;
  vertical-align: middle;
  border-radius: 9px;
  object-fit: contain !important;
}

.footer-brand,
.admin-brand,
.ft-admin-mobile-brand {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}

body.ft-responsive-site main > section:nth-of-type(n+2) {
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

.fetyci-logo-nav-button { width: 100%; }

.fetyci-logo-manager {
  position: fixed;
  inset: 0;
  z-index: 120000;
  display: none;
  padding: 18px;
  overflow: auto;
  color: #202735;
  background: rgba(11, 16, 27, .56);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.fetyci-logo-manager.open { display: grid; place-items: start center; }
.fetyci-logo-dialog {
  width: min(1180px, 100%);
  margin: 22px auto;
  overflow: hidden;
  border: 1px solid rgba(35, 48, 63, .12);
  border-radius: 26px;
  background: #f8faf9;
  box-shadow: 0 30px 90px rgba(7, 12, 23, .30);
}
.fetyci-logo-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px;
  border-bottom: 1px solid rgba(35, 48, 63, .10);
  background: linear-gradient(135deg, #fff, #f0f4f2);
}
.fetyci-logo-head h2 { margin: 3px 0 6px; font-size: clamp(28px, 4vw, 44px); line-height: 1; }
.fetyci-logo-head p { max-width: 720px; margin: 0; color: #65706b; line-height: 1.55; }
.fetyci-logo-kicker { color: #9b7544; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.fetyci-logo-close {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(35, 48, 63, .12);
  border-radius: 14px;
  background: #fff;
  font-size: 24px;
  cursor: pointer;
}
.fetyci-logo-body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 22px;
  padding: 24px;
}
.fetyci-logo-panel {
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(35, 48, 63, .11);
  border-radius: 20px;
  background: rgba(255,255,255,.86);
}
.fetyci-logo-upload {
  display: grid;
  place-items: center;
  min-height: 96px;
  padding: 18px;
  border: 1.5px dashed rgba(64, 80, 97, .32);
  border-radius: 16px;
  background: #f8faf9;
  text-align: center;
  cursor: pointer;
}
.fetyci-logo-upload:hover,
.fetyci-logo-upload.dragover { border-color: #6c82d8; background: #f1f5ff; }
.fetyci-logo-upload input { display: none; }
.fetyci-logo-upload span { color: #65706b; font-size: 12px; line-height: 1.45; }

.fetyci-crop-stage {
  position: relative;
  width: min(100%, 560px);
  aspect-ratio: 1;
  margin: 18px auto;
  overflow: hidden;
  border-radius: 20px;
  background:
    linear-gradient(45deg,#e9eceb 25%,transparent 25%),
    linear-gradient(-45deg,#e9eceb 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#e9eceb 75%),
    linear-gradient(-45deg,transparent 75%,#e9eceb 75%),
    #f7f8f8;
  background-position: 0 0,0 10px,10px -10px,-10px 0;
  background-size: 20px 20px;
  touch-action: none;
  user-select: none;
}
.fetyci-crop-stage canvas { width: 100%; height: 100%; display: block; }
.fetyci-crop-guide {
  position: absolute;
  inset: 8%;
  pointer-events: none;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 18px;
  box-shadow: 0 0 0 999px rgba(9,13,22,.30), inset 0 0 0 1px rgba(0,0,0,.18);
}
.fetyci-crop-guide::before,
.fetyci-crop-guide::after { content: ''; position: absolute; background: transparent; }
.fetyci-crop-guide::before { left: 33.33%; right: 33.33%; top: 0; bottom: 0; border-left: 1px solid rgba(255,255,255,.45); border-right: 1px solid rgba(255,255,255,.45); }
.fetyci-crop-guide::after { top: 33.33%; bottom: 33.33%; left: 0; right: 0; border-top: 1px solid rgba(255,255,255,.45); border-bottom: 1px solid rgba(255,255,255,.45); }

.fetyci-logo-controls { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 10px; align-items: end; }
.fetyci-logo-controls label,
.fetyci-logo-meta label { display: grid; gap: 6px; color: #59635f; font-size: 12px; font-weight: 700; }
.fetyci-logo-controls input[type='range'] { width: 100%; }
.fetyci-logo-button,
.fetyci-logo-primary,
.fetyci-logo-danger {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 13px;
  border: 1px solid rgba(35,48,63,.14);
  background: #fff;
  color: #202735;
  font-weight: 750;
  cursor: pointer;
}
.fetyci-logo-primary { border-color: transparent; background: #26332f; color: #fff; }
.fetyci-logo-danger { color: #8a3e43; background: #fff7f7; }
.fetyci-logo-button:disabled,
.fetyci-logo-primary:disabled { opacity: .45; cursor: not-allowed; }
.fetyci-logo-preview-grid { display: grid; gap: 14px; }
.fetyci-logo-preview { display: grid; gap: 10px; padding: 16px; border: 1px solid rgba(35,48,63,.10); border-radius: 16px; background: #fff; }
.fetyci-logo-preview.dark { color: #fff; background: #182039; }
.fetyci-logo-preview-row { display: flex; align-items: center; gap: 12px; }
.fetyci-logo-preview img { width: 62px; height: 62px; border-radius: 14px; object-fit: contain; background: #fff; }
.fetyci-logo-preview.favicon img { width: 32px; height: 32px; border-radius: 8px; }
.fetyci-logo-meta { display: grid; gap: 8px; margin-top: 16px; }
.fetyci-logo-meta input { width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid rgba(35,48,63,.16); border-radius: 12px; background: #fff; color: #202735; }
.fetyci-logo-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; margin-top: 18px; }
.fetyci-logo-status { min-height: 22px; margin-top: 12px; color: #5d6863; font-size: 13px; }
.fetyci-logo-status.error { color: #9a3c46; }
.fetyci-logo-status.success { color: #33725a; }

@media (max-width: 860px) {
  .fetyci-logo-manager { padding: 0; }
  .fetyci-logo-dialog { width: 100%; min-height: 100dvh; margin: 0; border-radius: 0; }
  .fetyci-logo-body { grid-template-columns: 1fr; padding: 14px; }
  .fetyci-logo-head { padding: 18px 16px; }
}
@media (max-width: 560px) {
  .fetyci-logo-controls { grid-template-columns: 1fr 1fr; }
  .fetyci-logo-controls label { grid-column: 1 / -1; }
  .fetyci-logo-actions { grid-template-columns: 1fr; }
  .fetyci-logo-button, .fetyci-logo-primary, .fetyci-logo-danger { width: 100%; }
}
