/* Cypher Town – single product page */
body.cts-pdp{--ink:#0d0c10;--card:#17151c;--card2:#1f1c25;--paper:#F2EEE6;--mut:rgba(242,238,230,.62);--line:rgba(242,238,230,.12);--yellow:#F5C518;--indigo:#5A63D3;--red:#E8432E}
body.cts-pdp #main-content,body.cts-pdp #main-content .container,body.cts-pdp .et-l--post,body.cts-pdp .et-l--post .et_pb_section{background:var(--ink)!important}
body.cts-pdp .et-l--post .et_pb_section{padding:clamp(16px,3vw,40px) 0 clamp(28px,5vw,64px)!important;position:relative;overflow:hidden}
body.cts-pdp .et-l--post .et_pb_section:before{content:"";position:absolute;top:-8%;right:-15%;width:min(900px,90vw);aspect-ratio:1;background:radial-gradient(circle,rgba(90,99,211,.28),transparent 62%);pointer-events:none}
body.cts-pdp .et-l--post .et_pb_row{width:min(1180px,92%)!important;max-width:none!important;position:relative;padding:12px 0!important}
body.cts-pdp .et-l--post,body.cts-pdp .et-l--post p,body.cts-pdp .et-l--post li{color:var(--paper);font-family:"DM Sans",system-ui,sans-serif}

body.cts-pdp #main-content>.container{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
body.cts-pdp #main-content>.container:before{display:none!important}
body.cts-pdp table.variations td.value span:has(> select.cts-has-sw):after,body.cts-pdp table.variations td.value span:has(> .cts-sw-row):after{display:none!important}

/* breadcrumb */
body.cts-pdp .woocommerce-breadcrumb{color:var(--mut)!important;font-size:13px!important;letter-spacing:.06em;text-transform:uppercase}
body.cts-pdp .woocommerce-breadcrumb a{color:var(--paper)!important;text-decoration:none}
body.cts-pdp .woocommerce-breadcrumb a:hover{color:var(--yellow)!important}

/* gallery */
body.cts-pdp .et_pb_wc_images .et_pb_module_inner{position:relative}
body.cts-pdp .woocommerce-product-gallery{position:relative;margin:0!important;width:100%!important;float:none!important}
body.cts-pdp .woocommerce-product-gallery__wrapper{border-radius:28px;overflow:hidden;background:radial-gradient(circle at 50% 38%,#ffffff 0%,#ece8e0 58%,#d9d3c8 100%);border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.45)}
body.cts-pdp .woocommerce-product-gallery__image img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
body.cts-pdp .woocommerce-product-gallery__wrapper:hover .woocommerce-product-gallery__image:first-child img{transform:scale(1.04) rotate(-1deg)}
body.cts-pdp .woocommerce-product-gallery__trigger{top:16px!important;right:16px!important;width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(13,12,16,.85)!important;display:grid!important;place-items:center;z-index:5;text-decoration:none!important}
body.cts-pdp .woocommerce-product-gallery__trigger span{filter:grayscale(1) brightness(3);font-size:18px}
body.cts-pdp .flex-control-thumbs{display:flex!important;gap:10px;margin:12px 0 0!important;padding:0!important}
body.cts-pdp .flex-control-thumbs li{width:72px!important;margin:0!important;float:none!important;border-radius:14px;overflow:hidden;border:2px solid transparent;background:#ece8e0}
body.cts-pdp .flex-control-thumbs img{opacity:.6!important}
body.cts-pdp .flex-control-thumbs img.flex-active,body.cts-pdp .flex-control-thumbs img:hover{opacity:1!important}
body.cts-pdp .flex-control-thumbs li:has(.flex-active){border-color:var(--yellow)}
body.cts-pdp span.onsale{position:absolute!important;top:18px!important;left:18px!important;right:auto!important;z-index:6;min-width:0!important;min-height:0!important;margin:0!important;padding:10px 16px!important;border-radius:999px!important;background:var(--yellow)!important;color:var(--ink)!important;font:400 22px/1 Anton,Impact,sans-serif!important;letter-spacing:.02em;transform:rotate(-6deg);box-shadow:0 8px 24px rgba(245,197,24,.3);animation:ctsPdpWobble 3.2s ease-in-out infinite}

/* summary */
body.cts-pdp .et_pb_wc_title h1,body.cts-pdp .product_title{font-family:Anton,Impact,sans-serif!important;font-weight:400!important;text-transform:uppercase;font-size:clamp(2.6rem,1.6rem + 3.6vw,5rem)!important;line-height:.92!important;letter-spacing:.005em;color:var(--paper)!important;padding:0!important;margin:0!important}
body.cts-pdp .et_pb_wc_title{margin-bottom:18px!important}
body.cts-pdp .et_pb_wc_price .price,body.cts-pdp .single_variation .price{display:flex!important;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:0!important;color:var(--paper)!important;font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem)!important;font-weight:800!important}
body.cts-pdp .price ins{text-decoration:none!important;color:var(--yellow)!important;background:none!important;order:-1}
body.cts-pdp .price ins .amount{color:var(--yellow)!important}
body.cts-pdp .price del{color:var(--mut)!important;opacity:1!important;font-size:.6em;font-weight:500}
body.cts-pdp .price del .amount{color:var(--mut)!important}
body.cts-pdp .cts-pdp-save{display:inline-block;margin:10px 0 0;padding:6px 12px;border-radius:999px;background:rgba(245,197,24,.12);border:1px solid rgba(245,197,24,.35);color:var(--yellow);font-size:13px;font-weight:700;letter-spacing:.04em}
body.cts-pdp .et_pb_wc_price{margin-bottom:26px!important}

/* variations */
body.cts-pdp table.variations{border:0!important;margin:0 0 6px!important;width:100%}
body.cts-pdp table.variations tr{display:block;margin:0 0 16px}
body.cts-pdp table.variations th,body.cts-pdp table.variations td{display:block;padding:0!important;border:0!important;background:none!important;text-align:left}
body.cts-pdp table.variations th.label,body.cts-pdp table.variations td.label{margin:0 0 10px}
body.cts-pdp table.variations label{color:var(--mut)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase}
body.cts-pdp table.variations label .cts-pdp-picked{color:var(--paper);letter-spacing:.02em;text-transform:none;font-size:14px;margin-left:8px}
body.cts-pdp table.variations select{width:100%;max-width:360px;padding:14px 16px!important;border-radius:14px!important;background:var(--card)!important;color:var(--paper)!important;border:1px solid var(--line)!important;font-size:16px!important}
body.cts-pdp table.variations select.cts-has-sw{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none}
body.cts-pdp .cts-sw-row{display:flex;flex-wrap:wrap;gap:10px}
body.cts-pdp .cts-sw{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:var(--card);border:2px solid var(--line);color:var(--paper);font:600 15px/1 "DM Sans",system-ui,sans-serif;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}
body.cts-pdp .cts-sw i{width:28px;height:28px;border-radius:50%;background:var(--c,#444);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
body.cts-pdp .cts-sw.no-dot{padding:10px 18px}
body.cts-pdp .cts-sw:hover{transform:translateY(-2px);border-color:rgba(242,238,230,.35)}
body.cts-pdp .cts-sw[aria-pressed="true"]{border-color:var(--yellow);background:rgba(245,197,24,.08)}
body.cts-pdp .cts-sw[disabled]{opacity:.35;cursor:not-allowed;text-decoration:line-through}
body.cts-pdp .cts-sw:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}
body.cts-pdp a.reset_variations{display:inline-block;margin-top:10px;color:var(--mut)!important;font-size:13px;text-decoration:underline!important}
body.cts-pdp .woocommerce-variation-price{display:none}
body.cts-pdp .woocommerce-variation-availability p,body.cts-pdp p.stock{margin:0 0 12px!important;color:var(--mut)!important;font-size:14px}
body.cts-pdp p.stock.out-of-stock{color:var(--red)!important}

/* quantity + button */
body.cts-pdp form.cart{margin:0!important}
body.cts-pdp form.cart:not(.variations_form),body.cts-pdp .woocommerce-variation-add-to-cart{display:flex!important;flex-wrap:wrap;gap:12px;align-items:stretch}
body.cts-pdp form.cart .quantity{display:inline-flex!important;align-items:center;margin:0!important;float:none!important;border-radius:999px;background:var(--card);border:1px solid var(--line);padding:4px;height:60px}
body.cts-pdp form.cart .quantity input.qty{width:46px!important;height:auto!important;padding:0!important;background:none!important;border:0!important;color:var(--paper)!important;font-size:18px!important;font-weight:700;text-align:center;-moz-appearance:textfield}
body.cts-pdp form.cart .quantity input.qty::-webkit-inner-spin-button,body.cts-pdp form.cart .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.cts-pdp .cts-q{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.06);color:var(--paper);font-size:22px;line-height:1;cursor:pointer;transition:background .15s}
body.cts-pdp .cts-q:hover{background:rgba(255,255,255,.14)}
body.cts-pdp button.single_add_to_cart_button{flex:1 1 220px;height:60px;margin:0!important;float:none!important;padding:0 30px!important;border:0!important;border-radius:999px!important;background:var(--yellow)!important;color:var(--ink)!important;font:800 17px/1 "DM Sans",system-ui,sans-serif!important;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .15s,box-shadow .2s;position:relative;overflow:hidden}
body.cts-pdp button.single_add_to_cart_button:after{display:none!important}
body.cts-pdp button.single_add_to_cart_button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:ctsPdpShine 3.6s ease-in-out infinite}
body.cts-pdp button.single_add_to_cart_button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(245,197,24,.3)}
body.cts-pdp button.single_add_to_cart_button.disabled{opacity:.55!important;cursor:not-allowed}
body.cts-pdp button.single_add_to_cart_button.disabled:before{display:none}
body.cts-pdp button.single_add_to_cart_button.loading{opacity:.7}

/* perks */
body.cts-pdp .cts-pdp-perks{list-style:none!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 0!important;padding:0!important}
body.cts-pdp .cts-pdp-perks li{display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-items:center;margin:0!important;padding:12px 14px!important;border-radius:16px;background:var(--card);border:1px solid var(--line);line-height:1.25}
body.cts-pdp .cts-pdp-perks span{grid-row:1/3;font-size:20px;text-align:center}
body.cts-pdp .cts-pdp-perks b{color:var(--paper);font-size:14px}
body.cts-pdp .cts-pdp-perks small{color:var(--mut);font-size:12.5px}

/* meta */
body.cts-pdp .product_meta{margin-top:22px;padding-top:18px!important;border-top:1px solid var(--line)!important;color:var(--mut)!important;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
body.cts-pdp .product_meta>span{display:inline-flex;gap:8px;align-items:center;margin-right:14px}
body.cts-pdp .product_meta a{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--paper)!important;text-transform:none;letter-spacing:0;font-size:14px;text-decoration:none!important}
body.cts-pdp .product_meta a:hover{border-color:var(--yellow);color:var(--yellow)!important}

/* tabs */
body.cts-pdp .et_pb_wc_tabs{border:1px solid var(--line)!important;border-radius:24px!important;background:var(--card)!important;overflow:hidden}
body.cts-pdp .et_pb_wc_tabs .et_pb_tabs_controls{background:transparent!important;border-bottom:1px solid var(--line)!important;display:flex;flex-wrap:wrap;gap:6px;padding:10px!important}
body.cts-pdp .et_pb_wc_tabs .et_pb_tabs_controls:after{display:none}
body.cts-pdp .et_pb_wc_tabs .et_pb_tabs_controls li{border:0!important;background:none!important;float:none!important}
body.cts-pdp .et_pb_wc_tabs .et_pb_tabs_controls li a{display:block;padding:10px 18px!important;border-radius:999px;color:var(--mut)!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
body.cts-pdp .et_pb_wc_tabs .et_pb_tabs_controls li.et_pb_tab_active a{background:var(--paper);color:var(--ink)!important}
body.cts-pdp .et_pb_wc_tabs .et_pb_all_tabs{background:transparent!important;padding:24px 28px!important}
body.cts-pdp .et_pb_wc_tabs .et_pb_tab,body.cts-pdp .et_pb_wc_tabs .et_pb_tab *{color:var(--paper)!important;font-size:16px;line-height:1.65}
body.cts-pdp .et_pb_wc_tabs .et_pb_tab h2{font-family:Anton,Impact,sans-serif!important;font-weight:400!important;text-transform:uppercase;font-size:1.6rem!important}
body.cts-pdp .et_pb_wc_tabs table.shop_attributes{border:0!important}
body.cts-pdp .et_pb_wc_tabs table.shop_attributes th,body.cts-pdp .et_pb_wc_tabs table.shop_attributes td{background:none!important;border-color:var(--line)!important;padding:12px!important}
body.cts-pdp .et_pb_wc_tabs.cts-empty,body.cts-pdp .et_pb_row:has(> .et_pb_column > .et_pb_wc_tabs.cts-empty){display:none!important}

/* ticker */
.cts-pdp-tick{position:relative;width:100vw;margin:clamp(10px,2vw,24px) 0 clamp(10px,2vw,24px) calc(50% - 50vw);background:var(--yellow);color:var(--ink);overflow:hidden;transform:rotate(-1.2deg);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.cts-pdp-tick>div{display:flex;width:max-content;animation:ctsPdpTick 28s linear infinite}
.cts-pdp-tick span{font:400 clamp(20px,2vw,28px)/1 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:14px 18px;white-space:nowrap}
.cts-pdp-tick em{font-style:normal;align-self:center;font-size:18px}

/* sticky buy bar (phones) */
.cts-pdp-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:9990;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(23,21,28,.94);border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.5);backdrop-filter:blur(10px);transform:translateY(140%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.cts-pdp-bar.on{transform:none}
.cts-pdp-bar b{flex:1;min-width:0;color:var(--paper);font:800 17px/1.1 "DM Sans",system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cts-pdp-bar b small{display:block;color:var(--mut);font-size:12px;font-weight:600;margin-top:3px}
.cts-pdp-bar button{flex:none;height:48px;padding:0 22px;border:0;border-radius:999px;background:var(--yellow);color:var(--ink);font:800 14px/1 "DM Sans",system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
@media (min-width:981px){.cts-pdp-bar{display:none}}

/* entrance */
body.cts-pdp .et_pb_wc_images,body.cts-pdp .et_pb_column_1_2:last-child>.et_pb_module{animation:ctsPdpIn .7s cubic-bezier(.2,.8,.2,1) both}
body.cts-pdp .et_pb_column_1_2:last-child>.et_pb_module:nth-child(2){animation-delay:.08s}
body.cts-pdp .et_pb_column_1_2:last-child>.et_pb_module:nth-child(3){animation-delay:.16s}
body.cts-pdp .et_pb_column_1_2:last-child>.et_pb_module:nth-child(4){animation-delay:.24s}

@keyframes ctsPdpIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ctsPdpTick{to{transform:translateX(-50%)}}
@keyframes ctsPdpShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes ctsPdpWobble{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(-2deg) scale(1.05)}}

@media (max-width:980px){
	body.cts-pdp .et-l--post .et_pb_column_1_2{margin-bottom:22px!important}
	body.cts-pdp .woocommerce-product-gallery__wrapper{border-radius:22px}
}
@media (max-width:520px){
	body.cts-pdp .cts-pdp-perks{grid-template-columns:1fr}
	body.cts-pdp span.onsale{font-size:18px!important;padding:8px 13px!important}
	body.cts-pdp button.single_add_to_cart_button{flex-basis:140px;padding:0 18px!important;font-size:15px!important}
	body.cts-pdp form.cart .quantity{height:56px}
	body.cts-pdp button.single_add_to_cart_button{height:56px}
}
@media (prefers-reduced-motion:reduce){
	body.cts-pdp *,.cts-pdp-tick>div{animation:none!important;transition:none!important}
}
.cts-pdp-note{margin:10px 2px 0!important;color:rgba(242,238,230,.6);font-size:13px!important;line-height:1.5}
