/* ===================================================
   صفحه محصول
=================================================== */

.product-page {
    max-width: 1200px;
    margin: 24px auto 70px auto;
    padding: 0 30px;
}

/* ----- مسیر بالای صفحه ----- */
.crumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    font-size: 12.5px;
    color: var(--color-cream);
    opacity: 0.6;
    margin-bottom: 18px;
}

.crumbs a { color: inherit; text-decoration: none; }
.crumbs a:hover { opacity: 0.75; text-decoration: underline; }

/* ----- چیدمان اصلی ----- */
.product-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

/* ----- گالری ----- */
.product-main-image {
    position: relative;
    background-color: var(--color-cream);
    border: 2px solid var(--color-maroon);
    border-radius: 18px;
    box-shadow: 8px 8px 0 var(--color-maroon);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
}

.product-main-image img {
    width: 100%;
    height: 100%;
    max-height: 460px;
    object-fit: contain;
    cursor: zoom-in;
    display: block;
}

.product-noimg { font-size: 64px; opacity: 0.35; }

.zoom-hint {
    position: absolute;
    bottom: 10px;
    right: 12px;
    background-color: rgba(28, 26, 24, 0.6);
    color: var(--color-cream);
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 999px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.product-main-image:hover .zoom-hint { opacity: 1; }

.product-off-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: var(--color-maroon);
    color: var(--color-cream);
    font-family: 'Portada', sans-serif;
    font-size: 12px;
    line-height: 1.5;
    padding: 4px 11px;
    border-radius: 999px;
}

