:root{
  --bg:#f7f1e8;
  --card:#fffdfa;
  --line:#e1d5c5;
  --text:#2f2a26;
  --muted:#756a60;
  --secondary:#3d5b43;
  --accent:#b75b3b;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}


button.btn.add-cart-btn {
    display: none !important;
}
button#cartFab {
    display: none !important;
}
.container{width:min(1180px,calc(100% - 28px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(247,241,232,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;padding:14px 0;
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-badge{
  width:52px;height:52px;border-radius:16px;background:var(--secondary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto;
  background-size:cover;background-position:center;
}
.brand-copy h1{margin:0;font-size:1.16rem;font-weight:650}
.brand-copy p{margin:4px 0 0;color:var(--muted);font-size:.88rem}
.topbar-actions{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end
}
.btn{
  appearance:none;border:1px solid var(--line);background:#fff;color:var(--text);
  border-radius:999px;padding:8px 12px;cursor:pointer;font:inherit;font-size:.92rem;font-weight:500;line-height:1.1;
  transition:.2s ease;box-shadow:var(--shadow)
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--secondary);border-color:var(--secondary);color:#fff}
.save-btn{min-width:148px}
.save-btn.is-saving{opacity:1;transform:none}
.lang-text-switcher{
  display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);
  border-radius:999px;background:rgba(255,255,255,.82);box-shadow:var(--shadow)
}
.lang-text-btn{
  border:0;background:transparent;border-radius:999px;padding:7px 10px;cursor:pointer;
  font-size:.8rem;font-weight:600;color:var(--text)
}
.lang-text-btn.active{background:var(--secondary);color:#fff}

.hero{padding:26px 0 12px}
.hero-compact{
  background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);
  padding:22px
}
.hero-compact h2{margin:0 0 8px;font-size:1.9rem;font-weight:650}
.hero-compact p{margin:0;color:var(--muted)}

.toolbar{padding:8px 0 20px}
.toolbar-grid{display:grid;grid-template-columns:125px 1fr;gap:14px;align-items:center}
.search-wrap input{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;
  font:inherit;color:var(--text)
}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;
  box-shadow:var(--shadow);font:inherit;font-size:.92rem;font-weight:500
}
.chip.active{background:var(--secondary);border-color:var(--secondary);color:#fff}

.menu-content{display:grid;gap:22px}
.menu-section{display:grid;gap:12px}
.menu-section-title,.menu-subsection-title{margin:0;color:var(--secondary)}
.menu-products-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px
}
.menu-grid--single{grid-template-columns:repeat(4,minmax(0,1fr))}
.menu-card{
  background:linear-gradient(180deg,#fff9f2 0%, #ffffff 100%);border:1px solid rgba(90,67,52,.14);border-radius:20px;overflow:hidden;box-shadow:0 16px 32px rgba(75,53,41,.08);
  display:flex;flex-direction:column;min-height:100%
}
.menu-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.menu-card-body{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}
.eyebrow{color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.menu-card h3{margin:0;font-size:1.02rem;font-weight:650;line-height:1.28}
.menu-card .desc{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem;flex:1}
.menu-card-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(90,67,52,.08)}
.price{font-weight:700;color:var(--secondary);font-size:1.06rem;white-space:nowrap}
.footer-note{padding:20px 0 30px;color:var(--muted)}

.info-sections{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 0 34px}
.info-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px
}
.info-card h3{margin:0 0 10px;color:var(--secondary)}
.info-copy{color:var(--muted);line-height:1.6;white-space:pre-wrap}

.admin-toggle,.cart-fab{
  color:#fff !important;
  position:fixed;right:18px;z-index:45
}
.admin-toggle{bottom:max(18px, env(safe-area-inset-bottom))}
.cart-fab{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 58px)}

.admin-panel{
  position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;z-index:60;
  padding:24px;overflow:auto
}
.admin-panel.open{display:block}
.admin-modal{
  width:min(1320px,100%);margin:0 auto;background:var(--bg);border-radius:24px;overflow:visible;
  box-shadow:0 25px 60px rgba(0,0,0,.22)
}
.admin-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  padding:18px 20px;border-bottom:1px solid var(--line);background:var(--card)
}
.admin-head h3{margin:0 0 5px;font-weight:650}
.admin-head .muted{color:var(--muted)}
.admin-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.save-status{font-size:.84rem;color:var(--muted)}
.admin-body{padding:18px}
.admin-login,.admin-content{display:none}
.admin-login.active,.admin-content.active{display:block}
.admin-login-box{
  max-width:420px;margin:12px auto;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:16px;box-shadow:var(--shadow)
}
.admin-tools{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap
}
.admin-tools-main{margin-bottom:12px}
.admin-select{min-width:170px}
.admin-note{margin:0 0 14px;color:var(--muted);font-size:.9rem}
.admin-secondary-tools{margin-bottom:12px}

.admin-basic-card{
  border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;margin-bottom:14px
}
.admin-basic-head h4{margin:0 0 4px}
.admin-basic-head p{margin:0 0 12px}
.admin-basic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-basic-grid .full-span{grid-column:1 / -1}

.admin-list{display:grid;gap:12px}
.admin-item{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)
}
.admin-item-grid{
  display:grid;grid-template-columns:160px 1.1fr .9fr;gap:10px;align-items:start
}
.admin-actions{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px
}
.form-group{display:grid;gap:6px}
.form-group label{font-size:.8rem;font-weight:600;color:#6a6058}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;
  font:inherit;font-size:.94rem;color:var(--text)
}
.form-group textarea{min-height:86px;resize:vertical}

