
/* ===== Single Shop Page ===== */
.pc-shop-single { padding: 0; margin-top: -10px;}

.pc-shop-banner {
  width: 100%;
  height: 350px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.pc-info-strip {
  width: 100%;
  min-height: 130px;
  background: #2f2f2f;
  position: relative;
  z-index: 1;
}

/* Copy shop link button (above pc-info-strip, right side) */
.pc-copy-shop-link{
  position:absolute;
  top:-44px;
  right:14px;
  background:#990900;
  color:#ffffff;
  border:0;
  padding:8px 12px;
  font-size:13px;
  line-height:1.2;
  border-radius:10px;
  cursor:pointer;
  z-index:3;
  box-shadow:0 10px 24px rgba(0,0,0,0.25);
}
.pc-copy-shop-link:hover{ filter:brightness(1.05); }
.pc-copy-shop-link:active{ transform:translateY(1px); }
.pc-copy-shop-link:focus{ outline:2px solid rgba(255,255,255,0.7); outline-offset:2px; }

/* Toast notification */
.pc-copy-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) translateY(8px);
  opacity:0;
  pointer-events:none;
  background:#990900;
  color:#ffffff;
  padding:10px 14px;
  border-radius:12px;
  font-size:14px;
  line-height:1.3;
  z-index:9999;
  box-shadow:0 10px 24px rgba(0,0,0,0.25);
  transition:opacity .25s ease, transform .25s ease;
  max-width:calc(100% - 30px);
  text-align:center;
}
.pc-copy-toast.is-visible{ opacity:1; transform:translateX(-50%) translateY(0); }

@media (max-width: 640px){
  .pc-copy-shop-link {
    left: 4px;
    top: -62px;
    font-size: 12px;
    padding: 7px 10px;
    width: 85px;
  }
  .pc-copy-toast{ bottom:18px; font-size:13px; }
}

.pc-container {
  max-width: 1715px;
  margin: 0 auto;
  padding: 0 10px;
  width: 100%;
  box-sizing: border-box;
}

.pc-info-container {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: -70px;
  padding-bottom: 20px;
  position: relative; /* anchor for absolute buttons */
}

.pc-logo-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -65px;
}

.pc-logo-image {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,0.2);
  background: #fff;
  z-index: 2;
}

