/* ===== Photo Template — основные стили дочерней темы ===== */

:root{
  --pt-bg:        #ffffff;
  --pt-bg-soft:   #f7f1ea;
  --pt-bg-warm:   #faf4ec;
  --pt-surface:   #ffffff;
  --pt-header-bg: #ffffff;
  --pt-footer-bg: #ffffff;
  --pt-text:      #2b2622;
  --pt-muted:     #7a6e64;
  --pt-accent:    #c9a682;   /* бежево-золотой акцент */
  --pt-accent-2:  #b89372;
  --pt-button-text:#ffffff;
  --pt-line:      #ece3d6;
  --pt-hero-fade-color: #ffffff;
  --pt-hero-fade-width: 38%;
  --pt-hero-fade-opacity: .85;
  --pt-radius:    14px;
  --pt-radius-sm: 10px;
  --pt-shadow:    0 10px 30px rgba(60,40,20,.06);
  --pt-font-serif: "Cormorant Garamond", Georgia, serif;
  --pt-font-sans:  "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* Base */
.pt-body{
  margin:0;
  background: var(--pt-bg);
  color: var(--pt-text);
  font-family: var(--pt-font-sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.pt-body img{ max-width:100%; height:auto; display:block; }
.pt-container{ max-width:1200px; margin:0 auto; padding:0 24px; }

/* Typography */
.pt-h1, .pt-h2, .pt-h3{ font-family: var(--pt-font-serif); font-weight: 500; color: var(--pt-text); margin:0 0 .4em; letter-spacing:.2px; }
.pt-h1{ font-size: clamp(34px, 4.4vw, 56px); line-height:1.1; }
.pt-h2{ font-size: clamp(26px, 3vw, 38px); line-height:1.15; }
.pt-h3{ font-size: 22px; line-height:1.2; }
.pt-lead{ color: var(--pt-muted); max-width: 480px; margin: 0 0 28px; }
.pt-eyebrow{
  display:inline-block; font-size:12px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--pt-accent-2); margin-bottom: 14px;
}
.pt-divider{ display:block; width:48px; height:2px; background: var(--pt-accent); margin: 14px auto 0; }

/* Buttons */
.pt-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius: 999px; font-weight: 500; font-size: 14px;
  text-decoration: none; transition: .2s ease; border:1px solid transparent;
  cursor:pointer; line-height:1;
}
.pt-btn--primary{ background: var(--pt-accent); color: var(--pt-button-text); }
.pt-btn--primary:hover{ background: var(--pt-accent-2); }
.pt-btn--outline{ background: var(--pt-surface); color: var(--pt-text); border-color: var(--pt-line); }
.pt-btn--outline:hover{ border-color: var(--pt-accent); color: var(--pt-accent-2); }
.pt-btn--lg{ padding: 15px 28px; font-size:15px; }

.pt-iconbtn{
  width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background: var(--pt-surface); color: var(--pt-text); border:1px solid var(--pt-line); text-decoration:none; transition:.2s;
}
.pt-iconbtn:hover{ color: var(--pt-accent); border-color: var(--pt-accent); }

.pt-link-arrow{
  font-size:12px; letter-spacing:.18em; color: var(--pt-accent-2); text-decoration:none; font-weight:500;
}
.pt-link-arrow:hover{ color: var(--pt-accent); }

/* Header */
.pt-header{ background: var(--pt-header-bg); border-bottom:1px solid var(--pt-line); position:sticky; top:0; z-index:50; }
.pt-header__inner{ display:flex; align-items:center; gap:24px; padding:18px 24px; }
.pt-logo{ text-decoration:none; color:inherit; display:flex; flex-direction:column; line-height:1; margin-right:auto; }
.pt-logo__name{ font-family: var(--pt-font-serif); font-style: italic; font-size:24px; color: var(--pt-text); }
.pt-logo__role{ font-size:10px; letter-spacing:.24em; color: var(--pt-muted); text-transform:uppercase; margin-top:4px; }
.pt-nav__list{ list-style:none; display:flex; gap:28px; padding:0; margin:0; }
.pt-nav__list a{ text-decoration:none; color: var(--pt-text); font-size:14px; }
.pt-nav__list a:hover{ color: var(--pt-accent); }
.pt-header__actions{ display:flex; align-items:center; gap:10px; }

/* Hero */
.pt-hero{ background: linear-gradient(180deg, var(--pt-bg) 0%, var(--pt-bg-warm) 100%); padding: 60px 0 80px; }
.pt-hero__grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items:center; }
.pt-hero__media{
  position: relative;
  overflow: hidden;
  min-height: 560px;
  border-radius: 0;
  isolation: isolate;
}
.pt-hero__media img{
  width:100%;
  height:100%;
  min-height: 560px;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  display:block;
}
.pt-hero__media::before,
.pt-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
}
.pt-hero__media::before{
  opacity: var(--pt-hero-fade-opacity);
  background:
    linear-gradient(90deg, var(--pt-hero-fade-color) 0%, color-mix(in srgb, var(--pt-hero-fade-color) 88%, transparent) 14%, transparent var(--pt-hero-fade-width)),
    linear-gradient(180deg, var(--pt-hero-fade-color) 0%, transparent 18%),
    linear-gradient(0deg, var(--pt-hero-fade-color) 0%, transparent 24%);
}
.pt-hero__media::after{
  background: radial-gradient(circle at 92% 18%, transparent 0%, transparent 42%, color-mix(in srgb, var(--pt-hero-fade-color) 68%, transparent) 100%);
  opacity: calc(var(--pt-hero-fade-opacity) * .45);
}
.pt-hero-fade-bottom .pt-hero__media::before{
  background:
    linear-gradient(0deg, var(--pt-hero-fade-color) 0%, color-mix(in srgb, var(--pt-hero-fade-color) 88%, transparent) 14%, transparent var(--pt-hero-fade-width)),
    linear-gradient(90deg, var(--pt-hero-fade-color) 0%, transparent 18%),
    linear-gradient(270deg, var(--pt-hero-fade-color) 0%, transparent 18%);
}
.pt-hero-fade-bottom .pt-hero__media::after{
  background: radial-gradient(circle at 50% 12%, transparent 0%, transparent 48%, color-mix(in srgb, var(--pt-hero-fade-color) 62%, transparent) 100%);
}
.pt-hero-fade-radial .pt-hero__media::before{
  background: radial-gradient(circle at 60% 45%, transparent 0%, transparent calc(100% - var(--pt-hero-fade-width)), var(--pt-hero-fade-color) 100%);
}
.pt-hero-fade-radial .pt-hero__media::after{
  background:
    linear-gradient(90deg, var(--pt-hero-fade-color) 0%, transparent 22%),
    linear-gradient(0deg, var(--pt-hero-fade-color) 0%, transparent 20%);
}
.pt-hero__placeholder{
  min-height:560px; background: var(--pt-bg-soft); border-radius: 0;
  display:flex; align-items:center; justify-content:center; color: var(--pt-muted);
}
.pt-hero__badge{ margin-top:20px; display:inline-flex; align-items:center; gap:10px; color: var(--pt-muted); font-size:14px; }
.pt-heart{ color: var(--pt-accent); }

