Files
dashboards/components/EditBusinessPage.module.css
T

534 lines
8.4 KiB
CSS

.page {
display: flex;
flex-direction: column;
gap: 24px;
width: 100%;
}
.head {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
padding: 28px 32px;
border-radius: 5px;
background-color: var(--color-card);
background-image: var(--page-title-pattern);
background-size: var(--page-title-pattern-size);
}
.breadcrumb {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
margin-bottom: 10px;
font-size: 11px;
font-weight: 400;
letter-spacing: 0.28em;
text-transform: uppercase;
color: var(--color-soft);
}
.breadcrumb a {
color: inherit;
transition: color 0.2s ease;
}
.breadcrumb a:hover,
.breadcrumb a:focus-visible {
color: var(--color-black);
}
.breadcrumbSep {
opacity: 0.45;
}
.breadcrumbCurrent {
color: var(--color-muted);
}
.title {
font-size: clamp(20px, 2.2vw, 28px);
font-weight: 400;
letter-spacing: 0.22em;
text-transform: uppercase;
line-height: 1.2;
}
.lead {
margin-top: 10px;
font-size: 13px;
font-weight: 400;
color: var(--color-muted);
}
.headActions,
.footerActions {
display: flex;
align-items: center;
gap: 10px;
}
.ghostBtn,
.saveBtn {
min-height: 38px;
padding: 0 18px;
font-size: 11px;
letter-spacing: 0.16em;
}
.ghostBtn {
border-color: #d4d4d4;
color: var(--color-soft);
}
.ghostBtn::before {
content: none;
}
.ghostBtn:hover,
.ghostBtn:focus-visible {
color: var(--color-black);
border-color: var(--color-black);
background: transparent;
}
.saveBtn {
background: var(--color-black);
border-color: var(--color-black);
color: var(--color-white);
}
.saveBtn:hover,
.saveBtn:focus-visible {
color: var(--color-black);
}
.saveBtn::before {
background: #fff;
}
.layout {
display: flex;
flex-direction: column;
gap: 16px;
}
.card {
background: var(--color-white);
border-radius: 5px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 16px;
}
.sectionTitle {
margin: 0;
font-size: 13px;
font-weight: 400;
letter-spacing: 0.18em;
text-transform: uppercase;
}
.mediaGrid {
display: grid;
grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
gap: 18px;
}
.logoBlock,
.bannerBlock,
.tagBlock {
display: flex;
flex-direction: column;
gap: 10px;
}
.blockHead {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
font-size: 12px;
font-weight: 400;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--color-soft);
}
.inlineActions {
display: flex;
gap: 10px;
}
.linkBtn {
font-size: 11px;
font-weight: 400;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--color-soft);
}
.linkBtn:hover,
.linkBtn:focus-visible {
color: var(--color-black);
}
.linkBtn:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.aspectRow {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.aspectBtn {
min-width: 44px;
height: 28px;
padding: 0 10px;
border: 1px solid #ececec;
border-radius: 3px;
background: #fff;
font-size: 11px;
font-weight: 400;
letter-spacing: 0.08em;
color: var(--color-soft);
}
.aspectBtn:hover,
.aspectBtn:focus-visible {
border-color: var(--color-black);
color: var(--color-black);
}
.aspectBtnActive {
border-color: var(--color-black);
background: var(--color-black);
color: var(--color-white);
}
.aspectBtn:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.logoFrame,
.bannerFrame {
width: 100%;
border: 1px dashed #d8d8d8;
border-radius: 5px;
background: #fafafa;
overflow: hidden;
display: grid;
place-items: center;
color: var(--color-body);
font-size: 12px;
font-weight: 400;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.logoFrame {
aspect-ratio: 1;
}
.logoFrame img {
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
background: transparent;
}
.bannerFrame img {
width: 100%;
height: 100%;
object-fit: cover;
}
.fileInput {
display: none;
}
.twoCol {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
}
.identityRow {
display: grid;
grid-template-columns: 4fr 3fr 3fr 2fr;
gap: 14px;
align-items: start;
}
.addressMetaRow {
display: grid;
grid-template-columns: minmax(120px, 1.2fr) repeat(4, minmax(0, 1fr));
gap: 12px;
align-items: start;
}
.stack {
display: flex;
flex-direction: column;
gap: 14px;
}
.descriptionField {
margin-top: 18px;
}
.fieldHead {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-height: 28px;
}
.fieldHead > span {
line-height: 1;
margin: 0;
}
.aiBtn {
box-sizing: border-box;
min-width: 36px;
height: 28px;
min-height: 28px;
padding: 0 10px;
border: 1px solid #ececec;
border-radius: 3px;
background: #fff;
font-size: 11px;
font-weight: 500;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 26px;
color: var(--color-muted);
transition:
border-color 0.35s ease,
color 0.35s ease,
background-color 0.35s ease,
box-shadow 0.35s ease;
}
.aiBtn:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.aiBtnActive {
border-color: var(--color-black);
color: var(--color-black);
background: #f4f4f4;
}
.field {
display: flex;
flex-direction: column;
gap: 8px;
}
.field span {
font-size: 12px;
font-weight: 400;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--color-soft);
}
.field > input,
.field > textarea,
.field > select,
.phoneRow input,
.phoneRow select {
width: 100%;
min-height: 42px;
border: 1px solid #f0f0f0;
border-radius: 5px;
background: #fff;
padding: 10px 12px;
font: inherit;
font-size: 14px;
font-weight: 400;
color: var(--color-black);
outline: none;
transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.field > select {
cursor: pointer;
}
.field > textarea {
min-height: 88px;
resize: vertical;
}
.field > input:hover,
.field > textarea:hover,
.field > select:hover,
.phoneRow input:hover,
.phoneRow select:hover {
border-color: #d8d8d8;
}
.field > input:focus,
.field > textarea:focus,
.field > select:focus,
.phoneRow input:focus,
.phoneRow select:focus {
border-color: var(--color-black);
}
.chip {
display: inline-flex;
align-items: center;
border: 1px solid #e8e8e8;
border-radius: 4px;
padding: 5px 10px;
font-size: 12px;
font-weight: 400;
line-height: 1.2;
color: var(--color-muted);
background: #fff;
transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.chipActive {
background: var(--color-black);
border-color: var(--color-black);
color: var(--color-white);
}
.tagRow,
.phoneRow {
display: grid;
grid-template-columns: 1fr auto;
gap: 10px;
align-items: center;
}
.tagInput {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
width: 100%;
min-height: 42px;
border: 1px solid #f0f0f0;
border-radius: 5px;
background: #fff;
padding: 6px 8px;
transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.tagInput:hover {
border-color: #d8d8d8;
}
.tagInput:focus-within {
border-color: var(--color-black);
}
.tagInput input {
flex: 1 1 120px;
min-width: 120px;
min-height: 28px;
border: 0;
background: transparent;
padding: 4px 6px;
font: inherit;
font-size: 14px;
font-weight: 400;
color: var(--color-black);
outline: none;
}
.phoneGrid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
}
.phoneRow {
grid-template-columns: 88px minmax(0, 1fr) auto;
min-width: 0;
}
.phoneRow select {
min-width: 0;
padding-inline: 8px;
}
.phoneRow input {
min-width: 0;
}
.addressCard {
border: 1px solid #f0f0f0;
border-radius: 5px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 12px;
background: #fafafa;
}
.addressHead {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.addressHead strong {
font-size: 12px;
font-weight: 400;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.loading,
.errorBox {
border-radius: 5px;
background: var(--color-white);
padding: 28px 24px;
font-size: 13px;
font-weight: 400;
color: var(--color-muted);
}
.errorBox {
color: #8a1f11;
}
.footerActions {
justify-content: flex-end;
padding: 4px 0 12px;
}
@media (max-width: 900px) {
.head {
flex-direction: column;
align-items: flex-start;
}
.mediaGrid,
.twoCol,
.identityRow,
.addressMetaRow,
.phoneGrid,
.phoneRow {
grid-template-columns: 1fr;
}
}