

:root {

  --green: #198754;

  --green-dark: #12683f;

  --green-light: #eaf7ef;

  --background: #f8faf8;

  --text: #203329;

  --muted: #718076;

  --white: #ffffff;

  --border: #e4ece6;

}



* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}



html {

  scroll-behavior: smooth;

}



body {

  font-family: "Manrope", sans-serif;

  background: var(--background);

  color: var(--text);

}



a {

  text-decoration: none;

  color: inherit;

}



button, input {

  font: inherit;

}



button {

  cursor: pointer;

}



.container {

  width: min(1180px, 92%);

  margin: 0 auto;

}



/* HEADER */



.header {

  background: var(--white);

  border-bottom: 1px solid var(--border);

  position: sticky;

  top: 0;

  z-index: 100;

}



.header-inner {

  min-height: 85px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 25px;

}



.logo {

  font-size: 26px;

  font-weight: 800;

  color: var(--green-dark);

  white-space: nowrap;

}



.logo span:last-child {

  color: var(--green);

}



.logo-icon {

  margin-right: 5px;

}



.nav {

  display: flex;

  gap: 30px;

}



.nav a {

  font-size: 14px;

  font-weight: 700;

  transition: color .2s;

}



.nav a:hover {

  color: var(--green);

}



.cart-button {

  background: var(--green);

  color: white;

  border: none;

  border-radius: 12px;

  padding: 13px 18px;

  font-weight: 700;

  white-space: nowrap;

}



.cart-button span {

  background: white;

  color: var(--green);

  padding: 3px 8px;

  border-radius: 20px;

  margin-left: 5px;

}



/* HERO */



.hero {

  padding: 65px 0;

  background: var(--green-light);

}



.hero-inner {

  display: grid;

  grid-template-columns: 1fr 1fr;

  align-items: center;

  gap: 55px;

}



.hero-label {

  color: var(--green-dark);

  font-size: 14px;

  font-weight: 800;

}



.hero h1 {

  font-size: clamp(36px, 4.5vw, 58px);

  line-height: 1.15;

  margin: 18px 0;

}



.hero p {

  color: var(--muted);

  font-size: 17px;

  line-height: 1.8;

  margin-bottom: 30px;

}



.btn {

  display: inline-block;

  padding: 16px 28px;

  background: var(--green);

  color: white;

  border-radius: 12px;

  font-weight: 800;

  transition: .2s;

}



.btn:hover {

  background: var(--green-dark);

  transform: translateY(-2px);

}



.hero-image img {

  width: 100%;

  height: 390px;

  object-fit: cover;

  border-radius: 25px;

}



/* BENEFITS */



.benefits {

  padding: 35px 0;

  background: white;

}



.benefits-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 20px;

}



.benefits-grid > div {

  background: var(--background);

  padding: 22px;

  border-radius: 14px;

}



.benefits strong {

  margin-left: 8px;

}



.benefits p {

  font-size: 13px;

  color: var(--muted);

  margin-top: 7px;

}



/* CATEGORIES */



.section {

  padding: 75px 0;

}



.section h2, .delivery h2 {

  font-size: 32px;

  margin-bottom: 10px;

}



.section-subtitle {

  color: var(--muted);

  margin-bottom: 30px;

}



.categories-grid {

  display: grid;

  grid-template-columns: repeat(6, 1fr);

  gap: 16px;

}



.category {

  background: white;

  border: 1px solid var(--border);

  border-radius: 18px;

  padding: 28px 10px;

  text-align: center;

  font-size: 40px;

  transition: .2s;

}



.category span {

  display: block;

  font-size: 14px;

  font-weight: 800;

  margin-top: 12px;

}



.category:hover {

  border-color: var(--green);

  transform: translateY(-5px);

}



/* PRODUCTS */



.products-section {

  background: white;

}



.search-box {

  margin-bottom: 30px;

}



.search-box input {

  width: 100%;

  max-width: 450px;

  border: 1px solid var(--border);

  border-radius: 12px;

  padding: 16px;

  outline: none;

}



.search-box input:focus {

  border-color: var(--green);

}



.products-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 22px;

}



.product-card {

  border: 1px solid var(--border);

  border-radius: 18px;

  overflow: hidden;

  background: white;

  transition: .2s;

}



.product-card:hover {

  box-shadow: 0 12px 30px #00000012;

  transform: translateY(-4px);

}



.product-image {

  width: 100%;

  height: 190px;

  object-fit: cover;

  background: var(--background);

}



.product-info {

  padding: 18px;

}



.product-category {

  font-size: 12px;

  color: var(--muted);

}



.product-info h3 {

  font-size: 16px;

  margin: 8px 0;

}



.product-price {

  color: var(--green-dark);

  font-size: 20px;

  font-weight: 800;

  margin-bottom: 15px;

}



.add-button {

  width: 100%;

  background: var(--green);

  border: none;

  border-radius: 10px;

  padding: 12px;

  color: white;

  font-weight: 800;

}



.add-button:hover {

  background: var(--green-dark);

}



/* DELIVERY */



.delivery {

  background: var(--green-light);

  padding: 65px 0;

}



.delivery-inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 30px;

}



.delivery p {

  color: var(--muted);

  max-width: 550px;

  line-height: 1.8;

}



/* FOOTER */



.footer {

  background: #173e2b;

  color: white;

  padding: 40px 0;

}



.footer-inner {

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 25px;

}



.footer h3 {

  font-size: 25px;

  margin-bottom: 8px;

}



.footer p {

  color: #c3d8cb;

  font-size: 13px;

}



/* MOBILE */



@media (max-width: 900px) {

  .nav {

    display: none;

  }



  .categories-grid {

    grid-template-columns: repeat(3, 1fr);

  }



  .products-grid {

    grid-template-columns: repeat(2, 1fr);

  }

}



