:root { --green-950:#063e34; --green-900:#075b4b; --green-700:#0a7a61; --gold:#d8ae4d; --gold-soft:#f3dfaa; --ink:#17201c; --muted:#5d6963; --paper:#f4f8f4; --surface:#fff; --line:#dce6de; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input { font:inherit; }
.price-header { position:sticky; top:0; z-index:30; display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; min-height:72px; padding:10px max(20px,calc((100vw - 1160px)/2)); background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.price-brand { display:flex; align-items:center; gap:11px; }
.price-brand img { width:48px; height:48px; border-radius:50%; }
.price-brand strong,.price-brand small { display:block; }
.price-brand strong { font-family:Poppins,sans-serif; font-size:.95rem; }
.price-brand small { margin-top:2px; color:var(--muted); font-size:.68rem; }
.price-header nav { display:flex; align-items:center; gap:22px; font-size:.76rem; font-weight:800; }
.header-cta { padding:11px 15px; color:#fff; background:var(--green-900); border-radius:6px; }
.price-hero { display:grid; grid-template-columns:1.25fr .75fr; gap:60px; align-items:end; padding:105px max(20px,calc((100vw - 1160px)/2)) 72px; color:#fff; background:linear-gradient(110deg,rgba(6,62,52,.98),rgba(10,122,97,.88)),url('/assets/site/hero-hydroponic.webp') center/cover; }
.price-hero > div > p { margin:0 0 12px; color:var(--gold-soft); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.price-hero h1 { margin:0; font-family:Poppins,sans-serif; font-size:clamp(3rem,8vw,7rem); line-height:.92; }
.price-hero > div > span { display:block; max-width:560px; margin-top:20px; color:rgba(255,255,255,.76); line-height:1.6; }
.price-hero aside { padding:26px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(12px); }
.price-hero aside strong { font-family:Poppins,sans-serif; font-size:1.2rem; }
.price-hero aside p { color:rgba(255,255,255,.7); font-size:.82rem; line-height:1.6; }
.price-hero aside a { display:inline-flex; padding:11px 15px; color:var(--green-950); background:var(--gold-soft); border-radius:5px; font-size:.75rem; font-weight:800; }
.price-policy { display:grid; grid-template-columns:repeat(3,1fr); width:min(1160px,calc(100% - 40px)); margin:-26px auto 0; background:#fff; border:1px solid var(--line); box-shadow:0 18px 45px rgba(6,62,52,.11); }
.price-policy div { display:grid; grid-template-columns:35px 1fr; gap:2px 12px; padding:21px; border-right:1px solid var(--line); }
.price-policy div:last-child { border-right:0; }
.price-policy span { grid-row:span 2; color:var(--gold); font-size:.7rem; font-weight:800; }
.price-policy strong { font-size:.84rem; }
.price-policy small { color:var(--muted); font-size:.7rem; line-height:1.45; }
.catalog-section { width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:78px 0 110px; scroll-margin-top:86px; }
.catalog-heading { display:grid; grid-template-columns:auto minmax(280px,1fr) auto; gap:22px; align-items:end; margin-bottom:28px; }
.catalog-heading > * { min-width:0; }
.catalog-heading-copy p { margin:0 0 6px; color:var(--green-700); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.catalog-heading-copy h2 { margin:0; font-family:Poppins,sans-serif; font-size:clamp(1.7rem,3vw,2.65rem); line-height:1.12; }
.catalog-heading-copy > span { display:block; max-width:650px; margin-top:9px; color:var(--muted); font-size:.78rem; line-height:1.6; }
.catalog-back { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 13px; color:var(--green-900); background:#fff; border:1px solid #bdcbc1; border-radius:6px; font-size:.7rem; font-weight:800; cursor:pointer; }
.catalog-back:hover,.catalog-back:focus-visible { color:#fff; background:var(--green-900); border-color:var(--green-900); }
.catalog-back svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.catalog-toolbar { max-width:540px; padding-top:2px; }
.search-field span { display:block; margin-bottom:7px; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.search-field input { width:100%; min-height:48px; padding:0 15px; color:var(--ink); background:#fff; border:1px solid #bdcbc1; border-radius:5px; outline:0; }
.search-field input:focus { border-color:var(--green-700); box-shadow:0 0 0 3px rgba(10,122,97,.12); }
.catalog-meta { text-align:right; }
.catalog-meta strong,.catalog-meta small { display:block; }
.catalog-meta small { margin-top:4px; color:var(--muted); font-size:.68rem; }
.category-view { min-height:360px; }
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.category-card,.category-loading { min-height:410px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.category-card { display:grid; grid-template-rows:auto 1fr; min-width:0; padding:0; color:var(--ink); text-align:left; overflow:hidden; cursor:pointer; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.category-card:hover,.category-card:focus-visible { transform:translateY(-3px); border-color:#9fb9a7; box-shadow:0 18px 38px rgba(6,62,52,.11); outline:0; }
.category-media { display:block; position:relative; overflow:hidden; background:#edf3ee; }
.category-media::after { content:""; position:absolute; inset:auto 0 0; height:36%; background:linear-gradient(180deg,transparent,rgba(6,62,52,.1)); pointer-events:none; }
.category-media img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .35s ease; }
.category-card:hover .category-media img { transform:scale(1.025); }
.category-card-body { display:flex; flex-direction:column; min-width:0; padding:20px; }
.category-card-body small { color:var(--green-700); font-size:.64rem; font-weight:800; text-transform:uppercase; }
.category-card-body strong { margin-top:7px; font-family:Poppins,sans-serif; font-size:1.22rem; line-height:1.25; }
.category-card-body > span { margin-top:9px; color:var(--muted); font-size:.73rem; line-height:1.55; }
.category-card-body b { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:18px; color:var(--green-900); font-size:.7rem; }
.category-card-body svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.category-loading { background:linear-gradient(100deg,#fff 25%,#eaf0eb 45%,#fff 65%); background-size:200% 100%; animation:loading 1.4s infinite; }
.products-view { width:100%; min-width:0; max-width:100%; min-height:360px; overflow:hidden; }
.category-filter { display:flex; width:100%; min-width:0; max-width:100%; gap:8px; overflow-x:auto; overflow-y:hidden; padding:20px 0 28px; scrollbar-width:thin; overscroll-behavior-inline:contain; }
.category-filter button { flex:0 0 auto; padding:9px 13px; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:999px; font-size:.7rem; font-weight:800; cursor:pointer; }
.category-filter button.active { color:#fff; background:var(--green-900); border-color:var(--green-900); }
.catalog-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.catalog-card,.catalog-loading { min-height:355px; background:#fff; border:1px solid var(--line); }
.catalog-card { display:flex; flex-direction:column; overflow:hidden; }
.catalog-media { position:relative; overflow:hidden; }
.catalog-card img { width:100%; aspect-ratio:4/3; object-fit:cover; background:#edf3ee; }
.catalog-card.fgmart-series { position:relative; border-color:#cbd9cf; box-shadow:0 15px 34px rgba(6,62,52,.1); }
.fgmart-series-head { display:grid; gap:1px; min-height:53px; padding:10px 13px 9px; color:#073d31; background:#fff; border-bottom:1px solid #e0e9e2; }
.fgmart-series-head strong { font-family:Poppins,sans-serif; font-size:.92rem; letter-spacing:0; }
.fgmart-series-head strong span { color:#f47a1f; }
.fgmart-series-head small { color:#52675b; font-size:.55rem; font-weight:800; text-transform:uppercase; }
.fgmart-series .catalog-media { display:grid; place-items:center; min-height:178px; padding:14px; background:linear-gradient(145deg,#f8fbf7,#e8f4e9); }
.fgmart-series .catalog-media::before { content:""; position:absolute; inset:auto -55px -70px auto; width:170px; height:170px; border-radius:50%; background:rgba(244,122,31,.12); }
.fgmart-series .catalog-media img { position:relative; z-index:1; aspect-ratio:4/3; object-fit:contain; border-radius:4px; }
.fgmart-category-mark { position:absolute; z-index:2; left:12px; top:12px; max-width:calc(100% - 24px); padding:6px 9px; color:#063e32; background:#f5a623; border-radius:999px; font-size:.58rem; font-weight:900; }
.fgmart-series .catalog-body > small { color:#0a7058; font-weight:850; }
.fgmart-series .catalog-body h3 { color:#092f27; }
.fgmart-series a { background:linear-gradient(135deg,#063e32,#0b755c); }
.digital-series .catalog-media { display:grid; place-items:center; min-height:190px; padding:18px; background:#eef5f8; }
.digital-series .catalog-media img { object-fit:contain; }
.digital-series .catalog-body > small { color:#476486; font-weight:800; }
.digital-series .catalog-body h3 { color:#19354d; }
.digital-series a { background:#2b5f85; }
.catalog-body { display:flex; flex:1; flex-direction:column; padding:17px; }
.catalog-body > small { color:var(--muted); font-size:.66rem; }
.catalog-body h3 { min-height:46px; margin:7px 0 4px; font-size:.95rem; line-height:1.4; }
.catalog-sku { color:var(--muted); font-size:.62rem; }
.catalog-price { margin-top:auto; padding-top:15px; border-top:1px solid var(--line); }
.catalog-price strong { display:block; color:var(--green-900); font-size:1rem; }
.catalog-status { display:flex; justify-content:space-between; gap:10px; margin-top:8px; color:var(--muted); font-size:.65rem; }
.catalog-status b { color:var(--green-700); }
.catalog-status b.habis { color:#9c3a31; }
.catalog-card a { display:flex; align-items:center; justify-content:center; min-height:40px; margin-top:13px; color:#fff; background:var(--green-900); border-radius:5px; font-size:.7rem; font-weight:800; }
.catalog-loading { background:linear-gradient(100deg,#fff 25%,#eaf0eb 45%,#fff 65%); background-size:200% 100%; animation:loading 1.4s infinite; }
.catalog-empty { grid-column:1/-1; padding:52px; text-align:center; background:#fff; border:1px solid var(--line); }
.catalog-empty p { color:var(--muted); }
.catalog-load { display:flex; justify-content:center; padding-top:32px; }
.catalog-load button { min-height:44px; padding:0 20px; color:#fff; background:var(--green-900); border:0; border-radius:5px; font-size:.72rem; font-weight:800; cursor:pointer; }
.catalog-load button[hidden] { display:none; }
.price-note { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:80px max(20px,calc((100vw - 1160px)/2)); color:#fff; background:var(--green-950); }
.price-note div p { margin:0 0 10px; color:var(--gold-soft); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.price-note h2 { margin:0; font-family:Poppins,sans-serif; font-size:clamp(1.8rem,3vw,3rem); line-height:1.12; }
.price-note > p { margin:0; color:rgba(255,255,255,.7); line-height:1.8; }
.price-footer { display:flex; justify-content:space-between; gap:20px; padding:28px max(20px,calc((100vw - 1160px)/2)); color:rgba(255,255,255,.65); background:#07110d; font-size:.7rem; }
@keyframes loading { to { background-position:-200% 0; } }
@media (max-width:900px) {
  .catalog-heading { grid-template-columns:auto 1fr; }
  .catalog-meta { grid-column:2; text-align:left; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-grid { grid-template-columns:repeat(3,1fr); }
  .price-hero { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .price-header { grid-template-columns:1fr auto; padding:8px 14px; }
  .price-header nav a:not(.header-cta) { display:none; }
  .price-brand span { display:none; }
  .price-hero { gap:32px; padding:72px 16px 55px; }
  .price-hero h1 { font-size:3.5rem; }
  .price-policy { grid-template-columns:1fr; width:calc(100% - 24px); }
  .price-policy div { border-right:0; border-bottom:1px solid var(--line); }
  .catalog-section { width:calc(100% - 24px); padding:58px 0 80px; }
  .catalog-heading { grid-template-columns:1fr; gap:13px; margin-bottom:22px; }
  .catalog-heading-copy h2 { font-size:1.75rem; }
  .catalog-heading-copy > span { font-size:.73rem; }
  .catalog-back { width:max-content; min-height:42px; }
  .catalog-meta { grid-column:auto; text-align:left; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .category-card,.category-loading { min-height:340px; }
  .category-card-body { padding:13px; }
  .category-card-body strong { font-size:.92rem; }
  .category-card-body > span { font-size:.65rem; }
  .category-card-body b { font-size:.63rem; }
  .catalog-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  .catalog-card,.catalog-loading { min-height:310px; }
  .fgmart-series-head { min-height:48px; padding:8px 10px; }
  .fgmart-series .catalog-media { min-height:146px; padding:10px; }
  .fgmart-category-mark { left:8px; top:8px; padding:5px 7px; font-size:.52rem; }
  .catalog-body { padding:12px; }
  .catalog-body h3 { min-height:54px; font-size:.82rem; }
  .catalog-price strong { font-size:.82rem; }
  .catalog-status { display:grid; }
  .price-note { grid-template-columns:1fr; gap:24px; padding:60px 16px; }
  .price-footer { display:grid; }
}
@media (max-width:440px) {
  .category-grid { grid-template-columns:1fr; }
  .category-card,.category-loading { min-height:390px; }
  .category-media img { aspect-ratio:16/9; }
  .category-card-body { padding:17px; }
  .category-card-body strong { font-size:1.12rem; }
  .category-card-body > span { font-size:.7rem; }
}
