﻿:root{
  --container: 1120px;
  --text: #111;
  --muted: rgba(0,0,0,.65);
  --white: #fff;
  --black: #000;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  color:var(--text);
  background:#fff;
  font-family: Georgia, "Times New Roman", Times, serif;
}

img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }

.container{
  width:min(var(--container), calc(100% - 64px));
  margin:0 auto;
}

.center{ display:flex; justify-content:center; }

.topbar{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.topbar__inner{
  height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.topbar__nav{ display:flex; gap:18px; font-size:18px; letter-spacing:.2px; }
.topbar__link{ text-transform:lowercase; }

.topbar__right{ display:flex; align-items:center; gap:18px; }
.topbar__lang{
  display:inline-flex;
  align-items:center;
  font-size:16px;
  text-transform:lowercase;
  opacity:.9;
}
.topbar__lang-link{
  text-decoration:none;
  opacity:.62;
  transition: opacity .16s ease;
}
.topbar__lang-link.is-active{
  opacity:1;
  font-weight:600;
}
.topbar__lang .sep{ padding:0 6px; opacity:.55; }

.topbar__icons{ display:flex; gap:12px; }
.icon-btn{
  width:22px; height:22px;
  display:grid; place-items:center;
  opacity:.9;
}
.icon-btn svg{ width:22px; height:22px; }
.icon-btn img{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
}

.hero{
  position:relative;
  height: 360px;
  overflow:hidden;
}
.hero__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter: contrast(1.05) brightness(.95);
}
.hero__content{
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.hero__title{
  margin:0;
  color:#fff;
  font-weight:500;
  letter-spacing: 1px;
  text-shadow: 0 2px 16px rgba(0,0,0,.45);
}
.hero__title-line{
  display:block;
  font-size: clamp(30px, 4.4vw, 56px);
  line-height:1.1;
}
.hero__title em{
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

.hero-strip{
  background:#111;
  color:#f2f2f2;
  font-size:12px;
  letter-spacing:.3px;
  border-top: 2px solid rgba(255,255,255,.3);
}
.hero-strip__inner{
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.hero-strip p{
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  opacity:.95;
}

.section-title{
  margin: 44px 0 22px;
  text-align:center;
  font-weight:500;
  letter-spacing: 1px;
  font-size: 22px;
}
.section-title--left{
  text-align:left;
  margin-top: 46px;
}

.bestsellers{ padding-bottom: 46px; }
.bestsellers__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  align-items:end;
}
.category{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 14px;
}
.category__imgwrap{
  width: 160px;
  height: 210px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.category__imgwrap img{
  max-height: 210px;
  object-fit:contain;
}
.category__label{
  display:flex;
  align-items:center;
  gap:10px;
  text-transform: lowercase;
  font-size: 20px;
}
.sparkle{ width: 26px; height: 22px; object-fit:contain; opacity:.9; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  border:0;
  font-family: inherit;
  text-transform: lowercase;
}
.btn--primary{
  background:#111;
  color:#fff;
  padding: 10px 22px;
  font-size: 16px;
  letter-spacing: .6px;
}
.btn--pill{
  background:#111;
  color:#fff;
  padding: 10px 24px;
  border-radius: 999px;
  font-size: 16px;
  letter-spacing:.4px;
}
.btn--wide{ width:100%; border-radius: 14px; text-transform: lowercase; }

.collection{
  position:relative;
  color:#fff;
  margin-bottom: -150px;
}

.collection__bg{
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:0;
}
.collection__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter: contrast(1.05) brightness(.95);
}

 .collection__top{
  position:relative;
  z-index:1;
  width: min(var(--container), calc(100% - 64px));
  margin: 0 auto;
  padding: 38px 0 18px;
  min-height: 240px;
}
.collection__title{
  margin:0;
  font-weight:500;
  font-size: 28px;
}
.collection__subtitle{
  margin: 6px 0 0;
  opacity:.75;
  font-size: 16px;
}

 .collection__panel{
  position:relative;
  z-index:2;
  width: min(var(--container), calc(100% - 64px));
  margin: 0 auto;
  color:#111;
  padding: 26px 0 34px;
  transform: translateY(50%);
}

 .products{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 72px;
  align-items:start;
  justify-items: center;
  padding: 0 18px;
}
 .product__card{
  background: transparent;
  padding: 0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height: auto;
}
.product__card img{
  max-height: 240px;
  width: auto;
  object-fit: contain;
  display:block;
}
.product__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top: 10px;
  color:#111;
  font-size: 14px;
}
.product__icons{
  display:flex; gap:8px;
  opacity:.9;
}
.product__icon{
  width: 20px;
  height: 20px;
}
.product__price{ opacity:.95; }
.product__name{
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.2;
  color:#111;
  font-weight: 400;
}

.news{
  padding-top: 320px;
  padding-bottom: 44px;
}
.news__grid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 28px;
  align-items:start;
}
.news__img{
  margin:0;
  background:#000;
}
.news__img img{
  width:100%;
  height:auto;
  display:block;
}
.news__right{
  display:flex;
  flex-direction:column;
  gap: 16px;
}
.news__text{
  margin:0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.footer{
  position:relative;
  color:#fff;
  overflow:hidden;
}

.footer__bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.footer__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter: grayscale(.10) contrast(1.05) brightness(.70);
}
.footer__overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.35);
}

.footer__top{
  position:relative;
  z-index:1;
  padding: 56px 0 26px;
}
 .footer__top-inner{
  width: min(var(--container), calc(100% - 64px));
  margin: 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 64px;
  padding: 86px 0 70px;
}

.subscribe{ max-width: 380px; }
.subscribe__title{
  margin: 0 0 6px;
  font-weight: 500;
  font-size: 22px;
}
.subscribe__desc{
  margin: 0 0 14px;
  opacity:.9;
  font-size: 13px;
  line-height: 1.35;
}
.subscribe__form{
  display:flex;
  gap: 14px;
  align-items:center;
}

.input{
  border: 0;
  outline: none;
  background: rgba(235,235,235,.92);
  color:#111;
  padding: 12px 16px;
  border-radius: 999px;
  width: min(360px, 100%);
  font-family: inherit;
}
.input::placeholder{ color: rgba(0,0,0,.55); text-transform: lowercase; }
.input--sm{
  border-radius: 10px;
  width: 100%;
  padding: 10px 12px;
}
.textarea{
  border-radius: 12px;
  height: 74px;
  resize: none;
  width:100%;
  background: rgba(230,230,230,.95);
}

