body.origyn-brand.product-detail-page { min-height:100vh; background-color:#131411; background-image:radial-gradient(ellipse at 12% 0%,#ff805214,transparent 38rem),radial-gradient(ellipse at 100% 36%,#b870450d,transparent 46rem),repeating-linear-gradient(0deg,transparent 0 5px,#f6f0e703 5px 6px); background-attachment:fixed; color:#f6f0e7; }
.product-detail-page .store-header { background:rgba(19,20,17,.96); border-color:#39362f; }
/* style.css fixes every header to the top for the publisher landing page. Product section headers
   must stay in normal flow or they cover reviews and the recommendation rail while scrolling. */
.product-detail-page header:not(.store-header) { position:static; inset:auto; z-index:auto; width:auto; padding:0; border:0; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.product-detail-page .store-header nav { max-width:1320px; min-height:74px; margin:auto; padding:12px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.product-detail-page .logo { color:#f6f0e7; }
.product-detail-page .brand-site-label { border-color:#51483d; }
.product-back-link,.product-breadcrumbs a { color:#ff875d; text-decoration:none; }
.product-back-link { min-height:44px; display:inline-flex; align-items:center; padding:0 12px; border:1px solid #51483d; border-radius:8px; }
.product-page-shell { width:min(1200px,calc(100% - 48px)); margin:0 auto; padding:24px 0 80px; }
.product-breadcrumbs { display:flex; gap:9px; align-items:center; color:#bdb2a4; font-size:13px; margin-bottom:20px; }
.product-page-status { min-height:240px; display:grid; place-items:center; color:#d5cabe; }
.product-page-status[data-error="true"] { color:#ffb29a; }
.product-detail { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:26px 48px; }
.product-detail[hidden] { display:none; }
.product-detail-gallery,.product-detail-copy,.product-about-section,.similar-products-section { min-width:0; }
.product-hero-image { min-height:480px; display:grid; place-items:center; overflow:hidden; border:1px solid #4a4238; border-radius:12px; background:radial-gradient(circle at 50% 45%,#433326,#1a1b18 70%); color:#ff875d; font-size:clamp(42px,8vw,88px); font-weight:850; }
.product-hero-image.product-image-carousel { display:flex; justify-content:flex-start; align-items:stretch; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; touch-action:pan-x pan-y; }
.product-hero-image.product-image-carousel::-webkit-scrollbar { display:none; }
.product-image-slide { flex:0 0 100%; width:100%; min-width:100%; min-height:480px; display:grid; place-items:center; overflow:hidden; scroll-snap-align:start; scroll-snap-stop:always; }
.product-hero-image img { width:100%; height:100%; max-height:600px; min-height:480px; object-fit:contain; display:block; }
.product-image-dots { width:max-content; min-height:44px; display:flex; justify-content:center; align-items:center; gap:4px; margin:8px auto 0; padding:0 10px; border:1px solid #ffffff24; border-radius:999px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.product-image-dots:empty { display:none; }
.product-image-dots[hidden] { display:none; }
.product-image-slide.is-unavailable { color:#d5cabe; font-size:16px; font-weight:650; }
.product-image-dot { width:18px; height:44px; padding:0; display:grid; place-items:center; border:0; background:transparent; cursor:pointer; }
.product-image-dot::before { content:""; width:7px; height:7px; border-radius:50%; background:#fff; opacity:.48; transform:scale(.88); transition:transform .22s ease,background-color .22s ease,opacity .22s ease; }
.product-image-dot[aria-current="true"]::before { background:#fff; opacity:1; transform:scale(1.2); }
.product-image-dot:focus-visible { outline:2px solid #ff875d; outline-offset:-3px; border-radius:8px; }
.product-image-thumbnails { display:flex; gap:10px; overflow-x:auto; padding:12px 2px 6px; }
.product-image-thumbnail { flex:0 0 70px; width:70px; height:70px; padding:3px; border:1px solid #51483d; border-radius:8px; background:#211f1b; cursor:pointer; }
.product-image-thumbnail[aria-pressed="true"] { border-color:#ff875d; box-shadow:0 0 0 1px #ff875d; }
.product-image-thumbnail img { width:100%; height:100%; display:block; object-fit:cover; border-radius:5px; }
.product-detail-copy { padding:18px 0; }
.product-detail-copy .eyebrow,.product-about-section .eyebrow,.similar-products-section .eyebrow { color:#ff875d; }
.product-detail-copy h1 { margin:12px 0; color:#fff8ee; font-size:clamp(34px,4vw,54px); line-height:1.04; letter-spacing:-.055em; }
.product-detail-rating { color:#ffc17d; font-weight:750; }
.product-detail-description,.product-detail-seller,.product-detail-origin { color:#c9c0b4; line-height:1.7; }
.product-detail-seller a { color:inherit; font-weight:800; text-decoration-color:var(--ui-accent); text-underline-offset:3px; }
.product-detail-price { display:block; margin:20px 0; color:#fff8ee; font-size:32px; }
.product-variant { display:grid; gap:8px; max-width:420px; color:#eee5da; font-weight:700; }
.product-variant[hidden] { display:none; }
.product-variant select { min-height:46px; padding:10px 12px; color:#fff8ee; background:#211f1b; border:1px solid #62564a; border-radius:8px; font:inherit; }
.product-detail-facts { display:grid; gap:8px; padding:14px 0; color:#c9c0b4; }
.product-detail-facts p { margin:0; }
.product-detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.product-detail-actions button { min-height:48px; padding:0 20px; border:1px solid #ff7645; border-radius:8px; background:#ff7645; color:#171512; font:inherit; font-weight:800; cursor:pointer; }
.product-detail-actions #product-add { background:#28251f; color:#fff8ee; border-color:#65594a; }
.product-detail-actions button:hover { filter:brightness(1.08); }
.product-action-note { min-height:22px; color:#ffb29a; }
.product-about-section,.product-reviews-section,.similar-products-section { grid-column:1/-1; border-top:1px solid #51483d; padding-top:24px; }
.product-about-section h2,.product-reviews-section h2,.similar-products-section h2 { margin:0; color:#fff8ee; font-size:clamp(24px,3vw,34px); letter-spacing:-.04em; }
.product-reviews-section>header { margin-bottom:22px; }
.product-reviews-intro { max-width:70ch; margin:10px 0 0; color:#c9c0b4; line-height:1.6; }
.product-review-summary { color:#ffc17d; font-weight:800; }
.product-reviews-section #product-reviews { display:grid; gap:16px; }
.product-reviews-section #product-reviews.has-no-reviews { max-width:860px; padding:22px 24px; border:1px solid #51483d; border-radius:12px; background:linear-gradient(135deg,#201e19,#181916); }
.product-reviews-section #product-reviews.has-no-reviews .product-review-summary { margin:0; color:#f7f1e8; font-size:16px; line-height:1.6; }
.product-review-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.product-review-list li { padding:14px; border:1px solid #51483d; border-radius:9px; background:#211f1b; }
.product-review-message,.private-chat-close { min-height:44px; padding:0 14px; border:1px solid #705d49; border-radius:9px; color:#fff8ee; background:#29251f; font:inherit; font-weight:750; cursor:pointer; }
.product-review-message:hover,.private-chat-close:hover { border-color:#ff875d; color:#ffb29a; }
.private-chat-panel { display:grid; gap:14px; max-width:820px; margin-top:20px; padding:20px; border:1px solid #765d43; border-radius:14px; background:linear-gradient(145deg,#26221c,#1a1b18); box-shadow:0 18px 48px #0003; animation:private-chat-enter .24s ease-out both; }
.private-chat-panel>header { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.private-chat-panel h3 { margin:0; color:#fff8ee; font-size:20px; }
.private-chat-privacy { margin:0; color:#d5cabe; line-height:1.55; }
.private-chat-messages { display:grid; gap:10px; max-height:260px; overflow:auto; }
.private-chat-message { justify-self:start; width:min(85%,620px); padding:12px 14px; border:1px solid #51483d; border-radius:12px 12px 12px 3px; background:#211f1b; }
.private-chat-message.is-outgoing { justify-self:end; border-color:#914f36; border-radius:12px 12px 3px 12px; background:#35251e; }
.private-chat-message strong { color:#ffb29a; }
.private-chat-message p { margin:6px 0; color:#f6f0e7; white-space:pre-wrap; overflow-wrap:anywhere; }
.private-chat-message small { color:#bdb2a4; font-size:11px; }
.private-chat-form { display:grid; gap:9px; }
.private-chat-form label { display:grid; gap:7px; color:#fff8ee; font-weight:700; }
.private-chat-form textarea { width:100%; box-sizing:border-box; min-height:88px; padding:12px; border:1px solid #62564a; border-radius:10px; color:#fff8ee; background:#171714; font:inherit; resize:vertical; }
.private-chat-form button { min-height:46px; justify-self:start; padding:0 16px; border:1px solid #ff875d; border-radius:9px; color:#171512; background:#ff875d; font:inherit; font-weight:800; cursor:pointer; }
.private-chat-status { min-height:1.3em; margin:0; color:#ffb29a; }
.private-message-toasts { position:fixed; z-index:5100; right:max(16px,env(safe-area-inset-right)); bottom:calc(var(--origyn-privacy-bottom-reserve,0px) + 16px); display:grid; gap:10px; width:min(430px,calc(100vw - 32px)); pointer-events:none; }
.origyn-message-toast { pointer-events:auto; padding:16px; border:1px solid #8e6443; border-radius:14px; color:#f7f1e8; background:linear-gradient(145deg,#2b241d,#1d1b17); box-shadow:0 18px 50px #0006; animation:private-chat-enter .28s cubic-bezier(.2,.8,.2,1) both; }
.origyn-message-toast-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.origyn-message-toast-top strong { color:#ff9a72; }
.origyn-message-toast p { margin:8px 0 12px; line-height:1.5; overflow-wrap:anywhere; }
.origyn-message-toast-close { width:44px; height:44px; border:1px solid #62564a; border-radius:50%; color:#fff8ee; background:#211f1b; font-size:25px; cursor:pointer; }
.origyn-message-toast-action { min-height:44px; padding:0 14px; border:1px solid #ff875d; border-radius:9px; color:#171512; background:#ff875d; font:inherit; font-weight:800; cursor:pointer; }
@keyframes private-chat-enter { from { opacity:0; transform:translateY(14px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
.product-review-heading { display:flex; justify-content:space-between; gap:12px; color:#fff8ee; }
.product-review-heading span { color:#ffc17d; white-space:nowrap; }
.product-review-list small { color:#ffb274; }
.product-review-list p { color:#ded5ca; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.product-review-form { display:grid; gap:10px; margin-top:16px; max-width:700px; }
.product-review-form label { display:grid; gap:6px; color:#f2e9dd; font-weight:750; }
.product-review-form :is(select,textarea) { width:100%; min-height:46px; padding:10px 12px; border:1px solid #62564a; border-radius:8px; background:#211f1b; color:#fff8ee; font:inherit; color-scheme:dark; }
.product-review-form textarea { min-height:100px; resize:vertical; }
.product-review-form { margin-top:10px; }
.product-review-form button,.product-review-signin,.product-review-retry { min-height:44px; justify-self:start; padding:10px 14px; border:1px solid #62564a; border-radius:8px; background:#29251f; color:#fff8ee; font:inherit; font-weight:750; text-decoration:none; cursor:pointer; }
.product-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; }
.product-spec { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #38332d; }
.product-spec span { color:#bdb2a4; }
.product-spec strong { color:#f7f1e8; text-align:right; }
.similar-products-section>header { display:flex; position:static; justify-content:space-between; align-items:end; gap:20px; margin:0 0 16px; }
.similar-products-heading { min-width:0; }
.similar-products-controls { display:flex; align-items:center; gap:8px; }
.similar-scroll-hint { margin:0; color:#c9c0b4; font-size:13px; }
.similar-scroll-hint span { color:#ff875d; }
.similar-scroll-button { width:44px; height:44px; display:grid; place-items:center; border:1px solid #62564a; border-radius:50%; background:#211f1b; color:#fff8ee; font:inherit; font-size:20px; cursor:pointer; }
.similar-scroll-button:hover { border-color:#ff875d; color:#ff875d; }
.similar-scroll-button:focus-visible { outline:3px solid #ff875d; outline-offset:3px; }
.similar-products-all { min-height:44px; display:inline-flex; align-items:center; gap:8px; padding:0 14px; border:1px solid #62564a; border-radius:8px; color:#fff8ee; background:#211f1b; font-weight:750; text-decoration:none; transition:transform .18s ease,border-color .18s ease,color .18s ease; }
.similar-products-all:hover { transform:translateY(-2px); border-color:#ff875d; color:#ff875d; }
.similar-products-all:focus-visible,.product-review-signin:focus-visible { outline:3px solid #ff875d; outline-offset:3px; }
.similar-products { display:flex; gap:14px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:auto; scrollbar-color:#ff875d #342f28; padding:2px 2px 14px; }
.similar-products::-webkit-scrollbar { height:10px; }
.similar-products::-webkit-scrollbar-track { border-radius:999px; background:#342f28; }
.similar-products::-webkit-scrollbar-thumb { border:2px solid #342f28; border-radius:999px; background:#ff875d; }
.similar-products::-webkit-scrollbar-thumb:hover { background:#ffb08f; }
.similar-product-card { flex:0 0 clamp(210px,24vw,270px); min-width:0; overflow:hidden; scroll-snap-align:start; border:1px solid #51483d; border-radius:10px; background:#211f1b; color:#f7f1e8; text-decoration:none; transition:border-color .18s ease,transform .18s ease; }
.similar-product-card:hover { border-color:#ff875d; transform:translateY(-2px); }
.similar-product-image { height:150px; display:grid; place-items:center; overflow:hidden; color:#ff875d; font-size:34px; font-weight:850; background:#171714; }
.similar-product-image img { width:100%; height:100%; display:block; object-fit:cover; }
.similar-product-copy { display:grid; gap:8px; padding:13px; }
.similar-product-copy strong { color:#fff8ee; }
.similar-product-copy small { color:#c9c0b4; }
.product-page-footer { display:flex; gap:20px; flex-wrap:wrap; padding:24px max(24px,calc((100% - 1200px)/2)); border-top:1px solid #39362f; color:#c9c0b4; }
.product-page-footer a { color:#ff875d; text-decoration:none; }
@media(max-width:760px) {
  .product-detail-page .store-header nav { padding:10px 16px; }
  .product-page-shell { width:calc(100% - 32px); padding-top:16px; }
  .product-detail { grid-template-columns:minmax(0,1fr); gap:22px; }
  .product-hero-image,.product-hero-image img,.product-image-slide { min-height:300px; }
  .product-detail-copy { padding:0; }
  .product-about-section,.product-reviews-section,.similar-products-section { grid-column:1; }
  .product-specs { grid-template-columns:1fr; }
  .similar-products-section>header { align-items:flex-start; flex-direction:row; }
  .similar-products-controls { margin-left:auto; }
  .similar-scroll-hint { display:none; }
  .similar-product-card { flex-basis:min(78vw,270px); }
}
@media(max-width:600px) { .private-message-toasts { right:10px; width:calc(100vw - 20px); } .private-chat-panel { padding:15px; } .private-chat-message { width:92%; } }
@media(prefers-reduced-motion:reduce) { .similar-product-card { transition:none; } .private-chat-panel,.origyn-message-toast { animation:none; } }
