:root {
    --brand-orange: #ed694b;
    --brand-purple: #8b5594;
    --brand-pink: #ff5dd0;
    --brand-pink-dark: #e553bb;
    --brand-blue-bg: #d5edf9;
    --blue-dark:#6596ac;
    --text-dark: #332b21;
    --text-mid: #675642;
    --border: #cccccc;
    --green: #4CAF50;
    --green-dark: #43a047;
    --white: #ffffff;
}


h1.product_title{
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0;
    line-height: 1.25 !important;
}
.detail{
    padding-left: 16px;
    padding-right: 16px;
}
.detail__brand-btn{ 
   background: none;
    border: none;
    padding: 0;
    font-size: 13px;
    font-weight: 700;
    color: #888;
    letter-spacing: 1px;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    margin-bottom: 6px;
    display: inline-block;
    text-decoration: underline;
}


.detail__main-image img {
    width: 80% !important;
    height: 80% !important;
    object-fit: contain;
}

.detail__main-image {
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 12px;
}

.detail__info_new {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #fff;
    border: 1px solid #dfe3e8;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.detail__content{width:auto !important}

.detail__row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px;
    align-items: start;
}
.detail__row > * {
    min-width: 0;
}

@media(max-width:768px){ .detail__row { grid-template-columns:1fr; gap:24px; } }

/*fsdfsdfsdfsdf*/