@media (max-width: 600px) {

  .header-inner {

    min-height: 70px;

  }



  .logo {

    font-size: 21px;

  }



  .cart-button {

    padding: 10px;

    font-size: 12px;

  }



  .hero {

    padding: 40px 0;

  }



  .hero-inner {

    grid-template-columns: 1fr;

    gap: 30px;

  }



  .hero-image img {

    height: 230px;

  }



  .benefits-grid {

    grid-template-columns: 1fr;

  }



  .categories-grid {

    grid-template-columns: repeat(2, 1fr);

  }



  .products-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

  }



  .product-image {

    height: 130px;

  }



  .product-info {

    padding: 12px;

  }



  .product-info h3 {

    font-size: 14px;

  }



  .section {

    padding: 45px 0;

  }



  .delivery-inner,

  .footer-inner {

    flex-direction: column;

    align-items: flex-start;

  }

}



/* КОРЗИНА */



.cart-overlay {

  position: fixed;

  inset: 0;

  background: rgba(0, 0, 0, 0.5);

  z-index: 200;

  display: none;

}



.cart-panel {

  position: fixed;

  top: 0;

  right: -450px;

  width: 400px;

  max-width: 100%;

  height: 100vh;

  background: white;

  z-index: 201;

  display: flex;

  flex-direction: column;

  transition: right 0.3s ease;

  box-shadow: -5px 0 25px #00000015;

}



.cart-panel.active {

  right: 0;

}



.cart-overlay.active {

  display: block;

}



.cart-header {

  padding: 25px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  border-bottom: 1px solid #e4ece6;

}



.cart-header h2 {

  font-size: 22px;

}



#closeCart {

  background: none;

  border: none;

  font-size: 25px;

  cursor: pointer;

}



.cart-items {

  flex: 1;

  padding: 25px;

  overflow-y: auto;

}



.cart-footer {

  padding: 25px;

  border-top: 1px solid #e4ece6;

}



.cart-footer h3 {

  margin-bottom: 20px;

}



.checkout-btn {

  width: 100%;

  padding: 16px;

  background: #198754;

  color: white;

  border: none;

  border-radius: 12px;

  font-weight: 700;

  cursor: pointer;

}



.checkout-btn:hover {

  background: #12683f;

}



.cart-item {

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 15px;

  padding: 15px 0;

  border-bottom: 1px solid #e4ece6;

}



.cart-item-info strong {

  font-size: 14px;

}



.cart-item-info p {

  color: #198754;

  font-weight: 700;

  margin-top: 5px;

}



.quantity-controls {

  display: flex;

  align-items: center;

  gap: 12px;

}



.quantity-controls button {

  width: 30px;

  height: 30px;

  background: #eaf7ef;

  color: #198754;

  border: none;

  border-radius: 8px;

  font-size: 20px;

  cursor: pointer;

}



.remove-btn {

  background: #fff0f0 !important;

  color: #dc3545 !important;

}



.remove-btn:hover {

  background: #ffdada !important;

}



.cart-item-info {

  flex: 1;

  min-width: 0;

}



.cart-item-info strong {

  overflow-wrap: anywhere;

}



@media (max-width: 450px) {

  .cart-item {

    flex-wrap: wrap;

  }



  .quantity-controls {

    width: 100%;

    justify-content: flex-end;

  }

}



.order-summary-item {

  display: flex;

  justify-content: space-between;

  gap: 15px;

  padding: 12px 0;

  border-bottom: 1px solid #e4ece6;

}



.order-summary-item:last-child {

  border-bottom: none;

}



.order-summary-item strong {

  color: #198754;

  white-space: nowrap;

}



/* ===== АДМИН-ПАНЕЛЬ DIDAR ATA ===== */



.admin-page {

  max-width: 1000px;

  min-height: 100vh;

  margin: 0 auto;

  padding: 35px 20px;

  font-family: Arial, sans-serif;

  color: #173b28;

}



.admin-page [hidden] {

  display: none !important;

}



.admin-header {

  text-align: center;

  margin-bottom: 35px;

}



.admin-header h1 {

  font-size: 36px;

  color: #176b42;

  margin-bottom: 10px;

}



.admin-header p {

  color: #66786d;

  font-size: 15px;

}



/* Форма входа */



#adminLogin {

  max-width: 420px;

  margin: 0 auto;

  padding: 30px;

  background: #ffffff;

  border: 1px solid #dce9df;

  border-radius: 20px;

  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);

}



#adminLogin h2 {

  text-align: center;

  margin-bottom: 25px;

}



#adminLoginForm {

  display: flex;

  flex-direction: column;

  gap: 12px;

}



#adminLoginForm label {

  font-weight: 600;

}



#adminLoginForm input {

  width: 100%;

  padding: 14px;

  border: 1px solid #cbded1;

  border-radius: 10px;

  font-size: 16px;

}



#adminLoginForm button {

  margin-top: 12px;

  padding: 15px;

  background: #176b42;

  color: white;

  border: none;

  border-radius: 12px;

  font-size: 16px;

  font-weight: 600;

  cursor: pointer;

}



#adminLoginForm button:hover {

  background: #105332;

}



/* Панель управления */



#adminDashboard {

  padding: 25px;

  background: #ffffff;

  border-radius: 20px;

  border: 1px solid #dce9df;

}



#adminDashboard h2 {

  margin-bottom: 25px;

}



.admin-actions {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 18px;

  margin-top: 25px;

}



.admin-actions button {

  min-height: 130px;

  padding: 20px;

  background: #eef8f0;

  color: #176b42;

  border: 1px solid #cde6d2;

  border-radius: 16px;

  font-size: 17px;

  font-weight: 600;

  cursor: pointer;

  transition: 0.2s;

}



.admin-actions button:hover {

  background: #d9efdf;

  transform: translateY(-3px);

}



#adminLogout {

  padding: 11px 22px;

  background: #fff0f0;

  color: #b42318;

  border: 1px solid #f4c7c7;

  border-radius: 10px;

  cursor: pointer;

}



