/* Product detail — aligned with cart / checkout (ci-pay) */

.eshop-pdp-page-wrap.ci-pay-page {
    padding-top: 1.25rem;
}

.shop-page.ci-pdp {
    /* Match eshop catalog rail (--eshop-content-max from eshop.css), not the narrower checkout 72rem. */
    max-width: var(--eshop-content-max, min(100% - 1.5rem, 96rem));
    width: 100%;
}

.eshop-pdp-page-wrap .shop-page.ci-pay.ci-pdp {
    max-width: var(--eshop-content-max, min(100% - 1.5rem, 96rem));
    width: 100%;
}

.shop-page.ci-pdp .ci-pay__fieldset > .finance-platform-settings-card__body {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.eshop-pdp-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ci-pay-accent, #6a5d8b);
    text-decoration: none;
    margin-bottom: 0.15rem;
}

.eshop-pdp-back:hover {
    color: #5b4f79;
    text-decoration: underline;
}

.eshop-pdp-back svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

[dir="rtl"] .eshop-pdp-back svg {
    transform: scaleX(-1);
}

.eshop-pdp-delivery-bar {
    margin-bottom: 0.15rem;
}

.eshop-pdp-delivery-bar .max-w-7xl {
    max-width: var(--eshop-content-max, min(100% - 1.5rem, 96rem));
    margin-inline: auto;
    padding-inline: 0;
}

.shop-page.ci-pdp .eshop-pdp-buy-fieldset {
    padding: 1rem 1.15rem 1.2rem;
}

.shop-page.ci-pdp .eshop-pdp-buy-fieldset > .finance-platform-settings-card__body {
    margin-top: 0.75rem;
}

.shop-page.ci-pdp .eshop-pdp-buy-fieldset > legend.ci-pay__section-legend {
    font-size: 0.95rem;
    font-weight: 700;
}

.shop-page.ci-pdp .eshop-pdp-cta-buyrow .eshop-cart-qty-stepper {
    min-height: 3rem;
    width: 100%;
    min-width: 0;
    justify-content: space-between;
    gap: 0.15rem;
    padding: 0.2rem 0.3rem;
    overflow: visible;
    /* Keep − / qty / + in a stable visual order regardless of page RTL */
    direction: ltr;
}

.shop-page.ci-pdp .eshop-pdp-cta-buy {
    letter-spacing: 0.01em;
}

.eshop-pdp__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 24rem);
    gap: 1.35rem 1.75rem;
    align-items: start;
}

.eshop-pdp__media-col {
    min-width: 0;
}

.eshop-pdp__buy-col {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
}

@media (min-width: 901px) {
    .eshop-pdp__buy-col {
        position: sticky;
        top: 1rem;
    }
}

.eshop-pdp-gallery {
    margin: 0;
}

.eshop-pdp-gallery__main {
    border-radius: 1rem;
    overflow: visible;
    border: 1px solid var(--ci-pay-border, #e8e4f0);
    background: #f7f5fb;
    /* No fixed square — frame grows with the photo so nothing is cropped. */
    aspect-ratio: auto;
    height: auto;
    min-height: 16rem;
    box-shadow: 0 1px 2px rgba(55, 42, 88, 0.04), 0 6px 18px rgba(55, 42, 88, 0.06);
    position: relative;
    display: block;
}

.eshop-pdp-gallery__zoom-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 16rem;
    padding: 1rem;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    position: relative;
    box-sizing: border-box;
}