/* Услуги */
.pt-services{ padding: 90px 0; background: var(--pt-bg); }
.pt-section-head{ margin-bottom: 50px; }
.pt-section-head--center{ text-align:center; }
.pt-section-head--row{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.pt-services__grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.pt-service{
  background: var(--pt-surface); border-radius: var(--pt-radius); overflow:hidden;
  box-shadow: var(--pt-shadow); display:flex; flex-direction:column;
}
.pt-service__image{ position:relative; aspect-ratio: 4/3; background: var(--pt-bg-soft); }
.pt-service__image img{ width:100%; height:100%; object-fit:cover; }
.pt-service__icon{
  position:absolute; left:24px; bottom:-26px; width:54px; height:54px; border-radius:50%;
  background: var(--pt-surface); display:flex; align-items:center; justify-content:center; box-shadow: var(--pt-shadow);
  color: var(--pt-accent);
}
.pt-service__icon svg{ width:24px; height:24px; }
.pt-service__body{ padding: 38px 24px 28px; }
.pt-service__body p{ color: var(--pt-muted); margin: 6px 0 18px; }

/* Обо мне */
.pt-about{ padding: 80px 0; background: var(--pt-bg-warm); }
.pt-about__grid{ display:grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items:center; }
.pt-about__media img{ width:100%; border-radius: var(--pt-radius); aspect-ratio: 4/5; object-fit:cover; }
.pt-features{ list-style:none; padding:0; margin: 20px 0 28px; display:grid; gap: 12px; }
.pt-features li{ display:flex; align-items:center; gap:12px; color: var(--pt-text); }
.pt-feature__dot{
  width:28px; height:28px; flex:0 0 28px; border-radius:50%;
  background: var(--pt-surface); color: var(--pt-accent); border:1px solid var(--pt-line);
  display:inline-flex; align-items:center; justify-content:center; font-size:14px;
}

/* Портфолио */
.pt-portfolio{ padding: 90px 0; background: var(--pt-bg); }
.pt-portfolio__grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pt-portfolio__item{ aspect-ratio: 3/4; border-radius: var(--pt-radius-sm); overflow:hidden; background: var(--pt-bg-soft); }
.pt-portfolio__item img{ width:100%; height:100%; object-fit:cover; transition: transform .4s; }
.pt-portfolio__item:hover img{ transform: scale(1.04); }

/* Отзывы */
.pt-reviews{ padding: 90px 0; background: var(--pt-bg-warm); }
.pt-reviews__nav{ display:flex; gap:8px; }
.pt-reviews__grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pt-review{
  background: var(--pt-surface); border-radius: var(--pt-radius); padding: 28px;
  box-shadow: var(--pt-shadow); position:relative;
}
.pt-review__quote{
  position:absolute; top:14px; left:20px; font-family: var(--pt-font-serif);
  font-size:60px; line-height:1; color: var(--pt-accent); opacity:.5;
}
.pt-review__text{ color: var(--pt-text); margin: 22px 0 22px; }
.pt-review__author{ display:flex; align-items:center; gap:12px; color: var(--pt-muted); font-size:14px; }
.pt-review__avatar{ width:36px; height:36px; border-radius:50%; object-fit:cover; background: var(--pt-bg-soft); display:inline-block; }
.pt-review__avatar--ph{ border:1px solid var(--pt-line); }

/* CTA */
.pt-cta{ padding: 90px 0; background: var(--pt-bg-warm); position:relative; overflow:hidden; }
.pt-cta__inner{ text-align:center; max-width:720px; margin:0 auto; }
.pt-cta__buttons{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top: 10px; }

/* Footer */
.pt-footer{ background: var(--pt-footer-bg); border-top:1px solid var(--pt-line); padding: 22px 0; font-size: 13px; color: var(--pt-muted); }
.pt-footer__inner{ display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.pt-footer a{ color: var(--pt-muted); text-decoration:none; }
.pt-footer a:hover{ color: var(--pt-accent); }

/* Responsive */
@media (max-width: 1024px){
  .pt-services__grid,
  .pt-reviews__grid{ grid-template-columns: 1fr 1fr; }
  .pt-portfolio__grid{ grid-template-columns: 1fr 1fr; }
  .pt-hero__grid,
  .pt-about__grid{ grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 640px){
  .pt-nav{ display:none; }
  .pt-services__grid,
  .pt-reviews__grid,
  .pt-portfolio__grid{ grid-template-columns: 1fr; }
  .pt-h1{ font-size: 34px; }
}
/* Standard WordPress pages/posts */
.pt-page{
  padding: 72px 0 90px;
  background: linear-gradient(180deg, var(--pt-bg) 0%, var(--pt-bg-warm) 100%);
}
.pt-page__article{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.pt-page__header{
  text-align: center;
  margin: 0 auto 42px;
  max-width: 820px;
}
.pt-page__featured{
  max-width: 960px;
  margin: 0 auto 42px;
  border-radius: var(--pt-radius);
  overflow: hidden;
  box-shadow: var(--pt-shadow);
  background: var(--pt-bg-soft);
}
.pt-page__featured img{
  width: 100%;
  max-height: 560px;
  object-fit: cover;
}
.pt-page__content{
  width: 100%;
  box-sizing: border-box;
  background: var(--pt-surface);
  border: 1px solid var(--pt-line);
  border-radius: var(--pt-radius);
  box-shadow: var(--pt-shadow);
  padding: clamp(28px, 5vw, 56px);
  color: var(--pt-text);
  overflow: hidden;
}
.pt-page__content > *{
  box-sizing: border-box;
}
.pt-page__content > *:first-child{ margin-top: 0; }
.pt-page__content > *:last-child{ margin-bottom: 0; }
.pt-page__content > p,
.pt-page__content > ul,
.pt-page__content > ol,
.pt-page__content > blockquote,
.pt-page__content > h2,
.pt-page__content > h3,
.pt-page__content > h4,
.pt-page__content > h5,
.pt-page__content > h6,
.pt-page__content > .wp-block-buttons,
.pt-page__content > .wp-block-button{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.pt-page__content p,
.pt-page__content li{
  color: var(--pt-muted);
  font-size: 17px;
  line-height: 1.75;
}
.pt-page__content h2,
.pt-page__content h3,
.pt-page__content h4,
.pt-page__content h5,
.pt-page__content h6{
  font-family: var(--pt-font-serif);
  font-weight: 500;
  color: var(--pt-text);
  line-height: 1.2;
  margin-top: 1.35em;
  margin-bottom: .55em;
}
.pt-page__content h2{ font-size: clamp(26px, 3vw, 38px); }
.pt-page__content h3{ font-size: 26px; }
.pt-page__content h4{ font-size: 22px; }
.pt-page__content a{ color: var(--pt-accent-2); }
.pt-page__content a:hover{ color: var(--pt-accent); }
.pt-page__content img{
  border-radius: var(--pt-radius-sm);
}
.pt-page__content .wp-block-image,
.pt-page__content .wp-block-gallery,
.pt-page__content .wp-block-columns,
.pt-page__content .wp-block-media-text,
.pt-page__content .wp-block-cover{
  margin-top: 28px;
  margin-bottom: 28px;
}
.pt-page__content > .wp-block-image:not(.alignwide):not(.alignfull),
.pt-page__content > figure:not(.alignwide):not(.alignfull){
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.pt-page__content .wp-block-gallery,
.pt-page__content .wp-block-gallery.alignwide,
.pt-page__content .wp-block-gallery.alignfull{
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: 16px;
}
.pt-page__content .wp-block-gallery.has-nested-images figure.wp-block-image{
  flex-grow: 1;
}
.pt-page__content .wp-block-gallery.has-nested-images figure.wp-block-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pt-page__content .wp-block-image figcaption,
.pt-page__content .wp-block-gallery figcaption{
  color: var(--pt-text);
  font-family: var(--pt-font-serif);
  font-size: 20px;
  line-height: 1.25;
  margin-top: 14px;
  text-align: center;
}
.pt-page__content .wp-block-button__link{
  border-radius: 999px;
  background: var(--pt-accent);
  color: var(--pt-button-text);
  padding: 13px 24px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.pt-page__content .wp-block-button__link:hover{
  background: var(--pt-accent-2);
  color: var(--pt-button-text);
}
.pt-page__content .wp-block-quote{
  border-left: 3px solid var(--pt-accent);
  padding-left: 22px;
  color: var(--pt-text);
}
.pt-page__content .alignwide,
.pt-page__content .alignfull{
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.pt-page-links,
.pt-pagination{
  margin-top: 28px;
  text-align: center;
}
.pt-post-list{
  display: grid;
  gap: 28px;
  max-width: 960px;
  margin: 0 auto;
}
.pt-post-card{
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 28px;
  background: var(--pt-surface);
  border: 1px solid var(--pt-line);
  border-radius: var(--pt-radius);
  box-shadow: var(--pt-shadow);
  overflow: hidden;
}
.pt-post-card__image{
  background: var(--pt-bg-soft);
  min-height: 220px;
}
.pt-post-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pt-post-card__body{
  padding: 30px 30px 30px 0;
}
.pt-post-card__body .pt-h2 a{
  color: var(--pt-text);
  text-decoration: none;
}
.pt-post-card__body .pt-h2 a:hover{
  color: var(--pt-accent-2);
}
.pt-post-card__excerpt{
  color: var(--pt-muted);
  margin-bottom: 18px;
}
@media (max-width: 900px){
  .pt-post-card{
    grid-template-columns: 1fr;
  }
  .pt-post-card__body{
    padding: 28px;
  }
}
@media (max-width: 640px){
  .pt-page{ padding: 46px 0 64px; }
  .pt-page__header{ margin-bottom: 28px; }
  .pt-page__content{ padding: 24px; }
  .pt-page__content .wp-block-gallery{ gap: 12px; }
}

/* Editable WordPress menus */
.screen-reader-text{
  border:0;
  clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%);
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  word-wrap:normal!important;
}
.pt-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid var(--pt-line);
  background:var(--pt-surface);
  color:var(--pt-text);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  transition:.2s ease;
}
.pt-menu-toggle:hover{
  border-color:var(--pt-accent);
  color:var(--pt-accent);
}
.pt-menu-toggle__line{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:.2s ease;
}
.pt-nav__list,
.pt-nav__list ul{
  list-style:none;
}
.pt-nav__list li{
  position:relative;
}
.pt-nav__list .current-menu-item > a,
.pt-nav__list .current_page_item > a,
.pt-nav__list .current-menu-ancestor > a{
  color:var(--pt-accent-2);
}
.pt-nav__list .menu-item-has-children > a::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
.pt-nav__list .sub-menu{
  position:absolute;
  left:-18px;
  top:calc(100% + 14px);
  min-width:220px;
  margin:0;
  padding:10px;
  background:var(--pt-surface);
  border:1px solid var(--pt-line);
  border-radius:var(--pt-radius-sm);
  box-shadow:var(--pt-shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.18s ease;
  z-index:80;
}
.pt-nav__list .sub-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
}
.pt-nav__list li:hover > .sub-menu,
.pt-nav__list li:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.pt-nav__list .sub-menu a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  white-space:nowrap;
}
.pt-nav__list .sub-menu a:hover{
  background:var(--pt-bg-warm);
}
.pt-nav__list .sub-menu .sub-menu{
  left:calc(100% + 10px);
  top:0;
}
.pt-nav__list .pt-menu-cta > a,
.pt-nav__list .menu-cta > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  background:var(--pt-accent);
  color:var(--pt-button-text) !important;
}
.pt-nav__list .pt-menu-cta > a:hover,
.pt-nav__list .menu-cta > a:hover{
  background:var(--pt-accent-2);
  color:var(--pt-button-text) !important;
}
.pt-footer__nav{ margin-left:auto; }
.pt-footer__menu{
  display:flex;
  align-items:center;
  gap:18px;
  list-style:none;
  padding:0;
  margin:0;
  flex-wrap:wrap;
}
.pt-footer__menu a{
  color:var(--pt-muted);
  text-decoration:none;
}
.pt-footer__menu a:hover{
  color:var(--pt-accent);
}

@media (max-width: 920px){
  .pt-header__inner{
    position:relative;
  }
  .pt-menu-toggle{
    display:inline-flex;
    order:3;
  }
  .pt-header__actions{
    margin-left:auto;
  }
  .pt-nav{
    position:absolute;
    left:24px;
    right:24px;
    top:calc(100% + 10px);
    background:var(--pt-surface);
    border:1px solid var(--pt-line);
    border-radius:var(--pt-radius);
    box-shadow:var(--pt-shadow);
    padding:14px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:.2s ease;
    z-index:90;
  }
  .pt-menu-open .pt-nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .pt-menu-open .pt-menu-toggle__line:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .pt-menu-open .pt-menu-toggle__line:nth-child(2){
    opacity:0;
  }
  .pt-menu-open .pt-menu-toggle__line:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .pt-nav__list{
    display:grid;
    gap:4px;
  }
  .pt-nav__list a{
    display:block;
    padding:12px 14px;
    border-radius:10px;
    font-size:15px;
  }
  .pt-nav__list a:hover{
    background:var(--pt-bg-warm);
  }
  .pt-nav__list .sub-menu,
  .pt-nav__list .sub-menu .sub-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:0;
    background:transparent;
    min-width:0;
    padding:0 0 0 14px;
    margin:2px 0 4px;
  }
  .pt-nav__list .sub-menu::before{
    display:none;
  }
  .pt-nav__list .sub-menu a{
    white-space:normal;
    color:var(--pt-muted);
  }
}
@media (max-width: 640px){
  .pt-header__actions .pt-btn{
    display:none;
  }
  .pt-header__actions .pt-iconbtn{
    display:none;
  }
  .pt-footer__inner,
  .pt-footer__menu{
    justify-content:center;
    text-align:center;
  }
  .pt-footer__nav{
    margin-left:0;
    width:100%;
  }
}


/* =====================================================================
 * Портфолио по тематикам + страница съемки
 * ===================================================================== */

/* Хлебные крошки */
.pt-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; color: var(--pt-muted); margin-bottom: 22px; }
.pt-crumbs a{ color: var(--pt-muted); text-decoration:none; transition:.2s; }
.pt-crumbs a:hover{ color: var(--pt-accent-2); }
.pt-crumbs__sep{ color: var(--pt-line); }
.pt-crumbs [aria-current]{ color: var(--pt-text); }

/* Hero тематики */
.pt-pf-hero{ padding: 48px 0 80px; }
.pt-pf-hero .pt-hero__media img{ aspect-ratio: 4/5; min-height: 0; max-height: 640px; }
.pt-pf-stats{ list-style:none; display:flex; gap: 28px; padding:0; margin: 0 0 30px; }
.pt-pf-stats li{ color: var(--pt-muted); font-size: 14px; display:flex; align-items:baseline; gap:8px; }
.pt-pf-stats strong{ font-family: var(--pt-font-serif); font-weight:500; font-size: 34px; line-height:1; color: var(--pt-accent-2); }
.pt-pf-hero__buttons{ display:flex; gap: 12px; flex-wrap:wrap; }

/* Сетка съемок */
.pt-pf-shoots{ padding: 90px 0; background: var(--pt-bg); }
.pt-pf-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.pt-shoot-card{
  display:flex; flex-direction:column; text-decoration:none; color: inherit;
  background: var(--pt-surface); border-radius: var(--pt-radius); overflow:hidden;
  box-shadow: var(--pt-shadow); transition: transform .3s ease, box-shadow .3s ease;
}
.pt-shoot-card:hover{ transform: translateY(-4px); box-shadow: 0 18px 40px rgba(60,40,20,.10); }
.pt-shoot-card__image{ position:relative; aspect-ratio: 4/5; overflow:hidden; background: var(--pt-bg-soft); }
.pt-shoot-card__image img{ width:100%; height:100%; object-fit:cover; transition: transform .6s ease; }
.pt-shoot-card:hover .pt-shoot-card__image img{ transform: scale(1.04); }
.pt-shoot-card__count{
  position:absolute; right:14px; bottom:14px; padding: 6px 12px; border-radius: 999px;
  background: rgba(255,255,255,.9); color: var(--pt-text); font-size: 12px; letter-spacing:.06em;
  backdrop-filter: blur(4px);
}
.pt-shoot-card__body{ padding: 24px 24px 26px; display:flex; flex-direction:column; gap: 10px; }
.pt-shoot-card__body .pt-h3{ margin:0; }
.pt-shoot-card:hover .pt-link-arrow{ color: var(--pt-accent); }
.pt-pf-empty{ text-align:center; color: var(--pt-muted); }

/* Текст страницы тематики (если заполнен в редакторе) */
.pt-pf-text{ padding: 0 0 90px; background: var(--pt-bg); }

/* Страница съемки */
.pt-shoot-head{ padding: 56px 0 44px; text-align:center; background: linear-gradient(180deg, var(--pt-bg) 0%, var(--pt-bg-warm) 100%); }
.pt-shoot-head .pt-crumbs{ justify-content:center; }
.pt-shoot-head .pt-lead{ margin: 0 auto 10px; max-width: 620px; }
.pt-shoot-body{ padding: 44px 0 90px; background: var(--pt-bg-warm); }

/* Галерея — masonry без обрезки кадров */
.pt-shoot-content > *{ margin-top:0; }
.pt-shoot-content .wp-block-gallery.has-nested-images{
  display:block !important; column-count: 3; column-gap: 14px; margin:0;
}
.pt-shoot-content .wp-block-gallery.has-nested-images figure.wp-block-image{
  display:block; width:100% !important; margin: 0 0 14px !important;
  break-inside: avoid; border-radius: var(--pt-radius-sm); overflow:hidden; background: var(--pt-bg-soft);
}
.pt-shoot-content .wp-block-gallery.has-nested-images figure.wp-block-image img{
  width:100% !important; height:auto !important; object-fit: initial; display:block;
  transition: transform .5s ease, opacity .3s ease;
}
.pt-shoot-content .wp-block-gallery.has-nested-images figure.wp-block-image:hover img{ transform: scale(1.02); }
.pt-shoot-content .wp-lightbox-container button{ opacity:0; }

/* Навигация между съемками */
.pt-shoot-nav{
  display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap: 20px;
  margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--pt-line);
}
.pt-shoot-nav__side--right{ text-align:right; }
.pt-shoot-nav__link{ display:inline-flex; flex-direction:column; gap:6px; text-decoration:none; }
.pt-shoot-nav__label{ font-size:12px; letter-spacing:.18em; color: var(--pt-accent-2); font-weight:500; }
.pt-shoot-nav__title{ font-family: var(--pt-font-serif); font-size: 22px; color: var(--pt-text); transition:.2s; }
.pt-shoot-nav__link:hover .pt-shoot-nav__title{ color: var(--pt-accent-2); }

/* Лайтбокс WordPress — в цветах сайта */
.wp-lightbox-overlay .scrim{ background-color: #1d1916 !important; opacity:.94 !important; }
.wp-lightbox-overlay .close-button{ color:#fff !important; }

@media (max-width: 1024px){
  .pt-pf-grid{ grid-template-columns: 1fr 1fr; }
  .pt-shoot-content .wp-block-gallery.has-nested-images{ column-count: 2; }
  .pt-pf-hero .pt-hero__media img{ max-height: 520px; }
}
@media (max-width: 640px){
  .pt-pf-hero{ padding: 32px 0 56px; }
  .pt-pf-shoots{ padding: 60px 0; }
  .pt-pf-grid{ grid-template-columns: 1fr; gap: 22px; }
  .pt-shoot-head{ padding: 40px 0 28px; }
  .pt-shoot-body{ padding: 28px 0 60px; }
  .pt-shoot-content .wp-block-gallery.has-nested-images{ column-count: 2; column-gap: 8px; }
  .pt-shoot-content .wp-block-gallery.has-nested-images figure.wp-block-image{ margin-bottom: 8px !important; }
  .pt-shoot-nav{ grid-template-columns: 1fr 1fr; }
  .pt-shoot-nav > .pt-btn{ grid-column: 1 / -1; grid-row: 2; justify-self:center; }
  .pt-shoot-nav__title{ font-size: 18px; }
}


/* Лайтбокс съемок */
.pt-lb{ position:fixed; inset:0; z-index:9999; background: rgba(29,25,22,.96); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition: opacity .25s ease, visibility .25s; }
.pt-lb.is-open{ opacity:1; visibility:visible; }
.pt-lb__stage{ margin:0; width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding: 56px 80px; box-sizing:border-box; }
.pt-lb__img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius: 4px; opacity:0; transition: opacity .3s ease; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.pt-lb__img.is-ready{ opacity:1; }
.pt-lb__close, .pt-lb__nav{ position:absolute; border:0; background: rgba(255,255,255,.08); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; border-radius:50%; transition: background .2s; font-family: var(--pt-font-serif); line-height:1; }
.pt-lb__close:hover, .pt-lb__nav:hover{ background: var(--pt-accent); }
.pt-lb__close{ top:16px; right:16px; width:44px; height:44px; font-size:30px; }
.pt-lb__nav{ top:50%; transform: translateY(-50%); width:52px; height:52px; font-size:38px; padding-bottom:4px; }
.pt-lb__prev{ left:16px; }
.pt-lb__next{ right:16px; }
.pt-lb__count{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); color: rgba(255,255,255,.75); font-size:13px; letter-spacing:.12em; }
.pt-lb-lock, .pt-lb-lock body{ overflow:hidden; }
.pt-shoot-content .wp-block-gallery a{ display:block; cursor: zoom-in; }
@media (max-width: 640px){
  .pt-lb__stage{ padding: 56px 8px; }
  .pt-lb__nav{ top:auto; bottom:10px; transform:none; width:44px; height:44px; font-size:32px; }
  .pt-lb__prev{ left:12px; } .pt-lb__next{ right:12px; }
}

/* 5 съемок: последний ряд по центру */
.pt-pf-grid{ display:flex; flex-wrap:wrap; justify-content:center; }
.pt-pf-grid > .pt-shoot-card{ width: calc((100% - 56px) / 3); }
@media (max-width: 1024px){ .pt-pf-grid > .pt-shoot-card{ width: calc((100% - 28px) / 2); } }
@media (max-width: 640px){ .pt-pf-grid > .pt-shoot-card{ width: 100%; } }
.admin-bar .pt-lb__close{ top:48px; }


/* Карточки услуг на главной: кликабельна вся карточка + подсветка при наведении */
.pt-service{ position:relative; transition: transform .35s ease, box-shadow .35s ease; }
.pt-service .pt-link-arrow::after{ content:""; position:absolute; inset:0; z-index:3; border-radius: inherit; }
.pt-service .pt-link-arrow{ transition: color .25s ease, letter-spacing .25s ease; }
/* transform на ссылке нельзя: иначе ::after-оверлей сжимается до размеров ссылки */
.pt-service__image img{ transition: filter .4s ease; }
.pt-service__icon{ transition: background .3s ease, color .3s ease, transform .3s ease; }
.pt-service .pt-h3{ transition: color .25s ease; }
@media (hover:hover){
  .pt-service:hover{ transform: translateY(-6px); box-shadow: 0 22px 48px rgba(60,40,20,.13); }
  .pt-service:hover .pt-service__image img{ filter: brightness(1.05) saturate(1.05); }
  .pt-service:hover .pt-service__icon{ background: var(--pt-accent); color: var(--pt-button-text); transform: scale(1.06); }
  .pt-service:hover .pt-h3{ color: var(--pt-accent-2); }
  .pt-service:hover .pt-link-arrow{ color: var(--pt-accent); letter-spacing:.24em; }
}
.pt-service:focus-within{ box-shadow: 0 0 0 2px var(--pt-accent), var(--pt-shadow); }
.pt-service .pt-link-arrow:focus{ outline:none; }


/* Страница «Портфолио»: категории и чипсы */
.pt-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:26px; }
.pt-chip{ display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:999px; border:1px solid var(--pt-line); background: var(--pt-surface); color: var(--pt-text); text-decoration:none; font-size:14px; transition: .2s ease; }
.pt-chip span{ font-size:12px; color: var(--pt-muted); background: var(--pt-bg-warm); border-radius:999px; padding:2px 8px; transition:.2s; }
.pt-chip:hover{ border-color: var(--pt-accent); color: var(--pt-accent-2); }
.pt-chip:hover span{ background: var(--pt-accent); color: var(--pt-button-text); }
.pt-hub-head{ padding-bottom: 56px; }
.pt-hub-sec{ padding: 80px 0; background: var(--pt-bg); scroll-margin-top: 80px; }
.pt-hub-sec--warm{ background: var(--pt-bg-warm); }
.pt-hub-sec .pt-section-head{ margin-bottom: 36px; }
.pt-hub-sec .pt-h2 a{ color: inherit; text-decoration:none; transition: color .2s; }
.pt-hub-sec .pt-h2 a:hover{ color: var(--pt-accent-2); }
.pt-hub-desc{ color: var(--pt-muted); margin: 0; max-width: 560px; }
.pt-pf-others{ margin-top: 64px; text-align:center; }
.pt-pf-others .pt-chips{ margin-top: 6px; }
@media (max-width: 640px){
  .pt-hub-sec{ padding: 56px 0; }
  .pt-hub-sec .pt-section-head--row{ align-items:flex-start; }
}


/* =====================================================================
 * Лендинг категории портфолио («Крещение»)
 * ===================================================================== */
.pt-lp-preview{ background: var(--pt-accent); color: var(--pt-button-text); text-align:center; font-size:13px; padding:8px 16px; }
.pt-lp-center{ text-align:center; }
.pt-lp-textlink{ color: var(--pt-text); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--pt-accent); font-size:15px; transition: color .2s; }
.pt-lp-textlink:hover{ color: var(--pt-accent-2); }