/* Адаптация под телефон */



@media (max-width: 650px) {

  .admin-page {

    padding: 20px 15px;

  }



  .admin-header h1 {

    font-size: 29px;

  }



  #adminLogin {

    padding: 22px;

  }



  #adminDashboard {

    padding: 18px;

  }



  .admin-actions {

    grid-template-columns: 1fr;

    gap: 12px;

  }



  .admin-actions button {

    min-height: 85px;

    font-size: 16px;

  }

}



/* ===== ДОБАВЛЕНИЕ ТОВАРОВ ===== */



.admin-product-section {

  margin-top: 35px;

  padding: 28px;

  background: #f7fbf8;

  border: 1px solid #dce9df;

  border-radius: 18px;

}



.admin-product-section h2 {

  color: #176b42;

  font-size: 24px;

  margin-bottom: 24px;

}



#addProductForm {

  display: flex;

  flex-direction: column;

  gap: 12px;

}



#addProductForm label {

  color: #284b37;

  font-size: 15px;

  font-weight: 600;

  margin-top: 5px;

}



#addProductForm input,

#addProductForm select {

  width: 100%;

  padding: 14px;

  border: 1px solid #cbded1;

  border-radius: 10px;

  background: #ffffff;

  color: #173b28;

  font-size: 16px;

  outline: none;

}



#addProductForm input:focus,

#addProductForm select:focus {

  border-color: #176b42;

  box-shadow: 0 0 0 3px rgba(23, 107, 66, 0.1);

}



#addProductForm button {

  margin-top: 15px;

  padding: 16px;

  background: #176b42;

  color: #ffffff;

  border: none;

  border-radius: 12px;

  font-size: 16px;

  font-weight: 700;

  cursor: pointer;

  transition: background 0.2s;

}



#addProductForm button:hover {

  background: #105332;

}



#addProductForm button:disabled {

  opacity: 0.6;

  cursor: not-allowed;

}



#productMessage {

  margin-top: 15px;

  font-size: 14px;

  font-weight: 600;

}



/* Телефон */



@media (max-width: 650px) {

  .admin-product-section {

    margin-top: 22px;

    padding: 18px;

  }



  .admin-product-section h2 {

    font-size: 21px;

  }

}



/* ===== ЗАКАЗЫ В АДМИН-ПАНЕЛИ ===== */



.admin-orders-section {

  margin-top: 30px;

  padding: 25px;

  background: #f7fbf8;

  border: 1px solid #dce9df;

  border-radius: 18px;

}



.admin-orders-section h2 {

  color: #176b42;

  margin-bottom: 12px;

}



#refreshOrders {

  padding: 12px 18px;

  margin: 15px 0 22px;

  background: #176b42;

  color: white;

  border: none;

  border-radius: 10px;

  cursor: pointer;

}



#adminOrdersList {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 18px;

}



.admin-order-card {

  min-width: 0;

  padding: 22px;

  background: white;

  border: 1px solid #dce9df;

  border-radius: 16px;

  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);

}



.admin-order-card h3 {

  color: #176b42;

  margin-bottom: 15px;

}



.admin-order-card h4 {

  margin: 18px 0 10px;

}



.admin-order-card p {

  margin-bottom: 9px;

  line-height: 1.5;

  overflow-wrap: anywhere;

}



.admin-order-card ul {

  padding-left: 22px;

  margin-bottom: 18px;

}



.admin-order-card li {

  margin-bottom: 7px;

}



.admin-order-card label {

  display: block;

  margin-bottom: 9px;

  font-weight: 600;

}



.admin-order-card select {

  width: 100%;

  padding: 12px;

  border: 1px solid #cbded1;

  border-radius: 10px;

  background: white;

  font-size: 16px;

}



.admin-order-card button {

  width: 100%;

  margin-top: 12px;

  padding: 13px;

  background: #176b42;

  color: white;

  border: none;

  border-radius: 10px;

  font-size: 15px;

  font-weight: 600;

  cursor: pointer;

}



.admin-order-card button:hover {

  background: #105332;

}



.admin-order-card button:disabled {

  opacity: 0.6;

  cursor: not-allowed;

}



/* Телефон */



@media (max-width: 700px) {

  .admin-orders-section {

    padding: 16px;

  }



  #adminOrdersList {

    grid-template-columns: 1fr;

  }



  .admin-order-card {

    padding: 17px;

  }

}



/* ===== DIDAR ATA — МОБИЛЬНАЯ АДМИН-ПАНЕЛЬ ===== */



@media (max-width: 600px) {



  #adminDashboard {

    width: 100%;

    max-width: 100%;

  }



  #adminDashboard button {

    max-width: 100%;

    white-space: normal;

    overflow-wrap: anywhere;

  }



  .admin-product-card,

  .admin-order-card {

    width: 100%;

    box-sizing: border-box;

    padding: 16px;

    margin-bottom: 14px;

    border-radius: 14px;

  }



  .admin-product-card img {

    max-width: 100%;

  }



  .admin-product-card button,

  .admin-order-card button,

  .admin-order-card select {

    width: 100%;

    box-sizing: border-box;

    margin-top: 8px;

  }



  #addProductForm input,

  #addProductForm select {

    width: 100%;

    max-width: 100%;

    box-sizing: border-box;

  }



  #adminProductsList,

  #adminOrdersList {

    min-width: 0;

    width: 100%;

  }

}





/* ===== СТАТИСТИКА ТОВАРОВ ===== */



.admin-stats {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 12px;

  margin: 20px 0 24px;

}



.admin-stat {

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  gap: 10px;

  padding: 18px 10px;

  background: #ffffff;

  border: 1px solid #d5e5da;

  border-radius: 16px;

  text-align: center;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);

}



.admin-stat span {

  font-size: 13px;

  color: #52645a;

}



