
/* ============================================================
   Обработка фото для маркетплейсов — photo-marketplace.online
   Спокойный editorial-интерфейс без агрессивных рекламных приёмов.
   ============================================================ */
:root {
  --paper: #F3F5F4;
  --paper-deep: #E7ECEA;
  --surface: #FFFFFF;
  --ink: #223030;
  --ink-soft: #566666;
  --accent: #1E6B6D;
  --accent-deep: #164F51;
  --line: #CFD8D6;
  --error: #8E2A1D;
  --footer-bg: #1F2929;
  --footer-text: #F3F5F4;

  --serif: Georgia, 'Times New Roman', serif;
  --sans: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

  --radius: 4px;
  --container: 1180px;
  --section-pad: clamp(4.5rem, 3rem + 6vw, 8rem);
  --shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0}
a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--accent)}
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--surface)}

h1,h2,h3,.display-serif{font-family:var(--serif);font-weight:400;color:var(--ink)}
h1{font-size:clamp(2.125rem,1.4rem + 3.4vw,3.75rem);line-height:1.12;letter-spacing:-.01em}
h2{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.625rem);line-height:1.2;letter-spacing:-.005em}
h3{font-size:1.25rem;line-height:1.35}
.lead{font-size:1.125rem;line-height:1.7;color:var(--ink-soft)}
.small{font-size:.875rem}.req{color:var(--accent-deep)}
.eyebrow{font-size:.8125rem;line-height:1.4;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}
.eyebrow::before{content:"";display:inline-block;width:1.5rem;height:1px;background:currentColor;vertical-align:middle;margin-right:.75rem}

.container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
.section{padding-block:var(--section-pad)}
.section + .section,.section--rule{border-top:1px solid var(--line)}
.section__head{max-width:44rem;margin-bottom:clamp(2.5rem,2rem + 2vw,4rem)}
.section__head p + p{margin-top:.75rem}
.section__head .lead{margin-top:1.25rem}
.note{margin-top:1.25rem;color:var(--ink-soft)}
.rule-list{list-style:none}.rule-list>li{border-top:1px solid var(--line);padding-block:1.15rem}.rule-list>li:last-child{border-bottom:1px solid var(--line)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.875rem 1.75rem;font-family:var(--sans);font-size:1rem;line-height:1.2;font-weight:600;text-decoration:none;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.btn-primary{background:var(--accent);color:var(--surface)}
.btn-primary:hover{background:var(--accent-deep);color:var(--surface)}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-secondary:hover{background:var(--paper-deep);color:var(--ink)}
@media (prefers-reduced-motion: reduce){.btn{transition:none}}

.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--accent);color:var(--surface);padding:.75rem 1.25rem;text-decoration:none;border-radius:var(--radius);transition:top .15s ease}
.skip-link:focus{top:1rem}

.site-header{position:sticky;top:0;z-index:50;background:rgba(243,245,244,.92);backdrop-filter:saturate(130%) blur(8px);border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;gap:1rem;min-height:78px}
.wordmark{font-family:var(--serif);font-size:1.42rem;line-height:1;text-decoration:none;color:var(--ink);white-space:nowrap}
.wordmark span{color:var(--accent)}
.site-nav{display:flex;align-items:center;gap:1.25rem;margin-left:auto}
.site-nav a{text-decoration:none;color:var(--ink-soft)}
.site-nav a:hover{color:var(--ink)}
.site-header__cta{margin-left:.25rem;white-space:nowrap}
@media (max-width:850px){.site-header__inner{flex-wrap:wrap;padding-block:.9rem}.site-nav{order:3;flex:1 1 100%;justify-content:flex-start;overflow:auto;padding-bottom:.15rem}.site-header__cta{margin-left:auto}}
@media (max-width:540px){.site-nav{gap:1rem;font-size:.95rem}.site-header__cta{width:100%}}

.hero{padding-block:clamp(3rem,2.2rem + 3vw,5rem)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(1.75rem,1rem + 3vw,4rem);align-items:center}
.hero__sub{margin-top:1.35rem;font-size:1.12rem;color:var(--ink-soft);max-width:40rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:1.75rem}
.hero__benefits{list-style:none;display:grid;gap:.8rem;margin-top:1.75rem;color:var(--ink-soft)}
.hero__benefits li{padding-left:1.1rem;position:relative}.hero__benefits li::before{content:"";position:absolute;left:0;top:.78rem;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero__figure img{width:100%;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface)}
.hero__caption,.fig-caption,.size-guide__caption{margin-top:.75rem;font-size:.92rem;color:var(--ink-soft)}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr}}

.photos-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.5rem,1rem + 3vw,4rem)}
.photos-grid__intro p + p{margin-top:1rem}.photos-grid__list{list-style:none}.photos-grid__list li{display:flex;gap:1rem;align-items:flex-start}.num{flex:0 0 auto;font-family:var(--serif);font-size:1.05rem;color:var(--accent);min-width:2.2rem}
@media (max-width:860px){.photos-grid{grid-template-columns:1fr}}

