/* JewelryOpt 1.3: targeted changes only; no global reset of module styles. */
.jo-store .jo-topbar-right .jo-social-icon,.jo-store .jo-mobile-contacts .jo-social-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:4px;border:1px solid currentColor;border-color:#ffffff36;border-radius:50%;text-decoration:none;flex:none;color:inherit}
.jo-store .jo-social-icon svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.5}
.jo-store .jo-social-icon:hover{background:#ffffff15}
.jo-store .jo-mobile-contacts .jo-social-icon{width:27px;height:27px;border-color:#b58bc757;color:#714677}
.jo-store .jo-topbar-right{gap:12px}.jo-store .jo-mobile-contacts{gap:9px}
/* Fully rounded callback: legacy .modal-header/body/footer backgrounds cannot square off corners. */
.jo-store #callModal .modal-content{border-radius:24px!important;overflow:hidden;border:1px solid #d5b7e2;background:linear-gradient(135deg,#fff,#f8effc)}
.jo-store #callModal .modal-header{border-radius:23px 23px 0 0!important;background:linear-gradient(115deg,#f0e3f8,#fff8ff);padding:20px 24px}
.jo-store #callModal .modal-body{padding:24px;background:transparent}
.jo-store #callModal .modal-footer{border-radius:0 0 23px 23px!important;background:#f8f0fc;padding:16px 24px}
.jo-store #callModal .form-control{border-radius:14px!important}.jo-store #callModal button.btn,.jo-store #callModal input[type=submit]{border-radius:99px!important}
.jo-store #callModal .modal-header .close{width:30px;height:30px;border-radius:50%;margin:0;color:#542047;opacity:.75}
/* Welcome uses its actual content height, not a fixed-height banner with hidden overflow. */
.jo-store #shopChat[data-view=welcome]{height:auto;min-height:0;max-height:var(--chat-available-height);box-sizing:border-box}
.jo-store #shopChat[data-view=welcome] #chatMessages{flex:0 1 auto;padding:19px 20px;overflow:visible;min-height:0}
.jo-store #shopChat[data-view=welcome] .jo-chat-message{margin:0;display:block;animation:none}
.jo-store #shopChat[data-view=welcome] .jo-chat-mini{display:none}
.jo-store #shopChat[data-view=welcome] .jo-chat-bubble{display:block;width:100%;max-width:none;padding:0;border:0;background:none;box-shadow:none;box-sizing:border-box}
.jo-store #shopChat[data-view=welcome] .jo-chat-bubble h3{display:block!important;font:700 18px/1.4 Manrope,sans-serif;margin:0 0 7px;color:#542047}
.jo-store #shopChat[data-view=welcome] .jo-chat-bubble p{display:block!important;font:400 13px/1.6 Manrope,sans-serif;margin:0;color:#87658e}
.jo-store #shopChat[data-view=welcome] .jo-chat-welcome{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:15px 0 0;gap:8px}
.jo-store #shopChat[data-view=welcome] .jo-chat-welcome button{height:40px;min-height:40px;padding:8px 10px;font-size:12px;line-height:1.4;white-space:normal;border-radius:12px;box-sizing:border-box}
.jo-store #shopChat .jo-chat-footer{padding:12px 14px}.jo-store #shopChat .jo-chat-footer form{margin:0}
@media(max-width:650px){.jo-store #shopChat[data-view=welcome] #chatMessages{padding:16px}.jo-store #shopChat[data-view=welcome] .jo-chat-bubble h3{font-size:16px}.jo-store #shopChat[data-view=welcome] .jo-chat-bubble p{font-size:12px}.jo-store #shopChat[data-view=welcome] .jo-chat-welcome{gap:7px;margin-top:12px}.jo-store #shopChat[data-view=welcome] .jo-chat-welcome button{height:37px;min-height:37px;font-size:11px}}
@media(max-height:600px){.jo-store #shopChat[data-view=welcome] #chatMessages{padding:12px 14px}.jo-store #shopChat[data-view=welcome] .jo-chat-welcome{gap:5px;margin-top:8px}.jo-store #shopChat[data-view=welcome] .jo-chat-welcome button{height:32px;min-height:32px;font-size:11px;padding:5px 8px}.jo-store #shopChat[data-view=welcome] .jo-chat-bubble h3{font-size:15px;margin-bottom:4px}.jo-store #shopChat[data-view=welcome] .jo-chat-bubble p{font-size:11px;line-height:1.45}.jo-store #shopChat .jo-chat-footer{padding:8px 12px}}
@media(max-height:450px){.jo-store #shopChat[data-view=welcome] .jo-chat-header{padding:7px 12px}.jo-store #shopChat[data-view=welcome] .jo-chat-mark{width:27px;height:27px}.jo-store #shopChat[data-view=welcome] .jo-chat-header h2{font-size:14px}.jo-store #shopChat[data-view=welcome] .jo-chat-header p{display:none}.jo-store #shopChat[data-view=welcome] .jo-chat-nav{padding:4px 12px}.jo-store #shopChat[data-view=welcome] #chatMessages{padding:8px 12px}.jo-store #shopChat[data-view=welcome] .jo-chat-bubble h3{font-size:13px}.jo-store #shopChat[data-view=welcome] .jo-chat-bubble p{font-size:10.5px;line-height:1.4}.jo-store #shopChat[data-view=welcome] .jo-chat-welcome button{height:27px;min-height:27px;font-size:10px;padding:3px 7px}.jo-store #shopChat[data-view=welcome] .jo-chat-footer{padding:6px 10px}.jo-store #shopChat[data-view=welcome] .jo-chat-footer form{padding:5px 8px}.jo-store #shopChat[data-view=welcome] .jo-chat-footer textarea{height:30px;min-height:30px;max-height:30px}.jo-store #shopChat[data-view=welcome] .jo-chat-footer form button{width:30px;height:30px}}
@media(max-height:450px) and (min-width:500px){.jo-store #shopChat[data-view=welcome] .jo-chat-welcome{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Historical messages remain plain text, without fabricated star ratings. */
.jo-store .jo-archive{padding:55px 0 65px;background:linear-gradient(125deg,#f8f0fd,#efe1f7 55%,#faf5fd);border-top:1px solid #e5d3ed}
.jo-store .jo-archive .jo-shell{max-width:1360px;margin:auto}
.jo-store .jo-archive-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.jo-store .jo-archive h2{font:400 clamp(25px,3vw,37px)/1.4 Prata,Georgia,serif;color:#542047;margin:0}
.jo-store .jo-archive-kicker{display:block;font:600 10px/1.8 Manrope,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:#92709f;margin-bottom:9px}
.jo-store .jo-archive-controls{display:flex;gap:8px;flex:none}
.jo-store .jo-archive-controls button{display:grid;place-items:center;width:41px;height:41px;border:1px solid #cdb0dd;border-radius:50%;background:#fff8ff;color:#714777;padding:10px}
.jo-store .jo-archive-controls button:disabled{opacity:.3;cursor:default}
.jo-store .jo-archive-controls svg,.jo-store .jo-review-image svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.jo-store .jo-archive-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 1px 12px;align-items:stretch}
.jo-store .jo-archive-track::-webkit-scrollbar{display:none}
.jo-store .jo-archive-card{display:flex;flex-direction:column;align-items:start;min-width:0;scroll-snap-align:start;padding:25px 25px 20px;border:1px solid #ddc6e6;border-radius:20px;background:linear-gradient(140deg,#fff,#fcf8ff);color:#60466b;box-shadow:0 5px 20px #54204704}
.jo-store .jo-archive-person{display:flex;gap:10px;align-items:center;margin-bottom:18px;width:100%}
.jo-store .jo-archive-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:#f0e1f7;color:#82568e;font:600 14px Manrope,sans-serif}
.jo-store .jo-archive-person h3{font:600 12px/1.6 Manrope,sans-serif;margin:0;color:#542047}
.jo-store .jo-archive-person small{font:400 10px/1.6 Manrope,sans-serif;color:#a186aa}
.jo-store .jo-archive-card blockquote{font:400 13px/1.85 Manrope,sans-serif;padding:0;border:0;margin:0 0 25px;color:#775d81;white-space:normal;overflow-wrap:anywhere}
.jo-store .jo-review-image{display:inline-flex;gap:7px;align-items:center;padding:0 0 3px;margin-top:auto;background:none;border:0;border-bottom:1px solid #d5b8e1;color:#82558d;font:500 11px/1.7 Manrope,sans-serif;border-radius:0;cursor:pointer}
.jo-store .jo-archive-gallery{display:inline-flex;align-items:center;gap:12px;margin-right:auto}.jo-store .jo-archive-gallery[hidden]{display:none}
.jo-store .jo-archive-gallery button{border:1px solid #d8bde6;border-radius:50%;background:#f5ebfa;color:#542047;width:34px;height:34px;padding:0}
.jo-store .reviews-all-top:disabled{opacity:.45;cursor:default;background:none;border:0;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:9px}
@media(max-width:900px){.jo-store .jo-archive-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:650px){.jo-store .jo-archive{padding:35px 0 40px}.jo-store .jo-archive-head{align-items:center;gap:12px;margin-bottom:20px}.jo-store .jo-archive h2{font-size:25px}.jo-store .jo-archive-track{grid-auto-columns:88%;gap:13px}.jo-store .jo-archive-card{padding:22px}.jo-store .jo-archive-controls button{width:33px;height:33px;padding:7px}.jo-store #callModal .modal-header,.jo-store #callModal .modal-body,.jo-store #callModal .modal-footer{padding-left:19px;padding-right:19px}}

/* All 13 source texts are present; long quotes expand in place without image/original buttons. */
.jo-store #jo-home-root #reviews .review blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden;white-space:pre-line}
.jo-store #jo-home-root #reviews .review.jo-review-expanded blockquote{display:block;-webkit-line-clamp:unset;overflow:visible}
.jo-store #jo-home-root #reviews .jo-review-expand{margin:12px 0 0;padding:0 0 3px;border:0;border-bottom:1px solid #d7bbe2;border-radius:0;background:none;color:#855b91;font:500 11px/1.7 Manrope,sans-serif;cursor:pointer;align-self:flex-start}
.jo-store #jo-home-root #reviews .jo-review-expand[hidden]{display:none}
/* Tiny landscape windows: retain the greeting, compact decoration instead. */
@media(max-height:350px){.jo-store #shopChat[data-view=welcome] .jo-chat-header{padding:5px 12px}.jo-store #shopChat[data-view=welcome] .jo-chat-tools button{height:28px;width:28px}.jo-store #shopChat[data-view=welcome] .jo-chat-nav{padding:2px 12px}.jo-store #shopChat[data-view=welcome] .jo-chat-nav button{padding-top:2px;padding-bottom:2px}.jo-store #shopChat[data-view=welcome] .jo-chat-welcome button{height:25px;min-height:25px}.jo-store #shopChat[data-view=welcome] .jo-chat-footer form{padding-top:4px;padding-bottom:4px}}
/* Thirteen Yandex cards need discoverable mouse/keyboard navigation as well as touch swiping. */
.jo-store #jo-home-root .reviews-nav{display:grid;cursor:pointer}