.admin-stat strong {

  font-size: 28px;

  font-weight: 800;

  color: #166534;

}



/* На телефоне */



@media (max-width: 600px) {

  .admin-stats {

    grid-template-columns: 1fr;

    gap: 10px;

  }



  .admin-stat {

    flex-direction: row;

    justify-content: space-between;

    padding: 14px 18px;

  }



  .admin-stat strong {

    font-size: 24px;

  }

}


/* DIDAR ATA — НОВАЯ АДМИН-ПАНЕЛЬ (только admin.html) */
body:has(.admin-page) { background:#f3f6f4; }
.admin-page { max-width:none; padding:0; margin:0; font-family:"Manrope",Arial,sans-serif; color:#203329; }
.admin-page [hidden] { display:none !important; }
.admin-header { display:none; }
#adminLogin { margin:10vh auto; }
#adminDashboard { display:grid; grid-template-columns:250px minmax(0,1fr); min-height:100vh; padding:0; border:0; border-radius:0; background:transparent; }
.admin-sidebar { position:sticky; top:0; height:100vh; background:#143b2b; color:#fff; padding:28px 16px; display:flex; flex-direction:column; gap:24px; }
.admin-brand { font-size:25px; font-weight:800; padding:4px 12px; }
.admin-brand small { display:block; font-size:12px; font-weight:500; opacity:.65; margin-top:6px; }
.admin-menu { display:flex; flex-direction:column; gap:7px; }
.admin-menu button { display:flex; align-items:center; text-align:left; gap:12px; border:0; border-radius:12px; background:transparent; color:#dceee4; padding:14px; font-size:15px; font-weight:700; width:100%; }
.admin-menu button:hover,.admin-menu button.is-active { background:#2a6347; color:#fff; }
#adminLogout { margin-top:auto; background:#ffffff15; color:#fff; border:1px solid #ffffff2c; width:100%; }
.admin-main { min-width:0; padding:34px clamp(16px,3vw,45px); }
.admin-topbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:28px; }
.admin-topbar h1 { font-size:27px; margin:0; }
.admin-topbar p { margin-top:6px; color:#718076; font-size:14px; }
.admin-view { min-width:0; }
.admin-view[hidden] { display:none !important; }
.admin-panel { padding:25px; border:1px solid #e0e9e2; border-radius:20px; background:#fff; margin:0 0 20px; }
.admin-panel h2 { margin:0 0 20px !important; font-size:22px; }
.admin-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 20px; }
.admin-summary .admin-stat { min-height:125px; }
.admin-quick { display:flex; gap:12px; flex-wrap:wrap; }
.admin-quick button, #refreshProducts, #refreshOrders { border:0; background:#198754; color:#fff; padding:12px 18px; border-radius:10px; font-weight:700; }
.admin-quick button:hover, #refreshProducts:hover, #refreshOrders:hover { background:#12683f; }
.admin-product-section,.admin-orders-section { margin:0; padding:25px; background:#fff; }
.admin-products-list { margin:0; }
.admin-products-list > .admin-stats { display:none; }
.admin-toolbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.admin-field label { display:block; font-size:13px; font-weight:700; margin-bottom:7px; }
.admin-field input,.admin-field select { width:100%; padding:13px; border:1px solid #d5e5da; border-radius:10px; background:white; font:inherit; }
#adminProductsList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-product-card { min-width:0; padding:20px; background:#fff; border:1px solid #dce9df; border-radius:16px; overflow-wrap:anywhere; }
.admin-product-card h3 { margin:12px 0; }
.admin-product-card p { margin:8px 0; }
.admin-product-card button { display:block; width:100%; padding:11px; border:1px solid #cde6d2; border-radius:10px; background:#eaf7ef; color:#176b42; margin-top:8px; font-weight:700; }
.admin-product-card button:hover { background:#d5efde; }
#adminOrdersList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#adminStockList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-empty { padding:25px; color:#718076; border:1px dashed #cbded1; border-radius:12px; }
.admin-stock-row { padding:17px; border:1px solid #dce9df; border-radius:14px; background:white; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.admin-stock-row strong { color:#b45309; }
.admin-stock-row.out strong { color:#b42318; }
.admin-stock-row button { background:#eaf7ef; border:0; border-radius:9px; padding:9px 12px; color:#12683f; font-weight:700; }
.admin-topbar .admin-menu-toggle { display:none; }
@media(max-width:950px) { #adminDashboard { grid-template-columns:210px minmax(0,1fr); } .admin-toolbar { grid-template-columns:1fr; } #adminProductsList,#adminOrdersList,#adminStockList { grid-template-columns:1fr; } }
@media(max-width:700px) {
 #adminDashboard { display:block; } .admin-sidebar { position:static; height:auto; padding:15px; gap:12px; }
 .admin-brand { font-size:21px; } .admin-brand small { display:none; }
 .admin-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
 .admin-menu button { font-size:12px; padding:10px 6px; justify-content:center; text-align:center; }
 #adminLogout { margin:0; padding:10px; }
 .admin-main { padding:18px 12px 35px; }
 .admin-topbar h1 { font-size:22px; } .admin-summary { grid-template-columns:1fr; gap:10px; }
 .admin-summary .admin-stat { min-height:0; } .admin-panel,.admin-product-section,.admin-orders-section { padding:16px; }
 .admin-product-card,.admin-order-card { padding:15px; }
}

/* Логотип Didar ata */

.logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.logo-image {
  display: block;
  width: 105px;
  height: 105px;
  object-fit: contain;
}

@media (max-width: 600px) {
  .logo-image {
    width: 75px;
    height: 75px;
  }
}

/* ===================================
   DIDAR ATA — НОВАЯ ГЛАВНАЯ
=================================== */

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header {
  background: #fff;
  border-bottom: 1px solid #edf0ed;
}

.header-inner {
  min-height: 90px;
  gap: 22px;
}

.logo-image {
  width: 82px;
  height: 82px;
  object-fit: contain;
}

.store-search {
  flex: 1;
  max-width: 680px;
}

.store-search input {
  width: 100%;
  padding: 15px 20px;
  border: none;
  border-radius: 16px;
  background: #f3f5f3;
  font-size: 15px;
  outline: none;
}

.store-search input:focus {
  box-shadow: 0 0 0 2px #198754;
}

.cart-button {
  display: flex;
  align-items: center;
  gap: 7px;
  border-radius: 14px;
}

/* АКЦИИ */

.promo-section {
  padding: 26px 0 15px;
}

.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 18px;
}

.section-heading h2 {
  font-size: 23px;
  font-weight: 800;
}

.promo-banners {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.brand-promo {
  width: 100%;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 28px;
  border-radius: 20px;
  background: linear-gradient(110deg, #e9f5e9, #d9eddb);
  overflow: hidden;
}

.brand-promo-content {
  max-width: 65%;
}

.promo-eyebrow {
  font-size: 11px;
  letter-spacing: 1.5px;
  font-weight: 800;
  color: #198754;
}

.brand-promo h2 {
  font-size: clamp(20px, 2.5vw, 30px);
  line-height: 1.2;
  color: #164b30;
  margin: 10px 0;
}

.brand-promo p {
  font-size: 13px;
  line-height: 1.6;
  color: #51735c;
  margin-bottom: 15px;
}

.promo-link {
  display: inline-block;
  background: #198754;
  color: white;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
}

.promo-logo {
  width: 180px;
  max-width: 35%;
  height: 160px;
  object-fit: contain;
}

/* КАТЕГОРИИ */

.shop-section {
  padding: 24px 0;
}

.categories-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.category {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 14px 8px;
  border: none;
  border-radius: 15px;
  background: #f4f6f4;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.category span {
  margin: 0;
}

.category-emoji {
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 38px !important;
  height: 55px;
}

.category:hover {
  background: #e7f4eb;
  transform: translateY(-2px);
}

/* ТОВАРЫ */

.products-section {
  background: #fff;
}

.products-hint {
  font-size: 13px;
  color: #718076;
}

.products-grid {
  gap: 16px;
}

.product-card {
  border-radius: 15px;
  box-shadow: none;
}

.product-image {
  background: #f5f6f5;
}

.product-info {
  padding: 14px;
}

/* ТЕЛЕФОН */

@media (max-width: 700px) {
  .header-inner {
    min-height: 72px;
    gap: 9px;
  }

  .logo-image {
    width: 54px;
    height: 54px;
  }

  .store-search input {
    padding: 12px;
    font-size: 13px;
  }

  .cart-button {
    padding: 10px;
    font-size: 15px;
  }

  .cart-label {
    display: none;
  }

  .section-heading h2 {
    font-size: 19px;
  }

  .promo-section {
    padding-top: 18px;
  }

  .brand-promo {
    min-height: 150px;
    padding: 16px;
    border-radius: 16px;
  }

  .brand-promo h2 {
    font-size: 19px;
  }

  .brand-promo p {
    font-size: 11px;
    margin-bottom: 10px;
  }

  .promo-logo {
    width: 110px;
    height: 115px;
  }

  .categories-grid {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .category {
    flex: 0 0 90px;
    padding: 12px 6px;
    scroll-snap-align: start;
    font-size: 11px;
  }

  .category-emoji {
    font-size: 32px !important;
    height: 45px;
  }

  .shop-section {
    padding: 20px 0;
  }

  .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

/* Логотип на рекламном баннере */
.promo-logo {
  mix-blend-mode: multiply;
  background: transparent;
  object-fit: contain;
}

.cart-icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 8px;
}


/* КАРТА ДОСТАВКИ DIDAR ATA */

.delivery-map-section {
  margin: 24px 0;
  padding: 18px;
  background: #ffffff;
  border: 1px solid #dce8df;
  border-radius: 18px;
}

.delivery-map-section h3 {
  margin: 0 0 10px;
  color: #176b42;
}

.delivery-map-section p {
  color: #64756a;
  line-height: 1.5;
}

#deliveryMap {
  width: 100%;
  height: 350px;
  margin-top: 14px;
  border-radius: 14px;
  overflow: hidden;
  z-index: 1;
}

.map-location-btn {
  padding: 12px 18px;
  border: 0;
  border-radius: 12px;
  background: #e8f5ee;
  color: #176b42;
  font-weight: 700;
  cursor: pointer;
}

#deliveryMapStatus {
  margin-top: 12px;
  font-weight: 600;
}

@media (max-width: 600px) {
  #deliveryMap {
    height: 290px;
  }

  .delivery-map-section {
    padding: 12px;
  }
}


/* ==================================
   DIDAR ATA — КНОПКИ + И −
   НА КАРТОЧКАХ ТОВАРОВ
================================== */

.product-quantity {
  width: 100%;
  margin-top: 12px;
}

.product-quantity .add-button {
  width: 100%;
  min-height: 44px;
  border: none;
  border-radius: 12px;
  background: #16834e;
  color: white;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}

.product-quantity .add-button:hover {
  background: #11683e;
}

.product-quantity .add-button:disabled {
  background: #d6d6d6;
  color: #777;
  cursor: not-allowed;
}

.product-quantity-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  background: #e8f5ec;
  overflow: hidden;
}

.product-quantity-controls button {
  width: 46px;
  height: 44px;
  border: none;
  background: #16834e;
  color: white;
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}

.product-quantity-controls button:hover {
  background: #11683e;
}

.product-quantity-controls button:disabled {
  background: #a6cbb5;
  cursor: not-allowed;
}

.product-quantity-count {
  flex: 1;
  text-align: center;
  color: #173323;
  font-size: 18px;
  font-weight: 800;
}

.product-old-price {
  display: inline-block;
  margin-left: 10px;
  color: #999;
  font-size: 13px;
  font-weight: 400;
  text-decoration: line-through;
}

@media (max-width: 600px) {
  .product-quantity-controls button {
    width: 42px;
    height: 42px;
  }

  .product-quantity-count {
    font-size: 16px;
  }
}


/* ==================================
   DIDAR ATA — ПАНЕЛЬ ПОКУПАТЕЛЯ
================================== */

/* Активная категория */

.categories-grid .category {
  cursor: pointer;
  transition: background .2s, transform .2s;
}

.categories-grid .category.is-active {
  background: #d9f1e2;
  color: #12683f;
  box-shadow: inset 0 0 0 2px #198754;
}

/* Нижняя панель корзины */

.bottom-cart-bar {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 150;

  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;

  width: min(650px, calc(100% - 30px));
  padding: 17px 22px;

  background: #198754;
  color: #ffffff;
  border: none;
  border-radius: 16px;

  box-shadow: 0 8px 28px rgba(0, 0, 0, .2);
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  cursor: pointer;
}

.bottom-cart-bar[hidden] {
  display: none !important;
}

.bottom-cart-left,
.bottom-cart-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bottom-cart-right strong {
  font-size: 18px;
}

body:has(.bottom-cart-bar:not([hidden])) {
  padding-bottom: 90px;
}

@media (max-width: 600px) {
  .bottom-cart-bar {
    bottom: 10px;
    width: calc(100% - 20px);
    padding: 15px;
    border-radius: 14px;
    font-size: 13px;
  }

  .bottom-cart-right {
    gap: 7px;
  }

  .bottom-cart-right strong {
    font-size: 15px;
  }
}


/* ==========================================
   DIDAR ATA — MODERN CUSTOMER DESIGN
   Только для главной страницы магазина
========================================== */

body:has(.promo-section) {
  --shop-green: #198754;
  --shop-dark: #173e2b;
  --shop-bg: #f7f9f7;
  --shop-border: #edf0ed;

  background: var(--shop-bg);
  color: #25342b;
}

/* Плавная прокрутка с учётом шапки */

body:has(.promo-section) #products,
body:has(.promo-section) #categories {
  scroll-margin-top: 110px;
}

/* ШАПКА */

body:has(.promo-section) .header {
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--shop-border);
  box-shadow: 0 3px 18px rgba(0, 0, 0, .035);
}

body:has(.promo-section) .header-inner {
  min-height: 82px;
  gap: 20px;
}

body:has(.promo-section) .logo-image {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

body:has(.promo-section) .store-search {
  max-width: 720px;
}

body:has(.promo-section) .store-search input {
  min-height: 49px;
  background: #f3f5f3;
  border: 1px solid transparent;
  border-radius: 15px;
  padding: 13px 18px;
  font-size: 14px;
  transition: .2s;
}

body:has(.promo-section) .store-search input:focus {
  background: #fff;
  border-color: #198754;
  box-shadow: 0 0 0 3px rgba(25, 135, 84, .1);
}

/* КОРЗИНА В ШАПКЕ */

body:has(.promo-section) .cart-button {
  min-height: 47px;
  padding: 9px 15px;
  border-radius: 14px;
  background: #198754;
  box-shadow: 0 4px 12px rgba(25, 135, 84, .14);
}

body:has(.promo-section) .cart-icon {
  width: 27px;
  height: 27px;
  object-fit: contain;
}

body:has(.promo-section) #cartCount {
  min-width: 25px;
  text-align: center;
  padding: 3px 7px;
  border-radius: 8px;
}

/* РЕКЛАМНЫЙ БАННЕР */

body:has(.promo-section) .promo-section {
  padding: 26px 0 12px;
}

body:has(.promo-section) .section-heading {
  margin-bottom: 17px;
}

body:has(.promo-section) .section-heading h2 {
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 800;
  letter-spacing: -.6px;
}

body:has(.promo-section) .brand-promo {
  min-height: 190px;
  padding: 25px 32px;
  border-radius: 23px;
  background: linear-gradient(
    115deg,
    #e2f3e7 0%,
    #f0f8e9 65%,
    #e6f3d7 100%
  );
}

body:has(.promo-section) .brand-promo h2 {
  font-size: clamp(23px, 3vw, 34px);
  font-weight: 800;
  letter-spacing: -.8px;
}

body:has(.promo-section) .promo-link {
  padding: 11px 18px;
  border-radius: 11px;
  transition: .2s;
}

body:has(.promo-section) .promo-link:hover {
  background: #12683f;
}

body:has(.promo-section) .promo-logo {
  width: 175px;
  height: 150px;
  object-fit: contain;
}

/* КАТЕГОРИИ */

body:has(.promo-section) .shop-section {
  padding: 24px 0;
}

body:has(.promo-section) .categories-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 13px;
}

body:has(.promo-section) .category {
  min-height: 117px;
  padding: 15px 8px;
  background: #fff;
  border: 1px solid #edf0ed;
  border-radius: 18px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .025);
  transition: .2s;
}

body:has(.promo-section) .category:hover {
  background: #f0f9f2;
  border-color: #a9d8b8;
  transform: translateY(-3px);
}

body:has(.promo-section) .category.is-active {
  background: #e2f5e8;
  border-color: #198754;
  color: #12683f;
  box-shadow: inset 0 0 0 1px #198754;
}

body:has(.promo-section) .category-emoji {
  font-size: 36px !important;
  height: 48px;
}

/* СЕТКА ТОВАРОВ */

body:has(.promo-section) .products-section {
  background: transparent;
  padding-top: 25px;
  padding-bottom: 65px;
}

body:has(.promo-section) .products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

/* КАРТОЧКА */

body:has(.promo-section) .product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #edf0ed;
  border-radius: 20px;
  box-shadow: 0 3px 14px rgba(0, 0, 0, .025);
  transition: transform .2s, box-shadow .2s;
}

body:has(.promo-section) .product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .07);
}

body:has(.promo-section) .product-image {
  display: block;
  width: 100%;
  height: 195px;
  object-fit: contain;
  padding: 13px;
  background: #f9faf9;
}

body:has(.promo-section) .product-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 15px;
}

body:has(.promo-section) .product-category {
  font-size: 11px;
  font-weight: 700;
  color: #8a978e;
}

body:has(.promo-section) .product-info h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  min-height: 42px;
  margin: 8px 0 10px;
  overflow-wrap: anywhere;
}

body:has(.promo-section) .product-price {
  font-size: 21px;
  font-weight: 800;
  color: #173e2b;
  margin-top: auto;
  margin-bottom: 5px;
}

body:has(.promo-section) .product-old-price {
  color: #a4aca6;
  font-size: 12px;
  font-weight: 500;
}

/* КНОПКИ ДОБАВЛЕНИЯ */

body:has(.promo-section) .product-quantity {
  margin-top: 13px;
}

body:has(.promo-section) .product-quantity .add-button {
  min-height: 44px;
  background: #e5f5ea;
  color: #147342;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
}

body:has(.promo-section) .product-quantity .add-button:hover {
  background: #d3eddb;
}

body:has(.promo-section) .product-quantity .add-button:disabled {
  background: #f1f2f1;
  color: #999;
}

body:has(.promo-section) .product-quantity-controls {
  background: #e8f5ec;
  border-radius: 12px;
}

body:has(.promo-section) .product-quantity-controls button {
  background: #198754;
  border-radius: 10px;
}

body:has(.promo-section) .product-quantity-count {
  color: #12683f;
}

/* ПЛАВАЮЩАЯ КОРЗИНА */

body:has(.promo-section) .bottom-cart-bar {
  bottom: 17px;
  width: min(590px, calc(100% - 24px));
  min-height: 60px;
  padding: 15px 22px;
  background: #198754;
  border-radius: 17px;
  box-shadow: 0 9px 28px rgba(25, 135, 84, .28);
  transition: background .2s;
}

body:has(.promo-section) .bottom-cart-bar:hover {
  background: #12683f;
}

/* ПОДВАЛ */

body:has(.promo-section) .footer {
  background: #173e2b;
}

/* ПЛАНШЕТ */

@media (max-width: 900px) {
  body:has(.promo-section) .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:has(.promo-section) .categories-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ТЕЛЕФОН */

@media (max-width: 600px) {
  body:has(.promo-section) .header-inner {
    min-height: 65px;
    gap: 8px;
  }

  body:has(.promo-section) .logo-image {
    width: 49px;
    height: 49px;
  }

  body:has(.promo-section) .store-search input {
    min-height: 42px;
    padding: 10px;
    font-size: 12px;
  }

  body:has(.promo-section) .cart-button {
    min-height: 42px;
    padding: 7px;
  }

  body:has(.promo-section) .cart-icon {
    width: 24px;
    height: 24px;
  }

  body:has(.promo-section) .promo-section {
    padding-top: 16px;
  }

  body:has(.promo-section) .brand-promo {
    min-height: 155px;
    padding: 16px;
    border-radius: 16px;
  }

  body:has(.promo-section) .brand-promo h2 {
    font-size: 19px;
  }

  body:has(.promo-section) .promo-logo {
    width: 95px;
    height: 100px;
  }

  body:has(.promo-section) .categories-grid {
    display: flex;
    overflow-x: auto;
    gap: 9px;
    padding-bottom: 8px;
  }

  body:has(.promo-section) .category {
    flex: 0 0 90px;
    min-height: 100px;
    padding: 11px 6px;
    border-radius: 14px;
  }

  body:has(.promo-section) .category-emoji {
    font-size: 29px !important;
    height: 39px;
  }

  body:has(.promo-section) .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body:has(.promo-section) .product-card {
    border-radius: 15px;
  }

  body:has(.promo-section) .product-image {
    height: 140px;
    padding: 9px;
  }

  body:has(.promo-section) .product-info {
    padding: 11px;
  }

  body:has(.promo-section) .product-info h3 {
    font-size: 13px;
    min-height: 36px;
  }

  body:has(.promo-section) .product-price {
    font-size: 17px;
  }

  body:has(.promo-section) .product-quantity-controls button {
    width: 37px;
    height: 42px;
  }

  body:has(.promo-section) .product-quantity-count {
    font-size: 15px;
  }

  body:has(.promo-section) .bottom-cart-bar {
    bottom: 9px;
    min-height: 56px;
    padding: 13px 15px;
    border-radius: 14px;
  }
}


/* ======================================
   DIDAR ATA — ОКНО ПОДРОБНОГО ТОВАРА
====================================== */

body.modal-open {
  overflow: hidden;
}

.product-modal[hidden] {
  display: none !important;
}

.product-modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.product-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13, 29, 19, .55);
  backdrop-filter: blur(4px);
}

.product-modal-window {
  position: relative;
  width: min(850px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  background: white;
  border-radius: 24px;
  box-shadow: 0 20px 70px rgba(0, 0, 0, .2);
}

.product-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 2;
  width: 39px;
  height: 39px;
  border: none;
  border-radius: 50%;
  background: #f1f3f1;
  color: #25342b;
  font-size: 27px;
  cursor: pointer;
}

.product-modal-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 38px;
}