.eshop-pdp-gallery__zoom-trigger:focus-visible {
    outline: 2px solid var(--ci-pay-accent, #6a5d8b);
    outline-offset: -2px;
}

.eshop-pdp-gallery__zoom-badge {
    position: absolute;
    inset-inline-end: 0.75rem;
    inset-block-end: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--ci-pay-ink, #372a58);
    border: 1px solid rgba(55, 42, 88, 0.12);
    box-shadow: 0 2px 8px rgba(55, 42, 88, 0.12);
    pointer-events: none;
    transition: transform 0.15s ease, background 0.15s ease;
    z-index: 1;
}

.eshop-pdp-gallery__zoom-badge svg {
    width: 1.15rem;
    height: 1.15rem;
}

.eshop-pdp-gallery__zoom-trigger:hover .eshop-pdp-gallery__zoom-badge,
.eshop-pdp-gallery__zoom-trigger:focus-visible .eshop-pdp-gallery__zoom-badge {
    transform: scale(1.06);
    background: #fff;
}

/*
 * Show the FULL product photo (no crop).
 * Global `img { height: auto }` / fixed square + overflow:hidden was clipping straps.
 * Keep natural aspect ratio; only shrink to fit the column width / a tall max-height.
 */
.shop-page.ci-pdp .eshop-pdp-gallery__main img,
.shop-page.ci-pdp .eshop-pdp-gallery__zoom-trigger img,
.shop-page.ci-pdp #main-img,
.shop-page.ci-pdp .eshop-pdp-gallery__photo {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: min(72vh, 40rem) !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    margin-inline: auto;
    transform: none !important;
}

.shop-page.ci-pdp .eshop-pdp-gallery__zoom-trigger:hover img {
    transform: none !important;
}

.eshop-pdp-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10070;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(15, 23, 42, 0.92);
}

.eshop-pdp-lightbox.is-open {
    display: flex;
}

.eshop-pdp-lightbox__stage {
    position: relative;
    width: min(92vw, 56rem);
    height: min(78vh, 42rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

.eshop-pdp-lightbox__stage img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.75rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
    user-select: none;
    -webkit-user-drag: none;
}

.eshop-pdp-lightbox__close {
    position: absolute;
    top: 1rem;
    inset-inline-end: 1rem;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}

.eshop-pdp-lightbox__close:hover {
    background: rgba(255, 255, 255, 0.28);
}

.eshop-pdp-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}

.eshop-pdp-lightbox__nav:hover {
    background: rgba(255, 255, 255, 0.28);
}

.eshop-pdp-lightbox__nav--prev {
    inset-inline-start: 1rem;
}

.eshop-pdp-lightbox__nav--next {
    inset-inline-end: 1rem;
}

.eshop-pdp-lightbox__footer {
    position: absolute;
    inset-inline: 0;
    bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    padding-inline: 4.5rem;
    pointer-events: none;
}

.eshop-pdp-lightbox__counter {
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    direction: ltr;
    opacity: 0.92;
}

.eshop-pdp-lightbox__strip {
    display: flex;
    gap: 0.5rem;
    max-width: min(92vw, 40rem);
    overflow-x: auto;
    padding: 0.25rem;
    pointer-events: auto;
    -webkit-overflow-scrolling: touch;
}

.eshop-pdp-lightbox__strip-thumb {
    flex: 0 0 auto;
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 0.5rem;
    overflow: hidden;
    background: transparent;
    cursor: pointer;
    opacity: 0.55;
    transition: opacity 0.15s ease, border-color 0.15s ease;
}

.eshop-pdp-lightbox__strip-thumb.is-active,
.eshop-pdp-lightbox__strip-thumb:hover {
    opacity: 1;
    border-color: #fff;
}

.eshop-pdp-lightbox__strip-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 640px) {
    .eshop-pdp-lightbox {
        padding: 0.75rem;
    }

    .eshop-pdp-lightbox__nav {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1.4rem;
    }

    .eshop-pdp-lightbox__footer {
        padding-inline: 3.25rem;
    }

    .eshop-pdp-lightbox__strip-thumb {
        width: 3.25rem;
        height: 3.25rem;
    }
}

.eshop-pdp-gallery__empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c4bdd6;
}