.cart-drawer{
  position:fixed;top:0;right:-440px;width:min(420px,100%);height:100dvh;background:var(--card);
  z-index:70;box-shadow:-10px 0 40px rgba(0,0,0,.15);transition:right .25s ease;display:flex;flex-direction:column
}
.cart-drawer.open{right:0}
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:.2s ease;z-index:65
}
.drawer-backdrop.show{opacity:1;pointer-events:auto}
.cart-header,.cart-footer{padding:16px;border-bottom:1px solid var(--line)}
.cart-footer{border-top:1px solid var(--line);border-bottom:0;margin-top:auto;background:#fff}
.cart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.cart-header h3{margin:0 0 4px}
.cart-header p{margin:0;color:var(--muted)}
.cart-body{padding:14px;overflow:auto;display:grid;gap:10px}
.cart-item{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:10px
}
.cart-item-top,.cart-item-controls,.cart-total-row{
  display:flex;justify-content:space-between;gap:10px;align-items:flex-start
}
.qty-controls{display:flex;align-items:center;gap:8px}
.qty-controls button{
  width:30px;height:30px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer
}
.cart-item-note-toggle{margin-top:0}
.cart-note-wrap{display:none;margin-top:2px}
.cart-note-wrap.open{display:block}
.cart-note-wrap textarea{
  width:100%;min-height:70px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:10px 12px
}
.cart-note-save{margin-top:8px}

.checkout-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;z-index:80;padding:20px;overflow:auto
}
.checkout-modal.open{display:block}
.checkout-card{
  width:min(760px,100%);margin:0 auto;background:var(--card);border-radius:22px;box-shadow:0 25px 60px rgba(0,0,0,.2)
}
.checkout-grid{
  padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px
}
.full-span{grid-column:1 / -1}
.payment-box{
  display:none;margin:0 18px 18px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;
  align-items:center;justify-content:space-between;gap:18px
}
.payment-box.show{display:flex}
.payment-box img{width:120px;height:120px;object-fit:contain;border-radius:10px;background:#fff}
.checkout-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 18px 18px}
.location-help{margin-top:8px}