.product-modal-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 330px;
  background: #f8faf8;
  border-radius: 20px;
}

.product-modal-photo img {
  width: 100%;
  height: 330px;
  padding: 20px;
  object-fit: contain;
}

.product-modal-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#modalProductCategory {
  color: #198754;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}

#modalProductName {
  color: #203329;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 15px;
}

.modal-product-description {
  color: #718076;
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 25px;
}

.modal-product-price {
  color: #173e2b;
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 15px;
}

#modalProductActions {
  width: 100%;
}

#modalProductActions .product-quantity {
  margin-top: 0;
}

.product-card .product-image,
.product-card .product-info h3 {
  cursor: pointer;
}

@media (max-width: 650px) {
  .product-modal {
    align-items: flex-end;
    padding: 0;
  }

  .product-modal-window {
    width: 100%;
    max-height: 92vh;
    border-radius: 22px 22px 0 0;
  }

  .product-modal-layout {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 20px;
  }

  .product-modal-photo {
    min-height: 210px;
  }

  .product-modal-photo img {
    height: 220px;
  }

  #modalProductName {
    font-size: 22px;
  }

  .modal-product-price {
    font-size: 25px;
  }
}


/* DIDAR ATA — ЛИЧНЫЙ КАБИНЕТ */

.customer-profile-page {
  background: #f5f8f5;
  min-height: 100vh;
  font-family: "Manrope", Arial, sans-serif;
}

