/* xSmart — Product Detail Page */

.xpd { max-width:1200px; margin:0 auto; padding:20px; font-family:'DM Sans',sans-serif; color:#1f2937; }

/* Card */
.xpd-card { background:#fff; border-radius:12px; padding:24px; margin-bottom:20px; box-shadow:0 1px 3px rgba(0,0,0,.06); }

/* Grid: gallery left, info right */
.xpd-hero { display:grid; grid-template-columns:1fr 1fr; gap:32px; }

/* === GALLERY === */
.xpd-gallery { position:relative; }
.xpd-gallery .product-cover { background:#f9fafb; border-radius:8px; border:1px solid #e5e7eb; display:flex; align-items:center; justify-content:center; padding:20px; min-height:300px; }
.xpd-gallery .product-cover img { max-width:100%; max-height:350px; object-fit:contain; }
.xpd-gallery .product-images { display:flex; gap:8px; margin-top:12px; overflow-x:auto; }
.xpd-gallery .product-images .thumb-container,
.xpd-gallery .product-images .product-thumb { width:60px; height:60px; flex-shrink:0; border:2px solid #e5e7eb; border-radius:6px; overflow:hidden; cursor:pointer; display:flex; align-items:center; justify-content:center; background:#fff; }
.xpd-gallery .product-images .thumb-container:hover,
.xpd-gallery .product-images .thumb-container.selected { border-color:#3662A1; }
.xpd-gallery .product-images img { max-width:90%; max-height:90%; object-fit:contain; }
.xpd-gallery .scroll-box-arrows { display:none; }

/* Flags */
.xpd-flags { position:absolute; top:12px; left:12px; z-index:5; display:flex; gap:6px; }
.xpd-flags .product-flag { padding:4px 10px; font-size:11px; font-weight:700; color:#fff; background:#dc2626; border-radius:4px; text-transform:uppercase; }
.xpd-flag--refurb { padding:4px 10px; font-size:11px; font-weight:700; color:#fff; background:#059669; border-radius:4px; text-transform:uppercase; }

/* === INFO === */
.xpd-info { display:flex; flex-direction:column; gap:0; }
.xpd-title { font-size:20px; font-weight:700; line-height:1.3; color:#111827; margin:0 0 12px; }
.xpd-short-desc { font-size:13px; line-height:1.6; color:#6b7280; margin:0 0 16px; }
.xpd-short-desc ul { padding-left:18px; margin:6px 0; }
.xpd-short-desc li { margin-bottom:3px; }
.xpd-divider { border:none; border-top:1px solid #e5e7eb; margin:0 0 16px; }

/* Prices */
.xpd-prices { margin-bottom:16px; }
.xpd-prices .product-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
.xpd-prices .current-price-value,
.xpd-prices .current-price .price { font-size:26px; font-weight:800; color:#111827; }
.xpd-prices .regular-price { font-size:15px; color:#9ca3af; text-decoration:line-through; }
.xpd-prices .discount-percentage,
.xpd-prices .discount-amount { padding:2px 8px; font-size:12px; font-weight:700; color:#fff; background:#dc2626; border-radius:4px; }
.xpd-prices .tax-shipping-delivery-label { display:block; font-size:12px; color:#9ca3af; margin-top:4px; }

/* Availability */
.xpd-availability { margin-bottom:16px; }
.xpd-stock { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; }
.xpd-stock__dot { width:8px; height:8px; border-radius:50%; }
.xpd-stock--available { color:#059669; }
.xpd-stock--available .xpd-stock__dot { background:#059669; }
.xpd-stock--unavailable { color:#dc2626; }
.xpd-stock--unavailable .xpd-stock__dot { background:#dc2626; }
.xpd-delivery { display:flex; align-items:center; gap:4px; font-size:12px; color:#6b7280; margin-top:4px; }

/* Variants */
.xpd-actions { margin-bottom:0; }
.xpd-actions .product-variants { margin-bottom:16px; }
.xpd-actions .product-variants > .clearfix,
.xpd-actions .product-variants > .product-variants-item { margin-bottom:10px; }
.xpd-actions .product-variants label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:6px; }
.xpd-actions .product-variants select { width:100%; padding:9px 12px; border:1px solid #d1d5db; border-radius:6px; font-size:14px; background:#fff; font-family:inherit; }
.xpd-actions .product-variants select:focus { border-color:#3662A1; outline:none; }
.xpd-actions .product-variants .color { display:inline-flex; gap:8px; }
.xpd-actions .product-variants .input-color { width:30px; height:30px; border-radius:50%; border:2px solid #d1d5db; cursor:pointer; }
.xpd-actions .product-variants .input-color:hover,
.xpd-actions .product-variants .input-color.selected { border-color:#3662A1; }
.xpd-actions .product-variants .radio-label { display:inline-block; padding:7px 14px; border:1px solid #d1d5db; border-radius:6px; font-size:13px; cursor:pointer; margin:0 6px 6px 0; }
.xpd-actions .product-variants .radio-label:hover,
.xpd-actions .product-variants .input-radio:checked + .radio-label { border-color:#3662A1; color:#3662A1; background:#ECF8FF; }

/* Quantity + Add to cart */
.xpd .product-add-to-cart .product-quantity,
.xpd-actions .product-quantity { display:flex !important; flex-direction:row !important; gap:10px; align-items:center; margin-bottom:14px; }
.xpd .bootstrap-touchspin,
.xpd .qty { display:inline-flex !important; align-items:center; border:1px solid #d1d5db; border-radius:8px; overflow:hidden; height:44px; }
.xpd .bootstrap-touchspin .input-group-btn-vertical { display:flex !important; flex-direction:column; }
.xpd .bootstrap-touchspin .input-group-btn-vertical > .btn,
.xpd .bootstrap-touchspin .btn { width:32px !important; height:22px !important; border:none !important; background:#f3f4f6 !important; font-size:14px; display:flex !important; align-items:center; justify-content:center; padding:0 !important; cursor:pointer; border-radius:0 !important; color:#374151; }
.xpd .bootstrap-touchspin .btn:hover { background:#e5e7eb !important; }
.xpd .bootstrap-touchspin input,
.xpd input#quantity_wanted { width:44px !important; height:42px !important; text-align:center; border:none !important; border-left:1px solid #e5e7eb !important; border-right:1px solid #e5e7eb !important; font-size:15px; font-weight:600; background:#fff !important; outline:none !important; box-shadow:none !important; -moz-appearance:textfield; }
.xpd input::-webkit-outer-spin-button,
.xpd input::-webkit-inner-spin-button { -webkit-appearance:none; }

.xpd .product-add-to-cart .add { flex:1; display:flex; }
.xpd .add-to-cart,
.xpd .product-add-to-cart .btn-primary { width:100%; display:flex !important; align-items:center; justify-content:center; gap:8px; padding:14px 20px; background:#f59e0b !important; color:#fff !important; border:none !important; border-radius:8px !important; font-size:15px !important; font-weight:700; cursor:pointer; transition:background .15s; text-decoration:none !important; font-family:inherit; }
.xpd .add-to-cart:hover { background:#d97706 !important; }
.xpd .add-to-cart:disabled { background:#d1d5db !important; color:#9ca3af !important; cursor:not-allowed; }

/* Additional info */
.xpd-actions .product-additional-info { margin-top:10px; font-size:13px; }
.xpd-actions .product-additional-info a { color:#6b7280; text-decoration:none; margin-right:14px; }
.xpd-actions .product-additional-info a:hover { color:#3662A1; }

/* Trust */
.xpd-trust { display:flex; gap:0; margin-top:20px; padding-top:16px; border-top:1px solid #e5e7eb; }
.xpd-trust__item { flex:1; text-align:center; font-size:11px; color:#6b7280; padding:0 8px; border-right:1px solid #e5e7eb; }
.xpd-trust__item:last-child { border-right:none; }
.xpd-trust__item svg { display:block; margin:0 auto 4px; }
.xpd-trust__item strong { display:block; color:#374151; font-size:12px; }

/* Hide PS junk + duplicate availability */
.xpd .blockreassurance,
.xpd .product-refresh,
.xpd .product-add-to-cart .product-availability,
.xpd .product-actions .product-availability { display:none !important; }
.xpd .product-actions,
.xpd .product-information { margin:0; padding:0; }

/* === TABS === */
.xpd-tabs-card { background:#fff; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.06); margin-bottom:20px; overflow:hidden; }
.xpd-tabs-nav { display:flex; border-bottom:1px solid #e5e7eb; background:#f9fafb; }
.xpd-tabs-nav__btn { padding:12px 20px; background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-1px; font-size:13px; font-weight:600; color:#6b7280; cursor:pointer; font-family:inherit; }
.xpd-tabs-nav__btn:hover { color:#3662A1; }
.xpd-tabs-nav__btn.active { color:#3662A1; border-bottom-color:#3662A1; background:#fff; }
.xpd-tabs-content { padding:20px 24px; }
.xpd-tabs-pane { display:none; }
.xpd-tabs-pane.active { display:block; }
.xpd-description { font-size:14px; line-height:1.7; color:#374151; }
.xpd-description img { max-width:100%; border-radius:6px; }
.xpd-tabs-card .data-sheet dt,
.xpd-tabs-card .data-sheet .name { font-weight:600; padding:8px 12px; font-size:13px; background:#f9fafb; }
.xpd-tabs-card .data-sheet dd,
.xpd-tabs-card .data-sheet .value { padding:8px 12px; font-size:13px; border-bottom:1px solid #e5e7eb; }

/* === RELATED === */
.xpd-related { background:#fff; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.06); padding:20px 24px; margin-bottom:20px; }
.xpd-related__title { font-size:17px; font-weight:700; margin:0 0 14px; }
.xpd-related__grid { display:flex; gap:12px; overflow-x:auto; }

/* === RESPONSIVE === */
@media(max-width:991px) { .xpd-hero { grid-template-columns:1fr; gap:20px; } }
@media(max-width:767px) { .xpd { padding:12px; } .xpd-card { padding:16px; border-radius:8px; } .xpd-title { font-size:18px; } .xpd-prices .current-price-value,.xpd-prices .current-price .price { font-size:22px; } .xpd-trust { flex-direction:column; gap:8px; } .xpd-trust__item { border-right:none; border-bottom:1px solid #e5e7eb; padding:8px 0; flex-direction:row; gap:8px; text-align:left; } .xpd-trust__item:last-child { border-bottom:none; } .xpd-trust__item svg { display:inline; margin:0; } }
