/* Clear Lenz shop: production listing browser & product details */
.shop-hero {padding-top:66px;padding-bottom:55px}
.shop-hero-row {display:grid;grid-template-columns:1fr .82fr;gap:60px;align-items:center}
.shop-hero .page-title {margin:18px 0 20px;font-size:clamp(57px,7vw,99px);line-height:.98}
.shop-hero .page-title span {color:#91a28a}
.shop-hero p {max-width:510px}
.hero-points {display:flex;flex-wrap:wrap;gap:12px 20px;margin:23px 0;color:#52634c;font-size:11px;font-weight:800}
.shop-hero-art {height:290px;position:relative;overflow:hidden;border-radius:11px;background:radial-gradient(circle at 50% 45%,#36473a,#141e17 65%);display:grid;place-items:center}
.shop-hero-art .art-grid {position:absolute;inset:0;opacity:.17;background-image:linear-gradient(#afc1ad 1px,transparent 1px),linear-gradient(90deg,#afc1ad 1px,transparent 1px);background-size:47px 47px}
.shop-hero-art img {width:105%;z-index:1;filter:drop-shadow(0 21px 21px #0009)}
.shop-hero-art span {position:absolute;z-index:2;left:22px;bottom:20px;color:#bde2a9;font-size:10px;letter-spacing:.17em;font-weight:800}
.demo-banner {margin-top:-17px;margin-bottom:22px;border:1px solid #b1c5a1;background:#e8f4dc;border-radius:9px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.demo-banner[hidden] {display:none}
.demo-banner strong {font-size:12px;letter-spacing:.09em}
.demo-banner p {margin:6px 0 0;font-size:12px;line-height:1.4;color:#566a4d}
.demo-banner a {font-size:12px;text-decoration:underline;white-space:nowrap;font-weight:800}
.shop-layout {padding-top:12px}
.search-field {position:relative}.search-field input {padding-right:30px!important}.search-field span {position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:21px;color:#71836d;pointer-events:none}
.filter-rule {font-size:10px;letter-spacing:.15em;font-weight:900;color:#7b8874;border-top:1px solid var(--line);padding:17px 0 12px;margin-top:5px}
.shop-toolbar {display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:23px}
.shop-toolbar .shop-head {margin:0}
.shop-toolbar .shop-head h2 {font-size:29px}
.shop-count {font:600 14px var(--body);margin-left:10px;vertical-align:middle;letter-spacing:0;color:#687c61}
.shop-sort {display:grid;gap:7px;min-width:170px}
.shop-sort label {font-size:11px;color:#65735f;font-weight:800}
.shop-sort select {border:1px solid #ced6c9;background:#fff;border-radius:5px;padding:10px 12px;color:var(--ink);width:100%;font-size:12px}
.quick-picks {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:19px}
.quick-picks>span {font-size:10px;color:#7b8b76;font-weight:900;letter-spacing:.12em;margin-right:7px}
.quick-picks button {background:#edf1e9;border:1px solid #d5dfce;border-radius:40px;font-size:11px;padding:9px 12px;font-weight:800;color:#364631;transition:background .2s}
.quick-picks button:hover,.active-filters button:hover {background:#ddf4ca}
.active-filters {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.active-filters[hidden] {display:none}
.active-filters button {font-size:11px;font-weight:700;border:1px solid #bed19f;color:#3c6035;border-radius:5px;padding:8px 10px;background:#f3faea}
.active-filters span {margin-left:7px;font-size:16px}
.listing-card {display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}
.listing-card:hover {transform:translateY(-3px);border-color:#adcb9b;box-shadow:0 16px 25px #20311b0c}
.listing-image {display:grid;appearance:none;border:0;border-radius:0;width:100%;padding:0;cursor:pointer;color:inherit;text-align:left;min-height:205px}
.listing-image img {transition:transform .25s;max-height:205px}
.listing-image:hover img {transform:scale(1.035)}
.image-bottom-label {position:absolute;bottom:14px;left:15px;color:#c3d2c4;font-size:10px;font-weight:800;letter-spacing:.12em}
.listing-card .listing-content {flex:1;display:flex;flex-direction:column;padding:22px}
.listing-card .listing-content h3 {margin:11px 0}
.product-title {padding:0;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.product-title:hover {text-decoration:underline;text-decoration-color:#7dba45}
.listing-card .listing-content p {min-height:0;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.listing-card .listing-meta {margin-top:auto}
.price-block {min-width:0}.price-block b {display:block;font-size:16px}.price-block small {display:block;margin-top:4px;color:#7a8674;font-size:10px}
.listing-bottom {margin-top:17px;padding-top:17px}
.listing-bottom a {flex-shrink:0}
.view-details {border:0;background:none;color:#49683d;font-size:11px;font-weight:800;text-decoration:underline;padding:14px 0 0;text-align:left;cursor:pointer}
.empty-reset {display:block;margin-top:18px;background:transparent;border:0;color:#d0eaad;text-decoration:underline;font-size:12px;font-weight:700;padding:0}
.shop-pagination {display:flex;gap:15px;align-items:center;justify-content:center;margin-top:28px;flex-wrap:wrap}
.shop-pagination[hidden] {display:none}
.shop-pagination span {font-size:11px;color:#718168}
.product-dialog {padding:0;max-width:min(860px,calc(100vw - 32px));width:100%;max-height:min(94vh,950px);border:0;border-radius:12px;box-shadow:0 25px 80px #0005;color:var(--ink)}
.product-dialog::backdrop {background:#101914c9;backdrop-filter:blur(3px)}
.modal-shell {position:relative;display:grid;grid-template-columns:.85fr 1fr;min-height:540px}
.modal-close {position:absolute;z-index:3;right:16px;top:14px;background:#fff;border:1px solid #d7dfd4;width:39px;height:39px;border-radius:50%;font-size:26px;cursor:pointer;line-height:1}
.modal-art {position:relative;background:radial-gradient(circle at 45% 40%,#3d5242,#121c16 72%);display:grid;place-items:center;min-height:400px;overflow:hidden}
.modal-art img {width:105%;filter:drop-shadow(0 15px 18px #000a)}
.modal-art span {position:absolute;bottom:25px;left:25px;background:var(--lime);font-size:10px;font-weight:900;letter-spacing:.11em;padding:9px 12px;border-radius:4px}
.modal-body {padding:55px 32px 34px}
.modal-body h2 {font:600 clamp(29px,3vw,42px)/1.07 var(--head);letter-spacing:-.07em;margin:16px 0}
.modal-body>p {color:#60705d;font-size:13px;line-height:1.75}
.modal-body h3 {font-size:12px;letter-spacing:.08em;margin:26px 0 15px;text-transform:uppercase}
.modal-price {font-size:24px;font-weight:900}.modal-price small {font-size:10px;color:#788273;font-weight:500;display:block;margin-top:3px}
.product-specs {border-top:1px solid var(--line);margin:0}
.product-specs>div {border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:13px;padding:10px 0;font-size:11px}
.product-specs dt {color:#788573}.product-specs dd {text-align:right;font-weight:800;margin:0}
.fitment-warning {margin:20px 0;border-left:3px solid #8dbc57;background:#eef6e8;color:#51674a;font-size:11px;line-height:1.65;padding:13px 15px}
.fitment-warning strong {color:#263a26}
.modal-body>.button {width:100%}
@media(max-width:950px){.shop-hero-row {grid-template-columns:1fr .75fr;gap:24px}.shop-hero-art {height:250px}.shop-layout {gap:22px;grid-template-columns:240px minmax(0,1fr)}.listings-grid {grid-template-columns:1fr}.listing-image {height:230px}}
@media(max-width:760px){.shop-hero {padding-top:40px}.shop-hero-row {display:block}.shop-hero-art {height:230px;margin-top:27px}.shop-hero .page-title {font-size:clamp(60px,11vw,92px)}.shop-toolbar {align-items:flex-start;flex-direction:column}.shop-sort {grid-template-columns:auto 1fr;align-items:center;width:100%}.shop-sort label {white-space:nowrap}.shop-layout {grid-template-columns:1fr}.listing-image {height:245px}.listings-grid {grid-template-columns:1fr}.demo-banner {flex-direction:column;align-items:start}.modal-shell {grid-template-columns:1fr;max-height:90vh;overflow:auto}.modal-art {min-height:220px;max-height:250px}.modal-body {padding:30px 24px}.modal-art img {width:75%}.modal-close {position:fixed;right:max(calc((100vw - 100%)/2 + 12px),12px);top:12px}}
@media(prefers-reduced-motion:reduce){.listing-card,.listing-image img {transition:none}}
/* Grid belongs to the product content wrapper (close button sits above it). */
.modal-shell {display:block;min-height:0}
#product-dialog-content {display:grid;grid-template-columns:.85fr 1fr;min-height:540px}
@media(max-width:760px){#product-dialog-content {display:block;max-height:90vh;overflow:auto;min-height:0}.modal-art {min-height:230px}}

.add-to-basket{border:0;cursor:pointer;white-space:nowrap}.listing-bottom{flex-wrap:wrap}.listing-bottom .price-block{flex:1}.modal-add-basket{width:100%;border:0;cursor:pointer}.modal-body>a.view-details{display:block;text-align:center;margin-top:13px}.shop-hero .shop-back-link{margin-bottom:21px}


/* V4 / shop UX improvements */
.mobile-filter-toggle{display:none}.listings-grid{transition:opacity .2s ease;min-height:200px}.listings-grid.is-refining{opacity:.52;pointer-events:none}.listing-card{border-radius:14px;overflow:hidden;transition:transform .32s var(--ease-out),box-shadow .32s,border-color .32s}.listing-image{overflow:hidden}.listing-image img{transition:transform .45s var(--ease-out)}.listing-card:hover .listing-image img{transform:scale(1.04)}.quick-picks button{transition:background .2s,transform .2s}.quick-picks button:hover{transform:translateY(-2px)}.active-filters button{transition:background .2s,transform .2s}.active-filters button:hover{transform:translateY(-1px)}.product-dialog{animation:modal-arrive .3s var(--ease-out);border-radius:17px}.product-dialog::backdrop{animation:backdrop-arrive .3s}.shop-layout .filters{border-radius:14px;box-shadow:0 10px 25px #182b1106}.add-to-basket{transition:background .2s,transform .2s}
@keyframes modal-arrive{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.mobile-filter-toggle{display:flex;grid-column:1;width:100%;align-items:center;justify-content:space-between;border:1px solid #c9d8be;background:#fff;border-radius:11px;padding:17px 20px;font-size:14px;font-weight:800;color:#283e27;margin-bottom:-7px}.filter-toggle-icon{font-size:25px;line-height:1;font-weight:400;color:#56734b}.shop-layout .filters{display:none}.shop-layout.filters-open .filters{display:block;animation:page-arrive .25s var(--ease-out)}.shop-layout{gap:24px}.shop-hero .page-title{font-size:clamp(54px,11vw,82px)}.shop-results{min-width:0}.shop-hero-art{height:200px}}
@media(prefers-reduced-motion:reduce){.product-dialog,.product-dialog::backdrop{animation:none}}