/* Первый экран */
.pt-lp-hero{ background: linear-gradient(180deg, var(--pt-bg) 0%, var(--pt-bg-warm) 100%); padding: 40px 0 70px; overflow:hidden; }
.pt-lp-hero__grid{ display:grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items:center; }
.pt-lp-hero .pt-lead{ max-width: 520px; }
.pt-lp-hero__actions{ display:flex; align-items:center; gap: 22px; flex-wrap:wrap; }
.pt-lp-sign{ margin: 22px 0 0; font-size: 13px; color: var(--pt-muted); letter-spacing: .04em; }
.pt-lp-hero__media{ position:relative; padding: 0 0 48px 26%; }
.pt-lp-hero__main{ border-radius: var(--pt-radius); overflow:hidden; box-shadow: var(--pt-shadow); aspect-ratio: 4/5; background: var(--pt-bg-soft); }
.pt-lp-hero__main img{ width:100%; height:100%; object-fit:cover; }
.pt-lp-hero__small{ position:absolute; left:0; bottom:0; width: 40%; aspect-ratio: 3/4; border-radius: var(--pt-radius); overflow:hidden; border: 2px solid var(--pt-accent); box-shadow: 0 18px 40px rgba(60,40,20,.14); background: var(--pt-bg-soft); }
.pt-lp-hero__small img{ width:100%; height:100%; object-fit:cover; }

