* {
	box-sizing:border-box;
	margin:0; padding:0;
}
html,body {
	font-family: Arial, sans-serif;
	background:#f7f7f7;
	color:#1c1c1c;
}
img {
	max-width:100%;
	height:auto;
	display:block;
}

/* Header */
#header {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background:#fff;
	border-bottom:1px solid #e6e6e6;
	z-index:1000;
}
.headerWrap {
	max-width:1200px;
	margin:0 auto;
	padding:12px 0px;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.logo{ font-weight:700; font-size:18px; }
.logo > a { color:#0a7f0a; text-decoration:none; font-weight:bolder; }
.phone{ font-size:18px; font-weight:bolder; }
.cart{ font-size:14px; }
.cart > a { text-decoration:none; }

/* Container */
.container { max-width:1250px; margin:0 auto; padding:75px 16px 40px; }

/* Grid */
.grid { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-around; align-items:flex-start; }

/* Card (по твоему шаблону) */
.card {
    background:#fff;
    border:1px solid #e9e9e9;
    border-radius:10px;
    padding:16px;
    width:100%;
    max-width:380px;
    box-shadow:0 2px 6px rgba(0,0,0,0.03);
}

/* Изображение — выше, по центру */
.card img { width:100%; max-width:320px; margin:0 auto 12px auto; display:block; border-radius:6px; }
.no-img { background:#efefef; height:200px; display:flex; align-items:center; justify-content:center; color:#9a9a9a; border-radius:6px; margin-bottom:12px; }

/* Название */
.card h3 { font-size:18px; margin:8px 0; color:#111; }

/* Описание (может содержать HTML) */
.card p { font-size:14px; line-height:1.567; color:#333; margin:6px 0; }
.id-line {
	padding:8px 0px;
	border-bottom:#e6e6e6 solid 1px;
	border-top:#e6e6e6 solid 1px;
	margin:0.5em 0px;
}
/* Цена */
.price-line { margin-top:8px; font-size:19px; color:#0a7f0a; font-weight:bold; }

/* Кнопка */
.btn { display:inline-block; width:100%; margin-top:12px; background:#1a73e8; color:#fff; border:none; padding:10px 14px; border-radius:8px; cursor:pointer; font-size:15px; }
.btn.disabled, .btn[disabled] { background:#cfcfcf; color:#666; cursor:default; }

/* Модал */
.modal-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.45); display:none; align-items:center; justify-content:center; z-index:2000; padding:20px; }
.modal { background:#fff; border-radius:10px; padding:18px; max-width:480px; width:100%; text-align:center; box-shadow:0 6px 24px rgba(0,0,0,0.2); }
.modal p { margin-bottom:16px; font-size:16px; }
.modal-actions { display:flex; gap:10px; }
.modal .btn { flex:1; }

/* Ошибки */
.alert.error { background:#fff4f4; border:1px solid #ffdede; color:#900; padding:12px; border-radius:6px; text-align:center; }

/* Responsive */
@media (max-width: 900px) {
    .grid { justify-content:center; }
    .card { max-width:520px; }
}
@media (max-width: 480px) {
    .headerWrap { flex-direction:column; gap:6px; }
    .card { padding:12px; }
    .no-img { height:160px; }
}