.profile-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 18px max(5%, calc((100% - 1000px) / 2));
  background: white;
  border-bottom: 1px solid #e4ece6;
}

.profile-header strong {
  font-size: 22px;
  color: #198754;
}

.profile-header button {
  padding: 10px 15px;
  border: 0;
  border-radius: 10px;
  background: #eaf7ef;
  color: #12683f;
  font-weight: 700;
}

.profile-container {
  max-width: 1000px;
  margin: 35px auto;
  padding: 0 18px 50px;
}

.profile-container h1 {
  font-size: 30px;
  margin-bottom: 8px;
}

.profile-subtitle {
  color: #718076;
  margin-bottom: 22px;
}

.profile-card {
  padding: 28px;
  margin: 22px 0;
  border: 1px solid #e4ece6;
  border-radius: 20px;
  background: white;
}

.profile-card h2 {
  margin-bottom: 18px;
}

.profile-card h3 {
  margin: 25px 0 15px;
}

.profile-card form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 15px;
}

.profile-card label {
  font-size: 14px;
  font-weight: 700;
}

.profile-card input,
.profile-card select,
.profile-card textarea {
  width: 100%;
  padding: 13px;
  border: 1px solid #d7e5da;
  border-radius: 11px;
  background: white;
  font: inherit;
}

