/* EV product pages: one editorial layout, individual signal artwork per product. */
.ev-woo:has(.ev-product) { max-width: 1500px; padding-top: clamp(24px,4vw,56px); }
.woocommerce div.product.ev-product { display: block; }
.ev-product__hero { display: grid; gap: clamp(28px,5vw,76px); align-items: center; }
.ev-product__media, .ev-product__summary { min-width: 0; }
.ev-product__summary .ev-product__eyebrow, .ev-product__eyebrow { margin: 0 0 16px; color: var(--ev-text-2); font-size: 11px; font-weight: 700; letter-spacing: .24em; line-height: 1.4; text-transform: uppercase; }
.ev-product__summary .ev-product__eyebrow::after { content: ''; display: block; width: 44px; height: 2px; margin-top: 14px; background: var(--ev-red); }
.woocommerce div.product.ev-product .product_title { font: 700 clamp(2.25rem,4.1vw,4.75rem)/1.04 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; margin: 0 0 18px; max-width: 17ch; }
.woocommerce div.product.ev-product .woocommerce-product-details__short-description { color: var(--ev-text-2); font-size: clamp(1rem,1.5vw,1.18rem); line-height: 1.65; margin: 0 0 20px; max-width: 62ch; }
.woocommerce div.product.ev-product .woocommerce-product-details__short-description :is(p,div,span,strong,em) { color: inherit !important; font-family: inherit !important; background: transparent !important; }
.woocommerce div.product.ev-product .woocommerce-product-details__short-description p { margin-bottom: 14px !important; }
.woocommerce div.product.ev-product p.price, .woocommerce div.product.ev-product span.price { color: var(--ev-text); font: 700 clamp(2rem,3vw,3rem)/1.1 Georgia, 'Times New Roman', serif; margin: 12px 0 24px; }
.woocommerce div.product.ev-product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 12px; }
.woocommerce div.product.ev-product form.cart .quantity { margin: 0; }
.woocommerce div.product.ev-product .summary button.single_add_to_cart_button { background: #c92030; color: #fff; border: 1px solid #d82b39; border-radius: 4px; min-height: 54px; padding: 0 28px; font-size: 15px; }
.woocommerce div.product.ev-product .summary button.single_add_to_cart_button:hover { background: #e12635; color: #fff; }
.ev-product__details-link { display: inline-flex; gap: 10px; align-items: center; color: var(--ev-text-2); font-size: 14px; font-weight: 600; margin-top: 8px; text-decoration: underline; text-underline-offset: 5px; }
.ev-product__details-link:hover { color: var(--ev-text); }
.ev-product__summary .product_meta { color: var(--ev-text-2); font-size: 13px; margin-top: 18px; }
.ev-product__summary .product_meta a { color: var(--ev-text); }
.ev-product__process { border-top: 1px solid var(--ev-border); margin: clamp(40px,6vw,76px) calc(-1 * var(--ev-gutter)) 0; padding: clamp(28px,4vw,48px) var(--ev-gutter); }
.ev-product__process-head h2 { font: 700 clamp(1.9rem,3vw,3.25rem)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.03em; }
.ev-product__steps { display: grid; gap: 16px; margin-top: 22px; }
.ev-product__steps > div { display: grid; grid-template-columns: 64px 1fr; column-gap: 12px; align-content: start; min-height: 128px; padding: 22px; border: 1px solid var(--ev-border); background: var(--ev-surface-1); }
.ev-product__steps span { grid-row: span 2; color: var(--ev-text-2); font: 400 2rem/1 Georgia, 'Times New Roman', serif; }
.ev-product__steps h3 { margin: 0 0 8px; font: 700 1rem/1.3 Georgia, 'Times New Roman', serif; }
.ev-product__steps p { margin: 0; color: var(--ev-text-2); font-size: 13px; }
.ev-product__details { padding-top: 32px; }
.ev-product__details .woocommerce-tabs { width: 100%; }
.ev-product__details .woocommerce-tabs .panel { max-width: 100%; }

/* Text stays HTML for crisp, accessible product titles. Artwork is CSS + one lightweight SVG line. */
.ev-product-art { position: relative; isolation: isolate; display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border: 1px solid #303236; background: #101113; color: var(--ev-text); }
.ev-product-art__grain { position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 76% 49%,#1b1c1d 0,#08090b 65%); }
.ev-product-art__disc { position: absolute; z-index: -1; left: 31%; top: -13%; width: 105%; aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle at center,#161718 0 3px,#242527 4px 5px,#0d0e10 6px 9px); box-shadow: inset 0 0 80px #070708,0 0 70px #040405; opacity: .9; }
.ev-product-art__disc::after { content: ''; position: absolute; left: 46%; top: 46%; width: 8%; height: 8%; border-radius: 50%; background: #050506; border: 2px solid #3b3c3d; }
.ev-product-art__top { position: absolute; z-index: 2; top: 5%; left: 5%; right: 5%; display: flex; justify-content: space-between; gap: 16px; align-items: start; font-size: clamp(9px,1.3vw,13px); font-weight: 650; letter-spacing: .25em; text-transform: uppercase; }
.ev-product-art__top span:first-child { font-family: Georgia,serif; font-size: 1.5em; letter-spacing: .07em; white-space: nowrap; }
.ev-product-art__top b { color: var(--ev-red); padding-left: 5px; }
.ev-product-art__top span:last-child { text-align: right; color: #c3c5c7; }
.ev-product-art__wave { position: absolute; z-index: 1; left: 0; top: 38%; width: 100%; height: 24%; color: #dbdcdc; filter: drop-shadow(0 0 3px #d5d5d5); opacity: .82; }
.ev-product-art__pulse { position: absolute; z-index: 2; left: 50%; top: 50%; width: 9px; height: 9px; border-radius: 50%; background: #f43a47; box-shadow: 0 0 8px 2px #d62535,0 0 24px 8px #e1263540; transform: translate(-50%,-50%); }
.ev-product-art__pulse::after { content: ''; position: absolute; bottom: -190px; left: 4px; height: 380px; width: 1px; background: linear-gradient(transparent,#e12635,transparent); opacity: .75; }
.ev-product-art__bottom { position: absolute; bottom: 5%; left: 5%; right: 5%; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: 85%; font: 400 clamp(1.65rem,3.4vw,3.75rem)/1.05 Georgia,'Times New Roman',serif; letter-spacing: .045em; text-transform: uppercase; text-wrap: balance; }
.ev-product-art__bottom i { display: block; width: 64px; height: 2px; background: var(--ev-red); }
.ev-product-art--compact { aspect-ratio: 4 / 3; }
.ev-product-art--compact .ev-product-art__top { letter-spacing: .12em; }
.ev-product-art--compact .ev-product-art__disc { left: 25%; top: -32%; }
.ev-product-art--compact .ev-product-art__wave { top: 40%; }
.ev-product-art--image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ev-product-art--compact.ev-product-art--image { aspect-ratio: 1; }
.ev-product-art--identity .ev-product-art__disc { border-radius: 12px; transform: rotate(-8deg); left: 30%; top: 10%; width: 67%; background: repeating-linear-gradient(180deg,#222427 0 7px,#15171a 8px 28px); }
.ev-product-art--story .ev-product-art__disc { width: 56%; left: 42%; top: 8%; border-radius: 42% 42% 30% 30%; background: linear-gradient(95deg,#111 5%,#5a5b5d 45%,#161719 95%); }
.ev-product-art--video .ev-product-art__disc { width: 78%; left: 26%; top: 16%; aspect-ratio: 16 / 10; border-radius: 4px; border: 8px solid #33363a; background: linear-gradient(145deg,#0c0d0f,#44474b 52%,#151719); }
.ev-product-art--industry .ev-product-art__disc,.ev-product-art--discovery .ev-product-art__disc { width: 72%; left: 27%; top: 11%; border-radius: 5px; background: repeating-linear-gradient(135deg,#25282b 0 35px,#121417 36px 72px); transform: rotate(-6deg); }
.ev-product-art--release .ev-product-art__disc,.ev-product-art--signal .ev-product-art__disc { width: 68%; left: 40%; top: 10%; border-radius: 10px; background: linear-gradient(140deg,#35383c,#111315 60%); box-shadow: -22px 22px 0 -5px #202226,-44px 44px 0 -10px #141517; transform: rotate(9deg); }
.woocommerce ul.products li.product .ev-product-art { margin-bottom: 12px; }
.woocommerce ul.products li.product .ev-product-art + .woocommerce-loop-product__title { margin-top: 0; }

@media (min-width: 760px) { .ev-product__steps { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (min-width: 960px) { .ev-product__hero { grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); } }
@media (max-width: 759px) { .ev-product-art__top { font-size: 10px; } .ev-product__steps > div { min-height: 100px; } }