/* Полоса под первым экраном */
.pt-lp-strip{ list-style:none; margin: 0; padding: 22px 0; display:grid; grid-template-columns: repeat(3,1fr); border-top:1px solid var(--pt-line); border-bottom:1px solid var(--pt-line); }
.pt-lp-strip li{ text-align:center; color: var(--pt-text); font-family: var(--pt-font-serif); font-size: 20px; }
.pt-lp-strip li + li{ border-left: 1px solid var(--pt-line); }

/* Карусель серий */
.pt-lp-series{ padding: 80px 0 70px; background: var(--pt-bg); }
.pt-lp-series .pt-section-head{ margin-bottom: 32px; }
.pt-lp-sub{ color: var(--pt-muted); margin: 0; }
.pt-lp-carousel__nav{ display:flex; gap: 8px; }
.pt-lp-carousel__nav .pt-iconbtn{ cursor:pointer; font-size: 22px; }
.pt-lp-carousel{
  display:grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 60px) / 4); gap: 20px;
  overflow-x:auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 4px 24px; margin: 0 -4px;
  scrollbar-width: thin; scrollbar-color: var(--pt-line) transparent;
}
.pt-lp-carousel:focus-visible{ outline: 2px solid var(--pt-accent); outline-offset: 4px; }
.pt-lp-carousel > .pt-shoot-card{ scroll-snap-align: start; width:auto; }
.pt-lp-carousel .pt-shoot-card:hover{ transform: translateY(-3px); }
.pt-lp-series .pt-lp-center{ margin: 18px 0 0; }