.profile-card textarea {
  resize: vertical;
}

.profile-check {
  display: flex;
  align-items: center;
  gap: 10px;
}

.profile-check input {
  width: auto;
}

.profile-primary-btn,
.profile-secondary-btn {
  padding: 14px;
  border-radius: 11px;
  font-weight: 700;
  border: none;
}

.profile-primary-btn {
  background: #198754;
  color: white;
}

.profile-secondary-btn {
  background: #edf3ef;
  color: #173e2b;
}

.saved-address {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  margin-bottom: 12px;
  border: 1px solid #e4ece6;
  border-radius: 14px;
}

.saved-address p {
  margin-top: 8px;
  color: #718076;
  overflow-wrap: anywhere;
}

.saved-address-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.saved-address-actions button {
  padding: 9px 12px;
  border: 0;
  border-radius: 9px;
  background: #eaf7ef;
  color: #12683f;
  font-weight: 700;
}

#profileMessage {
  color: #12683f;
  font-weight: 700;
}

@media (max-width: 650px) {
  .profile-container h1 {
    font-size: 24px;
  }

  .profile-card {
    padding: 18px;
  }

  .saved-address {
    flex-direction: column;
  }

  .saved-address-actions {
    justify-content: flex-start;
  }

  .profile-header strong {
    font-size: 18px;
  }
}

