.material-showcase { background: #fffaf3; }
.material-grid, .portfolio-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.material-card, .portfolio-card { background: #fffdf8; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; box-shadow: 0 18px 50px rgba(17,16,15,.06); }
.material-card img, .portfolio-card img { width: 100%; height: 210px; object-fit: cover; display: block; }
.material-card__body, .portfolio-card__body { padding: 20px; }
.material-card h3, .portfolio-card h3 { margin: 0 0 8px; font-size: 20px; }
.material-card p, .portfolio-card p { margin: 0 0 14px; color: var(--muted); }
.pill-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.pill-list span { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; font-size: 12px; font-weight: 800; background: #fff7ed; }
.portfolio-meta { display: flex; gap: 10px; flex-wrap: wrap; color: var(--muted); font-size: 13px; font-weight: 800; }
.product-card.is-hidden { display: none; }
.app-skeleton { min-height: 220px; border-radius: 28px; background: linear-gradient(90deg, #f5ebdc, #fffaf3, #f5ebdc); background-size: 240% 100%; animation: shimmer 1.4s ease-in-out infinite; }
@keyframes shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
.form-note.is-error { color: #9b1c1c; }
.form-note.is-success { color: #2f6b3d; }
@media (max-width: 980px) { .material-grid, .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .material-grid, .portfolio-grid { grid-template-columns: 1fr; } .material-card img, .portfolio-card img { height: 190px; } }
.product-modal-grid { display: grid; grid-template-columns: 1.05fr .95fr; }
.product-modal-grid > img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; background: var(--paper-2); }
.product-modal-grid > div { padding: 32px; display: flex; flex-direction: column; }
.product-meta { display: grid; grid-template-columns: 120px 1fr; gap: 10px 16px; margin: 22px 0; padding: 18px; border: 1px solid var(--line); }
.product-meta span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.product-meta strong { font-size: 14px; }
.product-modal-actions { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.modal-close-floating { position: absolute; right: 18px; top: 18px; z-index: 3; background: rgba(255,250,243,.9); }
.checkout-line { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
@media (max-width: 760px) { .product-modal-grid { grid-template-columns: 1fr; max-height: 86vh; overflow: auto; } .product-modal-grid > img { min-height: 320px; } .product-meta { grid-template-columns: 1fr; } .product-modal-actions { align-items: stretch; flex-direction: column; } }

/* Fishsirc v5 customer checkout polish: stable payment cards and UK placeholders */
.radio-grid label{position:relative;min-height:48px;border-width:1px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;border-radius:16px}.radio-grid label:hover{background:#fff8ef;box-shadow:0 10px 24px rgba(31,24,18,.08)}.radio-grid input{flex:0 0 18px!important;width:18px!important;height:18px!important;margin:0!important;accent-color:#14110f}.radio-grid label:has(input:checked){background:#fff6e8;box-shadow:inset 0 0 0 1px #a16b43}.checkout-form,.checkout-layout,.checkout-summary{contain:layout paint}.checkout-line{min-height:42px}.modal__card--checkout{overflow-anchor:none}

/* Fishsirc v8 customer UX: popular categories, category browser and product details */
.section-lead { margin: 10px 0 0; max-width: 560px; color: var(--muted); font-size: 15px; }
.section-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; flex-wrap: wrap; }
.link-button--muted { color: var(--muted); border-bottom-color: rgba(17,16,15,.18); }
.category-grid--popular { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.category-card:focus-visible,
.product-card:focus-visible,
.category-list-card:focus-visible { outline: 3px solid rgba(161,107,67,.38); outline-offset: 4px; }
.modal__card--categories { width: min(1040px, 100%); }
.all-category-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-height: 58vh; overflow: auto; padding-right: 4px; }
.category-list-card { display: grid; grid-template-columns: 88px 1fr auto; align-items: center; gap: 14px; width: 100%; min-height: 96px; padding: 10px 12px 10px 10px; border: 1px solid var(--line); background: #fffdf8; color: var(--ink); text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.category-list-card:hover { border-color: var(--wood); background: #fff8ef; transform: translateY(-1px); }
.category-list-card img { width: 88px; height: 76px; object-fit: cover; background: var(--paper-2); }
.category-list-card strong { display: block; margin-bottom: 5px; font-size: 16px; }
.category-list-card small { display: block; color: var(--muted); font-weight: 750; }
.category-list-card .icon { color: var(--wood); }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); max-height: min(86vh, 920px); overflow: hidden; }
.product-detail__media { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 660px; background: var(--paper-2); }
.product-detail__media > img { width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block; }
.product-thumbs { display: flex; gap: 8px; padding: 12px; overflow-x: auto; background: rgba(255,250,243,.94); border-top: 1px solid var(--line); }
.product-thumbs button { flex: 0 0 74px; height: 64px; padding: 0; border: 2px solid transparent; background: #fff; cursor: pointer; }
.product-thumbs button.is-active { border-color: var(--wood); }
.product-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-detail__body { min-height: 0; overflow: auto; padding: 34px; display: flex; flex-direction: column; }
.product-detail__topline { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.product-detail__body h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: .95; letter-spacing: -.055em; }
.product-detail__lead { margin: 18px 0 22px; color: var(--muted); font-size: 16px; }
.product-detail__summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 22px; }
.product-detail__summary div { padding: 14px; border: 1px solid var(--line); background: #fffdf8; }
.product-detail__summary span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; font-weight: 850; }
.product-detail__summary strong { font-size: 15px; }
.product-detail__section { padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--line); }
.product-detail__section h3 { margin: 0 0 12px; font-size: 18px; }
.detail-list { display: grid; gap: 9px; margin: 0; }
.detail-list div { display: grid; grid-template-columns: 128px 1fr; gap: 14px; align-items: start; }
.detail-list dt { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 850; }
.detail-list dd { margin: 0; font-weight: 750; color: var(--ink); }
.option-group { display: grid; gap: 8px; margin-bottom: 12px; }
.product-detail__actions { position: sticky; bottom: -34px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: auto; padding-top: 22px; background: linear-gradient(180deg, rgba(255,250,243,0), var(--paper) 26%); }
.product-card { cursor: pointer; }
@media (max-width: 1100px) { .category-grid--popular { grid-template-columns: repeat(2, minmax(0, 1fr)); } .product-detail { grid-template-columns: 1fr; overflow: auto; } .product-detail__media { min-height: 420px; } .product-detail__body { overflow: visible; } }
@media (max-width: 760px) { .section-actions { justify-content: flex-start; } .all-category-grid { grid-template-columns: 1fr; max-height: 62vh; } .product-detail__summary { grid-template-columns: 1fr; } .detail-list div { grid-template-columns: 1fr; gap: 4px; } .product-detail__actions { grid-template-columns: 1fr; bottom: -22px; } }
@media (max-width: 520px) { .category-grid--popular { grid-template-columns: 1fr; } .category-list-card { grid-template-columns: 72px 1fr; } .category-list-card > .icon { display: none; } .category-list-card img { width: 72px; height: 64px; } .product-detail__body { padding: 24px; } }

/* Fishsirc v11 client SPA image normalization: contain, no forced 100% image height */
.product-detail__media{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  justify-items:center;
  background:#fffaf3;
  padding:14px;
}
.product-detail__media > img{
  width:100%;
  height:auto!important;
  max-height:min(70vh,720px);
  object-fit:contain!important;
}
.product-thumbs button{
  display:grid;
  place-items:center;
  background:#fffaf3;
}
.product-thumbs img,
.category-list-card img{
  width:100%;
  height:auto!important;
  max-height:100%;
  object-fit:contain!important;
}
.category-list-card img{max-height:76px;padding:6px;}
.product-modal-grid > img{
  width:100%;
  height:auto!important;
  max-height:min(72vh,720px);
  min-height:0!important;
  object-fit:contain!important;
  align-self:center;
}
@media (max-width:760px){.product-modal-grid > img{min-height:0!important;max-height:420px}.product-detail__media > img{max-height:420px}}

/* Fishsirc v12 media rendering: show full product artwork, never crop product photos */
.product-card__image,
.product-detail__media,
.product-modal-grid,
.product-modal__image,
.search-result,
.cart-item,
.category-list-card{
  background:#fffaf3!important;
}
.product-card__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  overflow:hidden!important;
}
.product-card__image img,
.product-detail__media > img,
.product-modal-grid > img,
.product-modal__image img,
.search-result img,
.cart-item img,
.category-list-card img,
.product-thumbs img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.product-detail__media,
.product-modal__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
}
.product-detail__media > img,
.product-modal-grid > img,
.product-modal__image img{
  max-height:min(72vh,720px)!important;
}
.product-thumbs button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fffaf3!important;
  padding:5px!important;
}
.search-result img{max-height:70px!important;padding:4px!important;}
.cart-item img{max-height:88px!important;padding:4px!important;}
.category-list-card img{max-height:76px!important;padding:6px!important;}

/* Fishsirc v13: every storefront product image renders as full contain artwork */
.product-card__image,
.product-detail__media,
.product-modal-grid,
.product-modal__image,
.product-thumbs button,
.category-list-card,
.search-result,
.cart-item{
  overflow:hidden!important;
  background:#fffaf3!important;
}
.product-card__image img,
.product-detail__media > img,
.product-modal-grid > img,
.product-modal__image img,
.product-thumbs img,
.category-list-card img,
.search-result img,
.cart-item img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.product-detail__media{min-height:420px!important;}
.product-detail__media > img{max-height:min(72vh,720px)!important;}
.product-card__image img{max-height:260px!important;}
.product-thumbs img{max-height:72px!important;}


/* Fishsirc v13 media fix: product images are never cover-cropped and keep intrinsic ratio */
.product-card__image,
.product-detail__media,
.product-modal__image,
.product-modal-grid,
.search-result,
.cart-item,
.category-list-card,
.material-card,
.portfolio-card{
  background:#fffaf3!important;
}
.product-card__image img,
.product-detail__media > img,
.product-modal__image img,
.product-modal-grid > img,
.product-thumbs img,
.search-result img,
.cart-item img,
.category-list-card img,
.material-card img,
.portfolio-card img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.product-card__image,
.product-detail__media,
.product-modal__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.product-card__image img{max-height:260px!important;padding:12px!important;}
.product-detail__media > img,.product-modal__image img,.product-modal-grid > img{max-height:min(72vh,760px)!important;padding:18px!important;}
.product-thumbs img{max-height:70px!important;padding:4px!important;}
.search-result img,.cart-item img{max-height:74px!important;padding:5px!important;}

/* Fishsirc v14 storefront UX fixes */
.material-benefit{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:16px;text-align:left!important;}
.material-benefit__image{width:86px!important;height:70px!important;border-radius:18px!important;object-fit:cover!important;background:#fffaf3!important;box-shadow:0 10px 28px rgba(31,24,18,.10);}
.material-card img{height:auto!important;max-height:240px!important;object-fit:contain!important;padding:12px!important;background:#fffaf3!important;}
.modal__card--product{width:min(1180px,calc(100vw - 28px))!important;max-height:calc(100vh - 28px)!important;overflow:auto!important;padding:0!important;border-radius:0!important;}
.modal__card--product .modal-close-floating{top:16px!important;right:16px!important;z-index:20!important;background:#fffaf3!important;border:1px solid var(--line)!important;box-shadow:0 10px 28px rgba(31,24,18,.14)!important;}
.product-detail{display:grid!important;grid-template-columns:minmax(360px,1.08fr) minmax(420px,.92fr)!important;max-height:none!important;overflow:visible!important;min-height:min(760px,calc(100vh - 28px));}
.product-detail__media{position:sticky!important;top:0!important;align-self:start!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;min-height:auto!important;height:auto!important;padding:44px 30px 28px!important;background:#fffaf3!important;}
.product-detail__media > img{width:100%!important;height:auto!important;max-height:min(62vh,650px)!important;object-fit:contain!important;object-position:center top!important;padding:0!important;margin:0 auto!important;display:block!important;}
.product-thumbs{position:static!important;width:100%!important;padding:10px 0 0!important;background:transparent!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(76px,1fr))!important;gap:8px!important;}
.product-thumbs button{height:76px!important;padding:5px!important;border:1px solid var(--line)!important;background:#fffdf8!important;}
.product-thumbs img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;padding:0!important;}
.product-detail__body{overflow:visible!important;padding:42px 34px 34px!important;min-width:0!important;}
.product-detail__topline{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding-right:64px!important;margin-bottom:18px!important;}
.product-detail__topline .text-button{white-space:nowrap!important;line-height:1.2!important;}
.product-detail__body h2{font-size:clamp(34px,4.4vw,58px)!important;max-width:12ch!important;}
.product-detail__lead{font-size:16px!important;line-height:1.72!important;}
.product-detail__actions{position:sticky!important;bottom:0!important;padding:18px 0 0!important;background:linear-gradient(180deg,rgba(255,250,243,0),var(--paper) 35%)!important;}
@media(max-width:980px){
  .modal{padding:10px!important;align-items:flex-start!important;}
  .modal__card--product{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;}
  .product-detail{grid-template-columns:1fr!important;min-height:0!important;}
  .product-detail__media{position:relative!important;padding:56px 18px 16px!important;}
  .product-detail__media > img{max-height:44vh!important;}
  .product-detail__body{padding:22px 18px 26px!important;}
  .product-detail__topline{padding-right:0!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .product-detail__summary{grid-template-columns:1fr!important;}
  .product-detail__body h2{max-width:100%!important;font-size:clamp(32px,12vw,48px)!important;}
  .material-benefit{grid-template-columns:70px 1fr!important;}
  .material-benefit__image{width:70px!important;height:62px!important;}
}


/* Fishsirc v15 SPA media sizing */
.material-card img,.portfolio-card img{width:100%;height:220px;object-fit:cover;object-position:center}.material-benefit__image{width:100%;height:86px;object-fit:cover;object-position:center}.product-detail__topline .text-button{white-space:nowrap}.product-detail__media{display:flex;flex-direction:column;align-items:center;justify-content:center}.product-thumbs img{width:100%;height:auto;max-height:72px;object-fit:contain}.all-category-grid .category-list-card img{width:100%;height:120px;object-fit:cover}strong,b,.pill-list span,.portfolio-meta,.product-detail__summary span,.detail-list dt,.detail-list dd,.category-list-card small{font-weight:650!important}