/* Title */
.detail__content-box { margin-bottom:20px; }
.detail__brand-btn { background:none; border:none; padding:0; font-size:13px; font-weight:700; color:#888; letter-spacing:1px; cursor:pointer; font-family:'DM Sans',sans-serif; margin-bottom:6px; display:inline-block; }
.detail__brand-btn a { color:#888; text-decoration:none; }
.detail__brand-btn a:hover { color:#333; }


/* Gallery */
.detail__main-image { width:100%; aspect-ratio:1; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #e8e8e8; border-radius:16px; overflow:hidden; margin-bottom:12px; }
.detail__main-image img { width:80%; height:80%; object-fit:contain; }
.detail__thumbs { display:flex; gap:10px; }
.detail__thumb {padding:5px;border:1.5px solid #e0e0e0; border-radius:10px; overflow:hidden; cursor:pointer; background:#fff; display:flex; align-items:center; justify-content:center; transition:border-color 0.2s; }
.swiper-slide-active .detail__thumb { border-color:#222; }
.detail__thumb:hover { border-color:#999; }
.detail__thumb img { width:85%; height:85%; object-fit:contain; }

/* Review CTA */
.review-cta { margin-top:16px; background:#fafafa; border:1px solid #e8e8e8; border-radius:14px; padding:16px 18px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.review-cta__content strong { font-size:14px; display:block; margin-bottom:4px; color:#111; }
.review-cta__content p { font-size:12px; color:#666; line-height:1.5; }
.review-cta__button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; background:var(--brand-orange); color:#fff; border:none; border-radius:8px; padding:0 16px; font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; transition:background 0.2s; font-family:'DM Sans',sans-serif; flex-shrink:0; }
.review-cta__button:hover { background:#d85c2e; }


/* Op voorraad */
.box--bg--instock { background:#f0faf0; border:1.5px solid var(--green);  }
.box--bg--instock strong { font-size:14px; color:#2e7d32; font-weight:700; }

.box--bg--onbackorder { border:1.5px solid var(--blue-dark);  }
.box--bg--onbackorder strong { font-size:14px; color:#6596ac; font-weight:700; }

.box--bg--outofstock { border:1.5px solid red;  }
.box--bg--outofstock strong { font-size:14px;  }

.box--bg p { font-size:12px; color:#4a4a4a; margin:0; }
.box--bg{width:100%;border-radius:10px; padding:12px 18px; margin-bottom:14px; display:flex; flex-direction:column; gap:2px;}
/* Review stars row */
.detail__reviews,.woocommerce-product-rating { display:flex; align-items:center; gap:6px; margin-bottom:18px; }
.detail__reviews .stars { display:flex; gap:2px; }
.detail__reviews svg { width:17px; height:17px; display:block; }
.woocommerce-review-link { font-size:13px; font-weight:600; color:#888; text-decoration:none; transition:color 0.15s; }
.woocommerce-review-link:hover { color:#333; text-decoration:underline; }

/* Option blocks */
.detail__option-block { width:100%;border-top:1px solid #ebebeb; padding:16px 0 14px; }
.detail__option-block:first-of-type { border-top:none; padding-top:0; }
.detail__option-label { display:block; font-size:14px; font-weight:700; color:#222; margin-bottom:8px; }
.detail__option-select { width:100%; height:46px; border:1.5px solid var(--border); border-radius:8px; background:#fff; padding:0 12px; font-size:14px; font-family:'DM Sans',sans-serif; color:var(--text-dark); }
.detail__option-select:focus { border-color:var(--brand-purple); outline:none; }

/* Quantity cards -- wrap into rows when cards would get too narrow */
.quantity-blocks {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
    gap:10px;
}

.quantity-card {
    position:relative; border:1.5px solid var(--border); border-radius:14px; background:#fff;
    display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start;
    padding:14px 12px 12px; width:100%;
    font-family:'DM Sans',sans-serif;
    cursor:pointer; transition:border-color 0.15s, background 0.15s; text-align:left; gap:4px;
    outline:none;
}
.quantity-card:hover { border-color:var(--brand-purple); }
.quantity-card.active { border-color:var(--brand-purple); background:#faf7fc; }

/* purple checkmark circle */
.quantity-card__check {
    position:absolute; top:10px; right:10px;
    width:20px; height:20px; border-radius:50%;
    background:var(--brand-purple);
    display:flex; align-items:center; justify-content:center;
    opacity:0; transition:opacity 0.15s; flex-shrink:0;
}
.quantity-card.active .quantity-card__check { opacity:1; }
.quantity-card__check svg { width:11px; height:11px; }

.quantity-card__qty   { font-size:11px; font-weight:700; color:var(--text-mid); text-transform:uppercase; letter-spacing:0.6px; line-height:1; }
.quantity-card__price { font-size:18px; font-weight:400; color:var(--text-dark); line-height:1; display:flex; align-items:flex-start; }
.quantity-card__price span { font-size:11px; font-weight:400; color:var(--text-mid); margin-top:1px; }
.quantity-card__unit  { font-size:11px; color:var(--text-mid); white-space:nowrap; }

.quantity-card__saving {
    display:inline-flex; align-items:center; gap:3px;
    font-size:11px; font-weight:700; color:#2e7d32;
    background:#eaf3de; border-radius:6px; padding:3px 7px; margin-top:2px;
}

/* total row */
.quantity-total { margin-top:12px; padding-top:12px; border-top:1px solid #ebebeb; display:flex; align-items:center; justify-content:space-between; }
.quantity-total__label { font-size:13px; color:var(--text-mid); }
.quantity-total__right { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.quantity-total__price { font-size:18px; font-weight:800; color:var(--text-dark); }
.quantity-total__saved { font-size:11px; font-weight:700; color:#2e7d32; display:none; }

/* -- Mobile max 600px: compact horizontal pill rows -- */
@media(max-width:600px) {
    .quantity-blocks { grid-template-columns:1fr; gap:8px; }

    .quantity-card {
    flex-direction:row; align-items:center; justify-content:flex-start;
    padding:10px 14px; border-radius:12px; gap:10px;
    }

    .quantity-card__check { position:static; margin-left:auto; flex-shrink:0; }

    .quantity-card__qty   { font-size:13px; width:58px; flex-shrink:0; text-align:left; }
    .quantity-card__price { font-size:17px; flex:1; }
    .quantity-card__price span { font-size:12px; }
    .quantity-card__unit  { display:block; font-size:10px; }
    .quantity-card__saving { margin-top:0; white-space:nowrap; flex-shrink:0; }

    .quantity-card__saving[style*="visibility:hidden"] { display:none; }
}
@media(max-width:410px) {
    .quantity-card{ gap:5px;}
}
/* Price badges */
.wp-singular .pdp-price-badge-wrapper { position:relative; width:240px; height:90px; margin-bottom:20px; }
.wp-singular .pdp-adviesprijs-box { position:absolute; top:0; left:0; background:#C5DDE8; border-radius:8px; padding:10px 14px 11px 14px; min-width:100px; z-index:1; }
.wp-singular .pdp-adviesprijs-box .adv-label { font-size:12px; font-weight:700; color:#453832; text-transform:uppercase; line-height:1; margin-bottom:4px; }
.wp-singular .pdp-adviesprijs-box .adv-amount { font-size:19px; font-weight:700; color:#453832; line-height:1; }
.wp-singular .pdp-current-price-box { background:#E46A3A; border-radius:10px; position:absolute; top:27px; left:80px; z-index:2; box-shadow:0 6px 18px rgba(0,0,0,0.22); display:flex; align-items:flex-start; padding:9px 16px; white-space:nowrap; }
.wp-singular .pdp-current-price-box .sale-euros { font-size:48px; font-weight:800; color:#fff; line-height:1; }
.wp-singular .pdp-current-price-box .sale-cents { font-size:22px; font-weight:800; color:#fff; margin-top:5px; line-height:1; }
.wp-singular .pdp-current-price-box.no-adv { top:0; left:0; }
/* Adviesprijs info line */
.adviesprijs-info-line { font-size:12px; color:#666; margin:0 0 16px; display:flex; align-items:center; gap:4px; }
.info-icon-wrapper { position:relative; display:inline-flex; align-items:center; }
.info-icon { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; border:1.5px solid #888; color:#888; font-size:10px; font-weight:700; font-style:normal; cursor:pointer; text-decoration:none; transition:border-color 0.15s,color 0.15s,background 0.15s; flex-shrink:0; }
.info-icon:hover { border-color:#333; color:#fff; background:#333; }
.info-tooltip { display:none; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); background:#222; color:#fff; font-size:12px; font-weight:400; line-height:1.5; padding:10px 14px; border-radius:8px; width:260px; z-index:100; pointer-events:none; box-shadow:0 4px 16px rgba(0,0,0,0.25); }
.info-tooltip::after { content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#222; }
.info-icon-wrapper:hover .info-tooltip { display:block; }

/* Cart row */
.detail__info-row { display:flex; gap:10px; align-items:stretch; margin-bottom:14px; }
.custom-select-wrapper { position:relative; min-width:76px; }
.custom-select-wrapper select { appearance:none; background:#fff; border:1.5px solid #ddd; border-radius:10px; padding:0 28px 0 14px; height:52px; font-size:15px; font-weight:600; color:#222; cursor:pointer; font-family:'DM Sans',sans-serif; width:100%; }
.custom-select-wrapper::after { content:'\25BE'; position:absolute; right:9px; top:50%; transform:translateY(-50%); color:#888; pointer-events:none; font-size:12px; }
.button--primary.add-to-cart-btn { display:flex; align-items:center; justify-content:center; gap:8px; flex:1; background:var(--green); color:#fff; border:none; border-radius:10px; padding:14px 20px; font-size:16px; font-weight:700; font-family:'DM Sans',sans-serif; cursor:pointer; transition:background 0.2s; height:52px; }
.button--primary.add-to-cart-btn:hover { background:var(--green-dark); }


.alg-wc-wl-btn-wrapper{z-index:2}
.detail__row .alg-wc-wl-btn-wrapper { bottom: 0px;}
.alg-wc-wl-btn-wrapper  {
    position: absolute;
    right: 0px;
}



/* USP */
.detail__info-list { margin-top:8px; }
.detail__info-list h6 { font-size:12px; font-weight:700; color:#888; text-transform:uppercase; letter-spacing:0.5px; margin:0 0 10px; }
.list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.list__item { display:flex; align-items:center; gap:10px; font-size:14px; color:#333; }

/* Accordion */
.info { margin-top:48px; background:#fff; border-radius:16px; border:1px solid #e8e8e8; overflow:hidden; }
.info__item { border-bottom:1px solid #f0f0f0; }
.info__item:last-child { border-bottom:none; }
.info__item-button { display:flex; align-items:center; justify-content:space-between; padding:20px 28px; cursor:pointer; transition:background 0.15s; }
.info__item-button:hover { background:#fafafa; }
.info__item-button h2 { font-size:18px; font-weight:700; color:#111; margin:0; }
.info__item-content { padding:0 28px 28px;display:none }
.info__item.active .info__item-content {
  display: block;
  animation-name: fadeIn;
  animation-duration: 0.3s;
}
.info__item-text { font-size:14px; color:#444; line-height:1.65; margin:0 0 10px; }
.info__item-row { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #f5f5f5; font-size:14px; }
.info__item-row span:first-child { color:#888; }
.info__item-row span:last-child { font-weight:600; color:#222; }
table.info__item-list { width:100%; border-collapse:collapse; font-size:13px; margin:16px 0; }
table.info__item-list th, table.info__item-list td { padding:8px 12px; border:1px solid #e8e8e8; color:#444; text-align:left; }
table.info__item-list thead th { background:#f8f8f8; font-weight:700; color:#222; }

/* ===================================
    REVIEWS - doc-4 style, site colours
=================================== */
.reviews-section { padding:4px 0; }

.reviews-summary { background:var(--brand-blue-bg); border:1px solid #b8d9ef; border-radius:12px; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.reviews-summary__score { display:flex; align-items:center; gap:14px; }
.reviews-summary__number { font-size:38px; font-weight:800; color:var(--text-dark); line-height:1; }
.reviews-summary__meta strong { display:block; font-size:14px; color:#111; margin-bottom:3px; }
.reviews-summary__meta span { font-size:12px; color:#666; }
.review-stars-lg { display:flex; gap:2px; margin-bottom:4px; }
.review-stars-lg .rstar { color:#f5b301; font-size:17px; }
.reviews-summary__tag { display:inline-flex; align-items:center; gap:6px; background:var(--brand-orange); color:#fff; border-radius:16px; padding:7px 14px; font-size:12px; font-weight:700; white-space:normal; word-break:break-word; max-width:100%; }

/* 2-col grid */
.reviews-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:768px){ .reviews-grid { grid-template-columns:1fr; } }

.review-card { background:#fff; border:1px solid #e8e8e8; border-radius:14px; padding:20px 22px; box-shadow:0 4px 16px rgba(0,0,0,0.04); transition:transform 0.2s,box-shadow 0.2s; }
.review-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.07); }

.reviewer-row { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex-shrink:0; color:#fff; }
.avatar.named  { background:linear-gradient(135deg, #8b5594, #6a3d74); }
.avatar.anon   { background:linear-gradient(135deg, #b0b0b0, #888); }
.avatar.guest  { background:linear-gradient(135deg, #95cde9, #5aabcc); }
.reviewer-name { font-weight:700; font-size:14px; color:var(--text-dark); }
.reviewer-name.anon { color:#888; font-style:italic; }
.reviewer-meta { font-size:12px; color:#999; margin-top:1px; }

.stars-row { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.rstar { font-size:15px; color:#f5b301; }
.rstar.empty { color:#d9d9d9; }
.rating-label { font-size:12px; color:#888; font-weight:600; }

.badges {min-height:28px; display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.rc-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:600; }
.rc-badge--verified { background:#eef7ee; color:#2e7d32; }
.rc-badge--anon     { background:#f3f0f8; color:var(--brand-purple); }
.rc-badge--guest    { background:var(--brand-blue-bg); color:#2e6e8e; }

.pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:10px; background:#fafaf8; border:1px solid #efefed; border-radius:10px; padding:12px 14px; margin-bottom:12px; }
.pros-cons h4 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.7px; color:#999; margin-bottom:6px; }
.pc-item { display:flex; align-items:flex-start; gap:6px; font-size:13px; line-height:1.4; margin-bottom:4px; color:var(--text-dark); }
.pc-pro { color:#2e7d32; font-size:12px; flex-shrink:0; margin-top:1px; }
.pc-con { color:#c0392b; font-size:14px; font-weight:700; flex-shrink:0; line-height:1; }

.review-divider { border:none; border-top:1px solid #f0f0f0; margin:10px 0; }
.review-text ,.review-text p,.review-text  span{ font-size:14px; line-height:1.7; color:#444; }

.reviews-legend { margin-top:18px; padding:12px 16px; background:#fafafa; border:1px solid #ebebeb; border-radius:10px; font-size:12px; color:#666; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.reviews-legend strong { color:#333; font-size:13px; }
/* mobile reviews fold */
.review-card.hidden-mobile { display:block; }
@media(max-width:600px){
    .review-card.hidden-mobile { display:none; }
    .review-card.hidden-mobile.revealed { display:block; }
}
.reviews-load-more {
    display:none; width:100%; margin-top:14px; padding:12px;
    border:1.5px solid var(--border); border-radius:10px; background:#fff;
    font-size:14px; font-weight:700; color:var(--text-dark);
    font-family:'DM Sans',sans-serif; cursor:pointer; transition:border-color 0.15s, background 0.15s;
}
.reviews-load-more:hover { border-color:var(--brand-purple); background:#faf7fc; }
@media(max-width:600px){ .reviews-load-more { display:block; } }

/* Review popup */
.review-popup-overlay { display:none; position:fixed; inset:0; z-index:999992; background:rgba(0,0,0,0.55); align-items:center; justify-content:center; padding:16px; }
.review-popup-overlay.open { display:flex; }
.review-popup { background:#fff; border-radius:20px 0 0 20px; width:100%; max-width:620px; max-height:90vh; overflow-y:auto; position:relative; box-shadow:0 24px 64px rgba(0,0,0,0.22); animation:popupIn 0.25s ease; }
@keyframes popupIn { from{opacity:0;transform:scale(0.96) translateY(12px)} to{opacity:1;transform:none} }
.rpop-header { position:sticky; top:0; background:#fff; border-bottom:1px solid #f0f0f0; padding:16px 20px 14px; display:flex; align-items:center; justify-content:space-between; z-index:2; }
.rpop-header h2 { font-size:18px; font-weight:800; color:#111; margin:0; }
.rpop-close { width:34px; height:34px; border-radius:50%; border:none; background:#f0f0f0; cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center; color:#555; transition:background 0.15s; font-family:sans-serif; flex-shrink:0; }
.rpop-close:hover { background:#e0e0e0; }
.rpop-body { padding:20px 24px 28px; }
.rpop-product { display:flex; align-items:center; gap:12px; background:#fafafa; border:1px solid #ebebeb; border-radius:12px; padding:12px 14px; margin-bottom:20px; }
.rpop-product img { width:44px; height:44px; object-fit:contain; border-radius:8px; background:#fff; border:1px solid #e8e8e8; }
.rpop-product strong { font-size:14px; color:#111; display:block; }
.rpop-product span { font-size:12px; color:#888; }
.rpop-section { padding:16px 0 0; border-top:1px solid #f0f0f0; margin-top:16px; }
.rpop-section:first-child { border-top:none; padding-top:0; margin-top:0; }
.rpop-slabel { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.8px; color:#bbb; margin-bottom:10px; }
.rpop-field { margin-bottom:12px; }
.rpop-field label { font-size:13px; font-weight:600; color:#555; display:block; margin-bottom:5px; }
.rpop-field input, .rpop-field textarea { width:100%; padding:10px 12px; border:1.5px solid #ddd; border-radius:9px; font-size:14px; font-family:'DM Sans',sans-serif; color:#222; background:#fafafa; outline:none; transition:border-color 0.15s; resize:vertical; }
.rpop-field input:focus, .rpop-field textarea:focus { border-color:var(--brand-purple); }
.rpop-field input:disabled { opacity:0.5; cursor:not-allowed; background:#edede9; }
.rpop-prefilled { color:#2e7d32 !important; font-weight:600 !important; background:#eef7ee !important; border-color:rgba(46,125,50,0.3) !important; }
.rpop-hint { font-size:12px; color:#aaa; margin-top:4px; }
.rpop-err { font-size:12px; color:#c0392b; margin-top:3px; display:none; }
.rpop-field.has-error input, .rpop-field.has-error textarea { border-color:#c0392b; }
.rpop-field.has-error .rpop-err { display:block; }
.rpop-anon { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:#fafafa; border:1.5px solid #ddd; border-radius:9px; cursor:pointer; transition:border-color 0.15s, background 0.15s; margin-top:6px; }
.rpop-anon:hover { border-color:#bbb; }
.rpop-anon.active { border-color:var(--green); background:#eef7ee; }
.rpop-anon.active strong { color:#2e7d32; }
.rpop-anon strong { font-size:13px; font-weight:700; color:#222; display:block; }
.rpop-anon span { font-size:12px; color:#888; }
.rpop-toggle input:checked + .rpop-tslider { background:var(--green); }
.rpop-toggle { position:relative; width:38px; height:21px; flex-shrink:0; }
.rpop-toggle input { opacity:0; width:0; height:0; }
.rpop-tslider { position:absolute; inset:0; background:#ccc; border-radius:21px; cursor:pointer; transition:background 0.2s; }
.rpop-tslider::before { content:''; position:absolute; width:15px; height:15px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform 0.2s; box-shadow:0 1px 3px rgba(0,0,0,0.2); }
.rpop-toggle input:checked + .rpop-tslider { background:var(--brand-purple); }
.rpop-toggle input:checked + .rpop-tslider::before { transform:translateX(17px); }
.rpop-stars { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:2px; margin-bottom:4px; }
.rpop-stars input { display:none; }
.rpop-stars label { font-size:34px; color:#e0dad2; cursor:pointer; transition:color 0.1s; line-height:1; }
.rpop-stars label:hover, .rpop-stars label:hover ~ label, .rpop-stars input:checked ~ label { color:#f5b301; }
.rpop-star-hint { font-size:12px; color:#aaa; font-style:italic; min-height:16px; }
.rpop-pc-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rpop-pc-col h4 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.7px; margin-bottom:7px; }
.rpop-pc-col.pros h4 { color:#2e7d32; }
.rpop-pc-col.cons h4 { color:#c0392b; }
.rpop-pc-item { display:flex; align-items:center; gap:6px; margin-bottom:6px; }
.rpop-pc-item input { flex:1; padding:7px 9px; border:1.5px solid #ddd; border-radius:7px; font-size:13px; font-family:'DM Sans',sans-serif; outline:none; background:#fafafa; }
.rpop-pc-item input:focus { border-color:var(--brand-purple); }
.rpop-rm { background:none; border:none; color:#ccc; cursor:pointer; font-size:16px; padding:0; transition:color 0.15s; }
.rpop-rm:hover { color:#c0392b; }
.rpop-add { background:none; border:none; font-size:12px; color:#888; cursor:pointer; font-family:'DM Sans',sans-serif; padding:0; margin-top:2px; transition:color 0.15s; }
.rpop-add:hover { color:var(--brand-purple); }
.rpop-char { text-align:right; font-size:11px; color:#bbb; margin-top:3px; }
.rpop-submit { width:100%; padding:14px; background:var(--green); color:#fff; border:none; border-radius:10px; font-size:16px; font-weight:700; font-family:'DM Sans',sans-serif; cursor:pointer; transition:background 0.2s; margin-top:18px; }
.rpop-submit:hover { background:var(--green-dark); }
.rpop-privacy { font-size:12px; color:#bbb; text-align:center; margin-top:10px; }
.rpop-privacy a { color:#888; }
.rpop-success { text-align:center; padding:48px 24px; }
.rpop-success .rpop-sicon { font-size:48px; margin-bottom:14px; }
.rpop-success h3 { font-size:20px; font-weight:800; color:#2e7d32; margin-bottom:8px; }
.rpop-success p { font-size:14px; color:#666; line-height:1.6; }
@media(max-width:480px){ .rpop-pc-grid { grid-template-columns:1fr; } .rpop-body { padding:16px 16px 24px; } }
/* popup login banners */
.rpop-banner { display:none; align-items:center; gap:8px; padding:10px 14px; border-radius:9px; font-size:13px; line-height:1.45; margin-bottom:14px; }
.rpop-banner.show { display:flex; }
.rpop-banner.guest    { background:#fdf4e7; color:#7a5200; }
.rpop-banner.loggedin { background:#eef7ee; color:#2e7d32; }
.rpop-banner.verified { background:#eef7ee; color:#2e7d32; }
.rpop-banner .rpop-bdot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.rpop-banner.guest    .rpop-bdot { background:#d4963a; }
.rpop-banner.loggedin .rpop-bdot { background:#4CAF50; }
.rpop-banner.verified .rpop-bdot { background:#4CAF50; }
/* login mode switcher inside popup */
.rpop-mode-bar { display:flex; gap:6px; margin-bottom:16px; flex-wrap:wrap; }
.rpop-mode-btn { padding:5px 12px; border-radius:6px; border:1.5px solid var(--border); background:#fff; font-size:12px; font-weight:700; color:var(--text-mid); cursor:pointer; font-family:'DM Sans',sans-serif; transition:border-color 0.15s, background 0.15s, color 0.15s; }
.rpop-mode-btn:hover { border-color:var(--brand-purple); color:var(--brand-purple); }
.rpop-mode-btn.active { background:var(--brand-purple); border-color:var(--brand-purple); color:#fff; }
/* Desktop reviews fold - show first 10, hide rest */
.review-card.hidden-desktop { display:none; }
.review-card.hidden-desktop.revealed-desktop { display:block; }
@media(max-width:600px){
    /* On mobile, hidden-desktop cards follow mobile rules */
    .review-card.hidden-desktop { display:none; }
    .review-card.hidden-desktop.revealed-desktop { display:block; }
}
/* Desktop load more button - same style as mobile */
.reviews-load-more-desktop {
    width:100%; margin-top:14px; padding:12px;
    border:1.5px solid var(--border); border-radius:10px; background:#fff;
    font-size:14px; font-weight:700; color:var(--text-dark);
    font-family:'DM Sans',sans-serif; cursor:pointer;
    transition:border-color 0.15s, background 0.15s;
    display:block;
}
.reviews-load-more-desktop:hover { border-color:var(--brand-purple); background:#faf7fc; }
/* Mobile: hide gallery review-cta, show one below the info panel instead */
@media(max-width:768px){
    .review-cta{ display:flex; margin-top:16px; }
     body>section{
        width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
     }
     .pc-item{ overflow-wrap: anywhere;}
}

.woocommerce .star-rating span::before{color:#f5b301}


[name="add-to-cart"] {flex-grow:1}



@media(max-width:420px){
    .review-cta{display:block;}
    .detail .button--primary {
        padding:0.95em .4em;
        font-size:15px;
    }
}