*{box-sizing:border-box} html,body{margin:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;color:#0f172a;background:#f8fafc}
.container{max-width:1280px;margin:0 auto;padding:16px}
.page-title{margin:12px 0 10px 0}
.site-header.gradient{background:linear-gradient(135deg,#0f172a,#1f2937);color:#fff}
.head-flex{display:flex;align-items:center;gap:16px}
.head-flex .main-nav{display:flex;gap:14px;flex:1}
.auth-links{white-space:nowrap}
.logo{font-weight:800;font-size:20px;letter-spacing:.3px}
.site-header a,.site-footer a{color:#fff;text-decoration:none}
.site-header a:hover{text-decoration:underline}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.card{display:block;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;box-shadow:0 6px 20px rgba(0,0,0,.04);transition:transform .15s ease, box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.card .thumb{height:220px;display:flex;align-items:center;justify-content:center;background:#f1f5f9}
.card .thumb img{max-width:100%;max-height:100%}
.noimg{padding:40px;color:#9ca3af}
.card-body{padding:12px}
.card-title{font-weight:700;margin-bottom:8px}
.price .old{text-decoration:line-through;color:#9ca3af;margin-right:8px}
.price .new{font-weight:800}

.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.product .main-photo img{max-width:100%;cursor:zoom-in;border-radius:12px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.thumbs img{width:80px;height:80px;object-fit:cover;cursor:zoom-in;border-radius:10px}

.table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
.table th,.table td{border:1px solid #e5e7eb;padding:10px;vertical-align:top}
.tthumb{width:60px;height:60px;object-fit:cover;border-radius:8px}
.alert{padding:10px;background:#ffe08a;border:1px solid #f2c94c;margin:10px 0;border-radius:10px}
.alert.success{background:#d1fae5;border-color:#10b981}
.modal-zoom{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:9999}
.modal-zoom img{max-width:90%;max-height:90%;border-radius:12px}
.modal-zoom .backdrop{position:absolute;inset:0}

form input,form textarea,form button{padding:10px;font:inherit}
form input,form textarea{width:100%;max-width:100%;margin:6px 0;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid #111;text-decoration:none;color:#111}
.btn.small{padding:6px 10px;font-size:14px}
.btn.primary{background:#111;color:#fff;border-color:#111}
.btn.primary:hover{filter:brightness(1.08)}
.form{gap:12px}
.form-row{display:flex;gap:12px}
.form-row.end{justify-content:flex-end}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat{padding:18px;font-weight:600}

.site-footer{background:#eef2ff; color:#111;color:#fff;margin-top:24px}
.foot-flex{display:flex;align-items:center;justify-content:space-between}

.adm-header{background:#111;color:#fff}
.adm-flex{display:flex;align-items:center;justify-content:space-between}
.adm-nav a{color:#fff;margin-left:12px}

.breadcrumbs{color:#64748b;margin-bottom:8px}
.breadcrumbs a{color:#64748b;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}

/* Responsive */
@media (max-width: 1024px){
  .grid2{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr}
  .auth-links{display:none}
  .head-flex{flex-wrap:wrap}
}
@media (max-width: 600px){
  .container{padding:12px}
  .card .thumb{height:180px}
  .tthumb{width:48px;height:48px}
}
.sep{border:0;border-top:1px solid #e5e7eb;margin:24px 0}
.muted{color:#6b7280;font-size:14px}
select{padding:10px;border-radius:10px;border:1px solid #e2e8f0;background:#fff}


/* Bright theme additions */
:root{
  --radius: 16px;
  --card-shadow: 0 8px 24px rgba(17,24,39,.08);
  --blue: #2563eb;
  --indigo: #4f46e5;
}
.site-header.gradient{box-shadow:0 2px 12px rgba(17,24,39,.12)}
.btn.primary{background:var(--blue);border-color:var(--blue)}
.btn.primary:hover{filter:none;transform:translateY(-1px);box-shadow:0 6px 14px rgba(37,99,235,.25)}

/* Cards mosaic preview */
.card{border-radius:var(--radius);box-shadow:var(--card-shadow)}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;border-top:1px solid #eef2f7;background:#fafcff}
.mosaic .mosaic-cell{width:100%;padding-top:100%;position:relative;border-radius:12px;overflow:hidden}
.mosaic .mosaic-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Product page new layout */
.product-new .pgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);gap:24px}
.product-new .p-main img{width:100%;border-radius:18px;box-shadow:var(--card-shadow);background:#fff}
.p-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pth{width:86px;height:86px;border-radius:12px;object-fit:cover;cursor:pointer;border:2px solid transparent;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.pth:hover{border-color:#c7d2fe}
.p-info.card{padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:var(--card-shadow);align-self:start}
.p-title{margin-top:0}
.btn.big{padding:12px 18px;font-weight:700;border-radius:14px}

/* Lighter page bg */
body{background:#f7faff}

/* Responsive */
@media (max-width: 1024px){
  .product-new .pgrid{grid-template-columns:1fr}
}

/* Minor polish */
.card .thumb{background:#f5f8ff}
.price-new{color:#0f172a}


/* === VIVID v2 overrides === */
:root{
  --primary:#ff6b00;
  --primary2:#ff3d68;
  --text:#0f172a;
  --bg:#f8fbff;
  --card:#ffffff;
  --muted:#64748b;
}
body{background:var(--bg)}
.site-header.gradient{box-shadow:0 10px 30px rgba(17,24,39,.18)}

.auth-links .btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.9);color:#fff}
.auth-links .btn.ghost:hover{background:#fff;color:#111;border-color:#fff}

/* Card thumbnails keep ratio and crop nicely */
.card .thumb{aspect-ratio: 4/3; overflow:hidden; border-top-left-radius:18px; border-top-right-radius:18px; background:#f3f6ff}
.card .thumb img{width:100%; height:100%; object-fit:cover; display:block}

/* Product card body spacing */
.card .card-body{padding:14px 16px 16px}

/* Mosaic spacing below main image on cards */
.mosaic{padding:10px 10px 6px; background:#fafcff; border-top:1px solid #eef2f7}
.mosaic .mosaic-cell{border-radius:10px; overflow:hidden}

/* Buttons */
.btn.primary{background:var(--primary);border-color:var(--primary)}
.btn.primary:hover{filter:none; transform:translateY(-1px); box-shadow:0 10px 20px rgba(255,107,0,.25)}

/* Headings */
h1,h2{color:#0b1220}

/* Footer readable on light bg */
.site-footer{background:#eef2ff;color:#0f172a}
.site-footer a{color:#0f172a}

/* Product page polish */
.product-new .pgrid{gap:28px}
.p-info.card{border:1px solid #e6e8f0;background:#fff}
.p-main img{background:#fff}


/* === Right-side thumbnails on product cards === */
.card.pc{padding:0}
.card.pc .pc-wrap{display:grid;grid-template-columns:1fr 88px;gap:10px;padding:10px 10px 0}
.pc-media{background:#f3f6ff;border-radius:16px;overflow:hidden;position:relative;aspect-ratio:4/5}
.pc-media .pc-main{position:absolute;inset:0;width:100%;height:100%;object-fit: contain;display:block}
.pc-thumbs{height:100%;display:flex;flex-direction:column;gap:10px}
.pc-th{width:88px;height:calc((100% - 20px)/3);object-fit:cover;border-radius:12px;border:2px solid transparent;cursor:pointer;background:#fff;box-shadow:0 2px 6px rgba(2,6,23,.05)}
.pc-th:hover{border-color:#c7d2fe}
@media (max-width:780px){
  .card.pc .pc-wrap{grid-template-columns:1fr 72px}
  .pc-th{width:72px}
}

/* Adjust default card thumb spacing for plain cards (news) */
.card .thumb{aspect-ratio:4/3}

/* === v4 small left thumbnails on product cards === */
.card.pc{padding:0}
.card.pc .pc-wrap.left{display:grid;grid-template-columns:68px 1fr;gap:12px;padding:12px 12px 0 12px}
.pc-media{position:relative;background:#f3f6ff;border-radius:14px;overflow:hidden;aspect-ratio:4/5}
.pc-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pc-thumbs{display:flex;flex-direction:column;gap:8px;max-height:calc(100%);overflow:auto;padding-right:2px}
.pc-th{width:64px;height:64px;border-radius:10px;object-fit:cover;cursor:pointer;border:2px solid transparent;background:#fff;box-shadow:0 2px 6px rgba(2,6,23,.06)}
.pc-th:hover{border-color:#c7d2fe}
.pc-th.active{border-color:#8b5cf6}

/* Mobile: thumbs move below as a row */
@media (max-width: 780px){
  .card.pc .pc-wrap.left{grid-template-columns:1fr;gap:10px}
  .pc-thumbs{flex-direction:row;overflow-x:auto;max-height:none}
  .pc-th{width:64px;height:64px;flex:0 0 auto}
}


/* === v5 flex thumbs equal-height === */
.card.pc{padding:0}
.pc-flex{display:flex; gap:12px; align-items:stretch; padding:12px 12px 0 12px}
.pc-thumbs{width:70px; display:flex; flex-direction:column; gap:8px; overflow:auto}
.pc-th{width:64px; height:64px; flex:0 0 64px; border-radius:10px; object-fit:cover; cursor:pointer; border:2px solid transparent; background:#fff; box-shadow:0 2px 6px rgba(2,6,23,.06)}
.pc-th:hover{border-color:#c7d2fe}
.pc-th.active{border-color:#8b5cf6}
.pc-media{position:relative; background:#f3f6ff; border-radius:14px; overflow:hidden; flex:1 1 auto; aspect-ratio:4/5}
.pc-media .pc-main{position:absolute; inset:0; width:100%; height:100%; object-fit: contain; display:block}

/* Footer/readability overrides */
.site-footer{background:#eef2ff;color:#0f172a}
.site-footer a{color:#0f172a}
.auth-links .btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.9);color:#fff}
.auth-links .btn.ghost:hover{background:#fff;color:#111;border-color:#fff}

@media (max-width: 780px){
  .pc-flex{flex-direction:column}
  .pc-thumbs{width:auto; flex-direction:row; overflow-x:auto}
  .pc-th{width:64px; height:64px; flex:0 0 auto}
}


/* === v5.2 wider product cards on home === */
.grid.grid-products{grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:24px}

/* Card visuals */
.card.pc{border-radius:18px; box-shadow:0 10px 26px rgba(2,6,23,.10)}

/* Keep left thumbs narrow, give media the rest */
.pc-flex{gap:14px}
.pc-thumbs{width:76px}
.pc-th{width:70px;height:70px;flex:0 0 70px}
.pc-media{aspect-ratio:3/4}
.pc-media .pc-main{object-fit:contain;background:#f3f6ff}

/* === STABLE v2 patch: fixed left thumbnails + compact cards (~30% smaller) === */
/* Grid: smaller cards */
.grid.grid-products{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}

/* Card media and thumbs layout (keep your existing structure) */
.card.pc .pc-wrap.left{display:grid;grid-template-columns:60px 1fr;gap:10px}

/* Thumbs: strict squares */
.pc-thumbs{width:60px;display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:2px}
.pc-th{position:relative;width:56px;height:56px;flex:0 0 56px;border-radius:10px;overflow:hidden;border:2px solid transparent;background:#fff;box-shadow:0 2px 6px rgba(2,6,23,.06)}
.pc-th img{width:100%;height:100%;object-fit:cover;display:block}
.pc-th.more .more-badge{position:absolute;right:6px;bottom:6px;background:rgba(15,23,42,.85);color:#fff;border-radius:10px;padding:2px 8px;font-size:12px;line-height:1}

/* Main image: 3:4 and contain (no cropping) */
.pc-media{position:relative;background:#f3f6ff;border-radius:14px;overflow:hidden;aspect-ratio:3/4}
.pc-media .pc-main{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}

/* Optional: clamp short description to 2 lines */
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
