/* ClearDrop product gallery and purchase panel. */
#buy.cd-product {
  --cd-water:#061f28; --cd-panel:#0a2c35; --cd-accent:#19c1c9;
  --cd-white:#f4f8f6; --cd-muted:#b1c6cb; --cd-border:#31515a;
  padding:76px 0 84px; background:var(--cd-water); color:var(--cd-white);
}
#buy .cd-product-grid {display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:54px;align-items:start;}
#buy .cd-gallery-wrap {min-width:0;position:relative;}
#buy .cd-gallery {position:relative;margin:0;background:#dce1de;border-radius:18px 18px 0 0;overflow:hidden;}
#buy .cd-hero-copy {position:relative;margin:0;padding:20px 24px 8px;background:var(--cd-water);}
#buy .cd-rating {display:inline-flex;align-items:center;gap:9px;margin:0 0 12px;font:500 12px/1.5 'IBM Plex Sans',Arial,sans-serif;color:var(--cd-muted);text-underline-offset:3px;}
#buy .cd-rating[hidden] {display:none;}
#buy .cd-rating:hover {color:var(--cd-white);}
#buy .cd-rating-stars {display:inline-block;position:relative;font-size:15px;line-height:1.2;letter-spacing:2px;color:#48606a;}
#buy .cd-rating-stars>span {position:absolute;inset:0 auto 0 0;width:100%;overflow:hidden;white-space:nowrap;color:#efc66c;}
#buy .cd-eyebrow {margin:0 0 12px;font:500 10px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.13em;color:var(--cd-accent);}
#buy h1 {margin:0;font-family:'Literata',Georgia,serif;font-size:clamp(2rem,3.2vw,3rem);line-height:1.13;font-weight:600;letter-spacing:-.035em;color:var(--cd-white);}
#buy .cd-product-name {margin:13px 0 0;font:500 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--cd-accent);}
#buy .cd-purchase {min-width:0;padding-top:12px;}
#buy .cd-service {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 18px;color:#d3e1e3;font-size:12px;}
#buy .cd-service span {display:inline-flex;align-items:center;gap:7px;}
#buy .cd-service svg {width:15px;height:15px;color:var(--cd-accent);}
#buy .launch-note {margin:0 0 15px;padding:10px 12px;background:#0e343d;border:1px solid #31515a;border-radius:8px;color:var(--cd-white);font-size:10px;line-height:1.5;letter-spacing:.015em;}
#buy .options {display:flex;flex-direction:column;gap:13px;min-width:0;margin:0 0 19px;padding:0;background:transparent;border:0;}
#buy .option {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:89px;margin:0;padding:18px 19px;border:1px solid var(--cd-border);border-radius:14px;background:transparent;color:var(--cd-white);cursor:pointer;position:relative;transition:border-color .15s,background .15s;}
#buy .option::before {content:none;}
#buy .option:hover {border-color:#5d858d;background:#0c3039;}
#buy .option.selected {border:2px solid var(--cd-accent);padding:17px 18px;background:#073943;box-shadow:0 0 0 3px rgba(25,193,201,.06);}
#buy .option:focus-within {outline:2px solid #fff;outline-offset:4px;}
#buy .option input[type=radio] {width:1px;height:1px;position:absolute;opacity:0;}
#buy .cd-option-label {display:flex;flex-direction:column;gap:4px;min-width:0;}
#buy .option .opt-name {font-family:'IBM Plex Sans',Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.25;}
#buy .cd-option-detail {font-size:12px;line-height:1.4;color:var(--cd-muted);}
#buy .option .opt-prices {margin:0;text-align:right;flex:none;}
#buy .option .opt-price {font-family:'IBM Plex Sans',Arial,sans-serif;font-size:22px;font-weight:600;line-height:1.2;color:var(--cd-white);}
#buy .option .opt-was {display:block;margin-top:3px;color:#9ab1b8;font-family:'IBM Plex Sans',Arial,sans-serif;font-size:12px;line-height:1.3;}
#buy .ribbon {top:-9px;right:16px;padding:2px 10px;border-radius:99px;background:var(--cd-accent);color:#06252d;font-family:'IBM Plex Sans',Arial,sans-serif;font-size:9px;line-height:1.55;letter-spacing:.04em;font-weight:700;}
#buy .cd-order-line {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;color:var(--cd-muted);font-size:12px;}
#buy .cd-order-line .qty {height:32px;border:1px solid var(--cd-border);border-radius:7px;background:transparent;color:var(--cd-white);}
#buy .cd-order-line .qty button {width:32px;height:30px;padding:0;background:transparent;border:0;color:var(--cd-white);font-size:17px;cursor:pointer;}
#buy .cd-order-line .qty button:hover {background:#12444e;}
#buy .cd-order-line .qty input {width:32px;height:30px;padding:0;background:transparent;border:0;color:var(--cd-white);font-size:12px;text-align:center;}
#buy .buy-stack {gap:10px;}
#buy .btn-cart {display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:55px;padding:14px 18px;border:0;border-radius:99px;background:var(--cd-accent);color:#06252d;font-family:'IBM Plex Sans',Arial,sans-serif;font-size:16px;line-height:1.3;font-weight:700;letter-spacing:0;box-shadow:none;cursor:pointer;}
#buy .btn-cart:hover {background:#47d6db;box-shadow:none;}
#buy .btn-shoppay {min-height:39px;padding:8px 14px;border:1px solid var(--cd-border);border-radius:99px;background:transparent;color:var(--cd-white);font-size:12px;box-shadow:none;}
#buy .btn-shoppay:hover {background:#133d48;box-shadow:none;}
#buy .btn-shoppay .shop-word {font-size:15px;}
#buy .cd-care-note {margin:13px 0 15px;text-align:center;font-size:11px;line-height:1.5;color:var(--cd-muted);}
#buy .cd-included {border-top:1px solid var(--cd-border);border-bottom:1px solid var(--cd-border);}
#buy .cd-included summary {display:flex;justify-content:space-between;gap:14px;padding:15px 0;font-size:12px;list-style:none;cursor:pointer;}
#buy .cd-included summary::-webkit-details-marker {display:none;}
#buy .cd-included summary::after {content:'+';font-size:17px;line-height:1;color:var(--cd-accent);}
#buy .cd-included[open] summary::after {content:'−';}
#buy .cd-included p {margin:0 0 15px;font-size:12px;line-height:1.6;color:var(--cd-muted);}
#buy button:focus-visible,#buy a:focus-visible,#buy summary:focus-visible,#buy .cd-gallery:focus-visible {outline:2px solid #fff;outline-offset:4px;}
.cd-sr-only {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.cd-copy-short {max-width:560px;}
@media(min-width:1200px) {#buy .cd-product-grid {gap:64px;} #buy .cd-purchase {padding:12px 12px 0;}}
@media(max-width:860px) {
  #buy.cd-product {padding:0 0 30px;}
  #buy .cd-product-grid {display:flex;flex-direction:column;gap:18px;padding:0;max-width:600px;}
  #buy .cd-gallery-wrap {width:100%;}
  #buy .cd-gallery {border-radius:0;}
  #buy .cd-hero-copy {padding:18px 23px 8px;}
  #buy h1 {font-size:clamp(2rem,7.8vw,2.8rem);}
  #buy .cd-rating {font-size:11px;margin-bottom:11px;}
  #buy .cd-eyebrow {font-size:9px;margin-bottom:10px;}
  #buy .cd-product-name {font-size:9px;margin-top:10px;}
  #buy .cd-purchase {width:100%;padding:0 22px;}
  #buy .cd-service {font-size:11px;margin-bottom:14px;gap:8px 16px;}
  #buy .launch-note {padding:9px 8px;font-size:9px;margin-bottom:15px;}
  #buy .option {min-height:70px;padding:13px 16px;border-radius:12px;}
  #buy .option.selected {padding:12px 15px;}
  #buy .option .opt-name {font-size:16px;}
  #buy .cd-option-detail {font-size:11px;}
  #buy .option .opt-price {font-size:20px;}
  #buy .option .opt-was {font-size:11px;}
  #buy .options {margin-bottom:16px;gap:13px;}
  #buy .cd-order-line {margin-bottom:13px;font-size:11px;}
  #buy .btn-cart {min-height:52px;font-size:15px;}
}
@media(max-width:359px) {#buy .cd-purchase {padding:0 16px;} #buy .cd-hero-copy {padding-inline:17px;} #buy .option .opt-price {font-size:18px;} #buy .cd-option-detail {font-size:10px;} #buy .option {gap:8px;padding-inline:13px;} #buy .option.selected {padding-inline:12px;}}
@media(prefers-reduced-motion:reduce) {#buy * {transition:none!important;}}

/* Heading above purchase details; thumbnails directly under the main image. */
#buy .cd-purchase>.cd-hero-copy {padding:0 0 24px;}
#buy .cd-thumbs {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px 0 0;box-sizing:border-box;}
#buy .cd-thumbs:empty {display:none;}
#buy .cd-gallery-thumb {display:block;min-width:0;margin:0;padding:0;aspect-ratio:1/1;border:2px solid var(--cd-border);border-radius:8px;overflow:hidden;background:#f4f8f6;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
#buy .cd-gallery-thumb img {display:block;width:100%;height:100%;object-fit:contain;}
#buy .cd-gallery-thumb:hover {border-color:var(--cd-muted);}
#buy .cd-gallery-thumb[aria-current="true"] {border-color:var(--cd-accent);box-shadow:0 0 0 1px var(--cd-accent);}
@media(min-width:861px) {#buy .cd-purchase {padding-top:0;}}
@media(min-width:1200px) {#buy .cd-purchase {padding:0 12px;}}
@media(max-width:860px) {
 #buy .cd-thumbs {gap:8px;padding:12px 16px 0;}
 #buy .cd-gallery-thumb {border-radius:6px;}
 #buy .cd-purchase>.cd-hero-copy {padding:0 0 18px;}
}

/* One pointer gesture owns the slide movement; native momentum cannot skip images. */
#buy .cd-gallery-track {display:flex;width:100%;overflow:visible;touch-action:pan-y pinch-zoom;cursor:grab;will-change:transform;}
#buy .cd-gallery-track.is-dragging {cursor:grabbing;user-select:none;}
#buy .cd-gallery-slide {flex:0 0 100%;min-width:0;aspect-ratio:1/1;background:#e7ebe8;overflow:hidden;}
#buy .cd-gallery-slide>img {display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;}
#buy .cd-gallery-slide[data-product-index="0"]>img {object-fit:cover;}
#buy .cd-gallery-navigation {position:relative;width:min(42%,180px);height:36px;margin:0 auto;}
#buy .cd-gallery-progress {position:absolute;top:50%;left:0;right:0;height:3px;margin-top:-1.5px;overflow:hidden;border-radius:99px;background:rgba(177,198,203,.28);}
#buy .cd-gallery-progress>span {display:block;width:20%;height:100%;border-radius:99px;background:var(--cd-accent);transform:translateX(0);will-change:transform;}
#buy .cd-gallery-steps {position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);}
#buy .cd-gallery-step {appearance:none;min-width:0;height:36px;margin:0;padding:0;border:0;border-radius:3px;background:transparent;cursor:pointer;}
#buy .cd-gallery-step:focus-visible {outline:2px solid var(--cd-accent);outline-offset:-2px;}
#buy .cd-gallery-navigation+.cd-thumbs {padding-top:0;}
@media(max-width:860px) {
  #buy .cd-thumbs {display:none;}
  #buy .cd-gallery-navigation {height:32px;}
  #buy .cd-gallery-step {height:32px;}
  #buy .cd-product-grid {gap:8px;}
}