/* Сохранённые адреса при оформлении заказа */

.checkout-saved-addresses {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  margin: 15px 0;
  background: #f1f8f3;
  border: 1px solid #d8eadc;
  border-radius: 14px;
}

.checkout-saved-addresses label {
  font-weight: 700;
  color: #173d29;
}

.checkout-saved-addresses select {
  width: 100%;
  padding: 13px;
  border: 1px solid #cfe2d3;
  border-radius: 10px;
  background: white;
  font-size: 15px;
}

#savedAddressHint {
  margin: 0;
  color: #65776a;
  font-size: 13px;
}

.checkout-profile-link {
  color: #16834e;
  font-weight: 700;
  text-decoration: none;
}

.checkout-profile-link:hover {
  text-decoration: underline;
}

.payment-section {
  background: #fff;
  border-radius: 24px;
  padding: 24px 0;
  margin: 20px 0;
}

.payment-section h2 {
  font-size: 28px;
  margin-bottom: 22px;
  color: #181818;
}

.payment-methods {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 4px 2px 12px;
  scrollbar-width: thin;
}

.payment-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 0 0 170px;
  min-height: 155px;
  padding: 16px;
  background: #f5f5f5;
  border: 3px solid transparent;
  border-radius: 22px;
  cursor: pointer;
  box-sizing: border-box;
}

.payment-card.selected {
  border-color: #222;
}

.payment-card:has(input:disabled) {
  opacity: .45;
  cursor: not-allowed;
}

.payment-card input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.payment-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 12px;
  background: white;
  font-size: 25px;
  font-weight: 800;
}

.kaspi-icon {
  background: #f14635;
  color: white;
}

.payment-card strong {
  font-size: 17px;
  color: #181818;
}

.payment-card small {
  font-size: 12px;
  color: #777;
}

.payment-note {
  color: #777;
  font-size: 13px;
  margin-top: 10px;
}

/* Вход и регистрация покупателя в шапке */
.customer-login-link { display:inline-flex; align-items:center; justify-content:center; padding:10px 13px; border-radius:10px; background:#e8f5eb; color:#176b35; text-decoration:none; font-size:14px; font-weight:700; white-space:nowrap; }
.customer-login-link:hover { background:#d3ebd9; }
@media(max-width:650px) { .header-inner { flex-wrap:wrap; } .customer-login-link { order:2; font-size:12px; padding:9px; } .store-search { order:3; flex-basis:100%; } }
