/* 1.1.0 — single-product presentation only. Native Woo gallery and forms remain authoritative. */
body.single-product .dpc-woocommerce-main { max-width:1360px; margin-inline:auto; padding:28px 22px 56px; }
body.single-product .dpc-woocommerce-main > div.product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); column-gap:32px; row-gap:28px; align-items:start; }
body.single-product .dpc-woocommerce-main > div.product::before,
body.single-product .dpc-woocommerce-main > div.product::after { display:none; }
body.single-product .dpc-woocommerce-main > div.product > :not(.woocommerce-product-gallery):not(.summary) { grid-column:1 / -1; min-width:0; }
body.single-product .dpc-woocommerce-main > div.product > .woocommerce-product-gallery { grid-column:1; grid-row:1; position:relative; width:100%!important; margin:0!important; padding:18px; background:#fff; border:1px solid #e3e8ee; border-radius:20px; box-shadow:0 12px 35px #17233405; }
body.single-product .dpc-woocommerce-main > div.product > .summary { grid-column:2; grid-row:1; width:100%!important; margin:0!important; padding:6px 0 0; background:transparent; border:0; }
body.single-product .dpc-single-brand { margin:0 0 10px; color:#6b7483; font-size:12px; line-height:1.9; }
body.single-product div.product .product_title { font-size:clamp(22px,2.1vw,30px)!important; line-height:1.65; font-weight:850; color:#17212f; overflow-wrap:anywhere; }
/* Stable full image frame; scope main slides separately from native thumbnails. */
body.single-product div.product div.images .woocommerce-product-gallery__wrapper { margin:0; }
body.single-product div.product div.images .flex-viewport { direction:ltr; }
body.single-product div.product div.images .woocommerce-product-gallery__image { min-height:0; background:white; border-radius:14px; }
body.single-product div.product div.images .woocommerce-product-gallery__image > a { display:grid; place-items:center; width:100%; aspect-ratio:4 / 3; padding:16px; }
body.single-product div.product div.images .woocommerce-product-gallery__image > a > img { width:100%; height:100%; max-height:430px; object-fit:contain; object-position:center; border-radius:0; }
body.single-product div.product div.images .woocommerce-product-gallery__image--placeholder { display:grid; place-items:center; aspect-ratio:4 / 3; min-height:0; }
body.single-product div.product div.images .woocommerce-product-gallery__image--placeholder img { width:65%; height:65%; object-fit:contain; }
body.single-product div.product div.images .flex-control-thumbs { display:flex!important; flex-wrap:wrap; gap:10px; padding:14px 0 0; margin:14px 0 0!important; border-top:1px solid #edf0f4; }
body.single-product div.product div.images .flex-control-thumbs li { width:calc((100% - 40px) / 5)!important; max-width:100px; margin:0; list-style:none; }
body.single-product div.product div.images .flex-control-thumbs li img { display:block; width:100%; height:auto; aspect-ratio:1; max-height:100px; padding:6px; border:1px solid #e6eaf0; border-radius:10px; object-fit:contain; opacity:.7; transition:border-color .16s ease,opacity .16s ease; }
body.single-product div.product div.images .flex-control-thumbs img.flex-active { border:2px solid #086af6; opacity:1; background:#f8fbff; }
body.single-product div.product div.images .woocommerce-product-gallery__trigger { z-index:5; inset:auto 26px auto auto; top:26px; border:1px solid #e2e6ec; background:#fff; box-shadow:0 4px 12px #1723340d; }
body.single-product .dpc-gallery-caption { margin:16px 0 0; padding-top:12px; border-top:1px solid #edf0f4; color:#697486; font-size:12px; text-align:center; }
body.single-product .dpc-ref-single-actions { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; margin:0; border-bottom:1px solid #e6eaf0; }
body.single-product .dpc-ref-single-actions > span { margin-inline-end:auto; }
body.single-product .dpc-ref-single-actions .dpc-list-toggle { width:40px; height:40px; border-radius:12px; }
body.single-product .dpc-single-highlights { margin:16px 0; }
body.single-product .dpc-single-highlights h2 { margin:0 0 12px; font-size:14px; font-weight:800; }
body.single-product .dpc-single-highlights dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; }
body.single-product .dpc-single-highlights dl > div { min-width:0; padding:12px 14px; background:#f1f4f7; border:1px solid #edf0f4; border-radius:12px; }
body.single-product .dpc-single-highlights dt { margin:0 0 5px; font-size:11px; color:#627083; }
body.single-product .dpc-single-highlights dd { margin:0; color:#1c2736; font-size:13px; font-weight:700; line-height:1.9; overflow-wrap:anywhere; }
body.single-product .dpc-single-intro { margin:16px 0; border-bottom:1px solid #e3e8ef; padding:0 0 14px; }
body.single-product .dpc-single-intro summary { cursor:pointer; padding:8px 0; color:#293647; font-size:14px; font-weight:700; }
body.single-product .dpc-single-intro summary::marker { color:#086af6; }
body.single-product .dpc-single-intro .woocommerce-product-details__short-description { margin:10px 0 0; font-size:13px; line-height:2.05; color:#526175; }
body.single-product .dpc-device-summary { margin:16px 0; padding:0; border:0; background:transparent; }
body.single-product .dpc-device-summary__title { font-size:14px; margin-bottom:10px; }
body.single-product .dpc-device-summary__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.single-product .dpc-device-summary__item { border-radius:10px; padding:10px 12px; }
body.single-product .dpc-device-summary__item--success { background:#eef9f3; border-color:#cce8d8; }
body.single-product .dpc-device-summary__item--success strong { color:#20734d; }
body.single-product .dpc-single-buybox { padding:22px; margin-top:18px; border:1px solid #cbdfff; border-top:3px solid #086af6; border-radius:16px; background:linear-gradient(150deg,#fff,#f8fbff); box-shadow:0 8px 24px #17233406; }
body.single-product .dpc-single-buybox__eyebrow { margin:0; font-size:12px; font-weight:700; color:#687486; }
body.single-product div.product .dpc-single-buybox > p.price { justify-content:flex-end; font-size:28px; margin:12px 0 18px; color:#172334; }
body.single-product .dpc-single-buybox .woocommerce-Price-currencySymbol { font-size:.6em; font-weight:500; margin-inline-start:4px; }
body.single-product .dpc-single-buybox .dpc-purchase-panel { padding:0; margin:0; border:0!important; background:transparent!important; border-radius:0; }
body.single-product .dpc-purchase-panel__title { font-size:15px; margin-bottom:14px; }
body.single-product .dpc-option-grid { gap:8px; }
body.single-product .dpc-option-card { border-radius:10px; background:#fff; min-height:56px; padding:10px; }
body.single-product .dpc-option-card:has(input:checked) { border-color:#086af6; background:#f8fbff; box-shadow:0 0 0 1px #086af6; }
body.single-product .dpc-option-card.is-disabled { box-shadow:none; }
body.single-product div.product form.cart .single_add_to_cart_button { border-radius:11px; min-height:50px; font-size:15px; padding:12px 16px; line-height:1.7; box-shadow:0 5px 12px #086af61a; }
body.single-product .quantity .qty { width:70px; min-height:50px; background:#fff; text-align:center; }
body.single-product div.product form.cart .quantity.hidden + .single_add_to_cart_button,
body.single-product div.product form.cart > .single_add_to_cart_button:only-child { grid-column:1 / -1; }
body.single-product div.product form.variations_form.cart,
body.single-product div.product form.grouped_form.cart { display:block; }
body.single-product .variations { width:100%; border-collapse:collapse; margin-bottom:18px; }
body.single-product .variations th { text-align:start; font-size:13px; }
body.single-product .variations td { padding:6px 0; }
body.single-product .variations select { width:100%; min-height:44px; padding:8px; border:1px solid #d7dfe8; border-radius:8px; background:white; }
body.single-product .woocommerce-variation-add-to-cart { display:flex; gap:12px; flex-wrap:wrap; }
body.single-product .woocommerce-variation-add-to-cart .dpc-purchase-options { width:100%; }
body.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex:1; width:auto!important; }
body.single-product .dpc-single-unpriced strong { display:block; margin:12px 0 8px; font-size:19px; color:#293647; }
body.single-product .dpc-single-unpriced p { color:#647082; font-size:13px; line-height:2; margin:0 0 14px; }
body.single-product .dpc-single-contact { display:flex; justify-content:center; width:100%; border-radius:10px; min-height:46px; }
body.single-product .dpc-purchase-assurance { margin-top:18px; padding-top:14px; }
body.single-product .dpc-purchase-assurance p { font-size:11px; line-height:1.9; }
body.single-product div.product .product_meta { font-size:11px; line-height:2.1; padding-top:14px; }
body.single-product div.product .product_meta > span { display:block; }
body.single-product div.product .product_meta a { text-underline-offset:3px; color:#65758a; }
/* Long-form information keeps a clear section rhythm, including sparse datasets. */
body.single-product .dpc-product-specifications { margin:8px 0 0; padding:26px; border-radius:16px; }
body.single-product .dpc-product-specifications .dpc-section-heading h2 { font-size:20px; margin:0 0 18px; }
body.single-product .dpc-product-specifications__grid { grid-template-columns:1fr; border:0; gap:6px; }
body.single-product .dpc-product-specifications__row { grid-template-columns:minmax(140px,25%) minmax(0,1fr); padding:12px 16px; border:0; border-radius:9px; font-size:13px; line-height:1.9; }
body.single-product .dpc-product-specifications__row:nth-child(odd) { background:#f5f7fa; }
body.single-product .dpc-product-specifications__row dd { text-align:start; }
body.single-product .woocommerce-tabs { margin:0; padding:24px 26px; border:1px solid #e3e8ee; border-radius:16px; background:#fff; }
body.single-product .woocommerce-tabs ul.tabs { margin:0 0 24px; gap:22px; overflow:auto; white-space:nowrap; }
body.single-product .woocommerce-tabs ul.tabs li a { padding:12px 0!important; font-size:14px; font-weight:750; }
body.single-product .woocommerce-tabs .panel { margin:0!important; line-height:2.15; font-size:14px; color:#465469; overflow-wrap:anywhere; }
body.single-product .woocommerce-tabs .panel > h2 { font-size:19px; margin:0 0 16px; }
body.single-product .woocommerce-tabs .panel p { margin:0 0 16px; }
body.single-product .woocommerce-tabs .panel img { max-width:100%; height:auto; }
body.single-product .woocommerce-tabs .panel table { width:100%; border-collapse:collapse; font-size:13px; }
body.single-product .woocommerce-tabs .panel table th { text-align:start; width:28%; background:#f4f6f9; font-weight:600; }
body.single-product .woocommerce-tabs .panel table td,
body.single-product .woocommerce-tabs .panel table th { padding:12px; border:1px solid #edf0f4; font-style:normal; }
body.single-product #reviews #comments ol.commentlist { padding:0; }
body.single-product #reviews #comments ol.commentlist li .comment-text { border-radius:12px; border-color:#e6eaf0; }
body.single-product #review_form input:not([type=checkbox]):not([type=submit]),
body.single-product #review_form textarea { max-width:100%; width:100%; padding:12px; border:1px solid #d9e1ea; border-radius:10px; background:#fbfcfd; }
body.single-product #review_form #submit { background:#086af6; color:#fff; border:0; border-radius:9px; padding:12px 24px; cursor:pointer; }
body.single-product .dpc-product-trust { margin:0; padding:24px; border-radius:16px; background:#f2f5f8; }
body.single-product .dpc-product-trust .dpc-section-heading h2 { font-size:19px; margin:0 0 16px; }
body.single-product .dpc-product-trust__grid { grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); }
body.single-product .dpc-product-trust__grid article { border:0; border-radius:12px; padding:18px; }
body.single-product .dpc-single-guide { padding:30px; border-radius:18px; background:linear-gradient(120deg,#121c29,#243545); color:#e4eaf1; }
body.single-product .dpc-single-guide__heading > span { color:#cbdfff; font-size:12px; font-weight:750; }
body.single-product .dpc-single-guide h2 { color:white; font-size:23px; margin:6px 0; }
body.single-product .dpc-single-guide__heading > p { margin:0; color:#b9c7d5; font-size:13px; }
body.single-product .dpc-single-guide__items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:24px; }
body.single-product .dpc-single-guide article { display:flex; align-items:flex-start; gap:12px; }
body.single-product .dpc-single-guide article > span { font-size:21px; font-weight:800; color:#cbdfff; line-height:1.6; }
body.single-product .dpc-single-guide h3 { color:#fff; font-size:14px; margin:0 0 6px; }
body.single-product .dpc-single-guide article p { color:#c7d1dc; font-size:12px; line-height:2; margin:0; }
body.single-product .dpc-single-guide__links { display:flex; flex-wrap:wrap; gap:18px; border-top:1px solid #ffffff20; padding-top:16px; margin-top:24px; }
body.single-product .dpc-single-guide__links a { font-size:12px; color:#fff; text-decoration:none; padding:6px 0; }
/* Local related-card fix: do not alter Homepage or the shared card stylesheet. */
body.single-product :is(.related,.upsells) { margin:8px 0 0; }
body.single-product :is(.related,.upsells) > h2 { font-size:22px; margin:0 0 20px; }
body.single-product :is(.related,.upsells) ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; padding:0; }
body.single-product :is(.related,.upsells) ul.products::before,
body.single-product :is(.related,.upsells) ul.products::after { display:none; }
body.single-product :is(.related,.upsells) ul.products li.product { width:auto!important; float:none!important; margin:0!important; min-width:0; list-style:none; }
body.single-product :is(.related,.upsells) .dpc-product-card__media { grid-template:minmax(0,1fr) / minmax(0,1fr); min-height:0; }
body.single-product :is(.related,.upsells) .dpc-product-card__quick-actions { position:absolute; inset-block-start:6px; inset-inline-end:6px; display:flex; gap:4px; z-index:3; }
body.single-product :is(.related,.upsells) .dpc-product-card__image { min-height:0; max-height:100%; padding:12px; object-fit:contain; object-position:center; }
body.single-product :is(.related,.upsells) .dpc-product-card__image-placeholder > .dpc-product-card__fallback-art { width:100%; height:100%; min-height:0; border:0; padding:8px; grid-template:minmax(0,1fr) / minmax(0,1fr); }
body.single-product :is(.related,.upsells) .dpc-product-card__fallback-image { min-height:0; max-height:100%; }
body.single-product :is(.related,.upsells) .dpc-product-card__title { min-height:48px; }
body.single-product .dpc-mobile-purchase-bar { padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
body.single-product .dpc-mobile-purchase-bar__price > small { display:block; color:#667387; font-size:10px; font-weight:400; line-height:1.6; }
body.single-product .dpc-mobile-purchase-bar .dpc-button { border-radius:10px; }
body.single-product .dpc-single-buybox,
body.single-product #dpc-purchase-actions { scroll-margin-top:24px; }
body.single-product .dpc-woocommerce-main :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #0759d1; outline-offset:3px; }
@media (max-width:1023px) {
 body.single-product { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
 body.single-product .dpc-woocommerce-main { padding:20px 18px 40px; }
 body.single-product .dpc-woocommerce-main > div.product { column-gap:22px; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
 body.single-product .dpc-woocommerce-main > div.product > .woocommerce-product-gallery { padding:12px; }
 body.single-product .dpc-single-highlights dl { grid-template-columns:1fr; }
 body.single-product .dpc-single-highlights dl > div { display:grid; grid-template-columns:32% minmax(0,1fr); gap:8px; padding:9px 12px; }
 body.single-product .dpc-device-summary__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.single-product .dpc-single-highlights dt { margin:0; align-self:center; }
 body.single-product .dpc-single-buybox { padding:16px; }
 body.single-product :is(.related,.upsells) ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.single-product .dpc-single-guide__items { gap:16px; }
}
@media (max-width:767px) {
 body.single-product .dpc-woocommerce-main { padding:16px 12px 32px; }
 body.single-product .dpc-woocommerce-main > div.product { grid-template-columns:minmax(0,1fr); gap:22px; }
 body.single-product .dpc-woocommerce-main > div.product > .woocommerce-product-gallery { position:relative; top:auto; grid-column:1; grid-row:auto; border-radius:16px; }
 body.single-product .dpc-woocommerce-main > div.product > .summary { grid-column:1; grid-row:auto; padding:0 4px; }
 body.single-product div.product .product_title { font-size:23px!important; }
 body.single-product div.product div.images .woocommerce-product-gallery__image > a { padding:8px; }
 body.single-product div.product div.images .woocommerce-product-gallery__image > a > img { max-height:360px; }
 body.single-product .dpc-single-highlights dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.single-product .dpc-single-highlights dl > div { display:block; padding:11px; }
 body.single-product .dpc-single-highlights dt { margin-bottom:4px; }
 body.single-product .dpc-device-summary__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.single-product .dpc-device-summary__item { padding:10px 8px; }
 body.single-product .dpc-device-summary__item strong { font-size:12px; }
 body.single-product :is(.dpc-product-specifications,.woocommerce-tabs,.dpc-product-trust) { padding:18px 14px; }
 body.single-product .dpc-product-specifications__row { grid-template-columns:minmax(90px,32%) minmax(0,1fr); padding:10px; }
 body.single-product .woocommerce-tabs ul.tabs { gap:18px; }
 body.single-product .woocommerce-tabs .panel { font-size:13px; }
 body.single-product .dpc-single-guide { padding:24px 20px; }
 body.single-product .dpc-single-guide h2 { font-size:21px; line-height:1.7; }
 body.single-product .dpc-single-guide__items { grid-template-columns:1fr; gap:20px; }
 body.single-product :is(.related,.upsells) ul.products { gap:9px; }
 body.single-product :is(.related,.upsells) .dpc-product-card__image { padding:7px; }
 body.single-product :is(.related,.upsells) .dpc-product-card__image-placeholder small { padding:4px; font-size:10px; line-height:16px; }
 body.single-product .dpc-mobile-purchase-bar__price { font-size:14px; }
 body.single-product .dpc-mobile-purchase-bar .dpc-button { font-size:12px; padding-inline:14px; }
}
@media (prefers-reduced-motion:reduce) {
 body.single-product .dpc-woocommerce-main * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