.eshop-pdp-gallery__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.eshop-pdp-gallery__thumb {
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 0.65rem;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.eshop-pdp-gallery__thumb.is-active,
.eshop-pdp-gallery__thumb:hover {
    border-color: var(--ci-pay-accent, #6a5d8b);
    box-shadow: 0 0 0 1px rgba(106, 93, 139, 0.15);
}

.eshop-pdp-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.eshop-pdp-shop-header {
    margin-bottom: 0.15rem;
}

.eshop-pdp-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--ci-pay-ink, #372a58);
    letter-spacing: -0.015em;
}

.eshop-pdp-ratings {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-top: 0.45rem;
}

.eshop-pdp-stock {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.eshop-pdp-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
}

.eshop-pdp-badge--in {
    background: #ecfdf5;
    color: #047857;
}

.eshop-pdp-badge--out {
    background: #f1f5f9;
    color: #64748b;
}

.eshop-pdp-badge--always {
    background: #f5f3ff;
    color: #6a5d8b;
}

.eshop-pdp-badge--feature {
    background: #faf9fc;
    color: #372a58;
    border: 1px solid #ebe8f2;
}

.eshop-pdp-badge--returnable {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.eshop-pdp-head__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.35rem;
}

.eshop-pdp-price-block {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.eshop-pdp-price-block .fin-currency-amount,
.eshop-pdp-price-block .eshop-pdp-price__amount {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--ci-pay-ink, #372a58);
}

[dir="rtl"] .eshop-pdp-price-block .fin-currency-amount {
    justify-content: flex-end;
}

.eshop-pdp-price__vat {
    font-size: 0.8125rem;
    color: var(--ci-pay-muted, #64748b);
    font-weight: 500;
}

.eshop-pdp-meta-rows {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.eshop-pdp-meta-row {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--ci-pay-muted, #64748b);
}

.eshop-pdp-meta-row svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.eshop-pdp-meta-row strong,
.eshop-pdp-meta-row .eshop-pdp-meta-row__value {
    color: var(--ci-pay-ink, #372a58);
    font-weight: 600;
}

.eshop-pdp-meta-row--free {
    color: #047857;
}

.eshop-pdp-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.eshop-pdp-policy-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.eshop-pdp-policy-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--ci-pay-ink, #372a58);
}

.eshop-pdp-policy-list svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.eshop-pdp-policy-list .is-warning {
    color: #b45309;
}

.eshop-pdp-policy-list .is-muted {
    color: var(--ci-pay-muted, #64748b);
    font-size: 0.8125rem;
}

.eshop-pdp-buy-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.shop-page.ci-pdp .eshop-pdp__page-title {
    margin: 0 0 0.35rem;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: #372a58;
}

@media (max-width: 640px) {
    .shop-page.ci-pdp .eshop-pdp__page-title {
        font-size: 1.3125rem;
    }
}

.eshop-pdp-buy-form {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.85rem 1rem;
}

.eshop-pdp-buy-form .eshop-pdp-qty {
    flex: 0 0 auto;
}

.eshop-pdp-buy-form > .ci-pay__btn,
.eshop-pdp-buy-form > .ci-pay__btn--secondary {
    flex: 1 1 12rem;
}

.eshop-pdp-qty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
}

.eshop-pdp-qty-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ci-pay-ink, #372a58);
    margin: 0;
}

.shop-page.ci-pdp .eshop-pdp-qty .eshop-cart-qty-stepper {
    width: 100%;
    max-width: 11rem;
    align-self: center;
    justify-content: space-between;
    padding: 0.2rem 0.35rem;
    min-height: 2.625rem;
}

[dir="rtl"] .shop-page.ci-pdp .eshop-pdp-qty .eshop-cart-qty-stepper {
    align-self: center;
}

.shop-page.ci-pdp .eshop-cart-qty-stepper__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: #372a58;
    cursor: pointer;
    flex-shrink: 0;
}

.shop-page.ci-pdp .eshop-cart-qty-stepper__btn:hover:not(:disabled) {
    background: #f3f1f7;
}

.shop-page.ci-pdp .eshop-cart-qty-stepper__value,
.shop-page.ci-pdp .eshop-cart-qty-stepper__input {
    width: 2.75rem;
    min-width: 2.75rem;
    max-width: 2.75rem;
    flex: 0 0 2.75rem;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #372a58;
    font-variant-numeric: tabular-nums;
    border: none;
    background: transparent;
    padding: 0;
    -moz-appearance: textfield;
    appearance: textfield;
}

.shop-page.ci-pdp .eshop-cart-qty-stepper {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #ebe8f2;
    border-radius: 999px;
    background: #fff;
    overflow: visible;
    box-sizing: border-box;
}

.eshop-pdp-qty-note {
    margin: 0;
    font-size: 0.75rem;
    color: var(--ci-pay-muted, #64748b);
}

.eshop-pdp-buy-form .ci-pay__btn {
    margin: 0;
}

/* CTA buttons: icon + label aligned. */
.shop-page.ci-pdp .eshop-pdp-buy-row__submit,
.shop-page.ci-pdp .eshop-pdp-buynow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.eshop-pdp-btn-icon {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
}

/* Buy Now is a strong dark secondary CTA (not an empty white box). */
.shop-page.ci-pdp .eshop-pdp-buynow.ci-pay__btn--secondary {
    background: linear-gradient(180deg, #372a58, #2c2450);
    border-color: #2c2450;
    color: #fff;
    box-shadow: 0 6px 16px rgba(44, 36, 80, 0.22);
}

.shop-page.ci-pdp .eshop-pdp-buynow.ci-pay__btn--secondary:hover {
    background: linear-gradient(180deg, #40315f, #362a54);
}

.shop-page.ci-pdp .eshop-pdp-buynow.ci-pay__btn--secondary:active {
    transform: translateY(1px);
}

/* Trust / assurance panel. */
.eshop-pdp-trust-inline {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 1rem 0 0;
    padding: 0.8rem 0.9rem;
    border: 1px solid #efecf6;
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #faf9fc, #f6f4fb);
    list-style: none;
}

.eshop-pdp-trust-inline li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #4b4368;
    line-height: 1.3;
}

.eshop-pdp-trust-inline svg {
    width: 1.9rem;
    height: 1.9rem;
    padding: 0.42rem;
    box-sizing: border-box;
    border-radius: 999px;
    background: #fff;
    color: var(--ci-pay-accent, #6a5d8b);
    box-shadow: 0 1px 3px rgba(55, 42, 88, 0.1);
    flex-shrink: 0;
}

.eshop-pdp-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.75rem;
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
    font-size: 0.875rem;
    line-height: 1.45;
}

.eshop-pdp-signin {
    padding: 0.85rem;
    border-radius: 0.75rem;
    border: 1px solid var(--ci-pay-border, #e8e4f0);
    background: var(--ci-pay-surface, #faf9fc);
}

.eshop-pdp-signin p {
    margin: 0;
    font-size: 0.875rem;
    color: var(--ci-pay-ink, #372a58);
}

.eshop-pdp-signin-btn {
    margin-top: 0.5rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ci-pay-accent, #6a5d8b);
    font-weight: 700;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: underline;
}

.shop-page.ci-pdp .eshop-cart-qty-stepper__input::-webkit-outer-spin-button,
.shop-page.ci-pdp .eshop-cart-qty-stepper__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.eshop-pdp-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.eshop-pdp-reviews__body {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.eshop-pdp-reviews__summary {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.75rem 0.95rem;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, #f8fafc 0%, #eef6f4 100%);
    border: 1px solid #e2ebe8;
}

.eshop-pdp-reviews__summary-score {
    display: inline-flex;
    align-items: baseline;
    gap: 0.1rem;
    flex-shrink: 0;
    line-height: 1;
}

.eshop-pdp-reviews__summary-avg {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.eshop-pdp-reviews__summary-max {
    font-size: 1rem;
    font-weight: 600;
    color: #64748b;
}

.eshop-pdp-reviews__summary-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem 0.65rem;
    min-width: 0;
}

.eshop-pdp-reviews__summary-meta .eshop-star-display__icon {
    width: 1.05rem;
    height: 1.05rem;
}

.eshop-pdp-reviews__count {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 0.875rem;
    color: #64748b;
    cursor: help;
    text-decoration: underline dotted transparent;
    text-underline-offset: 0.15em;
}

.eshop-pdp-reviews__count:hover,
.eshop-pdp-reviews__count:focus-visible {
    color: #0f766e;
    text-decoration-color: currentColor;
    outline: none;
}

.eshop-pdp-reviews__empty {
    margin: 0;
    padding: 0.85rem 0 0.25rem;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #64748b;
}

.eshop-pdp-reviews__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.eshop-pdp-reviews__item {
    padding: 1rem 0;
    border-top: 1px solid #e8eef5;
}

.eshop-pdp-reviews__item:first-child {
    border-top: none;
    padding-top: 0.15rem;
}

.eshop-pdp-reviews__item:last-child {
    padding-bottom: 0.15rem;
}

.eshop-pdp-reviews__item-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.eshop-pdp-reviews__avatar {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f766e;
    background: #ccfbf1;
    border: 1px solid #99f6e4;
}

.eshop-pdp-reviews__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.eshop-pdp-reviews__item-meta {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.eshop-pdp-reviews__item-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.eshop-pdp-reviews__reviewer {
    font-weight: 650;
    font-size: 0.975rem;
    color: #0f172a;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(100%, 16rem);
}

.eshop-pdp-reviews__date {
    font-size: 0.8125rem;
    color: #94a3b8;
    white-space: nowrap;
}

.eshop-pdp-reviews__stars {
    line-height: 1;
}

.eshop-pdp-reviews__stars .eshop-star-display {
    gap: 0.12rem;
}

.eshop-pdp-reviews__stars .eshop-star-display__icon {
    width: 1rem;
    height: 1rem;
}

.eshop-pdp-reviews__comment {
    margin: 0.55rem 0 0;
    margin-inline-start: 3.25rem;
    font-size: 0.95rem;
    line-height: 1.65;
    color: #334155;
    white-space: pre-wrap;
}

.eshop-pdp-reviews__comment--clamp {
    cursor: help;
}

.eshop-pdp-reviews__more-row {
    display: flex;
    justify-content: center;
    padding-top: 0.15rem;
}

.eshop-pdp-reviews__more {
    appearance: none;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f766e;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.eshop-pdp-reviews__more:hover,
.eshop-pdp-reviews__more:focus-visible {
    background: #f0fdfa;
    border-color: #99f6e4;
    outline: none;
}

.eshop-pdp-reviews__tip-float {
    position: fixed;
    z-index: 1200;
    max-width: min(22rem, calc(100vw - 1.5rem));
    padding: 0.55rem 0.7rem;
    border-radius: 0.55rem;
    background: #0f172a;
    color: #f8fafc;
    font-size: 0.8125rem;
    line-height: 1.45;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.22);
    pointer-events: none;
    white-space: pre-wrap;
    word-break: break-word;
}

.eshop-pdp-reviews__tip-float::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    width: 10px;
    height: 10px;
    background: #0f172a;
    transform: translateX(-50%) rotate(45deg);
}

.eshop-pdp-reviews__tip-float--below::after {
    top: -5px;
    bottom: auto;
}

@media (max-width: 480px) {
    .eshop-pdp-reviews__comment {
        margin-inline-start: 0;
    }

    .eshop-pdp-reviews__reviewer {
        max-width: 100%;
    }
}

.eshop-pdp-desc {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #475569;
    white-space: pre-wrap;
}

.eshop-pdp-props {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.eshop-pdp-props__item {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.65rem;
    border: 1px solid #ebe8f2;
    background: #faf9fc;
}

.eshop-pdp-props__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    margin-top: 0.05rem;
    color: #6a5d8b;
}

.eshop-pdp-props__icon svg {
    width: 1rem;
    height: 1rem;
}

.eshop-pdp-props__text {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #372a58;
    font-weight: 550;
}

.eshop-pdp-trust-band {
    margin-top: 0.35rem;
    padding: 1.75rem 1rem;
    border-radius: 1rem;
    background: #f8f6fc;
    border: 1px solid #ebe8f2;
}

.eshop-pdp-trust-band__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
    max-width: 48rem;
    margin: 0 auto;
}

@media (min-width: 640px) {
    .eshop-pdp-trust-band__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.eshop-pdp-trust-band__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ci-pay-ink, #372a58);
}

.eshop-pdp-trust-band__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.75rem;
    background: rgba(106, 93, 139, 0.1);
    color: var(--ci-pay-accent, #6a5d8b);
    flex-shrink: 0;
}

.eshop-pdp-trust-band__icon svg {
    width: 1.15rem;
    height: 1.15rem;
}

.shop-page.ci-pdp .ci-pay__btn--secondary {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.85rem 1rem;
    border-radius: 0.875rem;
    border: 1px solid #ebe8f2;
    background: #fff;
    color: var(--ci-pay-ink, #372a58);
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s ease;
}

.shop-page.ci-pdp .ci-pay__btn--secondary:hover {
    background: #faf9fc;
}

@media (max-width: 900px) {
    .eshop-pdp__grid {
        grid-template-columns: 1fr;
    }

    .eshop-pdp__buy-col {
        position: static;
    }
}

@media (max-width: 640px) {
    .eshop-pdp-title {
        font-size: 1.2rem;
    }

    .eshop-pdp-gallery__thumb {
        width: 3.25rem;
        height: 3.25rem;
    }
}

/* ============================================================================
   PDP redesign — breadcrumb, vertical thumbnail gallery, info header,
   combined buy row (qty + add-to-cart + wishlist), Buy Now, delivery/return
   info cards. Matches the modern product-detail reference layout.
   ============================================================================ */

/* ---- Breadcrumb ---- */
.eshop-pdp-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: #8b849f;
    margin-bottom: 0.5rem;
}

.eshop-pdp-breadcrumb__link {
    color: #8b849f;
    text-decoration: none;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.eshop-pdp-breadcrumb__link:hover {
    color: var(--ci-pay-accent, #6a5d8b);
    text-decoration: underline;
}

.eshop-pdp-breadcrumb__sep {
    color: #c9c3da;
}

.eshop-pdp-breadcrumb__crumb {
    color: #8b849f;
}

.eshop-pdp-breadcrumb__current {
    color: var(--ci-pay-heading, #2c2450);
    font-weight: 600;
    max-width: 20rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---- Vertical thumbnail gallery ---- */
.eshop-pdp-gallery__layout {
    display: flex;
    gap: 0.75rem;
    /* flex-start: the thumbnail rail keeps its natural height instead of stretching to the
       main image height (which forced an overflow scrollbar on the rail). */
    align-items: flex-start;
}

.eshop-pdp-gallery__layout .eshop-pdp-gallery__main {
    flex: 1 1 auto;
    min-width: 0;
    aspect-ratio: auto;
    height: auto;
    overflow: visible;
}

.eshop-pdp-gallery__layout--with-thumbs .eshop-pdp-gallery__thumbs {
    order: -1;
    margin-top: 0;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.5rem;
    width: 4.25rem;
    max-height: none;
    overflow: visible;
    padding: 2px;
}

.eshop-pdp-gallery__layout .eshop-pdp-gallery__thumb {
    width: 4.25rem;
    height: 4.25rem;
    flex: 0 0 auto;
    box-sizing: border-box;
}

@media (max-width: 640px) {
    .eshop-pdp-gallery__layout {
        flex-direction: column;
    }

    .eshop-pdp-gallery__layout .eshop-pdp-gallery__main {
        order: 1;
    }

    .eshop-pdp-gallery__layout--with-thumbs .eshop-pdp-gallery__thumbs {
        order: 2;
        flex-direction: row;
        flex-wrap: nowrap;
        width: auto;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        margin-top: 0.65rem;
    }

    .eshop-pdp-gallery__layout .eshop-pdp-gallery__thumb {
        width: 3.5rem;
        height: 3.5rem;
    }
}

/* ---- Info header (title + inline rating/stock + price + short desc) ---- */
.eshop-pdp-head {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Scoped + high specificity so the app's global h1 typography can't inflate it into a
   one-word-per-line block inside the narrow info column. */
.shop-page.ci-pdp .eshop-pdp-head__title {
    margin: 0;
    /* !important defeats the global typography.css hero h1 size (same pattern used elsewhere on this page). */
    font-size: clamp(1.15rem, 0.85rem + 0.9vw, 1.4rem) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em;
    color: var(--ci-pay-heading, #2c2450);
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: none;
}

.eshop-pdp-head__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    margin: 0.45rem 0 0;
}

.eshop-pdp-head__brand-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #94a3b8;
}

.eshop-pdp-head__brand-row {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    max-width: 100%;
}

.eshop-pdp-head__brand-logo {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
    border-radius: 0.3rem;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid #e8e6ef;
}

.eshop-pdp-head__brand-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.eshop-pdp-features--highlights {
    list-style: none;
    margin: 0.65rem 0 0;
    padding: 0;
}

.eshop-pdp-features--highlights > li {
    display: contents;
}

.eshop-pdp-head__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 0.65rem;
}

.eshop-pdp-head__meta-sep {
    width: 1px;
    height: 1rem;
    background: var(--ci-pay-border, #e0dcec);
}

.eshop-pdp-head__meta-sep:first-child {
    display: none;
}

.eshop-pdp-stock-inline {
    font-size: 0.85rem;
    font-weight: 600;
}

.eshop-pdp-stock-inline--in {
    color: #1f9d55;
}

.eshop-pdp-stock-inline--out {
    color: #dc2626;
}

.eshop-pdp-head__price {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--ci-pay-heading, #2c2450);
    margin-top: 0.1rem;
}

.eshop-pdp-head__desc {
    margin: 0.15rem 0 0;
    color: #6b6486;
    font-size: 0.9rem;
    line-height: 1.6;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--ci-pay-border, #eee7f5);
}

/* ---- Combined buy row: qty stepper + add-to-cart + wishlist ---- */
.eshop-pdp-buy-row {
    display: flex;
    align-items: stretch;
    gap: 0.6rem;
}

.eshop-pdp-buy-row__qty {
    flex: 0 0 auto;
}

.eshop-pdp-buy-row__submit {
    flex: 1 1 auto;
    margin: 0;
}

.eshop-pdp-wishlist {
    flex: 0 0 auto;
    width: 2.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ci-pay-border, #e0dcec);
    border-radius: 0.6rem;
    background: #fff;
    color: #6b6486;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.eshop-pdp-wishlist svg {
    width: 1.25rem;
    height: 1.25rem;
}

.eshop-pdp-wishlist:hover {
    border-color: #e11d48;
    color: #e11d48;
}

.eshop-pdp-wishlist.is-active {
    border-color: #e11d48;
    color: #e11d48;
    background: #fff1f3;
}

.eshop-pdp-wishlist.is-active svg {
    fill: #e11d48;
}

/* ---- CTA stack: caution → qty → Buy now (green) → Bookmark | Share ---- */
.shop-page.ci-pdp .eshop-pdp-buy-panel--cta {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.shop-page.ci-pdp .eshop-pdp-buy-form--cta {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin: 0;
}

.eshop-pdp-cta-qty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.eshop-pdp-cta-qty__label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #64748b;
}

.eshop-pdp-cta-qty__stepper {
    flex: 0 0 auto;
}

.eshop-pdp-cta-buyrow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    gap: 0.65rem;
    width: 100%;
}

.eshop-pdp-cta-buyrow .eshop-pdp-cta-qty__stepper {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    align-self: stretch;
    box-sizing: border-box;
}

.eshop-pdp-cta-buyrow .eshop-pdp-cta-buy {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    box-sizing: border-box;
}

.eshop-pdp-cta-buy .eshop-pdp-btn-icon {
    width: 1.15rem;
    height: 1.15rem;
    flex-shrink: 0;
}

.eshop-pdp-cta-buyrow .eshop-pdp-cta-buy span {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .eshop-pdp-cta-buyrow {
        gap: 0.5rem;
    }

    .eshop-pdp-cta-buy {
        min-height: 2.75rem;
        padding: 0.7rem 0.65rem;
        font-size: 0.9rem;
        border-radius: 0.65rem;
    }

    .shop-page.ci-pdp .eshop-pdp-cta-buyrow .eshop-cart-qty-stepper {
        min-height: 2.75rem;
        padding: 0.15rem 0.2rem;
    }

    .shop-page.ci-pdp .eshop-cart-qty-stepper__btn {
        width: 1.75rem;
        height: 1.75rem;
    }

    .shop-page.ci-pdp .eshop-cart-qty-stepper__value,
    .shop-page.ci-pdp .eshop-cart-qty-stepper__input {
        width: 2rem;
        min-width: 2rem;
        max-width: 2rem;
        flex: 0 0 2rem;
        font-size: 0.875rem;
    }

    .eshop-pdp-cta-actions {
        gap: 0.5rem;
    }

    .eshop-pdp-cta-action {
        min-height: 3.75rem;
        padding: 0.55rem 0.4rem;
        font-size: 0.75rem;
    }
}

@media (max-width: 380px) {
    .eshop-pdp-cta-buyrow {
        gap: 0.4rem;
    }

    .eshop-pdp-cta-buy .eshop-pdp-btn-icon {
        width: 1rem;
        height: 1rem;
    }

    .eshop-pdp-cta-buy {
        font-size: 0.8125rem;
        padding: 0.65rem 0.45rem;
        gap: 0.3rem;
    }
}

.eshop-pdp-cta-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3rem;
    padding: 0.85rem 1.1rem;
    border: none;
    border-radius: 0.75rem;
    background: var(--ci-pay-accent, #6a5d8b);
    color: #fff;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.15s ease, transform 0.12s ease;
}

.eshop-pdp-cta-buy:hover {
    background: #5b4f79;
    color: #fff;
    text-decoration: none;
}

.eshop-pdp-cta-buy:active {
    transform: translateY(1px);
}

.eshop-pdp-cta-buy.is-disabled,
.eshop-pdp-cta-buy:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

.eshop-pdp-cta-buy--secondary {
    background: #fff;
    color: #372a58;
    border: 1px solid #e2e8f0;
}

.eshop-pdp-cta-buy--secondary:hover {
    background: #f8fafc;
    color: #372a58;
}

.eshop-pdp-cta-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
}

.eshop-pdp-cta-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 4.25rem;
    padding: 0.7rem 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #fff;
    color: #6b7280;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.eshop-pdp-cta-action svg {
    width: 1.35rem;
    height: 1.35rem;
}

.eshop-pdp-cta-action:hover {
    border-color: #cbd5e1;
    color: #374151;
    background: #fafafa;
}

.eshop-pdp-cta-action.is-active {
    border-color: #86efac;
    color: #15803d;
    background: #f0fdf4;
}

.eshop-pdp-cta-action.is-active svg {
    fill: currentColor;
}

.eshop-pdp-buynow {
    width: 100%;
    margin-top: 0.6rem;
}

/* ---- Delivery / Return info cards ---- */
.eshop-pdp-infocards {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-top: 0.25rem;
}

.eshop-pdp-infocard {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--ci-pay-border, #e0dcec);
    border-radius: 0.7rem;
    background: #fff;
}

.eshop-pdp-infocard__icon {
    flex: 0 0 auto;
    width: 1.6rem;
    height: 1.6rem;
    color: var(--ci-pay-accent, #6a5d8b);
}

.eshop-pdp-infocard__icon svg {
    width: 100%;
    height: 100%;
}

.eshop-pdp-infocard__body {
    min-width: 0;
}

.eshop-pdp-infocard__title {
    margin: 0 0 0.15rem;
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--ci-pay-heading, #2c2450);
}

.eshop-pdp-infocard__text {
    margin: 0;
    font-size: 0.83rem;
    color: #6b6486;
    line-height: 1.5;
}

.eshop-pdp-infocard__sub {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.78rem;
    color: #8b849f;
}

/* -- PDP shop details + more from shop ----------------------------- */
/* Shop details uses the shared eshop-section-fieldset border (same as الوصف / الخصائص). */
.shop-page fieldset.eshop-section-fieldset.eshop-pdp-shop-details {
    margin: 0;
}

.eshop-pdp-shop-details__identity {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

a.eshop-pdp-shop-details__identity:hover .eshop-pdp-shop-details__name {
    color: var(--eshop-brand-light, #6a5d8b);
}

.eshop-pdp-shop-details__logo {
    flex: 0 0 auto;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid #e4e0ee;
    background: #f4f2f8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.eshop-pdp-shop-details__logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.eshop-pdp-shop-details__logo.is-fallback {
    background: linear-gradient(145deg, #6a5d8b, #2d2150);
    border-color: transparent;
}

.eshop-pdp-shop-details__logo-fallback {
    color: #fff;
    font-weight: 800;
    font-size: 1.1rem;
    line-height: 1;
}

.eshop-pdp-shop-details__copy {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.eshop-pdp-shop-details__name {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--ci-pay-heading, #2c2450);
    line-height: 1.35;
}

.eshop-pdp-shop-details__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.85rem;
    font-size: 0.8rem;
    color: #667085;
}

.eshop-pdp-shop-details__rating,
.eshop-pdp-shop-details__city {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.eshop-pdp-shop-details__star {
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 auto;
    fill: #c4a35a;
}

.eshop-pdp-shop-details__rating-value {
    font-weight: 700;
    color: #344054;
    font-variant-numeric: tabular-nums;
}

.eshop-pdp-shop-details__rating-count {
    color: #667085;
    font-variant-numeric: tabular-nums;
}

.eshop-pdp-shop-details__pin {
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 auto;
    color: var(--eshop-brand-light, #6a5d8b);
}

.eshop-pdp-shop-details__city span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 12rem;
}

.eshop-pdp-shop-details__tagline {
    font-size: 0.8rem;
    line-height: 1.45;
    color: #667085;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.shop-page fieldset.eshop-section-fieldset.eshop-pdp-more-from-shop {
    margin: 0;
}

.eshop-pdp-more-from-shop__slider {
    position: relative;
}

.eshop-pdp-more-from-shop .eshop-trending-products-track {
    margin: 0;
    padding-bottom: 0.25rem;
}

@media (max-width: 640px) {
    .eshop-pdp-shop-details__logo {
        width: 2.85rem;
        height: 2.85rem;
    }
}