.feedback{
  display:flex;
  justify-content:flex-end;
}
 .feedback__card{
  width: 430px;
  max-width: 100%;
  background: rgba(255,255,255,0.92);
  border-radius: 14px;
  padding: 18px 18px 14px;
}
.feedback__label{
  font-size: 10px;
  letter-spacing: .8px;
  opacity:.7;
  margin-bottom: 10px;
}
.feedback__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}
.feedback__form .btn--primary{
  border-radius: 14px;
  margin-top: 10px;
}

.footer__bottom{
  position:relative;
  z-index:1;
  background: #3e3e43;
  padding: 18px 0 26px;
}

.footer__links{
  grid-column: 1 / -1;
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  font-size: 12px;
}
.links-col__title{
  font-size: 10px;
  letter-spacing: .8px;
  opacity:.75;
  margin-bottom: 10px;
}
.links-col a{
  display:block;
  opacity:.78;
  margin: 6px 0;
}
.links-col a:hover{ opacity:1; }

@media (max-width: 920px){
  .bestsellers__grid{ grid-template-columns: repeat(2, 1fr); }
  .news__grid{ grid-template-columns: 1fr; }
  .feedback{ justify-content:flex-start; }
  .footer__links{ grid-template-columns: repeat(2, 1fr); }
  .hero-strip p{ white-space:normal; }
}

@media (max-width: 520px){
  .container{ width: min(var(--container), calc(100% - 28px)); }
  .topbar__nav{ font-size: 16px; }
  .section-title{ font-size: 20px; }
  .category__imgwrap{ width: 150px; }
  .footer__links{ grid-template-columns: 1fr 1fr; }
}


/* ========================
   Catalog page styles
======================== */
body.page-catalog {
margin:0;
  background:#fff;
  color:#000;
  font-family: "Kaisei Opti", serif;
  overflow-x:hidden;
}

body.page-catalog .page {
width:100%;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:flex-start;
}

body.page-catalog .frame-wrap {
width: calc(1440px * var(--scale, 1));
  height: calc(1658px * var(--scale, 1));
  margin: 0 auto;
  padding-bottom: 40px;
}

body.page-catalog .frame {
width:1440px;
  height:1658px;
  position:relative;
  overflow:hidden;
  background:#fff;
  transform: scale(var(--scale, 1));
  transform-origin: top left;
}

body.page-catalog .sidebar-bg {
position:absolute;
  left:0;
  top:120px;
  width:450px;
  height:1538px;
  background:#f7f5f2;
  z-index:1;
}

body.page-catalog .main-panel {
position:absolute;
  left:374px;
  top:124px;
  width:1066px; 
  height:1534px;
  background:#fff;
  border-radius:59px;
  z-index:1;
}

body.page-catalog .top-line {
position:absolute;
  left:0;
  top:120px;
  width:1440px;
  height:1px;
  background:#000;
  opacity:0.85;
  z-index:2;
}

body.page-catalog .catalog-topbar {
position:absolute;
  left:37px;
  top:44px;
  width:1366px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  z-index:10;
}

body.page-catalog .catalog-topbar__nav {
display:flex;
  align-items:center;
  gap:14px;
  font-size:24px;
  letter-spacing:1.1px;
  text-transform:lowercase;
}

body.page-catalog .catalog-topbar__link {
color:#000;
  text-decoration:none;
}

body.page-catalog .catalog-topbar__link.is-active {
font-weight:700;
}

body.page-catalog .catalog-topbar__right {
display:flex;
  align-items:center;
  gap:18px;
}

body.page-catalog .lang {
display:flex;
  align-items:center;
  position:static;
  font-size:24px;
  letter-spacing:1.1px;
  z-index:10;
  color:#000;
  text-transform:lowercase;
}

body.page-catalog .lang-link {
color:#000;
  text-decoration:none;
  opacity:.62;
  transition: opacity .16s ease;
}

body.page-catalog .lang-link.is-active {
opacity:1;
  font-weight:700;
}

body.page-catalog .lang .sep {
padding:0 6px;
  opacity:.45;
}

body.page-catalog .title {
position:absolute;
  left:50%;
  top:6px;
  transform:translateX(-50%);
  font-family:"Great Vibes", cursive;
  font-size:128px;
  line-height:1;
  z-index:10;
}

body.page-catalog .top-icons {
position:static;
  display:flex;
  gap:16px;
  z-index:10;
}

body.page-catalog .icon-btn {
width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  color:#000;
}

body.page-catalog .icon-btn img {
width:28px;
  height:28px;
  object-fit:contain;
  display:block;
}

body.page-catalog .sidebar {
position:absolute;
  left:0;
  top:120px;
  width:450px;
  height:1538px;
  z-index:9;
}

body.page-catalog .sec-title {
position:absolute;
  left:50px;
  width:306px;
  text-align:left;
  transform:none;
  font-weight:500;
  font-size:32px;
  letter-spacing:1.6px;
}

body.page-catalog .sec-caret {
position:absolute;
  left:332px;
  width:24px;
  height:24px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}

body.page-catalog .sec-caret.is-collapsed {
transform: rotate(180deg);
  transform-origin:center;
}

body.page-catalog .cat-list {
position:absolute;
  left:50px;
  top:225px;
  width:306px;
  display:flex;
  flex-direction:column;
}

body.page-catalog .col-list {
position:absolute;
  left:50px;
  top:651px;
  width:306px;
  display:flex;
  flex-direction:column;
}

body.page-catalog .cat-item, body.page-catalog .col-item {
height:50px;
  display:flex;
  align-items:center;
  padding-left:11px;
  font-size:24px;
  letter-spacing:1.2px;
  text-decoration:none;
  color:#000;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(0,0,0,0.7);
  cursor:pointer;
  text-align:left;
}

body.page-catalog .cat-item:first-child, body.page-catalog .col-item:first-child {
border-top:1px solid rgba(0,0,0,0.7);
}

body.page-catalog .cat-item.active, body.page-catalog .col-item.active {
font-weight:700;
}

body.page-catalog .cat-item:focus-visible, body.page-catalog .col-item:focus-visible, body.page-catalog .icon-btn:focus-visible, body.page-catalog .lang-link:focus-visible, body.page-catalog .sort-box:focus-visible, body.page-catalog .mini-plus:focus-visible, body.page-catalog .heart:focus-visible, body.page-catalog .add:focus-visible {
outline: 2px solid rgba(0,0,0,0.5);
  outline-offset: 3px;
}

body.page-catalog .mini-row {
position:absolute;
  left:50px;
  width:306px;
  height:35px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-left:11px;
}

body.page-catalog .mini-label {
font-size:24px;
  letter-spacing:1.2px;
}

body.page-catalog .mini-plus {
width:35px;
  height:35px;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:30px;
  line-height:1;
  padding:0 6px 2px 0;
}

