/* ICANCROCHET — reviews wall, photo lightbox, buyer carousel, review form */

.icr{max-width:1180px;margin:56px auto 0;padding:0 16px 8px;color:#2d2a26}
.icr-title{font-family:'Concert One',cursive;font-weight:400;font-size:32px;line-height:1.25;text-align:center;margin:0 0 26px}

/* ---------------------------------------------------------------- stars */
.icr-stars{display:inline-flex;gap:2px;line-height:1}
.icr-star{color:#dcd7d0;font-size:16px}
.icr-star.is-on{color:#ffb400}

/* -------------------------------------------------------------- summary */
.icr-summary{display:flex;flex-wrap:wrap;align-items:center;gap:26px;background:#fbf7f2;border:1px solid #efe7dc;border-radius:16px;padding:22px 26px;margin:0 0 22px;transition:box-shadow .35s,border-color .35s}
.icr-summary.is-lit{border-color:#e00189;box-shadow:0 0 0 4px rgba(224,1,137,.14)}
.icr-score{flex:0 0 auto;text-align:center;min-width:132px}
.icr-score-n{font-family:'Concert One',cursive;font-size:44px;line-height:1;margin-bottom:6px}
.icr-score .icr-star{font-size:19px}
.icr-score-c{font-size:13px;color:#7a726a;margin-top:6px}
.icr-bars{flex:1 1 260px;min-width:220px}
.icr-bar-row{display:flex;align-items:center;gap:9px;margin:3px 0}
.icr-bar-label{flex:0 0 34px;font-size:13px;color:#6d655d;display:flex;align-items:center;gap:2px}
.icr-bar-label .icr-star{font-size:12px}
.icr-bar{flex:1 1 auto;height:8px;border-radius:99px;background:#ece5db;overflow:hidden}
.icr-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#e00189,#ff3ba7);border-radius:99px}
.icr-bar-count{flex:0 0 62px;text-align:right;font-size:12px;color:#8a827a}
.icr-share{flex:0 0 auto;text-align:center;padding-left:22px;border-left:1px solid #eadfd1}
.icr-share-t{margin:0 0 6px;font-size:14px;font-weight:600}
.icr-share .icr-star{font-size:18px}
.icr-write-btn{display:block;margin:10px auto 0;background:#e00189;color:#fff;border:0;border-radius:99px;padding:11px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}
.icr-write-btn:hover{background:#b30070;transform:translateY(-1px);box-shadow:0 6px 18px rgba(224,1,137,.28)}

/* ----------------------------------------------------------------- form */
.icr-form-wrap{display:none;background:#fff;border:1px solid #ece4d9;border-radius:16px;padding:24px;margin:0 0 24px;box-shadow:0 8px 30px rgba(0,0,0,.05)}
.icr-form-wrap.is-open{display:block}
.icr-sent{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#eef8ee;color:#2c6b32;font-size:14px}
.icr-form-title{font-family:'Concert One',cursive;font-weight:400;font-size:24px;margin:0 0 18px;text-align:center}
.icr-form{max-width:620px;margin:0 auto}
.icr-f-row{margin:0 0 15px}
.icr-f-row>label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
.icr-req{color:#d0021b}
.icr-opt{font-weight:400;color:#8a827a}
.icr-form input[type=text],.icr-form input[type=email],.icr-form textarea{width:100%;border:1px solid #ddd3c6;border-radius:10px;padding:11px 13px;font-size:15px;font-family:inherit;background:#fff;color:#2d2a26}
.icr-form input[type=text]:focus,.icr-form input[type=email]:focus,.icr-form textarea:focus{outline:0;border-color:#e00189;box-shadow:0 0 0 3px rgba(224,1,137,.16)}
.icr-form textarea{resize:vertical;min-height:110px}
.icr-rate{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.icr-rate input{position:absolute;opacity:0;width:0;height:0}
.icr-rate label{font-size:30px;line-height:1;color:#dcd7d0;cursor:pointer;transition:color .12s;margin:0}
.icr-rate input:checked~label,.icr-rate label:hover,.icr-rate label:hover~label{color:#ffb400}
.icr-rate input:focus-visible+label{outline:2px solid #e00189;outline-offset:2px}
.icr-photo-lbl{display:block}
.icr-drop{border:2px dashed #e2d8ca;border-radius:12px;padding:16px;text-align:center;background:#fdfbf8}
.icr-add{display:inline-block;background:#fff;border:1px solid #ddd3c6;border-radius:99px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer}
.icr-add:hover{border-color:#e00189;color:#b30070;background:#fff5fb}
.icr-drop input[type=file]{position:absolute;opacity:0;width:0;height:0}
.icr-drop-note{margin:9px 0 0;font-size:12px;color:#8a827a}
.icr-filelist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.icr-filelist li{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #eee4d6;border-radius:8px;padding:5px 9px;font-size:12px;color:#6d655d}
.icr-filelist img{width:30px;height:30px;object-fit:cover;border-radius:5px;display:block}
.icr-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.icr-f-actions{display:flex;align-items:center;gap:14px;margin-top:6px}
.icr-submit{background:#e00189;color:#fff;border:0;border-radius:99px;padding:13px 30px;font-size:15px;font-weight:700;cursor:pointer}
.icr-submit:hover{background:#b30070;box-shadow:0 6px 18px rgba(224,1,137,.28)}
.icr-cancel{background:none;border:0;color:#8a827a;font-size:14px;cursor:pointer;text-decoration:underline}

/* ----------------------------------------------------------- the wall */
.icr-grid{columns:4 230px;column-gap:16px}
.icr-card{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;display:inline-block;width:100%;background:#fff;border:1px solid #eee6db;border-radius:14px;overflow:hidden;margin:0 0 16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.icr-card.is-hidden{display:none}
.icr-shots{position:relative;overflow:hidden;background:#f6f1ea}
.icr-shots-track{display:flex;transition:transform .32s ease}
.icr-shot{flex:0 0 100%;display:block;padding:0;margin:0;border:0;background:none;cursor:zoom-in;line-height:0}
.icr-shot img{width:100%;height:auto;display:block}
.icr-sn{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border:1.5px solid #f8c8d8;border-radius:50%;background:#fff;color:#ad1457;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .18s,background .18s,color .18s;box-shadow:0 3px 10px rgba(0,0,0,.14);padding:0}
.icr-sn:hover{background:#e00189;border-color:#e00189;color:#fff}
.icr-sn-prev{left:8px}
.icr-sn-next{right:8px}
.icr-shots.is-multi:hover .icr-sn,.icr-shots.is-multi:focus-within .icr-sn{opacity:1}
.icr-dots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:5px}
.icr-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.icr-dot.is-on{background:#fff}
.icr-shot-count{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;border-radius:99px;padding:3px 8px}
.icr-body{padding:13px 14px 15px}
.icr-who{margin:0 0 4px;font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}
.icr-verified{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#2eaf5b;color:#fff;font-size:10px;line-height:1}
.icr-text{margin:7px 0 0;font-size:14px;line-height:1.55;color:#4a443d;white-space:pre-line}
.icr-reply{margin:11px 0 0;padding:10px 12px;background:#faf6f0;border-radius:10px}
.icr-reply-h{margin:0 0 3px;font-size:12px;font-weight:700;color:#8a827a}
.icr-reply-t{margin:0;font-size:13px;line-height:1.5;color:#5c554d}
.icr-more-wrap{text-align:center;margin:12px 0 6px}
.icr-more{background:#fff;border:2px solid #e00189;color:#e00189;border-radius:99px;padding:12px 30px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;min-width:210px}
.icr-more:hover{background:#e00189;color:#fff;box-shadow:0 6px 18px rgba(224,1,137,.22)}
.icr-more[data-busy]{opacity:.65;cursor:default}

/* ------------------------------------------------------------- carousel */
.icrc{position:relative;margin:16px 0 0;padding:0 18px}
.icrc-track{display:flex;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#fff5fa 100%);border:2px solid #e00189;border-radius:26px}
.icrc-slide{flex:0 0 100%;min-width:0;display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:transform .32s ease;background:none;border:0;text-align:left}
.icrc-slide:focus-visible{outline:2px solid #e00189;outline-offset:-4px;border-radius:22px}
.icrc-thumb{flex:0 0 auto;line-height:0}
.icrc-thumb img{width:64px;height:64px;object-fit:cover;border-radius:14px;display:block}
.icrc-txt{flex:1 1 auto;min-width:0}
.icrc-head{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.2}
.icrc-name{font-size:14.5px;font-weight:800;color:#1b1b1b}
.icrc-stars .icr-star{font-size:13px;color:#f4cede}
.icrc-stars .icr-star.is-on{color:#e00189}
.icrc-body{margin:4px 0 0;font-size:13.5px;line-height:1.45;color:#2f2b2c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.icrc-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid #e00189;color:#e00189;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.09);transition:all .2s;padding:0;z-index:2}
.icrc-nav:hover{background:#e00189;color:#fff}
.icrc-prev{left:0}
.icrc-next{right:0}

/* ------------------------------------------------------------- lightbox */
.icrl{position:fixed;inset:0;z-index:99999;background:rgba(20,17,14,.88);display:none;align-items:center;justify-content:center;padding:24px}
.icrl.is-open{display:flex}
body.icrl-lock{overflow:hidden}
.icrl-box{display:flex;width:100%;max-width:1020px;max-height:88vh;background:#fff;border-radius:16px;overflow:hidden}
.icrl-media{flex:1 1 58%;position:relative;background:#141110;display:flex;align-items:center;justify-content:center;min-height:320px}
.icrl-imgwrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.icrl-imgwrap img{max-width:100%;max-height:88vh;object-fit:contain;display:block}
.icrl-back,.icrl-product{display:none}
.icrl-shotnav{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}
.icrl-shotnav span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:background .2s}
.icrl-shotnav span.is-on{background:#fff}
.icrl-panel{flex:0 0 360px;padding:26px 24px;overflow-y:auto;background:#fff}
.icrl-phead{display:flex;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #f0e9df}
.icrl-pthumb{width:42px;height:42px;object-fit:cover;border-radius:8px;display:block}
.icrl-ptitle{font-size:13px;font-weight:600;color:#6d655d;line-height:1.35}
.icrl-who{margin:0 0 6px;font-size:17px;font-weight:700;display:flex;align-items:center;gap:7px}
.icrl-text{margin:12px 0 0;font-size:15px;line-height:1.6;color:#4a443d;white-space:pre-line}
.icrl-reply{margin:16px 0 0;padding:12px 14px;background:#faf6f0;border-radius:10px;font-size:14px;line-height:1.5;color:#5c554d}

/* buttons — same family as the "take a peek" PDF preview */
.icrl-close{position:absolute;top:18px;right:20px;display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #f8c8d8;color:#ad1457;font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:9px 17px;border-radius:99px;box-shadow:0 4px 14px rgba(0,0,0,.16);z-index:6;transition:all .2s;line-height:1}
.icrl-close:hover{background:#e00189;border-color:#e00189;color:#fff}
.icrl-x{font-size:14px;line-height:1}
.icrl-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:#fff;border:1.5px solid #f8c8d8;color:#ad1457;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.16);z-index:6;transition:all .2s;padding:0}
.icrl-arrow:hover{background:#e00189;border-color:#e00189;color:#fff}
.icrl-prev{left:18px}
.icrl-next{right:18px}

/* ------------------------------------------------------------- tablet */
@media (max-width:1024px){
  .icr-grid{columns:3 200px}
  .icrl-panel{flex-basis:310px}
  .icrl-prev{left:10px}
  .icrl-next{right:10px}
}

/* ------------------------------------------------------------- mobile */
@media (max-width:760px){
  .icr{margin-top:40px;padding:0 12px}
  .icr-title{font-size:25px}
  .icr-summary{gap:16px;padding:18px 16px;justify-content:center}
  .icr-score{min-width:110px}
  .icr-score-n{font-size:38px}
  .icr-bars{flex-basis:100%}
  .icr-share{flex-basis:100%;padding-left:0;border-left:0;border-top:1px solid #eadfd1;padding-top:14px}
  .icr-grid{columns:2 130px;column-gap:12px}
  .icr-card{margin-bottom:12px;border-radius:12px}
  .icr-body{padding:11px 11px 13px}
  .icr-who{font-size:13px}
  .icr-text{font-size:13px}
  .icr-sn{opacity:1;width:26px;height:26px;font-size:11px}
  .icr-form-wrap{padding:18px 14px}
  .icr-f-actions{flex-direction:column;align-items:stretch;gap:10px}
  .icr-submit{width:100%}
  .icr-more{width:100%}

  .icrc{padding:0 16px}
  .icrc-slide{gap:10px;padding:10px 12px}
  .icrc-thumb img{width:56px;height:56px;border-radius:12px}
  .icrc-name{font-size:13.5px}
  .icrc-body{font-size:12.5px}
  .icrc-nav{width:32px;height:32px;font-size:13px}

  /* lightbox: photo on top with a back arrow + product name, review below */
  .icrl{padding:0;background:#fff;align-items:stretch}
  .icrl-box{max-width:none;max-height:none;height:100%;flex-direction:column;border-radius:0;overflow-y:auto}
  .icrl-media{flex:0 0 auto;background:#141110;min-height:0;padding:52px 0 0;display:block}
  .icrl-imgwrap{height:auto}
  .icrl-imgwrap img{max-height:54vh;width:100%;object-fit:contain}
  .icrl-back{display:flex;align-items:center;justify-content:center;position:absolute;top:9px;left:9px;width:36px;height:36px;border:1.5px solid #f8c8d8;border-radius:50%;background:#fff;color:#ad1457;font-size:15px;line-height:1;cursor:pointer;z-index:7;padding:0;box-shadow:0 3px 10px rgba(0,0,0,.2)}
  .icrl-back:hover{background:#e00189;border-color:#e00189;color:#fff}
  .icrl-product{display:block;position:absolute;top:19px;left:56px;right:16px;margin:0;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:6}
  .icrl-panel{flex:1 1 auto;padding:18px 16px 44px}
  .icrl-phead{display:none}
  .icrl-close{display:none}
  .icrl-shotnav{bottom:10px}
  /* review arrows sit over the photo */
  .icrl-arrow{top:calc(52px + 26vh);width:38px;height:38px;font-size:15px;box-shadow:0 3px 10px rgba(0,0,0,.28)}
  .icrl-prev{left:9px}
  .icrl-next{right:9px}
}

@media (max-width:359px){
  .icr-grid{columns:1}
}

/* --------------------------------------------------------------------------
   Star rows are real filter buttons
   -------------------------------------------------------------------------- */
.icr-bars .icr-bar-row {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 10px;
	padding: 5px 8px;
	margin: 0;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.icr-bars .icr-bar-row:hover:not(:disabled),
.icr-bars .icr-bar-row:focus-visible {
	background: #fff0f7;
	border-color: #f6cfe3;
	outline: none;
}

.icr-bars .icr-bar-row.is-active {
	background: #fff0f7;
	border-color: #e00189;
}

.icr-bars .icr-bar-row.is-active .icr-bar-label,
.icr-bars .icr-bar-row.is-active .icr-bar-count {
	color: #e00189;
	font-weight: 700;
}

.icr-bars .icr-bar-row:disabled {
	cursor: default;
	opacity: .55;
}

.icr-grid.is-loading {
	opacity: .45;
	transition: opacity .15s ease;
	pointer-events: none;
}

.icr-empty {
	margin: 0;
	padding: 26px 18px;
	text-align: center;
	font-size: 15px;
	color: #7a4160;
	background: #fff7fb;
	border: 1px dashed #f6cfe3;
	border-radius: 12px;
}

@media (max-width: 520px) {
	.icr-filterbar {
		justify-content: center;
		text-align: center;
	}
}

/* The score sits at the left of the bar; the invitation to write one belongs
   at the other end of it. Below 760px the two stack, so leave that alone. */
@media (min-width:761px){
  .icr-share{margin-left:auto;padding-left:0;border-left:0}
}
