:root{
  --forest:#1f3b2e;
  --deep:#152a21;
  --cream:#f6f1e6;
  --paper:#fffaf1;
  --beige:#e7dcc7;
  --sage:#8da792;
  --terra:#c64a4a;
  --espresso:#4b3426;
  --ink:#26322c;
  --muted:#68746d;
  --line:rgba(31,59,46,.15);
  --shadow:0 20px 55px rgba(31,59,46,.09);
  --serif:Didot,"Bodoni 72",Georgia,serif;
  --sans:Inter,Avenir,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--cream)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}
button,input{font:inherit}
.catalog-app{max-width:1460px;margin:0 auto;padding:24px clamp(18px,4vw,64px) 70px}
.catalog-hero{padding:10px 0 28px}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:38px}
.back-link{color:var(--forest);text-decoration:none;font-weight:750}
.back-link:hover{text-decoration:underline}
.pill{border:1px solid var(--line);background:rgba(255,250,241,.72);padding:9px 14px;border-radius:999px;font-size:.76rem;letter-spacing:.12em;font-weight:800;color:var(--forest)}
.eyebrow{font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;font-weight:850;color:var(--terra);margin:0 0 10px}
.hero-copy{max-width:880px}
.hero-copy h1{font-family:var(--serif);font-weight:400;color:var(--forest);font-size:clamp(3.1rem,7vw,6.7rem);line-height:.9;letter-spacing:-.045em;margin:0 0 24px}
.hero-copy>p:last-child{max-width:780px;font-size:clamp(1rem,2vw,1.22rem);line-height:1.7;color:var(--muted)}
.search-panel{margin-top:32px;display:flex;gap:12px;max-width:850px}
.search-box{flex:1;display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:0 18px;box-shadow:0 8px 28px rgba(31,59,46,.05)}
.search-box span{font-size:1.5rem;color:var(--forest)}
.search-box input{width:100%;border:0;outline:0;background:transparent;padding:17px 0;color:var(--ink)}
.ghost-btn{border:1px solid var(--line);background:transparent;color:var(--forest);font-weight:800;border-radius:16px;padding:0 20px;cursor:pointer}
.ghost-btn:hover{background:var(--paper)}
.system-notice{background:#fff1e9;border:1px solid #efcdbd;border-radius:18px;padding:18px 20px;margin-bottom:24px;color:#7b3b28}
.system-notice p{margin:8px 0 0;line-height:1.55}
.system-notice code{background:#f9ded1;padding:2px 5px;border-radius:5px}
.category-tabs{display:flex;gap:9px;overflow-x:auto;padding:8px 0 18px;scrollbar-width:thin}
.tab{white-space:nowrap;border:1px solid var(--line);background:rgba(255,250,241,.65);color:var(--forest);border-radius:999px;padding:10px 15px;font-weight:750;cursor:pointer}
.tab.active{background:var(--forest);color:white;border-color:var(--forest)}
.catalog-meta{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0 24px;color:var(--muted)}
.catalog-meta strong{color:var(--forest);font-size:1.2rem;margin-right:5px}
.active-filter{font-size:.86rem;border-bottom:1px solid var(--line);padding-bottom:4px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.product-card{background:var(--paper);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;transition:transform .2s ease,box-shadow .2s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:0 24px 65px rgba(31,59,46,.13)}
.product-media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#e8dfcf,#dfe8df);overflow:hidden}
.product-photo{display:block;width:100%;height:100%;object-fit:cover}
.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 35%,#f8f2e6 0,#e6dcc9 55%,#d8e1d8 100%);color:rgba(31,59,46,.45)}
.photo-placeholder span{font-family:var(--serif);font-size:5rem}
.category-badge{position:absolute;left:15px;top:15px;background:rgba(21,42,33,.88);color:white;padding:8px 11px;border-radius:999px;font-size:.72rem;font-weight:800;backdrop-filter:blur(8px)}
.product-body{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}
.card-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:26px}
.product-code{font-size:.71rem;color:var(--muted);font-weight:750;letter-spacing:.07em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}
.price-badge{color:var(--forest);font-weight:900;white-space:nowrap}
.product-name{font-family:var(--serif);font-size:clamp(1.65rem,2.5vw,2.15rem);font-weight:400;line-height:1.02;color:var(--forest);margin:14px 0 8px}
.product-subtitle{margin:0 0 10px;color:var(--terra);font-size:.84rem;font-weight:760;line-height:1.45}
.product-description{color:var(--muted);line-height:1.58;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.attribute-tags{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}
.attribute-tags span{padding:6px 9px;border-radius:999px;background:#e9eee9;color:var(--forest);font-size:.72rem;font-weight:750}
.presentations-box{margin-top:auto;border-top:1px solid var(--line);padding-top:13px}
.presentations-box summary{cursor:pointer;color:var(--forest);font-weight:850;list-style:none;display:flex;align-items:center;justify-content:space-between}
.presentations-box summary::-webkit-details-marker{display:none}
.presentations-box summary::after{content:'+';font-size:1.25rem;font-weight:500}
.presentations-box[open] summary::after{content:'−'}
.presentations-list{padding-top:10px}
.presentation-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);align-items:flex-start}
.presentation-row:last-child{border-bottom:0}
.presentation-name{font-size:.87rem;color:var(--muted);line-height:1.4}
.presentation-row strong{font-size:.87rem;color:var(--forest);white-space:nowrap}
.empty-state{text-align:center;padding:70px 20px;color:var(--muted)}
.empty-state .empty-icon{font-size:4rem;color:var(--sage)}
.empty-state h2{font-family:var(--serif);font-weight:400;color:var(--forest);font-size:2rem;margin:10px 0}
@media(max-width:1050px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){
  .catalog-app{padding:18px 16px 55px}
  .hero-top{align-items:flex-start;flex-direction:column;margin-bottom:30px}
  .hero-copy h1{font-size:clamp(3rem,16vw,4.7rem)}
  .search-panel{flex-direction:column}.ghost-btn{padding:13px 18px}
  .catalog-meta{align-items:flex-start;flex-direction:column;padding-top:4px}
  .catalog-grid{grid-template-columns:1fr;gap:16px}
  .product-card{border-radius:22px}
}