/* Подход */
.pt-lp-about{ padding: 90px 0; background: var(--pt-bg-warm); }
.pt-lp-about__grid{ display:grid; grid-template-columns: 1fr 1.05fr; gap: 64px; align-items:center; }
.pt-lp-about__media{ border-radius: var(--pt-radius); overflow:hidden; box-shadow: var(--pt-shadow); aspect-ratio: 4/5; max-height: 640px; background: var(--pt-bg-soft); }
.pt-lp-about__media img{ width:100%; height:100%; object-fit:cover; }
.pt-lp-about__lead{ font-family: var(--pt-font-serif); font-size: 22px; line-height: 1.4; color: var(--pt-text); margin: 0 0 22px; }
.pt-lp-about__text p:not(.pt-lp-about__lead){ color: var(--pt-muted); line-height: 1.75; margin: 0 0 16px; }

/* Стоимость */
.pt-lp-price{ padding: 90px 0; background: var(--pt-bg); }
.pt-lp-price .pt-h2{ margin-bottom: 36px; }
.pt-lp-price__card{
  display:grid; grid-template-columns: 300px 1fr 260px; gap: 36px; align-items:center;
  background: var(--pt-surface); border: 1px solid var(--pt-line); border-radius: var(--pt-radius); box-shadow: var(--pt-shadow); padding: 22px;
}
.pt-lp-price__img{ border-radius: var(--pt-radius-sm); overflow:hidden; aspect-ratio: 4/3; background: var(--pt-bg-soft); }
.pt-lp-price__img img{ width:100%; height:100%; object-fit:cover; }
.pt-lp-price__list{ list-style:none; padding:0; margin: 12px 0 14px; display:grid; gap: 8px; }
.pt-lp-price__list li{ display:flex; align-items:center; gap: 10px; color: var(--pt-text); }
.pt-lp-price__list li::before{ content:"✓"; width:24px; height:24px; flex:0 0 24px; border-radius:50%; border:1px solid var(--pt-line); color: var(--pt-accent); display:inline-flex; align-items:center; justify-content:center; font-size:12px; }
.pt-lp-price__text{ color: var(--pt-muted); font-size: 14px; margin: 0; }
.pt-lp-price__aside{ border-left: 1px solid var(--pt-line); padding-left: 32px; }
.pt-lp-price__aside p{ color: var(--pt-muted); margin: 0 0 16px; }