body.page-catalog .mini-divider {
position:absolute;
  left:50px;
  width:306px;
  height:1px;
  background:rgba(0,0,0,0.7);
}

body.page-catalog .popover {
position:absolute;
  left:50px;
  width:306px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.25);
  border-radius:10px;
  padding:10px 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  z-index:20;
}

body.page-catalog .popover-color {
top: 1005px;
}

body.page-catalog .popover-size {
top: 1055px;
}

body.page-catalog .chk {
display:flex;
  align-items:center;
  gap:10px;
  font-size:18px;
  letter-spacing:0.2px;
  padding:6px 2px;
}

body.page-catalog .chk input {
width:16px;
  height:16px;
  accent-color:#000;
}

body.page-catalog .content {
position:absolute;
  left:0;
  top:0;
  width:1440px;
  height:1658px;
  z-index:5;
}

body.page-catalog .content-title {
position:absolute;
  left:507px;
  top:171px;
  transform:none;
  text-align:left;
  font-size:24px;
  font-weight:500;
  letter-spacing:0.1px;
  color:#403039;
}

body.page-catalog .search-box {
position:absolute;
  left:507px;
  top:200px;
  width:414px;
  height:47px;
  background:#f7f5f2;
  border-radius:5px;
  display:flex;
  align-items:center;
  z-index:6;
  pointer-events:auto;
}

body.page-catalog .search-ico {
margin-left:11px;
  flex:0 0 auto;
}

body.page-catalog .search-input {
flex:1 1 auto;
  min-width:0;
  height:47px;
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  padding:0 14px 0 10px;
  pointer-events:auto;
  font-size:16px;
  font-weight:500;
  color:#403039;
}

body.page-catalog .search-input::placeholder {
color:#95837c;
  opacity:1;
}

body.page-catalog .sort {
position:absolute;
  left:1149px;
  top:200px;
  width:212px;
}

body.page-catalog .sort-box {
width:212px;
  height:47px;
  border:0;
  background:#f7f5f2;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  cursor:pointer;
  font-family:"Kaisei Opti", serif;
}

body.page-catalog .sort-text {
font-size:15px;
  font-weight:500;
  color:#95837c;
}

body.page-catalog .sort-menu {
margin-top:8px;
  width:212px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.25);
  border-radius:10px;
  overflow:hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

body.page-catalog .sort-opt {
width:100%;
  border:0;
  background:#fff;
  padding:12px 14px;
  text-align:left;
  font-family:"Kaisei Opti", serif;
  font-size:15px;
  color:#403039;
  cursor:pointer;
}

body.page-catalog .sort-opt:hover {
background:#f7f5f2;
}

body.page-catalog .products {
position:absolute;
  left:0;
  top:0;
  width:1440px;
  height:1658px;
}

body.page-catalog .card {
position:absolute;
  width:204px;
  height:306px;
  border-radius:20px;
}

body.page-catalog .card.is-hidden {
display:none;
}

body.page-catalog .card-img {
width:204px;
  height:306px;
  border-radius:20px;
  display:block;
}

body.page-catalog .heart {
position:absolute;
  left:204px;
  top:-13px;
  width:26px;
  height:26px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
}

body.page-catalog .heart svg path {
transition: fill .15s ease, stroke .15s ease;
}

body.page-catalog .heart.active svg path {
fill:#000;
  stroke:#000;
}

body.page-catalog .add {
position:absolute;
  left:160px;
  top:306px;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
}

body.page-catalog .toast {
position:absolute;
  left:50%;
  top:130px;
  transform:translateX(-50%);
  padding:10px 14px;
  background:#111;
  color:#fff;
  border-radius:999px;
  font-size:14px;
  letter-spacing:0.2px;
  z-index:50;
  opacity:0;
  transition: opacity .2s ease;
}

body.page-catalog .toast.show {
opacity:1;
}

/* ========================
   Auth page shared fixes
======================== */
body.page-login .panel,
body.page-register .panel {
  height: 100%;
}