.product-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.product-thumb {
    width: 66px;
    height: 66px;
    padding: 0;
    border: 2px dashed rgba(255, 243, 225, 0.3);
    border-radius: 10px;
    background-color: var(--color-cream);
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.product-thumb img { width: 100%; height: 100%; object-fit: cover; }

.product-thumb:hover { transform: translateY(-2px); }
.product-thumb.active { border-color: var(--color-cream); border-style: solid; }

/* ----- اطلاعات ----- */
.product-cat-chip {
    display: inline-block;
    font-size: 12px;
    color: var(--color-cream);
    text-decoration: none;
    border: 1px dashed rgba(255, 243, 225, 0.4);
    border-radius: 999px;
    padding: 4px 13px;
    margin-bottom: 12px;
    opacity: 0.8;
}

.product-cat-chip:hover { opacity: 1; }

/* عنوان محصول: بزرگ و خوانا، بدون سایه و افکت */
.product-title {
    font-family: 'Portada', sans-serif;
    font-weight: bold;
    font-size: 30px;
    line-height: 1.6;
    color: var(--color-cream);
    margin-bottom: 14px;
}

.product-short {
    font-size: 14.5px;
    line-height: 2;
    color: var(--color-cream);
    opacity: 0.8;
    margin-bottom: 20px;
}

.product-price-box {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 14px 0;
    border-top: 2px dashed rgba(255, 243, 225, 0.2);
    border-bottom: 2px dashed rgba(255, 243, 225, 0.2);
    margin-bottom: 20px;
}

.product-price-was {
    font-size: 14px;
    color: var(--color-cream);
    opacity: 0.45;
    text-decoration: line-through;
}

.product-price-now {
    font-family: 'Morabba', sans-serif;
    font-size: 26px;
    color: var(--color-cream);
}

/* ----- گزینه‌ها ----- */
.product-option { margin-bottom: 16px; }

.product-option-name {
    display: block;
    font-size: 12.5px;
    color: var(--color-cream);
    opacity: 0.65;
    margin-bottom: 7px;
}

.product-option-values {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.option-pill input { position: absolute; opacity: 0; pointer-events: none; }

.option-pill span {
    display: inline-block;
    font-size: 13px;
    color: var(--color-cream);
    border: 2px dashed rgba(255, 243, 225, 0.3);
    border-radius: 10px;
    padding: 7px 16px;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.option-pill input:checked + span {
    background-color: var(--color-cream);
    border-color: var(--color-cream);
    border-style: solid;
    color: var(--color-maroon);
}

/* کادر فوکوس برای کاربران کیبورد */
.option-pill input:focus-visible + span { outline: 2px solid var(--color-cream); outline-offset: 2px; }

/* ----- خرید ----- */
.product-buy-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.qty-box {
    display: flex;
    align-items: center;
    border: 2px dashed rgba(255, 243, 225, 0.3);
    border-radius: 10px;
    overflow: hidden;
}

.qty-btn {
    width: 36px;
    height: 42px;
    border: none;
    background: transparent;
    color: var(--color-cream);
    font-size: 18px;
    cursor: pointer;
}

.qty-btn:hover { background-color: rgba(255, 243, 225, 0.08); }

.qty-box input {
    width: 46px;
    height: 42px;
    border: none;
    background: transparent;
    color: var(--color-cream);
    text-align: center;
    font-family: 'Portada', sans-serif;
    font-size: 15px;
    -moz-appearance: textfield;
}

.qty-box input::-webkit-outer-spin-button,
.qty-box input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.product-add-btn { padding: 13px 30px; }
.product-add-btn:disabled { opacity: 0.5; cursor: not-allowed; }

.product-stock-warn {
    margin-top: 10px;
    font-size: 12.5px;
    color: #ffb3b3;
}

/* ----- علاقه‌مندی و اشتراک ----- */
.product-side-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.product-mini-btn {
    font-family: 'Portada', sans-serif;
    font-size: 12.5px;
    color: var(--color-cream);
    background: transparent;
    border: 1px dashed rgba(255, 243, 225, 0.35);
    border-radius: 10px;
    padding: 9px 15px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.product-mini-btn:hover { background-color: rgba(255, 243, 225, 0.07); }
.product-mini-btn.is-on { border-style: solid; border-color: var(--color-cream); }

/* ----- تگ‌ها ----- */
.product-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 2px dashed rgba(255, 243, 225, 0.15);
}

.product-tag {
    font-size: 12px;
    color: var(--color-cream);
    opacity: 0.6;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.product-tag:hover { opacity: 1; }

/* ----- توضیحات کامل ----- */
.product-desc-block,
.product-related { margin-top: 56px; }

.product-desc-title {
    font-family: 'Portada', sans-serif;
    font-weight: bold;
    font-size: 20px;
    color: var(--color-cream);
    margin-bottom: 18px;
}

.product-desc-body {
    font-size: 14.5px;
    line-height: 2.1;
    color: var(--color-cream);
    opacity: 0.82;
    background-color: rgba(255, 243, 225, 0.04);
    border: 2px dashed rgba(255, 243, 225, 0.15);
    border-radius: 16px;
    padding: 22px 26px;
}

/* ----- لایت‌باکس ----- */
.lightbox {
    position: fixed;
    inset: 0;
    z-index: 200;
    background-color: rgba(28, 26, 24, 0.93);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.lightbox[hidden] { display: none; }

.lightbox img {
    max-width: 90%;
    max-height: 88vh;
    object-fit: contain;
    border-radius: 12px;
    background-color: var(--color-cream);
}

.lightbox-close {
    position: absolute;
    top: 18px;
    left: 22px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background-color: rgba(255, 243, 225, 0.12);
    color: var(--color-cream);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.lightbox-close:hover { background-color: rgba(255, 243, 225, 0.22); }

.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background-color: rgba(255, 243, 225, 0.12);
    color: var(--color-cream);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.lightbox-nav:hover { background-color: rgba(255, 243, 225, 0.22); }
.lightbox-prev { right: 22px; }
.lightbox-next { left: 22px; }

@media (max-width: 900px) {
    .product-main { grid-template-columns: 1fr; gap: 26px; }
    .product-title { font-size: 22px; }
    .lightbox { padding: 16px; }
    .lightbox-nav { width: 38px; height: 38px; font-size: 22px; }
}

/* ===== نظرات محصول ===== */
.comments-block { margin-top: 56px; }

.comments-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 16px;
}

.comments-head .product-desc-title { margin-bottom: 0; }

.rating-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-cream);
}

.rating-stars span,
.comment-rating span { color: rgba(255, 243, 225, 0.28); }
.rating-stars span.on,
.comment-rating span.on { color: #e9a33c; }

.rating-num { font-weight: bold; }
.rating-count { opacity: 0.6; font-size: 12px; }

.comment-flash {
    background-color: rgba(233, 163, 60, 0.14);
    border: 1px dashed rgba(233, 163, 60, 0.5);
    color: var(--color-cream);
    border-radius: 12px;
    padding: 11px 16px;
    font-size: 13px;
    margin-bottom: 18px;
}

/* ----- فرم ثبت نظر ----- */
.comment-form,
.comment-login-note {
    background-color: rgba(255, 243, 225, 0.05);
    border: 2px dashed rgba(255, 243, 225, 0.18);
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 22px;
}

.comment-login-note {
    font-size: 13.5px;
    color: var(--color-cream);
    opacity: 0.85;
}

.comment-login-note a { color: #e9a33c; }

.comment-form-rate {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--color-cream);
    opacity: 0.85;
}

/* ستاره‌ها: چون ردیف برعکسه، هاور روی هر ستاره قبلی‌ها رو هم روشن می‌کنه */
.star-input {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 2px;
}

.star-input input { position: absolute; opacity: 0; pointer-events: none; }

.star-input label {
    font-size: 22px;
    line-height: 1;
    color: rgba(255, 243, 225, 0.28);
    cursor: pointer;
    transition: color 0.15s ease, transform 0.15s ease;
}

.star-input label:hover,
.star-input label:hover ~ label,
.star-input input:checked ~ label { color: #e9a33c; }

.star-input label:hover { transform: scale(1.15); }

.comment-form textarea,
.comment-reply-form textarea {
    width: 100%;
    font-family: 'Portada', sans-serif;
    font-size: 13.5px;
    line-height: 1.9;
    color: var(--color-cream);
    background-color: rgba(28, 26, 24, 0.5);
    border: 1px solid rgba(255, 243, 225, 0.22);
    border-radius: 12px;
    padding: 11px 14px;
    resize: vertical;
}

.comment-form textarea:focus,
.comment-reply-form textarea:focus {
    outline: none;
    border-color: var(--color-cream);
}

.comment-submit { margin-top: 12px; }

/* ----- لیست نظرات ----- */
.comment-list { display: flex; flex-direction: column; gap: 14px; }

.comment-item {
    background-color: rgba(255, 243, 225, 0.04);
    border: 1px solid rgba(255, 243, 225, 0.12);
    border-radius: 14px;
    padding: 15px 18px;
}

.comment-top {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.comment-avatar {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: var(--color-maroon);
    color: var(--color-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.comment-author {
    font-size: 13.5px;
    font-weight: bold;
    color: var(--color-cream);
}

.comment-staff {
    font-size: 10.5px;
    background-color: #e9a33c;
    color: #231f20;
    border-radius: 999px;
    padding: 1px 9px;
}

.comment-time {
    margin-right: auto;
    font-size: 11px;
    color: var(--color-cream);
    opacity: 0.5;
}

.comment-body {
    font-size: 13.5px;
    line-height: 2;
    color: var(--color-cream);
    opacity: 0.88;
    white-space: pre-wrap;
}

.comment-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.comment-like,
.comment-reply-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Portada', sans-serif;
    font-size: 12px;
    color: var(--color-cream);
    background: transparent;
    border: 1px solid rgba(255, 243, 225, 0.22);
    border-radius: 999px;
    padding: 4px 12px;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.comment-like:hover,
.comment-reply-btn:hover { background-color: rgba(255, 243, 225, 0.08); }
.comment-like.is-liked { border-color: #e9a33c; color: #e9a33c; }

.comment-reply-form { margin-top: 11px; }

.comment-reply-send {
    margin-top: 8px;
    font-family: 'Portada', sans-serif;
    font-size: 12px;
    color: var(--color-maroon);
    background-color: var(--color-cream);
    border: none;
    border-radius: 999px;
    padding: 6px 16px;
    cursor: pointer;
}

/* ----- پاسخ‌ها ----- */
.comment-replies {
    margin-top: 12px;
    padding-right: 16px;
    border-right: 2px dashed rgba(255, 243, 225, 0.18);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.comment-item-reply { background-color: rgba(255, 243, 225, 0.03); }
.comment-item-reply.is-staff {
    border-color: rgba(233, 163, 60, 0.4);
    background-color: rgba(233, 163, 60, 0.07);
}

.comments-empty {
    font-size: 13.5px;
    color: var(--color-cream);
    opacity: 0.55;
    padding: 22px 0;
    text-align: center;
}

/* ===================================================
   نمای ۳۶۰ درجه
=================================================== */
.spin-open {
    position: absolute;
    bottom: 12px;
    left: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Portada', sans-serif;
    font-size: 12px;
    color: #231f20;
    background: linear-gradient(135deg, var(--c-amber), var(--c-tangerine));
    border: none;
    border-radius: 999px;
    padding: 8px 15px;
    cursor: pointer;
    box-shadow: 0 3px 0 rgba(0,0,0,0.28);
    transition: transform 0.18s ease;
}

.spin-open:hover  { transform: translateY(-2px); }
.spin-open:active { transform: translateY(1px); }
.spin-open-icon   { font-size: 15px; line-height: 1; }

.spin-viewer {
    position: fixed;
    inset: 0;
    z-index: 210;
    background-color: rgba(35, 31, 32, 0.96);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 40px;
}

.spin-viewer[hidden] { display: none; }

.spin-stage {
    max-width: 620px;
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    user-select: none;
    touch-action: none;
}

.spin-viewer.is-dragging .spin-stage { cursor: grabbing; }

.spin-stage img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    pointer-events: none;
}

.spin-close {
    position: absolute;
    top: 20px;
    left: 22px;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background-color: rgba(255, 243, 225, 0.14);
    color: var(--color-cream);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.spin-close:hover { background-color: rgba(255, 243, 225, 0.26); }

.spin-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--fs-xs);
    color: var(--ink-dim);
}

.spin-hint-icon {
    font-size: 20px;
    color: var(--c-amber);
    animation: spin-nudge 2.4s ease-in-out infinite;
}

@keyframes spin-nudge {
    0%, 100% { transform: rotate(0deg); }
    50%      { transform: rotate(180deg); }
}

@media (prefers-reduced-motion: reduce) {
    .spin-hint-icon { animation: none; }
}

/* ===================================================
   ریل افقی محصولات مرتبط
=================================================== */
.related-head {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.related-head .product-desc-title { margin-bottom: 0; }

.related-why {
    font-size: var(--fs-xs);
    color: var(--ink-dim);
}

.related-why a { color: var(--c-amber); text-decoration: none; }
.related-why a:hover { text-decoration: underline; }

.rail-nav { margin-right: auto; display: flex; gap: 6px; }

.rail-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(255, 243, 225, 0.25);
    background-color: rgba(255, 243, 225, 0.06);
    color: var(--color-cream);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.rail-btn:hover { background-color: rgba(255, 243, 225, 0.16); }

.product-rail {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
    scrollbar-width: thin;
}

.product-rail .product-card {
    flex: 0 0 240px;
    scroll-snap-align: start;
}

/* ===================================================
   نظرات جمع‌وجورتر
=================================================== */
.comment-item {
    padding: 12px 15px;
    border-radius: 12px;
}

.comment-top { gap: 7px; margin-bottom: 6px; }

.comment-avatar { width: 26px; height: 26px; font-size: 12px; }
.comment-author { font-size: 12.5px; }
.comment-time   { font-size: 10.5px; }

.comment-body {
    font-size: 12.5px;
    line-height: 1.9;
}

.comment-actions { margin-top: 7px; gap: 7px; }

.comment-like,
.comment-reply-btn {
    font-size: 11px;
    padding: 3px 10px;
}

.comment-rating span { font-size: 12px; }

/* فرم ثبت نظر: کوچیک‌تر و کم‌ارتفاع‌تر */
.comment-form,
.comment-login-note {
    padding: 14px 16px;
    border-radius: 12px;
    margin-bottom: 16px;
}

.comment-form-rate { margin-bottom: 9px; font-size: 12px; }
.star-input label { font-size: 18px; }

.comment-form textarea {
    font-size: 12.5px;
    line-height: 1.8;
    padding: 9px 12px;
    border-radius: 10px;
}

.comment-submit {
    margin-top: 9px;
    font-size: 12.5px;
    padding: 9px 22px;
}

.comment-list { gap: 10px; }
.comment-replies { margin-top: 9px; padding-right: 13px; gap: 8px; }
.comment-item-reply { padding: 10px 13px; }

@media (max-width: 620px) {
    .spin-viewer { padding: 16px; }
    .spin-close { top: 12px; left: 12px; width: 38px; height: 38px; font-size: 22px; }
    .product-rail .product-card { flex-basis: 200px; }
}

/* ===== نکات مثبت و منفی ===== */
.points-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.points-col { display: flex; flex-direction: column; gap: 5px; }

.points-title { font-size: 12px; color: var(--color-cream); opacity: 0.85; }
.points-good .points-title { color: var(--c-lime); }
.points-bad  .points-title { color: #ff9c9c; }

.points-grid input {
    width: 100%;
    font-family: 'Portada', sans-serif;
    font-size: 12.5px;
    color: var(--color-cream);
    background-color: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 243, 225, 0.18);
    border-radius: 10px;
    padding: 8px 11px;
}

.points-grid input::placeholder { color: rgba(255, 243, 225, 0.32); }
.points-grid input:focus { outline: none; border-color: var(--c-amber); }
.points-hint { font-size: 10.5px; color: var(--ink-dim); }

/* تگ رضایت زیر نظر */
.point-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 9px;
}

.point-tag {
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 999px;
    line-height: 1.7;
}

.point-tag.is-good { background-color: rgba(163, 230, 53, 0.14); color: #c7f06b; }
.point-tag.is-bad  { background-color: rgba(226, 62, 123, 0.14); color: #ffb3c8; }

/* ===== عکس پیوست نظر ===== */
.comment-photo {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 10px;
    font-size: 12px;
    color: var(--ink-dim);
    cursor: pointer;
}

.comment-photo input { max-width: 210px; font-size: 11px; color: var(--ink-dim); }

.comment-photos {
    display: flex;
    gap: 7px;
    margin-top: 9px;
}

.comment-photos img {
    width: 62px;
    height: 62px;
    object-fit: cover;
    border-radius: 9px;
    border: 1px solid rgba(255, 243, 225, 0.18);
    transition: transform 0.18s ease;
}

.comment-photos a:hover img { transform: scale(1.06); }

.comment-edited { opacity: 0.7; font-size: 10px; }
.comment-reply-btn.is-danger { border-color: rgba(226, 62, 123, 0.45); color: #ffb3c8; }
.comment-reply-btn.is-danger:hover { background-color: rgba(226, 62, 123, 0.12); }

@media (max-width: 560px) {
    .points-grid { grid-template-columns: 1fr; }
}
/* Product details: compact vintage paper, close to the purchase controls. */
.product-page .product-main{gap:28px;align-items:start;margin-bottom:28px}
.product-page .product-info{background:var(--color-cream);color:#302624;border:1px dashed var(--color-maroon);border-radius:16px;box-shadow:5px 5px 0 var(--color-maroon);padding:24px;min-width:0}
.product-page .product-info .product-title{color:var(--color-maroon);font-size:clamp(23px,2.2vw,32px);line-height:1.7;margin:10px 0}
.product-page .product-info .product-short{color:#62524a;opacity:1;line-height:1.9;margin-bottom:16px}
.product-page .product-info .product-price-now{color:var(--color-maroon)}
.product-page .product-info .product-price-was{color:#6b5a50}
.product-page .product-info .product-option-name{color:#564239;opacity:1}
.product-page .product-info .option-pill>span{border-color:#b8a18a;color:#382d28;background:#fffaf1}
.product-page .product-info .option-pill input:checked+span{background:var(--color-maroon);border-color:var(--color-maroon);color:var(--color-cream)}
.product-page .product-info .product-desc-block{margin:22px 0 14px;padding-top:18px;border-top:1px dashed #bba38a}
.product-page .product-info .product-desc-title{color:var(--color-maroon);font-size:18px;margin:0 0 10px}
.product-page .product-info .product-desc-body{background:transparent;border:0;padding:0;color:#493c35;font-size:14px;line-height:2;white-space:normal;overflow-wrap:anywhere}
.product-page .product-info .product-mini-btn{border-color:var(--color-maroon);color:var(--color-maroon);background:#fff8ec;min-height:44px}
.product-page .product-info .product-tag{color:var(--color-maroon);border-color:#ccb69d}
.product-page .product-stock-warn{color:#8d202b}
.product-page .product-main-image{aspect-ratio:1;min-height:0}
.product-page .product-main-image img{max-height:none;width:100%;height:100%;object-fit:contain}
.product-page .product-related{margin-top:24px;margin-bottom:28px}
@media(max-width:860px){.product-page .product-main{gap:20px;margin-bottom:20px}.product-page .product-info{padding:18px 16px}.product-page .product-info .product-title{font-size:24px}.product-page .product-info .product-desc-body{font-size:14px}.product-page .product-info .product-side-actions{margin:14px 0}.product-page .product-info .product-price-box{margin:16px 0}.product-page .product-related{margin-top:20px}}
.product-page .product-buy fieldset.product-option{border:0;padding:0;margin:0 0 16px;min-width:0}.product-page .product-buy legend.product-option-name{padding:0;margin-bottom:8px}.product-page .product-buy .product-availability{font-size:13px;line-height:1.8;color:#665043}.product-page .product-buy .qty-box input{color:#382d27;background:#fff9ef;border-color:#b9a089}
/* Calm product layout: photo, details and purchase stay distinct. */
.product-page.product-layout{max-width:1320px;padding:0 24px}
.product-layout .product-main{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(260px,.82fr);gap:26px;background:#292525;border:1px solid #514443;border-radius:20px;padding:24px;box-shadow:0 10px 30px #0002}
.product-layout .product-main>div,.product-layout .product-main>aside{min-width:0}
.product-layout .product-main-image{background:#211f1f;border:1px solid #655452;border-radius:14px;box-shadow:none;aspect-ratio:1;padding:0}
.product-layout .product-main-image img{object-fit:contain;max-height:none}
.product-layout .product-thumb{background:#292525;border:1px solid #5e504b;border-radius:9px;width:56px;height:56px}
.product-layout .product-thumb.active{border:2px solid #e5a247}
.product-layout .product-info{background:transparent;color:#f0e9df;border:0;border-radius:0;box-shadow:none;padding:6px 0}
.product-layout .product-info .product-title{color:#f5eee6;font-size:clamp(22px,2vw,28px);line-height:1.65;margin:12px 0}
.product-layout .product-info .product-short{color:#c6bcb2;font-size:14px;line-height:2;margin:0 0 20px;opacity:1;overflow-wrap:anywhere}
.product-layout .product-info .product-cat-chip{color:#eab365;border:0;padding:0;margin:0;font-size:12px;opacity:1}
.product-layout .product-info .product-side-actions{border-top:1px solid #534744;border-bottom:1px solid #534744;padding:14px 0;margin:16px 0;gap:8px}
.product-layout .product-info .product-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#332c2b;color:#e4d9cd;border:1px solid #66514b;border-radius:9px;font:inherit;font-size:12px;padding:8px 12px;text-decoration:none}
.product-layout .product-info .product-mini-btn.is-on{border-color:#d99b49;color:#efbb72}
.product-layout .product-detail-link{display:inline-block;color:#eab365;font-size:13px;padding:8px 0;text-decoration:none}
.product-layout .product-info .product-tags{border-top:0;margin:10px 0 0;padding:0;gap:8px}
.product-layout .product-info .product-tag{color:#cdbeb1;opacity:1;background:#352e2c;border:1px solid #51433d;border-radius:6px;padding:3px 8px}
.product-layout .product-purchase{background:#342d2b;border:1px solid #675249;border-radius:14px;padding:18px;color:#f0e9df}
.product-layout .product-seller{display:flex;justify-content:space-between;font-size:13px;color:#c5b4a5;border-bottom:1px solid #604c43;padding-bottom:14px}
.product-layout .product-seller strong{color:#eab365}
.product-layout .product-price-box{border:0;padding:18px 0;margin:0;flex-wrap:wrap;gap:8px}
.product-layout .product-price-now{color:#f5eee6;font-size:23px}
.product-layout .product-price-was{color:#d1bbaa}
.product-layout .product-option-name{color:#d6c5b7;opacity:1;font-size:13px}
.product-layout .product-buy fieldset.product-option{margin-bottom:16px;border:0;padding:0;min-width:0}
.product-layout .option-pill>span{display:inline-flex;align-items:center;gap:7px;min-height:44px;background:#282322;color:#eddfd1;border:1px solid #796052;padding:8px 12px;border-radius:8px}
.product-layout .option-pill input:checked+span{background:#743127;color:#fff4e5;border:1px solid #e3a355}
.product-layout .option-pill input:focus-visible+span{outline:2px solid #edb568;outline-offset:3px}
.product-layout .option-dot{display:inline-block;width:14px;height:14px;border:1px solid #b9a38b;border-radius:50%}
.product-layout .product-buy-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.product-layout .qty-box{align-self:flex-start;gap:0;border:1px solid #796052;background:#282322;border-radius:9px}
.product-layout .qty-btn{color:#f0dfce;width:44px;height:44px}
.product-layout .product-buy .qty-box input{color:#f0dfce;background:transparent;width:48px;height:44px}
.product-layout .product-add-btn{width:100%;flex:none;min-height:48px;padding:12px 16px;background:#8d2330;color:#fff1df;border:1px solid #c87165;box-shadow:0 3px 0 #4d161c;border-radius:9px;font-size:14px}
.product-layout .product-add-btn:disabled{background:#514944;color:#d9cabe;box-shadow:none;border-color:#78675e;opacity:.8}
.product-layout .product-stock-warn,.product-layout .product-variant-availability{font-size:12px;line-height:1.9;color:#e8ba77;margin:8px 0 14px;overflow-wrap:anywhere}
.product-layout .product-variant-availability.is-unavailable{color:#ffb9af}
.product-layout .product-purchase-note{font-size:11px;line-height:1.9;color:#c5b4a5;margin:18px 0 0;border-top:1px solid #604c43;padding-top:14px}
.product-layout .product-details-panel{background:#292525;border:1px solid #514443;border-radius:16px;padding:20px 24px;margin:22px 0}
.product-layout .product-section-links{display:flex;flex-wrap:wrap;gap:24px;border-bottom:1px solid #514443;padding-bottom:14px;margin-bottom:18px}
.product-layout .product-section-links a{font-size:14px;color:#eab365;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.product-layout .product-desc-body{padding:0;border:0;border-radius:0;background:transparent;color:#e0d5ca;opacity:1;font-size:14px;line-height:2.1;overflow-wrap:anywhere}
.product-layout #product-description,.product-layout #product-reviews{scroll-margin-top:110px}
.product-layout .comments-block{margin-top:28px}
.product-layout .product-related{margin:28px 0}
@media(max-width:1100px) and (min-width:761px){.product-layout .product-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.product-layout .product-purchase{grid-column:2;grid-row:2}.product-layout .product-info{grid-column:2;grid-row:1}.product-layout .product-gallery{grid-row:1 / 3}}
@media(max-width:760px){.product-page.product-layout{padding:0 12px;margin-top:16px}.product-layout .product-main{grid-template-columns:minmax(0,1fr);gap:20px;padding:14px;border-radius:14px}.product-layout .product-info{padding:0}.product-layout .product-info .product-title{font-size:23px;margin:8px 0}.product-layout .product-info .product-short{margin-bottom:12px}.product-layout .product-info .product-side-actions{gap:8px;margin:12px 0}.product-layout .product-info .product-side-actions form{flex:1 1 auto}.product-layout .product-info .product-mini-btn{width:100%;font-size:12px}.product-layout .product-purchase{padding:16px}.product-layout .product-details-panel{padding:16px;margin:18px 0}.product-layout .product-section-links{gap:20px}.product-layout .product-price-now{font-size:24px}.product-layout .product-purchase-note{font-size:12px}}

.product-layout .product-desc-body h2,.product-layout .product-desc-body h3{color:#fff0d9;line-height:1.7;margin:24px 0 10px}.product-layout .product-desc-body h2{font-size:21px}.product-layout .product-desc-body h3{font-size:18px}.product-layout .product-desc-body h2:first-child{margin-top:0}.product-layout .product-desc-body p{margin:0 0 16px;line-height:2.1}