/* Как проходит */
.pt-lp-steps{ padding: 90px 0; background: var(--pt-bg-warm); }
.pt-lp-steps .pt-h2{ margin-bottom: 40px; }
.pt-lp-steps__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3,1fr); }
.pt-lp-steps__list li{ display:flex; gap: 18px; padding: 4px 28px; }
.pt-lp-steps__list li + li{ border-left: 1px solid var(--pt-line); }
.pt-lp-steps__num{ font-family: var(--pt-font-serif); font-size: 44px; line-height: 1; color: var(--pt-accent); }
.pt-lp-steps__list .pt-h3{ margin: 4px 0 8px; }
.pt-lp-steps__list p{ color: var(--pt-muted); margin:0; font-size: 15px; line-height: 1.65; }

/* Вопросы */
.pt-lp-faq{ padding: 90px 0; background: var(--pt-bg); }
.pt-lp-faq .pt-h2{ margin-bottom: 36px; }
.pt-lp-faq__list{ max-width: 860px; margin: 0 auto; display:grid; gap: 12px; }
.pt-lp-faq__item{ background: var(--pt-surface); border: 1px solid var(--pt-line); border-radius: var(--pt-radius-sm); transition: border-color .2s, box-shadow .2s; }
.pt-lp-faq__item[open]{ border-color: var(--pt-accent); box-shadow: var(--pt-shadow); }
.pt-lp-faq__item summary{ list-style:none; cursor:pointer; padding: 18px 56px 18px 22px; position:relative; font-size: 16px; color: var(--pt-text); }
.pt-lp-faq__item summary::-webkit-details-marker{ display:none; }
.pt-lp-faq__item summary::after{ content:""; position:absolute; right:24px; top:50%; width:9px; height:9px; border-right:1.5px solid var(--pt-accent-2); border-bottom:1.5px solid var(--pt-accent-2); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.pt-lp-faq__item[open] summary::after{ transform: translateY(-30%) rotate(-135deg); }
.pt-lp-faq__item summary:focus-visible{ outline: 2px solid var(--pt-accent); outline-offset: 2px; border-radius: var(--pt-radius-sm); }
.pt-lp-faq__item p{ margin: 0; padding: 0 22px 20px; color: var(--pt-muted); line-height: 1.7; }

/* Ссылка из серии на условия */
.pt-shoot-order{ text-align:center; margin: 40px 0 0; color: var(--pt-muted); }
.pt-shoot-order a{ color: var(--pt-accent-2); }

@media (max-width: 1024px){
  .pt-lp-hero__grid, .pt-lp-about__grid{ grid-template-columns: 1fr; gap: 36px; }
  .pt-lp-hero__media{ max-width: 560px; }
  .pt-lp-carousel{ grid-auto-columns: calc((100% - 40px) / 3); }
  .pt-lp-price__card{ grid-template-columns: 240px 1fr; }
  .pt-lp-price__aside{ grid-column: 1 / -1; border-left:0; padding-left:0; border-top:1px solid var(--pt-line); padding-top: 20px; display:flex; align-items:center; justify-content:space-between; gap: 16px; flex-wrap:wrap; }
  .pt-lp-price__aside p{ margin:0; }
}
@media (max-width: 760px){
  .pt-lp-steps__list{ grid-template-columns: 1fr; gap: 26px; }
  .pt-lp-steps__list li{ padding: 0; }
  .pt-lp-steps__list li + li{ border-left:0; border-top: 1px solid var(--pt-line); padding-top: 26px; }
}
@media (max-width: 640px){
  .pt-lp-hero{ padding: 28px 0 48px; }
  .pt-lp-hero__media{ padding-left: 20%; padding-bottom: 36px; }
  .pt-lp-strip{ grid-template-columns: 1fr; padding: 8px 0; }
  .pt-lp-strip li{ padding: 12px 0; font-size: 18px; }
  .pt-lp-strip li + li{ border-left:0; border-top:1px solid var(--pt-line); }
  .pt-lp-series, .pt-lp-about, .pt-lp-price, .pt-lp-steps, .pt-lp-faq{ padding: 56px 0; }
  .pt-lp-carousel{ grid-auto-columns: 78%; gap: 14px; }
  .pt-lp-price__card{ grid-template-columns: 1fr; padding: 16px; gap: 18px; }
  .pt-lp-about__lead{ font-size: 19px; }
  .pt-lp-faq__item summary{ padding: 16px 48px 16px 16px; font-size: 15px; }
  .pt-lp-faq__item p{ padding: 0 16px 18px; }
}
.pt-lp-carousel{ scrollbar-width:none; }
.pt-lp-carousel::-webkit-scrollbar{ display:none; }


/* Лендинг: вертикальные отступы между блоками уменьшены вдвое */
.pt-lp .pt-lp-hero{ padding: 20px 0 35px; }
.pt-lp .pt-lp-series{ padding: 40px 0 35px; }
.pt-lp .pt-lp-about, .pt-lp .pt-lp-price, .pt-lp .pt-lp-steps, .pt-lp .pt-lp-faq, .pt-lp .pt-lp-cta{ padding: 45px 0; }
.pt-lp .pt-lp-series .pt-section-head{ margin-bottom: 16px; }
.pt-lp .pt-lp-price .pt-h2, .pt-lp .pt-lp-faq .pt-h2{ margin-bottom: 18px; }
.pt-lp .pt-lp-steps .pt-h2{ margin-bottom: 20px; }
@media (max-width: 640px){
  .pt-lp .pt-lp-hero{ padding: 14px 0 24px; }
  .pt-lp .pt-lp-series, .pt-lp .pt-lp-about, .pt-lp .pt-lp-price, .pt-lp .pt-lp-steps, .pt-lp .pt-lp-faq, .pt-lp .pt-lp-cta{ padding: 28px 0; }
}

/* ---------- Отзывы: крупные фото на главной и лендинге ---------- */
.pt-review__author{ gap:16px; font-size:15px; }
.pt-review__author span:not(.pt-review__avatar){ color: var(--pt-text); font-weight:500; }
.pt-review__avatar{ width:72px; height:72px; flex:0 0 72px; box-shadow: 0 0 0 3px var(--pt-surface), 0 0 0 4px var(--pt-line); }
.pt-reviews__more{ text-align:center; margin-top:32px; }

/* ---------- Страница «Отзывы» ---------- */
.pt-rv-intro{ max-width:760px; margin:0 auto 40px; text-align:center; color: var(--pt-muted); font-size:17px; }
.pt-rv-grid{ columns: 3 300px; column-gap:24px; }
.pt-rv-grid > *{ margin:0; }
.pt-rv{ break-inside:avoid; background: var(--pt-surface); border-radius: var(--pt-radius); box-shadow: var(--pt-shadow); padding:24px; margin:0 0 24px !important; display:inline-block; width:100%; box-sizing:border-box; }
.pt-rv__head{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.pt-rv .pt-rv__photo{ border-radius:50% !important; max-width:none; margin:0; width:88px; height:88px; flex:0 0 88px; border-radius:50%; object-fit:cover; box-shadow: 0 0 0 3px var(--pt-surface), 0 0 0 4px var(--pt-line); }
.pt-rv__name{ font-family: var(--pt-font-serif); font-size:24px; line-height:1.2; color: var(--pt-text); }
.pt-rv__text{ margin:0; color: var(--pt-text); line-height:1.6; }
.pt-rv-cta{ text-align:center; padding:56px 20px 16px; }
.pt-rv-cta p{ color: var(--pt-muted); max-width:560px; margin:12px auto 24px; }
.pt-rv-cta__buttons{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
@media (max-width:600px){ .pt-rv .pt-rv__photo{ width:72px; height:72px; flex-basis:72px; } .pt-rv__name{ font-size:21px; } }

/* ---------- Подвал: навигация и контакты ---------- */
.pt-footer__cols{ display:grid; grid-template-columns: 2fr 1fr 1fr; gap:32px; padding-top:48px; padding-bottom:32px; border-bottom:1px solid var(--pt-line); }
.pt-footer__title{ font-family: var(--pt-font-serif); font-size:22px; color: var(--pt-text); margin:0 0 8px; }
.pt-footer__about p:not(.pt-footer__title){ color: var(--pt-muted); margin:0; max-width:360px; }
.pt-footer__links{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.pt-footer__links a{ color: var(--pt-text); text-decoration:none; }
.pt-footer__links a:hover{ color: var(--pt-accent-2); }
@media (max-width:760px){ .pt-footer__cols{ grid-template-columns:1fr; gap:24px; padding-top:36px; } }

/* ---------- Перелинковка ---------- */
.pt-hero .pt-lead a, .pt-review__author a{ color: inherit; text-decoration: underline; text-decoration-color: var(--pt-accent); text-underline-offset:3px; }
.pt-hub-more{ margin:10px 0 0; }
.pt-shoot-order--reviews{ margin-top:8px; }