body.page-login .panel-left,
body.page-register .panel-right {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ========================
   Login page styles
======================== */
body.page-login {
margin: 0;
  background: #ffffff;
  color: #111;
  font-family: "Cormorant Garamond", serif;
}

body.page-login .viewport {
min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.page-login .frame {
width: 1440px;
  height: 900px;
  position: relative;
  overflow: hidden;
  transform: scale(var(--scale, 1));
  transform-origin: center center;
  background: #fff;
  
  display: flex;
}

body.page-login .panel {
height: 100%;
  position: relative;
  width: 720px;
  flex: 0 0 720px;
}

body.page-login .panel-left {
background-image: url("./assets/left_bg2.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

body.page-login .left-tagline {
position: absolute;
  top: 145px;
  left: 0;
  width: 720px;
  text-align: center;
  font-family: "Allura", cursive;
  font-size: 56px;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.2px;
}

body.page-login .panel-right {
background: #fff;
  position: relative;
}

body.page-login .title-group {
position: absolute;
  top: 140px;
  left: 0;
  width: 720px;
  text-align: center;
}

body.page-login .title-line {
display: inline-flex;
  gap: 16px;
  align-items: center;
}

body.page-login .title-serif {
font-family: "Playfair Display", serif;
  font-weight: 600;
  font-size: 56px;
  line-height: 1;
}

body.page-login .title-brand {
font-family: "Allura", cursive;
  font-weight: 400;
  font-size: 66px;
  line-height: 1;
  transform: translateY(-6px);
}

body.page-login .subtitle {
position: absolute;
  left: 0;
  width: 720px;
  text-align: center;
  font-size: 26px;
  line-height: 1.1;
}

body.page-login .subtitle-1 {
top: 226px;
}

body.page-login .subtitle-2 {
top: 254px;
}

body.page-login .auth-message {
position: absolute;
  left: 212px;
  top: 292px;
  width: 366px;
  font-size: 18px;
  line-height: 1.2;
  z-index: 2;
}

body.page-login .login-form {
position: absolute;
  left: 0;
  top: 0;
  width: 720px;
  height: 900px;
}

body.page-login .field {
position: absolute;
  left: 212px;
  width: 366px;
  height: 52px;
  border-bottom: 1px solid #111;
}

body.page-login .field input {
position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0;
  outline: none;
  background: transparent;
  padding: 0 0 10px 0; 
  font-family: "Cormorant Garamond", serif;
  font-size: 28px;
  color: #111;
  line-height: 1;
}

body.page-login .field input::placeholder {
color: rgba(0,0,0,0.35);
}

body.page-login .field-email {
top: 325px;
}

body.page-login .field-password {
top: 398px;
}

body.page-login .toggle-pass {
position: absolute;
  left: 334px;   
  top: 8px;
  width: 36px;
  height: 34px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

body.page-login .toggle-pass-icon,
body.page-register .toggle-pass-icon {
width:34px;
  height:22px;
  display:block;
  object-fit:contain;
}

body.page-login .forgot {
position: absolute;
  top: 458px;
  left: 212px;
  width: 366px;
  text-align: right;
  padding-right: 0;
  transform: translateX(14px); 
  font-size: 22px;
  color: #111;
  text-decoration: none;
}

body.page-login .btn-login {
position: absolute;
  left: 213px;
  top: 520px;
  width: 365px;
  height: 57px;
  border: 0;
  border-radius: 999px;
  background: #2b1407;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 32px;
  cursor: pointer;
}

body.page-login .divider {
position: absolute;
  top: 607px;
  left: 0;
  width: 720px;
  height: 22px;
}

body.page-login .divider .line {
position: absolute;
  top: 11px;
  height: 1px;
  background: #111;
  width: 160px;
}

body.page-login .divider .line-left {
left: 212px;
}

body.page-login .divider .line-right {
left: 418px;
}

body.page-login .divider-text {
position: absolute;
  left: 372px;      
  width: 46px;      
  top: 0;
  text-align: center;
  font-size: 22px;
  line-height: 22px;
}

body.page-login .btn-google {
position: absolute;
  left: 212px;
  top: 634px;
  width: 367px;
  height: 46px;
  border: 1px solid #111;
  border-radius: 18px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 18px;
  cursor: pointer;
}

body.page-login .google-icon {
width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
}

body.page-login .google-text {
font-family: "Cormorant Garamond", serif;
  font-size: 28px;
  font-weight: 600;
  color: #111;
  white-space: nowrap;
}

body.page-login .signup {
position: absolute;
  left: 0;
  top: 807px;
  width: 720px;
  text-align: center;
  font-size: 30px;
}

body.page-login .signup-link {
font-weight: 700;
  color: #111;
  text-decoration: none;
  margin-left: 10px;
}

body.page-login .title-brand-img {
height: 58px;
  width: auto;
  transform: none;
}

/* ========================
   Register page styles
======================== */
body.page-register {
margin:0;
  background:#fff;
  color:#111;
  font-family:"Cormorant Garamond", serif;
}

body.page-register .viewport {
min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}

body.page-register .frame {
width:1440px;
  height:900px;
  overflow:hidden;
  background:#fff;
  transform:scale(var(--scale, 1));
  transform-origin:center center;
  display:flex;
}

body.page-register .panel {
width:720px;
  height:100%;
  flex:0 0 720px;
  position:relative;
}

body.page-register .panel-right {
background-image:url("./assets/bg_right.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

body.page-register .tagline {
position:absolute;
  top:160px;
  left:0;
  width:720px;
  text-align:center;
  font-family:"Allura", cursive;
  font-size:56px;
  color:rgba(255,255,255,0.92);
  letter-spacing:0.2px;
}

body.page-register .title-group {
position:absolute;
  top:132px; 
  left:0;
  width:720px;
  text-align:center;
}

body.page-register .title-line {
display:inline-flex;
  align-items:center;
  gap:18px;
}

body.page-register .title-serif {
font-family:"Playfair Display", serif;
  font-weight:600;
  font-size:56px;
  line-height:1;
}

body.page-register .title-brand {
height:58px;
  width:auto;
  display:block;
}

body.page-register .auth-message {
position: absolute;
  left: 188px;
  top: 172px;
  width: 363px;
  font-size: 18px;
  line-height: 1.2;
  z-index: 2;
}

body.page-login .auth-message--error,
body.page-register .auth-message--error {
color: #b52222;
}

body.page-login .auth-message--success,
body.page-register .auth-message--success {
color: #0b5e2a;
}

body.page-register .form {
position:absolute;
  left:0;
  top:0;
  width:720px;
  height:900px;
}

body.page-register .field {
position:absolute;
  left:188px;
  width:363px;
  height:43px;       
  border-bottom:1px solid #111;
}

body.page-register .field input {
width:100%;
  height:42px;
  border:0;
  outline:none;
  background:transparent;
  padding:0 0 10px 0;   
  font-family:"Cormorant Garamond", serif;
  font-size:28px;
  color:#111;
}

body.page-register .field input::placeholder {
color:rgba(0,0,0,0.40);
}

body.page-register .field-email {
top:207px;
}

body.page-register .field-password {
top:280px;
}

body.page-register .field-confirm {
top:384px;
}

body.page-register .toggle-pass {
position:absolute;
  right:-1px;
  bottom:8px;
  width:36px;
  height:34px;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
}

body.page-register .pwd-rules {
position:absolute;
  left:188px;
  top:337px;
  width:363px;
  font-size:18px;
  color:#111;
  line-height:1.2;
}

body.page-register .rule-line {
display:flex;
  align-items:center;
  gap:6px;
  transition: color .15s ease;
}

body.page-register .rule-check {
width:14px;
  height:14px;
  display:block;
}

body.page-register .rule-indent {
padding-left:0;
}

body.page-register .rule-line.is-valid {
color:#111;
}

body.page-register .rule-line.is-invalid {
color:#b52222;
}

body.page-register .terms {
position:absolute;
  left:188px;
  top:445px;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:20px;
}

body.page-register .terms input {
width:18px;
  height:18px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #111;
  background:#fff;
  display:inline-block;
  position:relative;
}

body.page-register .terms input:checked::after {
content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:6px;
  height:10px;
  border-right:2px solid #111;
  border-bottom:2px solid #111;
  transform:translate(-50%, -58%) rotate(40deg);
}

body.page-register .btn-signup {
position:absolute;
  left:188px;
  top:486px;
  width:363px;
  height:57px;
  border:0;
  border-radius:999px;
  background:#6a6a6a;
  color:#fff;
  font-family:"Cormorant Garamond", serif;
  font-size:32px;
  cursor:pointer;
}

body.page-register .divider {
position:absolute;
  left:188px;
  top:567px;      
  width:363px;
  height:24px;
}

body.page-register .divider .line {
position:absolute;
  top:14px;
  height:1px;
  background:#111;
  width:159px;
}

body.page-register .divider .line-left {
left:0;
}

body.page-register .divider .line-right {
right:0;
}

body.page-register .divider-text {
position:absolute;
  left:159px;
  width:47px;
  text-align:center;
  font-size:22px;
  line-height:24px;
}

body.page-register .btn-google {
position:absolute;
  left:188px;
  top:604px;
  width:363px;
  height:60px;
  border:1px solid #111;
  border-radius:18px;
  background:#fff;
  display:flex;
  align-items:center;
  gap:16px;
  padding:0 18px;
  cursor:pointer;
}

body.page-register .g-icon img {
width:38px;
  height:38px;
  display:block;
}

body.page-register .g-text {
font-family:"Cormorant Garamond", serif;
  font-size:30px;
  font-weight:600;
  color:#111;
  white-space:nowrap;
}

body.page-register .bottom {
position:absolute;
  left:165px; 
  top:805px;
  font-size:30px;
}

body.page-register .bottom-link {
color:#111;
  font-weight:700;
  text-decoration:none;
  margin-left:10px;
}


/* ========================
   Admin page styles
======================== */
body.page-admin {
  --bg:#e7e7e7;
  --sidebar:#3f4d4e;
  --sidebarText:#cec7b9;
  --activeText:#403030;

  --card:#f7f5f2;
  --text:#403039;
  --muted:#95837c;

  --row: rgba(64,48,57,0.20);
  --shadow: -10px 15px 9.1px rgba(0,0,0,0.25);
}

body.page-admin * { box-sizing:border-box; }

body.page-admin { height:100%; }

body.page-admin {
  margin:0;
  font-family: "Kaisei Opti", serif;
  background: var(--bg);
  color: var(--text);
}

body.page-admin .app {
  width: min(1440px, 100%);
  min-height: 1454px;
  margin: 0 auto;
  display:flex;
  gap: 32px;
  padding: 0 18px 40px 18px;
  position: relative;
}

body.page-admin .sidebar {
  width: 271px;
  min-height: 1454px;
  background: var(--sidebar);
  border-radius: 27px;
  margin-left: -36px; 
  padding: 18px 16px;
  flex: 0 0 271px;
}

body.page-admin .brand { height: 120px; display:flex; align-items:flex-start; justify-content:center; }

body.page-admin .brand-logo { width: 170px; height:auto; display:block; margin-top: 6px; filter: none; }

body.page-admin .nav { display:flex; flex-direction:column; gap: 14px; margin-top: 6px; }

body.page-admin .nav-item {
  display:flex;
  align-items:center;
  gap: 16px;
  height: 46px;
  padding: 0 12px;
  border-radius: 10px;
  color: var(--sidebarText);
  text-decoration:none;
  font-size: 16px;
  line-height: 1;
}

body.page-admin .nav-item .ico { width: 48px; height: 48px; display:grid; place-items:center; color: var(--sidebarText); }

body.page-admin .nav-item.active {
  background: var(--bg);
  color: var(--activeText);
}

body.page-admin .nav-item.active .ico { color: var(--activeText); }

body.page-admin .nav-item:hover { filter: brightness(1.05); }

body.page-admin .content {
  flex: 1 1 auto;
  padding-top: 18px;
  min-width: 0;
}

body.page-admin .topbar {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding-right: 18px;
}

body.page-admin .welcome-title {
  font-size: 32px;
  font-weight: 500;
  color: var(--text);
  margin-top: 10px;
}

body.page-admin .welcome-sub {
  font-size: 16px;
  color: var(--muted);
  margin-top: 4px;
}

body.page-admin .top-actions {
  background: rgba(64,48,57,0.20);
  border-radius: 50px;
  height: 35px;
  padding: 5px;
  display:flex;
  align-items:center;
  gap: 8px;
}

body.page-admin .pill {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--text);
  display:grid;
  place-items:center;
  border-radius: 100px;
  cursor: pointer;
}

body.page-admin .pill:hover { background: rgba(255,255,255,0.35); }

body.page-admin .pill.avatar {
  background: #eaddff;
  position: relative;
}

body.page-admin .pill.avatar::after {
  content:"";
  position:absolute;
  inset: 9px 11px 9px 11px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 35%, rgba(0,0,0,0.3) 0 22%, transparent 23%),
    radial-gradient(circle at 50% 78%, rgba(0,0,0,0.3) 0 32%, transparent 33%);
  opacity: 0.65;
}

body.page-admin .cards {
  display:flex;
  gap: 34px;
  margin-top: 54px;
}

body.page-admin .card {
  width: 294px;
  height: 122px;
  background: var(--card);
  border-radius: 5px;
  box-shadow: var(--shadow);
  padding: 14px 16px;
}

body.page-admin .card-label {
  font-size: 16px;
  color: var(--muted);
}

body.page-admin .card-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-top: 30px;
}

body.page-admin .card-value {
  font-size: 40px;
  font-weight: 700;
}

body.page-admin .card-change {
  font-size: 20px;
  font-weight: 500;
  display:flex;
  align-items:center;
  gap: 8px;
}

body.page-admin .card-change.up { color:#00ff62; }

body.page-admin .card-change.down { color:#ff0004; }

body.page-admin .tabs {
  display:flex;
  gap: 28px;
  align-items:center;
  margin-top: 26px;
  border-bottom: 1px solid rgba(64,48,57,0.35);
  padding-bottom: 12px;
}

body.page-admin .tab {
  border:0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  color: var(--muted);
  padding: 6px 0;
}

body.page-admin .tab.active {
  color: var(--text);
  position: relative;
}

body.page-admin .tab.active::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-13px;
  height: 2px;
  background: var(--text);
}

body.page-admin .filters {
  display:grid;
  grid-template-columns: 438px 212px 212px 212px;
  gap: 41px;
  margin-top: 34px;
  align-items:end;
}

body.page-admin .filter-title {
  font-size: 20px;
  color: var(--text);
  margin-bottom: 10px;
}

body.page-admin .search {
  height: 47px;
  background: var(--card);
  border-radius: 5px;
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 0 12px;
}

body.page-admin .search-ico { color: var(--muted); }

body.page-admin .search-input {
  border:0;
  outline:none;
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  color: var(--muted);
  width: 100%;
}

body.page-admin .select {
  height: 47px;
  width: 100%;
  border: 1px solid var(--card);
  background: var(--card);
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 0 14px;
  font-family: inherit;
  cursor:pointer;
}

body.page-admin .select-value { font-size: 15px; color: var(--muted); }

body.page-admin .caret { font-size: 12px; color: var(--text); transform: translateY(-1px); }

body.page-admin .select-block { position: relative; }

body.page-admin .menu {
  position:absolute;
  top: calc(100% + 8px);
  left:0;
  width: 100%;
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.10);
  box-shadow: 0 14px 24px rgba(0,0,0,0.12);
  padding: 6px;
  display:none;
  z-index: 20;
}

body.page-admin .menu.open { display:block; }

body.page-admin .menu-item {
  width:100%;
  text-align:left;
  border:0;
  background: transparent;
  padding: 10px 10px;
  border-radius: 8px;
  cursor:pointer;
  font-family: inherit;
  color: var(--text);
}

body.page-admin .menu-item:hover { background: rgba(0,0,0,0.05); }

body.page-admin .table-wrap {
  margin-top: 38px;
}

body.page-admin .thead {
  display:grid;
  grid-template-columns: 140px 140px 230px 130px 140px 140px 168px;
  gap: 0;
  padding: 0 15px 10px 15px;
}

body.page-admin .th {
  font-size: 16px;
  color: var(--muted);
  text-align:center;
}

body.page-admin .tbody {
  display:flex;
  flex-direction:column;
  gap: 18px;
}

body.page-admin .row {
  height: 56px;
  background: var(--row);
  border-radius: 5px;
  display:grid;
  grid-template-columns: 140px 140px 230px 130px 140px 140px 168px;
  padding: 0 15px;
  align-items:center;
}

body.page-admin .cell {
  text-align:center;
  font-size: 16px;
  color: var(--text);
}

body.page-admin .cell.id { color:#921414; }

body.page-admin .cell.status.cancelled { color:#af0000; }

body.page-admin .cell.status.returned { color:#904300; }

body.page-admin .cell.status.delivered { color:#085c28; }

body.page-admin .pager {
  margin-top: 56px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 20px;
}

body.page-admin .pager-btn {
  border: 1px solid rgba(0,0,0,0.45);
  background: #fff;
  border-radius: 8px;
  padding: 8px 12px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap: 8px;
}

body.page-admin .pager-btn[disabled] {
  opacity: 0.5;
  cursor: default;
}

body.page-admin .pages {
  display:flex;
  align-items:center;
  gap: 8px;
  border: 1px solid rgba(0,0,0,0.45);
  border-radius: 8px;
  background: #fff;
  padding: 6px;
}

body.page-admin .page {
  border:0;
  background: transparent;
  border-radius: 8px;
  padding: 8px 12px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
  cursor:pointer;
}

body.page-admin .page.current {
  background: #2c2c2c;
  color:#f5f5f5;
}

body.page-admin .gap {
  padding: 0 8px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
}

@media (max-width: 1120px) {
body.page-admin .cards { flex-wrap: wrap; }

body.page-admin .filters { grid-template-columns: 1fr 1fr; }

body.page-admin .thead, body.page-admin .row { grid-template-columns: 120px 120px 1fr 110px 120px 120px 140px; }



}

@media (max-width: 860px) {
body.page-admin .app { padding-left: 8px; padding-right: 8px; }

body.page-admin .sidebar { margin-left: 0; width: 240px; flex-basis: 240px; }

body.page-admin .tabs { flex-wrap: wrap; }

body.page-admin .thead { display:none; }

body.page-admin .row {
    grid-template-columns: 1fr 1fr;
    height: auto;
    padding: 14px 14px;
    gap: 8px 10px;
  }

body.page-admin .cell { text-align:left; }



}




/* ========================
   Admin order page styles
======================== */
body.page-admin-order {
  --bg:#e7e7e7;
  --ink:#403039;
  --muted:#95837c;
  --paper:#f7f5f2;
  --sidebar:#3f4d4e;
}

body.page-admin-order * {box-sizing:border-box}

body.page-admin-order {height:100%}

body.page-admin-order {
  margin:0;
  background:var(--bg);
  font-family:"Kaisei Opti", serif;
  color:var(--ink);
}

body.page-admin-order .wrap {
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:0;
  overflow-x:auto;
}

body.page-admin-order .artboard {
  width:1440px;
  height:1105px;
  position:relative;
  background:var(--bg);
  border:1px solid var(--ink);
  overflow:hidden;
}

body.page-admin-order .sidebar {
  position:absolute;
  left:-36px;
  top:0;
  width:271px;
  height:1104px;
  background:var(--sidebar);
  border-radius:27px;
}

body.page-admin-order .logo-box {
  position:absolute;
  left:75px;
  top:25px;
  width:149px;
  height:101px;
  display:flex;
  align-items:center;
  justify-content:center;
}

body.page-admin-order .logo-img {
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,0.15));
}

body.page-admin-order .nav {
  position:absolute;
  left:61px; 
  top:138px;
  width:234px;
}

body.page-admin-order .nav-item {
  display:flex;
  align-items:center;
  gap:18px;
  height:46px;
  padding:0 16px;
  border-radius:10px;
  color:#cec7b9;
  text-decoration:none;
  margin-bottom:14px;
  user-select:none;
}

body.page-admin-order .nav-item:hover { background:rgba(231,231,231,0.08); }

body.page-admin-order .nav-item.is-active {
  background:#e7e7e7;
  color:var(--ink);
}

body.page-admin-order .nav-ico {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
}

body.page-admin-order .nav-ico svg {
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.page-admin-order .nav-text { font-size:16px; font-weight:500; }

body.page-admin-order .nav-bottom {
  margin-top:40px;
}

body.page-admin-order .top-pill {
  position:absolute;
  left:1287px;
  top:19px;
  width:118px;
  height:35px;
  background:rgba(64,48,57,0.2);
  border-radius:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 6px;
  gap:6px;
}

body.page-admin-order .pill-btn {
  width:30px;
  height:30px;
  border:0;
  background:transparent;
  padding:0;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:var(--ink);
}

body.page-admin-order .pill-btn svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

body.page-admin-order .pill-avatar {
  width:40px;
  height:40px;
  border-radius:100px;
  background:#eaddff;
  display:grid;
  place-items:center;
  transform:translateY(5px);
}

body.page-admin-order .pill-avatar svg { width:22px; height:22px; fill:none; stroke:var(--ink); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; opacity:0.9; }

body.page-admin-order .welcome {
  position:absolute;
  left:285px;
  top:18px;
}

body.page-admin-order .welcome-title {
  font-size:32px;
  font-weight:500;
  letter-spacing:0.1px;
  line-height:20px;
}

body.page-admin-order .welcome-sub {
  margin-top:10px;
  font-size:16px;
  font-weight:500;
  color:var(--muted);
  letter-spacing:0.1px;
  line-height:20px;
}

body.page-admin-order .order-head {
  position:absolute;
  left:285px;
  top:90px;
  width:1100px;
  height:140px;
}

body.page-admin-order .order-title {
  font-size:32px;
  font-weight:700;
  line-height:normal;
}

body.page-admin-order .order-id {
  color:rgba(149,131,124,0.4);
  font-weight:700;
  margin-left:10px;
}

body.page-admin-order .order-meta {
  margin-top:14px;
  font-size:24px;
  font-weight:700;
}

body.page-admin-order .meta-row {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

body.page-admin-order .meta-label {
  font-weight:500;
  font-size:24px;
}

body.page-admin-order .meta-label-pay { margin-left:24px; }

body.page-admin-order .meta-row .dd { transform:translateY(2px); }

body.page-admin-order .meta-row .dd-value { font-size:20px; font-weight:700; }

body.page-admin-order .meta-created {
  margin-top:8px;
  font-size:16px;
  font-weight:400;
  color:var(--muted);
  gap:10px;
}

body.page-admin-order .created-label { color:var(--muted); }

body.page-admin-order .created-value { color:var(--muted); }

body.page-admin-order .dd { position:relative; display:inline-block; }

body.page-admin-order .dd-btn {
  border:0;
  background:transparent;
  font-family:inherit;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 6px;
  border-radius:8px;
}

body.page-admin-order .dd-btn:focus { outline:2px solid rgba(64,48,57,0.25); outline-offset:2px; }

body.page-admin-order .dd-arrow { width:18px; height:18px; fill:none; stroke:var(--ink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:0.9; }

body.page-admin-order .dd-menu {
  position:absolute;
  left:0;
  top:34px;
  min-width:170px;
  background:#fff;
  border:1px solid rgba(64,48,57,0.25);
  border-radius:10px;
  box-shadow:0 8px 20px rgba(0,0,0,0.15);
  padding:6px;
  display:none;
  z-index:50;
}

body.page-admin-order .dd.is-open .dd-menu { display:block; }

body.page-admin-order .dd-opt {
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  font-family:inherit;
  padding:8px 10px;
  border-radius:8px;
  cursor:pointer;
  color:var(--ink);
  font-size:16px;
}

body.page-admin-order .dd-opt:hover { background:rgba(149,131,124,0.12); }

body.page-admin-order .actions {
  position:absolute;
  right:0;
  top:70px;
  display:flex;
  gap:10px;
}

body.page-admin-order .btn-outline {
  background:rgba(255,255,255,0.56);
  border:2px solid currentColor;
  border-radius:10px;
  font-family:inherit;
  font-size:20px;
  font-weight:400;
  padding:8px 22px;
  cursor:pointer;
}

body.page-admin-order .btn-save { color:#085c28; height:38px; }

body.page-admin-order .btn-del { color:#b10c0c; height:48px; padding:10px 28px; }

body.page-admin-order .btn-refund { color:#904300; height:38px; }

body.page-admin-order .card {
  position:absolute;
  background:var(--paper);
  border-radius:15px;
}

body.page-admin-order .card-title {
  position:absolute;
  left:24px;
  top:20px;
  font-size:20px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:0.1px;
}

body.page-admin-order .cart {
  left:284px; top:237px;
  width:734px; height:372px;
}

body.page-admin-order .cart-item {
  position:absolute;
  left:23px;
  display:flex;
  align-items:flex-start;
  gap:24px;
}

body.page-admin-order .item-1 { top:57px; }

body.page-admin-order .item-2 { top:220px; }

body.page-admin-order .item-img { width:94px; height:auto; display:block; }

body.page-admin-order .item-name {
  margin-top:10px;
  font-size:16px;
  color:var(--ink);
}

body.page-admin-order .cart-divider {
  position:absolute;
  left:0;
  top:205px;
  width:734px;
  height:1px;
  background:rgba(64,48,57,0.25);
}

body.page-admin-order .cart-check {
  position:absolute;
  right:18px;
  width:24px;
  height:24px;
  cursor:pointer;
}

body.page-admin-order .cart-check input {
  position:absolute;
  opacity:0;
  inset:0;
  cursor:pointer;
}

body.page-admin-order .cart-check .chk {
  position:absolute;
  inset:2px;
  border:2px solid rgba(64,48,57,0.75);
  border-radius:4px;
  background:transparent;
}

body.page-admin-order .cart-check input:checked + .chk {
  background:rgba(149,131,124,0.15);
  box-shadow:inset 0 0 0 2px rgba(64,48,57,0.35);
}

body.page-admin-order .cart-check-1 { top:15px; }

body.page-admin-order .cart-check-2 { top:215px; }

body.page-admin-order .customer {
  left:1087px; top:237px;
  width:299px; height:414px;
}

body.page-admin-order .cust-avatar {
  position:absolute;
  left:94px; top:68px;
  width:120px; height:120px;
  border-radius:999px;
  background:rgba(149,131,124,0.55);
  display:grid;
  place-items:center;
}

body.page-admin-order .cust-avatar svg {
  width:70px; height:70px;
  fill:none; stroke:var(--ink); stroke-width:1.6;
  opacity:0.8;
}

body.page-admin-order .cust-name {
  position:absolute;
  left:0; top:212px;
  width:299px;
  text-align:center;
  font-size:16px;
  font-weight:500;
}

body.page-admin-order .cust-email {
  position:absolute;
  left:0; top:236px;
  width:299px;
  text-align:center;
  font-size:16px;
  font-weight:500;
  color:rgba(0,0,0,0.5);
}

body.page-admin-order .seg {
  position:absolute;
  left:38px;
  top:347px;
  width:230px;
  height:34px;
  background:#e7e7e7;
  border-radius:20px;
  display:flex;
  overflow:hidden;
}

body.page-admin-order .seg-btn {
  flex:1;
  border:0;
  background:transparent;
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  color:var(--ink);
  cursor:pointer;
}

body.page-admin-order .seg-btn.is-on {
  background:#a89c98;
  box-shadow:6px 7px 7.7px rgba(0,0,0,0.25);
}

body.page-admin-order .summary {
  left:284px; top:625px;
  width:336px; height:211px;
  border:1px solid #e3e3e3;
}

body.page-admin-order .summary-title {
  position:absolute;
  left:98px; top:16px;
  font-size:16px; font-weight:700;
}

body.page-admin-order .sum-row {
  position:absolute;
  left:35px;
  right:35px;
  display:flex;
  justify-content:space-between;
  font-size:14px;
}

body.page-admin-order .sum-row:nth-of-type(1) { top:44px; }

body.page-admin-order .sum-row:nth-of-type(2) { top:79px; }

body.page-admin-order .sum-row:nth-of-type(3) { top:113px; }

body.page-admin-order .muted { color:var(--muted); }

body.page-admin-order .sum-line {
  position:absolute;
  left:19px; right:19px;
  top:144px;
  height:1px;
  background:rgba(64,48,57,0.25);
}

body.page-admin-order .sum-total {
  position:absolute;
  left:35px; right:35px;
  top:156px;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
}

body.page-admin-order .total-label { font-size:16px; font-weight:700; }

body.page-admin-order .total-value { font-size:20px; font-weight:700; }

body.page-admin-order .ship {
  left:687px; top:625px;
  width:336px; height:240px;
  border:1px solid rgba(169,169,169,0.35);
}

body.page-admin-order .ship-title {
  position:absolute;
  left:69px; top:16px;
  font-size:16px; font-weight:700;
}

body.page-admin-order .ship-body {
  position:absolute;
  left:24px; right:24px;
  top:54px;
  font-size:14px;
}

body.page-admin-order .copy-btn {
  position:absolute;
  left:109px;
  top:200px;
  width:117px;
  height:29px;
  border:1px solid var(--ink);
  border-radius:10px;
  background:#fff;
  font-family:inherit;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

body.page-admin-order .docs {
  left:1087px; top:667px;
  width:299px; height:258px;
  border:1px solid rgba(169,169,169,0.35);
}

body.page-admin-order .docs-title {
  position:absolute;
  left:92px; top:26px;
  font-size:24px;
  font-weight:500;
}

body.page-admin-order .doc-btn {
  position:absolute;
  left:78px;
  width:150px;
  height:48px;
  border:0;
  border-radius:100px;
  background:#f7f2fa;
  box-shadow:0 1px 2px rgba(0,0,0,0.3), 0 1px 3px rgba(0,0,0,0.15);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  font-family:inherit;
  color:#403039;
  font-size:14px;
  font-weight:500;
}

body.page-admin-order .doc-btn:nth-of-type(1) { top:64px; }

body.page-admin-order .doc-btn:nth-of-type(2) { top:116px; left:62px; width:175px; }

body.page-admin-order .doc-btn:nth-of-type(3) { top:168px; left:62px; width:175px; }

body.page-admin-order .doc-ico svg {
  width:18px; height:18px;
  fill:none; stroke:#403039; stroke-width:1.6;
}

body.page-admin-order .placeholder {
  left:287px; top:848px;
  width:336px; height:210px;
  border:1px solid #e3e3e3;
}

body.page-admin-order .toast {
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:rgba(0,0,0,0.82);
  color:#fff;
  padding:10px 14px;
  border-radius:10px;
  font-size:14px;
  opacity:0;
  pointer-events:none;
  transition:opacity 160ms ease;
}

body.page-admin-order .toast.is-on { opacity:1; }

@media (max-width: 1460px) {
body.page-admin-order .wrap { justify-content:flex-start; }



}




/* ========================
   Admin shared sidebar
======================== */
body.page-admin .sidebar,
body.page-admin-order .sidebar {
  position: fixed;
  left: 0;
  top: 0;
  width: 271px;
  min-height: 100vh;
  height: 100vh;
  margin-left: 0;
  padding: 18px 16px;
  border-radius: 0 27px 27px 0;
  z-index: 40;
  overflow-y: auto;
}

body.page-admin .app {
  width: calc(100% - 271px);
  max-width: none;
  margin: 0 0 0 271px;
}

body.page-admin .content {
  width: 100%;
}

body.page-admin .brand,
body.page-admin-order .brand {
  height: 120px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

body.page-admin .brand-logo,
body.page-admin-order .brand-logo {
  width: 170px;
  height: auto;
  display: block;
  margin-top: 6px;
  filter: none;
}

body.page-admin .nav,
body.page-admin-order .nav {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 6px;
  width: auto;
}

body.page-admin-order .nav { position: static; }

body.page-admin .nav-item,
body.page-admin-order .nav-item {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 46px;
  padding: 0 12px;
  border-radius: 10px;
  color: #cec7b9;
  text-decoration: none;
  font-size: 16px;
  line-height: 1;
  margin-bottom: 0;
}

body.page-admin .nav-item .ico,
body.page-admin-order .nav-item .ico {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
}

body.page-admin .nav-item .ico img,
body.page-admin-order .nav-item .ico img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  display: block;
}

body.page-admin .nav-item.active,
body.page-admin-order .nav-item.active {
  background: #e7e7e7;
  color: #403030;
}

body.page-admin .nav-item:hover,
body.page-admin-order .nav-item:hover {
  filter: brightness(1.05);
}

body.page-admin .nav-item.nav-bottom,
body.page-admin-order .nav-item.nav-bottom {
  margin-top: 40px;
}

body.page-admin-order .wrap {
  justify-content: flex-start;
}

body.page-admin-order .artboard {
  width: 100%;
  min-width: 1440px;
  margin-left: 0;
}

body.page-admin-order .topbar {
  position: absolute;
  left: 285px;
  top: 18px;
  width: calc(100% - 340px);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-right: 18px;
}

body.page-admin-order .welcome {
  position: static;
  left: auto;
  top: auto;
}

body.page-admin-order .welcome-title {
  margin-top: 10px;
  line-height: normal;
  letter-spacing: 0;
}

body.page-admin-order .welcome-sub {
  margin-top: 4px;
  line-height: normal;
  letter-spacing: 0;
  font-weight: 500;
}

body.page-admin-order .order-head {
  width: calc(100% - 340px);
}

body.page-admin-order .customer,
body.page-admin-order .docs {
  left: auto;
  right: 54px;
}

body.page-admin-order .cart {
  width: calc(100% - 706px);
}

body.page-admin-order .cart-divider {
  width: 100%;
}

body.page-admin-order .summary,
body.page-admin-order .ship,
body.page-admin-order .placeholder {
  width: calc((100% - 768px) / 2);
}

body.page-admin-order .ship {
  left: calc(284px + ((100% - 768px) / 2) + 67px);
}

/* center button labels in order actions */
body.page-admin-order .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}

/* keep both words on one line and centered */
body.page-admin-order .seg {
  align-items: center;
}

body.page-admin-order .seg-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  line-height: 1;
  font-size: 12px;
  padding: 0 8px;
}

body.page-admin .top-actions,
body.page-admin-order .top-actions {
  background: transparent;
  border-radius: 0;
  height: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

body.page-admin .topbar,
body.page-admin-order .topbar {
  background: transparent;
  backdrop-filter: none;
  border-bottom: 0;
}

body.page-admin .topbar {
  position: static;
  top: auto;
}

body.page-admin-order .pill {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: grid;
  place-items: center;
  border-radius: 100px;
  cursor: pointer;
}

body.page-admin-order .pill:hover {
  background: rgba(255, 255, 255, 0.35);
}

body.page-admin-order .pill.avatar {
  background: #eaddff;
  position: relative;
}

body.page-admin-order .pill.avatar::after {
  content: "";
  position: absolute;
  inset: 9px 11px 9px 11px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 35%, rgba(0,0,0,0.3) 0 22%, transparent 23%),
    radial-gradient(circle at 50% 78%, rgba(0,0,0,0.3) 0 32%, transparent 33%);
}

/* Align card-change to the visual middle of card-value */
body.page-admin .card-row {
  align-items: center;
}

body.page-admin .row {
  cursor: pointer;
}

body.page-admin .row:hover {
  background: rgba(64, 48, 57, 0.28);
}