.toast{
  position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(20px);
  opacity:0;pointer-events:none;transition:.22s ease;z-index:100;width:min(520px, calc(100% - 24px));
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.toast-inner{background:#1c1a18;color:#fff;padding:14px 16px;border-radius:18px;box-shadow:0 18px 36px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:space-between;gap:12px}.toast-message{font-size:.98rem;font-weight:550;line-height:1.35}.toast-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toast .btn{box-shadow:none;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}.toast .btn.btn-primary{background:#fff;color:#21422b;border-color:#fff}.toast--cart .toast-message{font-size:1rem}

.empty-state{
  background:#fff;border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--muted)
}

@media (max-width:980px){
  .toolbar-grid,.info-sections,.admin-basic-grid,.admin-item-grid,.checkout-grid{grid-template-columns:1fr}
  .admin-item-grid > .form-group[style]{grid-column:auto !important}
  .menu-products-grid,.menu-grid--single{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .container{width:min(100% - 20px, 100%)}
  .topbar-inner{align-items:flex-start}
  .topbar-actions{width:100%;justify-content:end}
  .hero-compact h2{font-size:1.5rem}
  .menu-products-grid,.menu-grid--single{grid-template-columns:1fr}
  .admin-panel{padding:12px}
  .admin-body{padding:14px}
  .admin-toggle{right:12px;bottom:calc(max(12px, env(safe-area-inset-bottom)) + 2px)}
  .cart-fab{right:12px;bottom:calc(max(12px, env(safe-area-inset-bottom)) + 60px)}
}


/* restore floating front buttons */
.admin-toggle,
.cart-fab{
  color:#fff !important;
  border:0;
  background:var(--secondary);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.cart-fab{
  color:#fff !important;
  min-width:58px;
  height:58px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:700;
}
.admin-toggle{
  padding:12px 16px;
  font-weight:700;
}
.admin-toggle:hover,
.cart-fab:hover{
  transform:translateY(-2px);
}

/* Access PIN styling */
.admin-login-box label{
  color:var(--secondary);
  font-weight:700;
  font-size:.95rem;
}
.admin-login-box input{
  min-height:46px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
}
.admin-login-box .admin-tools{
  margin-top:6px;
}

/* settings toggle */
.settings-toggle-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.settings-toggle-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-weight:700;
  line-height:1;
}

/* tighter admin cards */
.admin-item{
  padding:10px;
}
.admin-item-grid{
  grid-template-columns:120px 1.1fr .9fr;
  gap:8px;
}
.admin-item-grid .form-group{
  gap:4px;
}
.admin-item-grid textarea{
  min-height:68px;
}
.admin-actions{
  margin-top:8px;
}
.admin-list{
  gap:10px;
}

@media (max-width:980px){.admin-item-grid{grid-template-columns:1fr}}


/* stronger floating buttons */
.admin-toggle,
.cart-fab{
  color:#fff !important;
  position:fixed;
  border:0 !important;
  background:var(--secondary) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
}
.admin-toggle{
  padding:13px 16px !important;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}
.cart-fab{
  color:#fff !important;
  min-width:58px;
  height:58px;
  border-radius:999px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:700;
  padding:0 14px !important;
}
.admin-toggle:hover,
.cart-fab:hover{
  transform:translateY(-2px);
}

/* Access PIN tidy */
.admin-login-box{
  padding:18px;
}
.admin-login-box label{
  color:var(--secondary);
  font-weight:700;
  font-size:.95rem;
}
.admin-login-box input{
  min-height:48px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
}
.admin-login-box .admin-tools{
  margin-top:8px;
}

/* compact settings button */
.settings-toggle-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.settings-toggle-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-weight:700;
  line-height:1;
  flex:0 0 auto;
}

/* tighter admin product cards */
.admin-list{
  gap:8px;
}
.admin-item{
  padding:10px;
}
.admin-item-grid{
  grid-template-columns:96px minmax(0,1.15fr) minmax(0,.95fr);
  gap:8px;
}
.admin-item-grid .form-group{
  gap:4px;
}
.admin-item-grid textarea{
  min-height:62px;
}
.admin-actions{
  margin-top:6px;
}
.form-group input,
.form-group textarea,
.form-group select{
  padding:9px 11px;
}

@media (max-width:980px){.admin-item-grid{grid-template-columns:1fr}}


/* visual restore for site title and floating action buttons */
.brand-copy h1,
#brandName{
  color: var(--secondary) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
}

/* stronger cart/admin floating buttons to match previous rounded style */
.admin-toggle,
.cart-fab{
  color:#fff !important;
  position: fixed !important;
  right: 18px !important;
  border: 0 !important;
  background: var(--secondary) !important;
  color: #fff !important;
  box-shadow: 0 18px 34px rgba(33, 55, 39, .28) !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

.admin-toggle{
  min-height: 50px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cart-fab{
  color:#fff !important;
  min-width: 62px !important;
  height: 62px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

.admin-toggle:hover,
.cart-fab:hover{
  transform: translateY(-2px) scale(1.01) !important;
}

/* cart count appearance */
#cartCount{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  font-size: .8rem;
  font-weight: 800;
}

/* make key action buttons look more consistent */
.btn-primary,
.save-btn,
#checkoutBtn,
#sendWhatsappBtn,
#loginBtn{
  border-radius: 999px !important;
}

#checkoutBtn,
#sendWhatsappBtn,
#loginBtn{
  background: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: #fff !important;
}

/* Access PIN card slightly more polished */
.admin-login-box{
  border-radius: 22px !important;
}
.admin-login-box input{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}

/* front language pills and reset button alignment */
.topbar-actions .btn,
.lang-text-switcher{
  align-self: center;
}

/* mobile keep buttons clear from edge */
@media (max-width:640px){
  .admin-toggle{
    right: 12px !important;
    bottom: calc(max(12px, env(safe-area-inset-bottom)) + 2px) !important;
  }
  .cart-fab{
  color:#fff !important;
    right: 12px !important;
    bottom: calc(max(12px, env(safe-area-inset-bottom)) + 64px) !important;
  }
}


/* redder floating cart button like the earlier style */
.cart-fab{
  color:#fff !important;
  background: var(--accent) !important;
  box-shadow: 0 18px 34px rgba(183, 91, 59, .34) !important;
}
.cart-fab:hover{
  background: #a64d31 !important;
}
.admin-toggle{
  background: var(--secondary) !important;
}

/* free-size logo behavior */
.brand-badge{
  width: auto !important;
  min-width: 85px;
  height: auto !important;
  min-height: 85px;
  max-width: 180px;
  max-height: 90px;
  padding: 0 !important;
  background-repeat: no-repeat;
  background-size: contain !important;
  background-position: left center !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.brand{
  align-items: center;
}
.brand-copy{
  min-width: 0;
}

/* media library */
.media-card{
  width: min(980px, 100%);
}
.media-grid{
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.media-item{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.media-item img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  background: #f4ece1;
}
.media-item-body{
  padding: 10px;
  display: grid;
  gap: 8px;
}
.media-item-name{
  font-size: .8rem;
  color: var(--muted);
  word-break: break-all;
}
.media-empty{
  padding: 18px;
  color: var(--muted);
}
@media (max-width: 980px){
  .media-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .media-grid{
    grid-template-columns: 1fr;
  }
  .brand-copy {
    display: none;
}
}


.admin-nested-card {
  margin-top: 1.25rem;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
}


/* admin toolbar refinements */
.admin-tools-main{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.settings-toggle-btn--dark{
  margin-left:auto;
  background:#3c4148 !important;
  border-color:#3c4148 !important;
  color:#fff !important;
}
.settings-toggle-btn--dark .settings-toggle-icon{
  background:rgba(255,255,255,.16);
  color:#fff;
}
.admin-select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:38px !important;
  background-image:linear-gradient(45deg, transparent 50%, #5b5b5b 50%),linear-gradient(135deg, #5b5b5b 50%, transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}
.media-item-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.media-item-actions .btn{
  justify-content:center;
}
@media (max-width: 980px){
  .settings-toggle-btn--dark{
    margin-left:0;
  }
}


/* compact admin polish */
body{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:15px;
}
.btn{
  padding:8px 12px;
  font-size:.9rem;
  font-weight:600;
}
.lang-text-btn{
  padding:7px 9px;
  font-size:.76rem;
}
.form-group label{
  font-size:.76rem;
  letter-spacing:.01em;
}
.form-group input,.form-group textarea,.form-group select{
  padding:9px 11px;
  font-size:.92rem;
}
.admin-head h3{font-size:1.15rem}
.admin-head .muted,.admin-note,.save-status{font-size:.86rem}
.admin-item{padding:10px 11px;border-radius:16px}
.admin-item-grid{gap:9px;grid-template-columns:150px 1.15fr .85fr}
.admin-basic-card{border-radius:16px}
.admin-basic-head h4{font-size:1rem}
.admin-basic-head p{font-size:.87rem}
.admin-select{padding-right:34px;background-image:linear-gradient(45deg, transparent 50%, #6c6259 50%),linear-gradient(135deg, #6c6259 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;appearance:none}
.media-item-actions .btn{padding:7px 11px;font-size:.86rem}
.media-item-name{font-size:.92rem;font-weight:700}
.media-item-usage{font-size:.76rem;line-height:1.45;color:#74695f}

/* stronger menu cards on frontend */
.menu-products-grid{align-items:stretch}
.menu-card{
  display:flex;
  flex-direction:column;
  height:100%;
  border-radius:22px;
  border:1px solid rgba(116,67,39,.10);
  box-shadow:0 14px 28px rgba(61,37,18,.08);
  background:linear-gradient(180deg,#fff 0%,#fffaf3 100%);
}
.menu-card img{aspect-ratio:4/3.1}
.menu-card-body{
  flex:1;
  padding:15px;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.eyebrow{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#9a7d63;
}
.menu-card h3{
  font-size:1rem;
  line-height:1.3;
  min-height:2.6em;
}
.menu-card .desc{
  color:#6f6256;
  font-size:.9rem;
  line-height:1.5;
  flex:1;
  min-height:4.1em;
}
.menu-card-footer{
  margin-top:auto;
  align-items:center;
  gap:12px;
}
.price{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 12px;
  border-radius:999px;
  background:#efe2ce;
  color:var(--secondary);
  font-weight:800;
  font-size:.95rem;
  white-space:nowrap;
}
.add-cart-btn{
  margin-left:auto;
  background:var(--secondary);
  border-color:var(--secondary);
  color:#fff;
}
.add-cart-btn:hover{filter:brightness(.97)}

@media (max-width:640px){
  body{font-size:14px}
  .btn{padding:8px 11px;font-size:.88rem}
  .menu-card h3{min-height:auto}
  .menu-card .desc{min-height:auto}
}

.menu-card .btn{padding:8px 12px;font-size:.88rem;}

.admin-select, .form-group select{appearance:none;background-image:linear-gradient(45deg,transparent 50%, #7c726b 50%),linear-gradient(135deg,#7c726b 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px;}

.category-labels-grid{display:grid;gap:10px}.category-label-row{display:grid;grid-template-columns:170px 1fr;gap:10px;align-items:end}.category-label-base{font-size:.9rem;font-weight:600;color:var(--secondary);padding:0 2px 10px 2px}.media-item-usage{font-size:.8rem;color:var(--muted);line-height:1.45}.media-item-name{font-size:.92rem;font-weight:600}.media-item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.media-grid{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.media-item{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.media-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.media-item-body{padding:12px}.media-empty{padding:20px;color:var(--muted);text-align:center}.media-card{overflow:hidden}

.cart-fab, .cart-fab span{color:#fff !important}.cart-fab{font-size:1rem;font-weight:650}

.admin-item{padding:11px}.admin-item-grid{grid-template-columns:150px 1.1fr .95fr;gap:9px}.admin-basic-card{padding:13px}.admin-basic-head h4{font-weight:650}.muted{font-size:.9rem}.settings-toggle-btn--dark{background:#3b3835;border-color:#3b3835;color:#fff}.admin-tools .btn{font-weight:500}

@media (max-width:980px){.category-label-row{grid-template-columns:1fr}.category-label-base{padding-bottom:0}}


/* mobile menu density + mixed layout */
@media (max-width: 640px){
  .hero-compact{padding:14px 16px;gap:12px}
  .hero-copy p{font-size:.9rem;line-height:1.45}
  .filters{gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-ms-overflow-style:none;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .chip{padding:7px 10px;font-size:.82rem;white-space:nowrap}
  .menu-section{gap:10px}
  .menu-section-title{font-size:1.08rem}
  .menu-products-grid,.menu-grid--single{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px}
  .menu-card{border-radius:16px;box-shadow:0 10px 20px rgba(61,37,18,.08)}
  .menu-card img{aspect-ratio:1/1}
  .menu-card-body{padding:10px;gap:6px}
  .eyebrow{font-size:.64rem;letter-spacing:.06em}
  .menu-card h3{font-size:.88rem;line-height:1.22;min-height:2.15em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .menu-card .desc{font-size:.74rem;line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .menu-card-footer{padding-top:8px;gap:8px;align-items:center}
  .price{min-height:32px;padding:0 10px;font-size:.82rem}
  .menu-card .btn,.add-cart-btn{padding:7px 10px;font-size:.78rem;border-radius:12px}
  .menu-card--wide{grid-column:1 / -1;display:grid;grid-template-columns:112px 1fr}
  .menu-card--wide img{height:100%;aspect-ratio:auto}
  .menu-card--wide .menu-card-body{padding:12px}
  .menu-card--wide h3{font-size:.96rem;min-height:auto}
  .menu-card--wide .desc{font-size:.78rem;-webkit-line-clamp:3;min-height:3.1em}
}


.btn-link-action{text-decoration:none !important;font-weight:500 !important}
.topbar-actions .btn-link-action:hover,.topbar-actions .btn-link-action:focus{text-decoration:none !important}
.map-search-row{display:flex;gap:10px;align-items:center}
.map-search-row input{flex:1}
.delivery-map{width:100%;height:240px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#f5f3ee;margin-top:10px}
.map-search-results{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.map-result-item{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 12px;font:inherit;color:inherit;text-align:left;cursor:pointer}
.map-result-item:hover{background:#faf8f3}
.map-result-index{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:#21422b;color:#fff;font-size:.78rem;margin-top:1px}
.map-result-empty{padding:10px 12px;border:1px dashed var(--line);border-radius:14px;background:#fff;color:var(--muted)}
.version-badge{position:fixed;right:12px;bottom:12px;z-index:120;border:1px solid rgba(255,255,255,.18);background:rgba(19,18,17,.88);color:#fff;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:500;letter-spacing:.02em;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.version-badge:hover{background:rgba(19,18,17,.96)}
@media (max-width: 640px){
  .delivery-map{height:210px}
  .map-search-row{flex-direction:column;align-items:stretch}
  .version-badge{right:10px;bottom:10px;padding:7px 11px}
}

.category-manager-list{display:grid;gap:10px;margin-bottom:14px}
.category-manager-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.45);margin-bottom:10px}
.category-manager-main{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;align-items:end}
.category-manager-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.category-manager-actions{display:flex;gap:8px;flex-wrap:wrap}
.category-manager-count{font-size:.82rem;color:var(--muted);min-width:62px;text-align:right}
.category-manager-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.category-manager-add input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font:inherit}
@media (max-width: 820px){.category-manager-row{grid-template-columns:1fr}.category-manager-main{grid-template-columns:1fr}.category-manager-meta{justify-content:flex-start}}


:root{--button-text:#ffffff;--topbar-bg:#f7f1e8}
.topbar{background:var(--topbar-bg)!important}
.btn-primary,.chip.active,.lang-text-btn.active{color:var(--button-text)}
.admin-preview-box{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f5ecdd;aspect-ratio:1 / 1;min-height:0;width:100%}
.admin-preview-box-square{aspect-ratio:1 / 1;min-height:0;display:block;width:100%}
.admin-preview-image{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1 / 1}
.admin-preview-box-square .admin-preview-image{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}
.preview-group{grid-column:1 / 2}
.admin-image-upload-group{grid-column:2 / 4}
.admin-image-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:stretch}
.admin-image-upload-row .btn{display:inline-flex;align-items:center;justify-content:center;min-width:96px;text-decoration:none;font-weight:420}
.admin-image-upload-row input[data-field="image"]{min-height:44px}
.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.theme-grid input[type=color]{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:4px}
@media (max-width:980px){.preview-group,.admin-image-upload-group,.form-group[style*="grid-column:2 / 4;"]{grid-column:1 / -1}.admin-preview-image{height:100%}.admin-preview-box{min-height:0}.admin-preview-box-square{min-height:0}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.admin-image-upload-row{grid-template-columns:1fr}.admin-image-upload-row .btn{width:100%}.admin-preview-image{height:100%}.admin-preview-box{min-height:0}.admin-preview-box-square{min-height:0}.theme-grid{grid-template-columns:1fr}}

.menu-card{position:relative}
.menu-card-edit{
  position:absolute;top:10px;right:10px;z-index:3;
  width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.45);
  background:rgba(29,27,24,.78);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:15px;line-height:1;backdrop-filter:blur(4px);box-shadow:0 8px 18px rgba(0,0,0,.16)
}
.menu-card-edit:hover{background:rgba(29,27,24,.92)}
.admin-item--focus{outline:2px solid var(--secondary);box-shadow:0 0 0 4px rgba(61,91,67,.12), var(--shadow)}


.admin-auth-only{display:none}
.admin-tools-main{position:sticky;top:0;z-index:40;background:var(--bg);padding:10px 0 12px;margin:-2px 0 12px;border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 8px 18px rgba(0,0,0,.04)}
.admin-head-actions .settings-toggle-btn--dark{margin-left:2px}
.admin-head-actions .btn,.admin-tools-main .btn,.admin-tools-main select{white-space:nowrap}
@media (max-width: 820px){.admin-tools-main{top:0;padding:8px 0 10px}.admin-head-actions{justify-content:flex-end}}

.admin-head-actions .admin-auth-only{display:none}
.admin-panel.open .admin-content.active .admin-tools-main{top:0}


/* v40 sticky admin toolbar desktop only */
.admin-tools-main{position:sticky;top:0;z-index:50;background:var(--bg);margin:-18px -18px 12px;padding:12px 18px;border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 8px 18px rgba(0,0,0,.04)}
@media (max-width:820px){.admin-tools-main{position:static;margin:0 0 12px;padding:0;border-bottom:0;box-shadow:none}}
/* cart button icon */
.cart-fab{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff !important}
.cart-fab-icon{width:18px;height:18px;display:block;flex:0 0 18px;color:#fff}
.cart-fab, .cart-fab-icon, .cart-fab span{color:#fff !important;fill:currentColor}

.admin-list.is-hidden{display:none}





/* v43 compact admin item preview */
.admin-item-grid{
  grid-template-columns:96px minmax(0,1.15fr) minmax(0,.95fr);
  gap:8px;
}
.admin-item-grid .preview-group{
  grid-column:1;
  align-self:start;
}
.admin-item-grid .admin-preview-box,
.admin-item-grid .admin-preview-box-square{
  width:96px;
  max-width:96px;
  aspect-ratio:1 / 1;
  min-height:0 !important;
  height:96px !important;
  overflow:hidden;
  margin:0;
}
.admin-item-grid img[data-preview],
.admin-item-grid .admin-preview-image{
  width:100%;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover;
  display:block;
}
@media (max-width:980px){
  .admin-item-grid{
    grid-template-columns:1fr;
  }
  .admin-item-grid .preview-group{
    grid-column:auto;
  }
  .admin-item-grid .admin-preview-box,
  .admin-item-grid .admin-preview-box-square{
    width:120px;
    max-width:120px;
    height:120px !important;
  }
}



/* v44 availability / modifiers / analytics */
.menu-card-status{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.menu-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.menu-badge--sold{background:#f6d6d1;color:#8b2e22}
.menu-badge--time{background:#efe2ce;color:#6b533e}
.menu-modifier-hint{font-size:.76rem;color:var(--muted)}
.add-cart-btn[disabled]{opacity:.55;cursor:not-allowed;filter:none}
.modifier-card{width:min(560px,100%)}
.modifier-body{padding:18px;display:grid;gap:12px}
.modifier-options{display:grid;gap:10px}
.modifier-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.modifier-option input{margin-top:3px}
.modifier-option-label{display:flex;justify-content:space-between;gap:10px;width:100%}
.modifier-price{font-weight:700;color:var(--secondary);white-space:nowrap}
.analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.analytics-stat{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.analytics-stat strong{display:block;font-size:1.2rem;color:var(--secondary)}
.analytics-list{display:grid;gap:8px}
.analytics-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-item-grid .availability-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.admin-item-grid .schedule-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-item-grid .modifiers-help{font-size:.74rem;color:var(--muted);line-height:1.45}
.cart-item-modifiers{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:.82rem;line-height:1.45}
@media (max-width:640px){.analytics-grid{grid-template-columns:1fr}.modifier-card{width:min(100%,100%)}}


/* v45 extras + sold out */
.product-extras-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}
.product-extra-option{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;color:var(--text)}
.product-extra-option input{margin-top:2px}
.extra-manager-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.5);margin-bottom:10px}
.extra-manager-main{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;align-items:end}
.extra-manager-translation{grid-column:1 / -1}
.extra-manager-actions{display:flex;align-items:end}
.menu-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:700;background:#f2e7db;color:#8b4a2b}
.menu-badge--sold{background:#f7dfd7;color:#a53f27}
@media (max-width:980px){.product-extras-list{grid-template-columns:1fr}.extra-manager-row{grid-template-columns:1fr}.extra-manager-main{grid-template-columns:1fr}}


/* v47 admin item accordion and compact layout */
.admin-item{
  border-radius:18px;
  overflow:hidden;
}
.admin-item-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  padding:12px 14px;
  background:#fffdfa;
}
.admin-item-summary::-webkit-details-marker{display:none}
.admin-item-summary-main{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}
.admin-item-summary-main strong{
  font-size:.98rem;
  font-weight:650;
}
.admin-item-summary-price{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#efe2ce;
  color:var(--secondary);
  font-size:.82rem;
  font-weight:700;
}
.admin-item-summary-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#ece7df;
  color:var(--muted);
  font-size:.76rem;
  font-weight:600;
}
.admin-item-summary-badge--sold{
  background:#f4d8cf;
  color:#8d3e24;
}
.admin-item-summary-toggle{
  color:var(--muted);
  font-size:.82rem;
  font-weight:600;
}
.admin-item-body-grid{
  display:grid;
  grid-template-columns:1fr 1fr 260px;
  gap:10px;
  padding:0 14px 12px;
  border-top:1px solid rgba(0,0,0,.05);
}
.admin-col-span-full{grid-column:1 / -1}
.admin-category-inline{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.admin-image-cell{
  grid-row:span 2;
}
.admin-image-stack{
  display:grid;
  gap:8px;
}
.admin-preview-box-small{
  width:100%;
  max-width:220px;
  aspect-ratio:1 / 1;
}
.admin-preview-box-small .admin-preview-image{
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-extras-dropdown{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.product-extras-dropdown summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  padding:10px 12px;
}
.product-extras-dropdown summary::-webkit-details-marker{display:none}
.product-extras-summary{
  font-size:.8rem;
  color:var(--muted);
}
.product-extras-menu{
  display:grid;
  gap:8px;
  padding:0 12px 12px;
  border-top:1px solid rgba(0,0,0,.05);
}
.product-extra-option{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.88rem;
}
.admin-status-row{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.admin-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.9rem;
  font-weight:500;
}
.admin-check input{margin:0}
@media (max-width: 980px){
  .admin-item-body-grid{
    grid-template-columns:1fr 1fr;
  }
  .admin-image-cell{
    grid-column:1 / -1;
    grid-row:auto;
  }
}
@media (max-width: 640px){
  .admin-item-summary{
    padding:11px 12px;
  }
  .admin-item-body-grid{
    grid-template-columns:1fr;
    padding:0 12px 12px;
  }
  .admin-preview-box-small{
    max-width:140px;
  }
  .admin-status-row{
    gap:12px;
    flex-direction:column;
    align-items:flex-start;
  }
}


/* v48 sold out + compact checkout */
.menu-card-media{position:relative}
.menu-badge{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.02em;box-shadow:0 8px 18px rgba(0,0,0,.14)}
.menu-badge--sold{background:rgba(28,26,24,.92);color:#fff}
.menu-card-extra-hint{font-size:.74rem;color:var(--muted);margin-top:-2px}
.menu-card--soldout .menu-card img{filter:saturate(.78) brightness(.9)}
.add-cart-btn[disabled],.add-cart-btn[aria-disabled="true"]{background:#d8d0c5 !important;border-color:#d8d0c5 !important;color:#6c6259 !important;cursor:not-allowed;box-shadow:none}
.add-cart-btn[disabled]:hover,.add-cart-btn[aria-disabled="true"]:hover{transform:none;filter:none}

.cart-header,.cart-footer{padding:12px 14px}
.cart-body{padding:10px;gap:8px}
.cart-item{padding:10px;border-radius:14px;gap:8px}
.cart-item-top h4{margin:0 0 2px;font-size:.95rem;line-height:1.25}
.cart-item-top p{margin:0;color:var(--muted);font-size:.82rem}
.cart-item-controls strong{font-size:.92rem}
.cart-remove-btn{padding:6px 10px;font-size:.8rem}
.qty-controls{gap:6px}
.qty-controls button{width:28px;height:28px}
.cart-item-note-toggle,.cart-note-save{padding:6px 10px;font-size:.8rem}
.cart-note-wrap textarea{min-height:56px;padding:8px 10px;font-size:.88rem}
.cart-item-extras{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.cart-extra-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#f0e4d3;color:var(--secondary);font-size:.74rem;font-weight:600}
.checkout-grid{padding:14px;gap:10px}
.checkout-actions{padding:0 14px 14px;gap:8px}
.payment-box{margin:0 14px 14px;padding:12px}
.payment-box img{width:96px;height:96px}
@media (max-width:640px){
  .cart-header,.cart-footer{padding:10px 12px}
  .cart-body{padding:8px;gap:8px}
  .cart-item{padding:9px;border-radius:13px}
  .checkout-grid{padding:12px;gap:9px}
  .checkout-actions{padding:0 12px 12px;gap:8px}
  .checkout-actions .btn{padding:7px 10px;font-size:.84rem}
}


/* v49 extras modal default option */
.modifier-option--default{
  border-style:dashed;
}
.modifier-option--default input:checked + .modifier-option-label{
  font-weight:600;
}


/* v50 checkout settings + hidden categories */
.checkout-settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.check-grid{
  display:grid;
  gap:8px;
}
.category-manager-hide{
  white-space:nowrap;
}
@media (max-width:980px){
  .checkout-settings-grid{
    grid-template-columns:1fr;
  }
}


/* v52 safe checkout options polish (based on v50) */
.checkout-settings-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.checkout-settings-grid .form-group{
  gap:8px;
}
.check-grid{
  display:grid !important;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.admin-check{
  display:flex !important;
  align-items:center;
  gap:10px;
  justify-content:flex-start;
  font-size:.92rem;
  color:var(--text);
  line-height:1.35;
}
.admin-check input{
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 auto;
}
@media (max-width:980px){
  .checkout-settings-grid{
    grid-template-columns:1fr !important;
  }
}


.admin-translation-btns{display:flex;gap:8px;flex-wrap:wrap}
.admin-translation-actions .btn{min-height:40px}


.translation-progress{position:fixed;inset:0;background:rgba(16,18,17,.32);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:.2s ease;z-index:160}.translation-progress.show{opacity:1;pointer-events:auto}.translation-progress-card{width:min(430px,100%);background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.18);padding:22px 20px;text-align:center}.translation-progress-spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(0,0,0,.1);border-top-color:var(--green);margin:0 auto 14px;animation:translationSpin .9s linear infinite}.translation-progress-title{font-size:1.06rem;font-weight:700;color:var(--text);margin-bottom:6px}.translation-progress-text{font-size:.95rem;color:var(--muted);line-height:1.45}@keyframes translationSpin{to{transform:rotate(360deg)}}


.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.admin-tab-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;color:var(--muted);transition:.2s ease;box-shadow:var(--shadow)}
.admin-tab-btn:hover{transform:translateY(-1px);color:var(--text)}
.admin-tab-btn.active{background:var(--secondary);border-color:var(--secondary);color:#fff}
.admin-tab-panel{display:none;gap:14px}
.admin-tab-panel.active{display:grid}
.admin-tab-panels{display:grid;gap:14px}
.settings-sections{display:grid;gap:14px;margin:16px 0 0}
.settings-sections-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}
.settings-sections-head h4{margin:0;font-size:1.02rem}
.settings-sections-head .muted{margin:4px 0 0}
.settings-tabs{margin:0;padding-bottom:0;border-bottom:none}
.settings-toggle-btn.is-active{background:var(--secondary);border-color:var(--secondary);color:#fff}
.admin-tab-card{margin-bottom:0}
.admin-translation-help{margin-top:10px;font-size:.9rem;color:var(--muted)}
.admin-list.is-hidden{display:none}


body.body-scroll-locked{overflow:hidden;touch-action:none;}

/* v60 desktop side-by-side cart + checkout */
:root{
  --cart-drawer-width: min(380px, calc(100vw - 24px));
  --checkout-drawer-width: min(420px, calc(100vw - 420px - 36px));
}

.checkout-modal{
  position:fixed;inset:0;background:transparent;display:block;z-index:68;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease, visibility .2s ease;overflow:hidden;padding:0;
}
.checkout-modal.open{opacity:1;visibility:visible;pointer-events:none;}
.checkout-card{
  position:absolute;right:var(--cart-drawer-width);top:0;width:var(--checkout-drawer-width);max-width:calc(100vw - var(--cart-drawer-width) - 24px);height:100dvh;margin:0;background:var(--card);border-radius:24px 0 0 24px;box-shadow:-10px 0 40px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;transform:translateX(100%);transition:transform .28s ease;pointer-events:auto;
}
.checkout-modal.open .checkout-card{transform:translateX(0);}
.checkout-grid{padding:14px;display:grid;grid-template-columns:1fr;gap:10px;overflow:auto;flex:1;}
.payment-box{margin:0 14px 14px;padding:14px;align-items:flex-start;}
.checkout-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 14px 14px;background:#fff;border-top:1px solid var(--line);}
.checkout-actions .btn{min-height:42px;}
.checkout-card .cart-header{padding:14px;border-bottom:1px solid var(--line);}
.checkout-card .cart-header .btn{flex:0 0 auto;}
.drawer-backdrop{z-index:65;}
.cart-drawer{z-index:70;width:var(--cart-drawer-width);right:calc(-1 * var(--cart-drawer-width));}
.cart-drawer.open{right:0;}
.admin-panel{z-index:60;}
#checkoutModal .payment-box.show{display:flex;}

@media (max-width: 900px){
  .checkout-modal{background:rgba(0,0,0,.35);display:none;z-index:80;padding:20px;overflow:auto;pointer-events:auto;opacity:1;visibility:visible;}
  .checkout-modal.open{display:block;}
  .checkout-card{position:relative;right:auto;top:auto;width:min(760px,100%);max-width:none;height:auto;max-height:none;margin:0 auto;border-radius:22px;transform:none;box-shadow:0 25px 60px rgba(0,0,0,.2);}
  .checkout-grid{padding:18px;grid-template-columns:1fr 1fr;gap:12px;overflow:visible;flex:unset;}
  .payment-box{margin:0 18px 18px;align-items:center;}
  .checkout-actions{padding:0 18px 18px;border-top:0;background:transparent;}
  .cart-drawer{width:min(420px,100%);right:-440px;}
  .cart-drawer.open{right:0;}
}

@media (max-width: 640px){
  .checkout-modal{padding:12px;}
  .checkout-card{width:100%;border-radius:18px;}
  .checkout-grid{grid-template-columns:1fr;padding:14px;gap:10px;}
  .payment-box{margin:0 14px 14px;}
  .checkout-actions{padding:0 14px 14px;}
}


/* v59.1 whatsapp fields + rebuilt media manager */
.media-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px 0;
  flex-wrap:wrap;
}
.media-toolbar-left{flex:1 1 280px}
.media-toolbar-left input{
  width:100%;
  min-height:42px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:0 14px;
  font:inherit;
  color:var(--text);
}
.media-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
#mediaModal{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(16,18,17,.46);
  display:none;
  padding:22px;
  overflow:auto;
  pointer-events:auto;
  opacity:1;
  visibility:visible;
}
#mediaModal.open{display:block}
#mediaModal .media-card{
  position:relative;
  right:auto;
  top:auto;
  width:min(1180px,100%);
  max-width:none;
  height:auto;
  min-height:min(760px, calc(100dvh - 44px));
  max-height:none;
  margin:0 auto;
  border-radius:24px;
  box-shadow:0 28px 70px rgba(0,0,0,.24);
  overflow:hidden;
  transform:none;
  display:flex;
  flex-direction:column;
}
#mediaModal .cart-header{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--card);
}
#mediaModal .media-grid{
  padding:18px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  align-items:start;
}
#mediaModal .media-item{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.media-item-thumb{
  background:#efe5d9;
  aspect-ratio:4/3;
  overflow:hidden;
}
#mediaModal .media-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#mediaModal .media-item-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  flex:1;
}
#mediaModal .media-item-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#mediaModal .media-item-usage{
  min-height:40px;
  overflow-wrap:anywhere;
}
#mediaModal .media-item-actions{
  margin-top:auto;
}
.media-replace-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media (max-width: 900px){
  #mediaModal{
    padding:14px;
  }
  #mediaModal .media-card{
    min-height:auto;
  }
}
@media (max-width: 640px){
  .media-toolbar{
    padding:12px 14px 0;
  }
  #mediaModal{
    padding:10px;
  }
  #mediaModal .media-card{
    border-radius:18px;
  }
  #mediaModal .media-grid{
    padding:14px;
    grid-template-columns:1fr;
  }
}