.pc-rating {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pc-star {
  font-size: 18px;
  line-height: 1;
  display: inline-block;
}

.pc-star-filled { color: #FFB400; }
.pc-star-empty  { color: #6c6c6c; }

.pc-rating-text {
  color: #bdbdbd;
  font-size: 14px;
}

.pc-info {
  color: #fff;
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 240px; /* reserve space for action buttons on desktop */
}

/* ===== Right-side action buttons (desktop: absolute, mobile: inline) ===== */
.pc-strip-actions{
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 3;
}
.pc-strip-btn{
  width: 190px;
  text-align: center;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
  border: 1px solid transparent;
  box-sizing: border-box;
}
.pc-strip-btn--contact{ background: #ffb400; color: #000; }
.pc-strip-btn--review{ background: #fff; color: #000; border-color: #e5e5e5; }
.pc-strip-btn:hover{ filter: brightness(0.98); }

.pc-shop-name {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 10px;
}

.pc-contact-row {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.pc-contact-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.pc-contact-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
}

.pc-contact-link, .pc-info a {
  color: #fff;
  text-decoration: none;
}

.pc-contact-link:hover, .pc-info a:hover {
  text-decoration: underline;
}

.pc-socials {
  display: flex;
  align-items: center;
  gap: 14px;
}

.pc-socials img {
  width: 22px;
  height: 22px;
  display: block;
}

.pc-shop-products{padding:30px 0 0px}
.pc-products-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.pc-no-products{padding:40px 0;text-align:center;color:#666;font-size:16px}

.pc-pagination{
  margin-top:24px; display:flex; align-items:center; gap:8px; justify-content:center;
}
.pc-pagination .pc-page{
  display:inline-block; padding:6px 10px; border-radius:6px; background:#f1f3fb; color:#333; text-decoration:none;
}
.pc-pagination .pc-page.active{ background:#2f2f2f; color:#fff; }
.pc-pagination .pc-page.disabled{ pointer-events:none; opacity:0.4; }





/* Responsive */
@media(max-width:1400px) {
  .pc-products-grid{
    grid-template-columns:repeat(4,1fr)
  }
}

@media (max-width: 1035px) {
  .pc-info-container {
    margin-top: -60px;
    flex-direction: column;
    gap: 14px;
  }

  .pc-shop-banner {
    height: 210px;
  }

  .pc-logo-image {
    width: 110px; height: 110px;
  }

  .pc-shop-name { font-size: 22px; }

  .pc-info {
    text-align: center;
    padding-right: 0; /* buttons move into flow */
  }

  .pc-contact-row {
    gap: 10px;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center; /* keep centered like before */
  }

  .pc-socials {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    width: 100%;
  }

  /* Move buttons under socials, in one line */
  .pc-strip-actions{
    position: static;
    top: auto;
    right: auto;
    transform: none;
    flex-direction: row;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
    width: 100%;
  }
  .pc-strip-btn{
    width: 180px;
    max-width: 48%;
  }

  .pc-products-grid {
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:500px) {
  .pc-products-grid{
    grid-template-columns:1fr
  }
}

/* === POLKOV: Tabs on seller page === */
.pc-tabs { display:flex; gap: 12px; border-bottom: 1px solid #eee; margin: 24px 0 0; }
.pc-tab-btn {
  appearance: none; background: #f8f8f8; border: 1px solid #ddd; border-bottom: none;
  padding: 10px 16px; border-radius: 12px 12px 0 0; cursor: pointer; font-weight: 600;
  margin-left: 5px;
}
.pc-tab-btn.active { background: #fff; color: #990900; }
.pc-tab-content { display: none; background: #fff; }
.pc-tab-content.pc-tab-content--active { display: block; }

/* === POLKOV: "О мастере" styles === */
.pc-about-title { font-size: 24px; color: #990900; font-weight: 700; margin: 10px 0 10px; }
.pc-about-info { display: grid; gap: 10px; }
.pc-about-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.pc-about-label { opacity: .8; min-width: 45px; }
.pc-about-value { font-weight: 600; text-decoration: none; }
.pc-about-socials { display: flex; gap: 10px; margin-top: 10px; }
.pc-about-socials .pc-soc img { width: 28px; height: 28px; display: block; }


/* Ensure WYSIWYG HTML styles inside about description */
.pc-about-desc p { margin: 0 0 1em; }
.pc-about-desc b,
.pc-about-desc strong { font-weight: 700; }
.pc-about-desc i,
.pc-about-desc em { font-style: italic; }
.pc-about-desc ul, .pc-about-desc ol { margin: 0 0 1em 1.2em; }
.pc-about-desc a { text-decoration: underline; }
a.pc-about-value {color: #990900;}


/* =========================
   Reviews block (About tab)
========================= */
.pc-reviews{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:12px;
}
.pc-review-card{
  background:#2795e3; /* темнее чем #ffc100 */
  border-radius:14px;
  padding:14px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
}
.pc-review-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.pc-review-author{
  font-weight:700;
  font-size:15px;
  color:#ffffff;
}
.pc-review-body{
  font-size:14px;
  line-height:1.55;
  color:#ffffff;
}

/* Stars (full/half/empty) */
.pc-review-stars{
  display:flex;
  align-items:center;
  gap:4px;
  flex-shrink:0;
}
.pc-star{
  width:16px;
  height:16px;
  display:inline-block;
  background-size:16px 16px;
  background-repeat:no-repeat;
}
.pc-star--empty{
  opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M12 .587l3.668 7.431 8.2 1.192-5.934 5.787 1.402 8.171L12 18.896l-7.336 3.857 1.402-8.171L.132 9.21l8.2-1.192z'/%3E%3C/svg%3E");
}
.pc-star--full{
  opacity:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M12 .587l3.668 7.431 8.2 1.192-5.934 5.787 1.402 8.171L12 18.896l-7.336 3.857 1.402-8.171L.132 9.21l8.2-1.192z'/%3E%3C/svg%3E");
}
.pc-star--half{
  opacity:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop offset='50%25' stop-color='%23000000'/%3E%3Cstop offset='50%25' stop-color='transparent'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M12 .587l3.668 7.431 8.2 1.192-5.934 5.787 1.402 8.171L12 18.896l-7.336 3.857 1.402-8.171L.132 9.21l8.2-1.192z'/%3E%3C/svg%3E");
}

/* =========================
   Review photos + lightbox
========================= */
.pc-review-photos{
  /* Thumbnails: fixed-size tiles instead of stretching to full card width */
  display:grid;
  grid-template-columns:repeat(auto-fit, 110px);
  justify-content:flex-start;
  gap:10px;
  margin-top:10px;
}
@media (max-width: 980px){
  .pc-review-photos{ grid-template-columns:repeat(auto-fit, 96px); gap:8px; }
}
@media (max-width:520px){
  .pc-review-photos{ grid-template-columns:repeat(auto-fit, 78px); gap:8px; }
}

.pc-review-photo{
  display:block;
  width:110px;
  height:110px;
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:0 4px 12px rgba(0,0,0,0.12);
  transform:translateZ(0);
}
@media (max-width: 980px){
  .pc-review-photo{ width:96px; height:96px; }
}
@media (max-width:520px){
  .pc-review-photo{ width:78px; height:78px; }
}
.pc-review-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  aspect-ratio:1/1;
}

.pc-rv-lightbox[hidden]{display:none!important;}
.pc-rv-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pc-rv-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.78);
}
.pc-rv-lightbox__img{
  position:relative;
  max-width:min(92vw,980px);
  max-height:82vh;
  border-radius:18px;
  box-shadow:0 18px 60px rgba(0,0,0,0.45);
  object-fit:contain;
  background:#111;
}
.pc-rv-lightbox__btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,0.14);
  color:#fff;
  font-size:26px;
  line-height:46px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(6px);
}
.pc-rv-lightbox__btn:hover{background:rgba(255,255,255,0.22);}
.pc-rv-lightbox__btn--prev{left:14px;}
.pc-rv-lightbox__btn--next{right:14px;}
.pc-rv-lightbox__close{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,0.14);
  color:#fff;
  font-size:28px;
  line-height:44px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(6px);
}
.pc-rv-lightbox__close:hover{background:rgba(255,255,255,0.22);}
.pc-rv-lightbox__count{
  position:absolute;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,0.5);
  color:#fff;
  font-size:13px;
}

html.pc-rv--no-scroll, body.pc-rv--no-scroll{overflow:hidden!important;}
