/* Photo Catalog — фронтенд */
.photocat-grid{
  --cols:2;
  display:grid;
  grid-template-columns:repeat(var(--cols),minmax(0,1fr));
  gap:clamp(20px,2.6vw,36px);
  margin:36px 0;
}
@media(max-width:760px){.photocat-grid{grid-template-columns:1fr}}

.photocat-card{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  background:#0d0d10;border:1px solid rgba(201,168,76,.16);border-radius:6px;
  text-decoration:none;color:#e8e4dc;
  transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .5s,box-shadow .5s;
}
.photocat-card:hover{
  transform:translateY(-6px);
  border-color:rgba(201,168,76,.6);
  box-shadow:0 28px 70px -22px rgba(0,0,0,.85);
}
/* изображение видно ЦЕЛИКОМ, без обрезки, на тёмном фоне */
.photocat-card-img{
  position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;
  background:radial-gradient(circle at 50% 40%,#1a1a1f,#060608);
  display:flex;align-items:center;justify-content:center;
}
.photocat-card-img img{
  width:100%;height:100%;object-fit:contain;display:block;
  transform:scale(1);
  transition:transform 1s cubic-bezier(.16,1,.3,1),filter .6s;
}
.photocat-card:hover .photocat-card-img img{transform:scale(1.04)}

.photocat-card-noimg{
  width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 35%,#23232b,#0a0a0b);
}
.photocat-card-noimg span{font-size:64px;color:#7a6230;font-family:Georgia,serif}

/* подпись — ПОД изображением, не перекрывает мокап */
.photocat-card-body{
  position:relative;z-index:2;padding:clamp(20px,2.4vw,30px);
  border-top:1px solid rgba(201,168,76,.12);
}
.photocat-card-num{font-family:monospace;font-size:11px;letter-spacing:.3em;color:#c9a84c;margin-bottom:10px}
.photocat-card-name{font-size:clamp(26px,3.2vw,36px);font-weight:400;line-height:1.04;font-family:Georgia,serif}
.photocat-card-genre{margin-top:7px;font-size:16px;color:#b8b8c8;font-style:italic}
.photocat-card-cta{
  margin-top:16px;font-family:monospace;font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  color:#e8e4dc;opacity:.7;transform:translateY(0);transition:opacity .4s,color .4s;
}
.photocat-card-cta::after{content:' →';color:#c9a84c}
.photocat-card:hover .photocat-card-cta{opacity:1}

.photocat-empty,.photocat-hint-front{
  padding:40px;text-align:center;color:#7a7a8c;font-style:italic;
  border:1px dashed rgba(201,168,76,.25);border-radius:8px;
}

/* FAQ */
.photocat-faq{margin:24px 0;display:flex;flex-direction:column;gap:1px;background:rgba(201,168,76,.14)}
.photocat-faq-item{background:#0f0f12;color:#e8e4dc}
.photocat-faq-item summary{
  cursor:pointer;padding:20px 24px;font-size:19px;list-style:none;
  display:flex;justify-content:space-between;align-items:center;font-family:Georgia,serif;
}
.photocat-faq-item summary::-webkit-details-marker{display:none}
.photocat-faq-item summary::after{content:'+';color:#c9a84c;font-size:24px;transition:transform .3s}
.photocat-faq-item[open] summary::after{transform:rotate(45deg)}
.photocat-faq-answer{padding:0 24px 22px;color:#b8b8c8;line-height:1.65;font-size:16px}

/* Контакты */
.photocat-contacts{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
.photocat-contact{
  flex:1 1 200px;padding:22px 24px;background:#0f0f12;
  border:1px solid rgba(201,168,76,.16);text-decoration:none;color:#e8e4dc;
  display:flex;flex-direction:column;gap:6px;font-size:17px;transition:border-color .4s;
}
.photocat-contact:hover{border-color:rgba(201,168,76,.55)}
.photocat-contact span{font-family:monospace;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#c9a84c}

/* О нас */
.photocat-about{margin:24px 0;max-width:760px;color:#cfcfda;line-height:1.7;font-size:18px}
.photocat-about p{margin:0 0 16px}

/* ── ГЛАВНАЯ (шорткод [photo_home]) ── */
.photocat-home{
  color:#e8e4dc;
  /* full-bleed: разворот на всю ширину окна, даже если тема зажимает контент */
  width:100vw;
  position:relative;
  left:50%;right:50%;
  margin-left:-50vw;margin-right:-50vw;
  background:#060608;
  padding:0 clamp(20px,5vw,80px) 60px;
  box-sizing:border-box;
}
/* внутренний ограничитель ширины, чтобы контент не растягивался бесконечно */
.photocat-home > *{max-width:1400px;margin-left:auto;margin-right:auto}
/* защита от горизонтальной прокрутки, которую может дать 100vw */
html,body{overflow-x:hidden}
.photocat-hero{
  position:relative;text-align:center;
  padding:clamp(90px,18vh,190px) clamp(20px,5vw,60px) clamp(70px,12vh,130px);
  background:
    radial-gradient(ellipse 80% 60% at 50% 30%,rgba(120,20,30,.45),transparent 70%),
    radial-gradient(circle at 50% 40%,#1a0608,#060608 75%);
  overflow:hidden;border-radius:8px;
}
.photocat-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    radial-gradient(1px 1px at 20% 30%,#e8c97a,transparent),
    radial-gradient(1px 1px at 70% 20%,#c9a84c,transparent),
    radial-gradient(1px 1px at 85% 60%,#e8c97a,transparent),
    radial-gradient(1px 1px at 30% 70%,#c9a84c,transparent),
    radial-gradient(2px 2px at 60% 50%,#e8c97a,transparent),
    radial-gradient(1px 1px at 45% 85%,#c9a84c,transparent);
}
.photocat-hero-eyebrow{
  position:relative;font-family:monospace;font-size:12px;letter-spacing:.45em;
  text-transform:uppercase;color:#c9a84c;margin-bottom:28px;
}
.photocat-hero h1{
  position:relative;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:clamp(48px,10vw,120px);line-height:.96;letter-spacing:.02em;
  color:#f0d896;text-shadow:0 0 50px rgba(201,168,76,.4);text-transform:uppercase;
}
.photocat-hero-sub{
  position:relative;margin-top:30px;font-style:italic;font-size:clamp(18px,2.4vw,26px);
  color:#e8e4dc;font-family:'Cormorant Garamond',Georgia,serif;
}
.photocat-hero-tags{
  position:relative;margin-top:14px;font-family:monospace;font-size:12px;
  letter-spacing:.3em;text-transform:uppercase;color:#b8b8c8;
}
.photocat-hero-scroll{
  position:relative;margin-top:48px;font-family:monospace;font-size:11px;
  letter-spacing:.3em;text-transform:uppercase;color:#7a7a8c;
}

.photocat-section{padding:clamp(60px,10vh,110px) 0}
.photocat-section-title{
  text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;
  font-size:clamp(34px,6vw,64px);color:#e8e4dc;margin-bottom:8px;
}
.photocat-section-title em{color:#e8c97a;font-style:italic}
.photocat-section-eyebrow{
  text-align:center;font-family:monospace;font-size:11px;letter-spacing:.4em;
  text-transform:uppercase;color:#c9a84c;margin-bottom:18px;
}
