/* ==========================================================================
   v1.2.0-fix328
   Store basic information - clearer hierarchy and compact logo control.
   ========================================================================== */

.fix328-store-info{
  display:grid!important;
  gap:16px!important;
  padding:18px!important;
}

.fix328-store-info-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:0 2px 2px;
}

.fix328-store-info-head h2{
  margin:0 0 4px;
}

.fix328-store-info-head p{
  margin:0;
  color:#756f68;
  font-size:12px;
  line-height:1.55;
}

.fix328-setup-state{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}

.fix328-setup-state.is-complete{
  background:#eaf7ef;
  color:#178347;
}

.fix328-setup-state.is-needed{
  background:#fff3e4;
  color:#a95200;
}

.fix328-info-section{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid #e2ddd6;
  border-radius:14px;
  background:#fffdfa;
}

.fix328-section-head{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:start;
  gap:10px;
}

.fix328-section-number{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:#171717;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.fix328-section-head h3{
  margin:1px 0 2px;
  font-size:15px;
}

.fix328-section-head h3 small{
  margin-left:4px;
  color:#817b74;
  font-size:10px;
  font-weight:700;
}

.fix328-section-head p{
  margin:0;
  color:#817b74;
  font-size:11px;
  line-height:1.45;
}

.fix328-fields{
  display:grid;
  gap:12px;
}

.fix328-fields-two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.fix328-address-fields{
  display:grid;
  grid-template-columns:minmax(150px,.36fr) minmax(0,1.64fr);
  gap:12px;
}

.fix328-store-info label{
  min-width:0;
}

.fix328-store-info .label{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
}

.fix328-store-info .label>b{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 6px;
  border:1px solid #ff9b65;
  border-radius:999px;
  color:#d95e16;
  font-size:9px;
  line-height:1;
}

.fix328-logo-layout{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  align-items:center;
  gap:16px;
}

.fix328-logo-preview{
  width:128px!important;
  height:112px!important;
  min-height:112px!important;
  margin:0!important;
  display:grid!important;
  place-items:center;
  overflow:hidden;
  border:1px solid #ddd8d1;
  border-radius:12px;
  background:#f7f5f1;
}

.fix328-logo-preview .store-logo-preview{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:110px!important;
  max-height:94px!important;
  object-fit:contain;
}

.fix328-logo-preview .store-logo-empty{
  padding:12px;
  color:#8a847d;
  font-size:11px;
  font-weight:800;
  text-align:center;
}

.store-logo-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.fix328-logo-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.fix328-logo-select{
  min-width:136px;
}

.fix328-logo-remove{
  min-height:40px;
}

.fix328-logo-controls .autosave-status{
  flex:1 1 100%;
  margin:2px 0 0!important;
}

.fix328-advanced{
  overflow:hidden;
  border:1px solid #d9e4dc!important;
  border-radius:14px!important;
  background:#f8fcf9!important;
}

.fix328-advanced>summary{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 16px!important;
  cursor:pointer;
  list-style:none;
}

.fix328-advanced>summary::-webkit-details-marker{
  display:none;
}

.fix328-advanced>summary>span:first-child{
  display:grid;
  gap:2px;
}

.fix328-advanced>summary b{
  font-size:13px;
}

.fix328-advanced>summary small{
  color:#817b74;
  font-size:10px;
}

.fix328-advanced>summary>span:last-child{
  font-size:22px;
  line-height:1;
  transform:rotate(0deg);
  transition:transform .18s ease;
}

.fix328-advanced[open]>summary>span:last-child{
  transform:rotate(90deg);
}

.fix328-advanced-body{
  display:grid;
  gap:12px;
  padding:0 16px 16px;
  border-top:1px solid #e0e9e2;
}

.fix328-advanced-body>.sub{
  margin:12px 0 0;
}

.fix328-save-footer{
  position:sticky;
  bottom:8px;
  z-index:4;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(170px,220px);
  align-items:center;
  gap:14px;
  margin-top:2px!important;
  padding:12px!important;
  border:1px solid #ddd8d1;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(35,28,20,.08);
  backdrop-filter:blur(8px);
}

.fix328-save-footer .autosave-status{
  margin:0!important;
}

.fix328-save-footer .btn{
  width:100%;
  min-height:44px;
}

@media (max-width:900px){
  .fix328-fields-two{
    grid-template-columns:1fr;
  }

  .fix328-address-fields{
    grid-template-columns:minmax(130px,.42fr) minmax(0,1.58fr);
  }
}

@media (max-width:760px){
  .fix328-store-info{
    gap:12px!important;
    padding:14px!important;
  }

  .fix328-store-info-head{
    gap:10px;
  }

  .fix328-store-info-head h2{
    font-size:20px;
  }

  .fix328-store-info-head p{
    font-size:12px;
  }

  .fix328-info-section{
    gap:12px;
    padding:14px;
    border-radius:13px;
  }

  .fix328-section-head{
    grid-template-columns:26px minmax(0,1fr);
    gap:9px;
  }

  .fix328-section-number{
    width:26px;
    height:26px;
  }

  .fix328-section-head h3{
    font-size:15px;
  }

  .fix328-address-fields,
  .fix328-fields-two{
    grid-template-columns:1fr;
  }

  .fix328-logo-layout{
    grid-template-columns:104px minmax(0,1fr);
    gap:12px;
  }

  .fix328-logo-preview{
    width:104px!important;
    height:104px!important;
    min-height:104px!important;
  }

  .fix328-logo-preview .store-logo-preview{
    max-width:90px!important;
    max-height:90px!important;
  }

  .fix328-logo-controls{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
  }

  .fix328-logo-select,
  .fix328-logo-remove{
    width:100%;
    min-width:0;
    min-height:42px;
  }

  .fix328-logo-controls .autosave-status{
    font-size:10px;
  }

  .fix328-advanced>summary{
    min-height:56px;
    padding:12px 14px!important;
  }

  .fix328-advanced-body{
    padding:0 14px 14px;
  }

  .fix328-save-footer{
    bottom:6px;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px!important;
  }

  .fix328-save-footer .autosave-status{
    min-height:20px;
  }

  .fix328-save-footer .btn{
    min-height:48px;
  }
}