.prices-table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.prices-table{width:100%;border-collapse:collapse;min-width:620px}.prices-table th,.prices-table td{padding:1rem 1.15rem;text-align:left;border-bottom:1px solid var(--line)}.prices-table tbody tr:last-child td{border-bottom:none}.prices-table th{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;background:var(--paper-deep)}.prices-table .price{font-weight:700}.row-popular{background:#F7FBFA}.tag{display:inline-block;margin-left:.75rem;padding:.25rem .55rem;font-size:.73rem;line-height:1.1;font-weight:700;border:1px solid var(--accent);color:var(--accent-deep);border-radius:999px;vertical-align:middle}
.prices-included{display:grid;grid-template-columns:auto 1fr 1fr;gap:1.6rem;align-items:flex-start;margin-top:1.75rem}@media (max-width:900px){.prices-included{grid-template-columns:1fr}}

.size-guide__media img{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.size-guide__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;list-style:none}.size-guide__list li{padding:1rem 1rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.size-guide__sizes{font-family:var(--serif);font-size:1.15rem;margin-bottom:.45rem}@media (max-width:860px){.size-guide__list{grid-template-columns:1fr}}

.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.steps__item{padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.steps__num{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border-radius:50%;background:var(--paper-deep);color:var(--accent-deep);font-family:var(--serif);margin-bottom:1rem}.steps__body p{margin-top:.5rem;color:var(--ink-soft)}@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.steps{grid-template-columns:1fr}}

.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.mosaic__item{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.mosaic__item img{width:100%;aspect-ratio:4/3;object-fit:cover}.mosaic__item figcaption{padding:.9rem 1rem 1rem;color:var(--ink-soft)}.mosaic__item--a{grid-column:span 7}.mosaic__item--b{grid-column:span 5}.mosaic__item--c{grid-column:span 5}.mosaic__item--d{grid-column:span 7}@media (max-width:860px){.mosaic{grid-template-columns:1fr}.mosaic__item--a,.mosaic__item--b,.mosaic__item--c,.mosaic__item--d{grid-column:auto}}

.workshop-grid,.order-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:start}.workshop-grid__media img{width:100%;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface)}.workshop-grid__list{padding-left:1.1rem}.workshop-grid__list li + li{margin-top:.8rem}@media (max-width:900px){.workshop-grid,.order-grid{grid-template-columns:1fr}}

.faq-list{display:grid;gap:1rem}.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.faq-item summary{cursor:pointer;list-style:none;padding:1rem 1.1rem;font-weight:600}.faq-item summary::-webkit-details-marker{display:none}.faq-item__body{padding:0 1.1rem 1rem;color:var(--ink-soft)}

.order-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.15rem,1rem + 1vw,1.65rem);box-shadow:var(--shadow)}
.form-row + .form-row{margin-top:1rem}label{display:block;font-weight:600;margin-bottom:.45rem}input[type="text"],input[type="tel"],input[type="email"],select,textarea{width:100%;padding:.85rem .95rem;border:1px solid #B7C7C5;border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit}textarea{min-height:138px;resize:vertical}input::placeholder,textarea::placeholder{color:#6F7E7C}
.form-row--consent{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start}.form-row--consent input{margin-top:.3rem}.hp-field{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important}.form-error{margin-top:1rem;padding:.85rem 1rem;background:#FFF1EF;color:var(--error);border:1px solid #E7B7AE;border-radius:var(--radius)}.form-submit{margin-top:1.15rem;width:100%}.form-contract{margin-top:1rem;color:var(--ink-soft);font-size:.93rem}

.info-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:2rem}.info-list div + div{margin-top:1rem}.info-list dt{font-weight:700}.info-list dd{margin-top:.25rem;color:var(--ink-soft)}.u-mt-35{margin-top:3.5rem}.u-mt-2{margin-top:1.25rem}.u-mt-1{margin-top:.6rem}.u-max-44{max-width:44rem}.centered{text-align:center}.centered .btn{margin-top:1.25rem}
@media (max-width:860px){.info-grid{grid-template-columns:1fr}}

.doc{background:var(--surface);padding:clamp(1.3rem,1rem + 1vw,2rem);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.doc h2 + p,.doc h3 + p,.doc p + p,.doc ul + p,.doc p + ul{margin-top:.9rem}.doc h2{margin-top:2rem}.doc h3{margin-top:1.5rem}.doc ul{padding-left:1.1rem}.doc li + li{margin-top:.5rem}

.site-footer{background:var(--footer-bg);color:var(--footer-text);padding-block:3rem 1.5rem;margin-top:0}.site-footer a{color:var(--footer-text)}.site-footer__grid{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:2rem}.site-footer__note{margin-top:1rem;color:rgba(243,245,244,.8)}.site-footer__nav,.site-footer__requisites{display:grid;gap:.45rem;align-content:start}.site-footer__heading{font-weight:700;margin-bottom:.35rem}.site-footer__bottom{display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1rem;color:rgba(243,245,244,.82)}
@media (max-width:900px){.site-footer__grid{grid-template-columns:1fr}}
