:root{
  --bg:#ffffff;
  --paper:#ffffff;
  --ink:#241914;
  --chocolate:#8b6957;
  --chocolate-strong:#755647;
  --chocolate-soft:rgba(139,105,87,.08);
  --line:rgba(36,25,20,.10);
  --line-strong:rgba(139,105,87,.22);
  --muted:rgba(36,25,20,.64);
  --shadow:0 16px 36px rgba(36,25,20,.04);
  --shadow-soft:0 8px 20px rgba(36,25,20,.025);
  --font-body:'Wix Madefor Text','Wix Madefor Display',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --font-heading:'Cormorant Garamond','Playfair Display',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.58;font-weight:400}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--font-heading);font-weight:600;margin:0;color:var(--ink);letter-spacing:-.03em}
h1{font-size:42px;line-height:1.02}
h2{font-size:32px;line-height:1.08}
h3{font-size:22px;line-height:1.12}
p{margin-top:0}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:500;color:var(--chocolate);margin:0 0 10px}
.muted{color:var(--muted);line-height:1.7}
.btn,.menu-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 14px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:400;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;box-shadow:none;white-space:nowrap;max-width:100%}
.btn:hover,.menu-btn:hover{border-color:var(--chocolate);box-shadow:0 0 0 3px rgba(139,105,87,.07)}
.btn:focus-visible,.menu-btn:focus-visible,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.copy-input:focus{outline:none;border-color:var(--chocolate);box-shadow:0 0 0 3px rgba(139,105,87,.1)}
.btn.primary{background:var(--chocolate);border-color:var(--chocolate);color:#fff}
.btn.primary:hover{background:var(--chocolate-strong);border-color:var(--chocolate-strong)}
.btn.ghost{background:#fff;border-color:var(--line)}
.btn.soft{background:var(--chocolate-soft);border-color:rgba(139,105,87,.12)}
.btn.small{min-height:34px;padding:0 11px;font-size:14px}
.btn.wide{width:100%}
.btn.danger{background:#fff;border-color:var(--line);color:var(--ink)}
.btn .ico,.menu-btn .ico,.nav-label .ico{display:inline-grid;place-items:center;width:14px;height:14px;font-size:13px;line-height:1;flex:0 0 14px}
.notice{padding:13px 14px;margin:0 0 16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.notice.success{border-color:rgba(139,105,87,.26)}
.notice.danger{border-color:rgba(150,70,60,.18)}
.form-grid{display:grid;gap:14px}
.form-grid label{display:grid;gap:7px;font-weight:400;color:var(--ink)}
.form-grid small{font-weight:400;color:var(--muted);line-height:1.45}
.form-grid input,.form-grid textarea,.form-grid select,.copy-input{width:100%;border:1px solid var(--line);background:#fff;padding:12px 13px;font:inherit;color:var(--ink);outline:none}
.form-grid textarea{resize:vertical;min-height:110px}
.form-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}
.copy-input{font-size:13px;color:var(--muted)}
.actions-row,.hero-actions,.card-actions,.album-downloads,.photo-downloads{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.empty{padding:20px;border:1px dashed var(--line-strong);color:var(--muted);background:#fff}
.meta-list{display:grid;gap:10px;padding:0;margin:16px 0 0;list-style:none}
.meta-list li{display:flex;gap:10px;color:var(--muted);align-items:flex-start}
.meta-list .ico{color:var(--chocolate)}

.install-page{min-height:100vh;background:#fff}
.install-shell{min-height:100vh;display:grid;place-items:center;padding:22px}
.install-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:28px}
.install-card h1{margin-bottom:10px}

.public-home{min-height:100vh;background:#fff}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.site-brand{display:flex;align-items:center;gap:11px;font-weight:500}
.site-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--chocolate);color:#fff;font-family:var(--font-heading);font-size:20px}
.site-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.photographer-hero{padding:34px 18px 22px;display:grid;gap:24px}
.photographer-copy{max-width:760px}
.photographer-copy h1{font-size:50px;max-width:840px}
.photographer-copy .lead{font-size:18px;line-height:1.72;color:var(--muted);margin:18px 0 22px;max-width:680px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.hero-meta span{border:1px solid var(--line);background:#fff;padding:8px 11px;color:var(--muted);font-size:14px}
.hero-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-gallery figure{margin:0;min-height:150px;background:#fff;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.hero-gallery img{width:100%;height:100%;object-fit:cover}
.hero-gallery .large{grid-column:span 2;min-height:260px}
.public-highlights{display:grid;gap:12px;padding:0 18px 12px}
.highlight-card,.public-album-card,.about-public,.public-note,.hero-admin,.panel,.album-card,.stats div,.settings-list div,.log-row,.feature-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.highlight-card{padding:16px}
.highlight-card b{display:block;font-size:17px;font-weight:500;margin-bottom:6px;color:var(--ink)}
.highlight-card p{margin:0;color:var(--muted)}
.public-section{padding:22px 18px}
.public-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.public-album-grid{display:grid;grid-template-columns:1fr;gap:16px}
.public-album-card{display:block;padding:10px;transition:.16s ease}.public-album-card:hover{transform:translateY(-1px)}
.public-album-card .thumb{height:240px;overflow:hidden;background:#fff;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line)}
.public-album-card .thumb img{width:100%;height:100%;object-fit:cover}
.public-album-card h3{margin:12px 4px 4px}.public-album-card p{margin:0 4px 6px;color:var(--muted)}
.about-grid{display:grid;gap:18px;padding:0 18px 70px}
.about-public,.public-note{padding:22px}.about-public p,.public-note p{color:var(--muted);line-height:1.75;margin:12px 0 0}.public-note .actions-row{margin-top:18px}

.admin-body{background:#fff}
.admin-layout{min-height:100vh}
.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:242px;background:#fff;color:var(--ink);padding:18px;border-right:1px solid var(--line);transform:translateX(-102%);transition:.24s ease;box-shadow:0 0 0 999px rgba(36,25,20,.12)}
.sidebar.open{transform:translateX(0)}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--chocolate);color:#fff;font-family:var(--font-heading);font-weight:600;font-size:20px}.brand b{font-weight:500}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:11px 12px;color:var(--ink);font-weight:400;display:flex;align-items:center;gap:10px}.sidebar nav a.active,.sidebar nav a:hover{background:var(--chocolate-soft);color:var(--ink)}
.admin-main{min-width:0}.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;justify-content:space-between;padding:14px 18px}.topbar h1{font-size:25px}.menu-btn{padding:0 14px}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.top-actions span{display:none;color:var(--muted);font-weight:400}.content{padding:22px 18px 60px}.content>*{max-width:1420px;margin-left:auto;margin-right:auto}.hero-admin,.panel{padding:18px}.hero-admin p{max-width:720px;color:var(--muted);line-height:1.7}.hero-admin h2{font-size:46px;margin-bottom:8px}.stats{display:grid;grid-template-columns:1fr;gap:12px;margin:18px auto}.stats div{padding:16px}.stats b{font-size:34px;display:block;color:var(--ink);font-weight:500}.stats span{color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px auto 14px;flex-wrap:wrap}
.album-grid{display:grid;grid-template-columns:1fr;gap:16px}.album-grid.admin-cards{align-items:start}.album-card{padding:10px}.album-card .thumb{height:180px;overflow:hidden;background:#fff;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line)}.album-card .thumb img{width:100%;height:100%;object-fit:cover}.album-card h3{margin:12px 4px 4px;font-size:28px}.album-card p{margin:0 4px 10px;color:var(--muted)}
.edit-layout{display:grid;gap:14px;align-items:start}.photo-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.photo-admin-grid figure{margin:0;background:#fff;border:1px solid var(--line);padding:6px}.photo-admin-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}.photo-admin-grid figcaption{font-size:11px;color:var(--muted);padding:6px 0 8px;word-break:break-word}.photo-admin-grid form{display:flex}.dropzone{border:1px dashed var(--line-strong);padding:18px;background:#fff;text-align:center;display:grid;gap:10px}.dropzone span{display:block;color:var(--ink)}.dropzone small{color:var(--muted)}.dropzone input{border:0;padding:0;background:transparent;max-width:100%}
.settings-list{display:grid;gap:12px}.settings-list div,.log-row{padding:14px}.settings-list b,.log-row b{font-weight:500}.settings-list span,.log-row span{display:block;color:var(--muted);margin-top:4px;word-break:break-word}.logs-grid{display:grid;gap:12px}.upload-layout{display:grid;gap:14px}.upload-help ul{margin:14px 0 0;padding-left:18px;color:var(--muted);line-height:1.7}.upload-help li+li{margin-top:6px}

.album-public{background:#fff}.album-header{padding:30px 18px;border-bottom:1px solid var(--line);display:grid;gap:18px;background:#fff}.album-header h1{font-size:42px}.album-header p{color:var(--muted);line-height:1.7;max-width:760px}.back-link{display:inline-flex;margin-bottom:16px;color:var(--muted);font-size:14px}.album-wrap{padding:20px 18px 70px}.public-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:12px}.public-photo{background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow-soft);min-width:0}.public-photo img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;cursor:zoom-in}.public-photo:nth-child(6n+1){grid-row:span 2}.public-photo:nth-child(6n+1) img{aspect-ratio:1/1.55}.public-photo:nth-child(6n+4){grid-column:span 2}.public-photo:nth-child(6n+4) img{aspect-ratio:1.75/1}.photo-actions{display:grid;gap:8px;padding:12px}.photo-actions span{font-weight:400;max-width:100%;word-break:break-word;color:var(--muted);font-size:13px}.photo-downloads a{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:var(--chocolate)}
.lightbox{position:fixed;inset:0;background:rgba(36,25,20,.92);display:none;align-items:center;justify-content:center;z-index:50;padding:18px}.lightbox.open{display:flex}.lightbox-inner{display:grid;gap:16px;max-width:96vw;width:min(1180px,96vw)}.lightbox-stage{position:relative;background:#111;display:grid;place-items:center;min-height:60vh}.lightbox-stage img{max-height:78vh;max-width:100%}.lightbox-bar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;background:#fff;padding:14px;border:1px solid rgba(255,255,255,.12)}.lightbox-meta{color:#fff;font-size:14px;word-break:break-word}.lightbox-actions{display:flex;gap:10px;flex-wrap:wrap}.lightbox button[data-lightbox-close]{position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.95);font-size:24px;line-height:1;cursor:pointer;color:var(--ink)}

@media (min-width:720px){
  h1{font-size:48px}
  .content{padding:26px}
  .stats{grid-template-columns:repeat(3,1fr)}
  .album-grid{grid-template-columns:repeat(2,1fr)}
  .album-grid.wide{grid-template-columns:repeat(3,1fr)}
  .photographer-hero{grid-template-columns:1fr .95fr;align-items:center;padding:52px 42px 20px}
  .photographer-copy h1{font-size:72px}
  .hero-gallery .large{grid-column:auto;grid-row:span 2;min-height:430px}
  .public-highlights{grid-template-columns:repeat(3,1fr);padding:0 42px 14px}
  .public-section{padding:26px 42px}.public-album-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1.15fr .85fr;padding:0 42px 78px}
  .edit-layout{grid-template-columns:340px 1fr}
  .upload-layout{grid-template-columns:1.1fr .9fr}
  .album-header{grid-template-columns:1fr auto;align-items:end;padding:46px 42px}
  .album-wrap{padding:30px 42px 80px}
  .public-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
}
@media (min-width:1040px){
  .sidebar{transform:none;box-shadow:none}
  .admin-main{margin-left:242px}
  .menu-btn{display:none}
  .top-actions span{display:inline}
  .album-grid{grid-template-columns:repeat(3,1fr)}
  .album-grid.wide{grid-template-columns:repeat(4,1fr)}
  .content{padding:30px}
  .topbar{padding:16px 28px}
  .topbar h1{font-size:28px}
  .public-album-grid{grid-template-columns:repeat(3,1fr)}
  .site-header{padding:16px 42px}
  .public-section,.photographer-hero,.public-highlights{max-width:1440px;margin:0 auto}
  .about-grid{max-width:1356px;margin:0 auto 76px}
  .public-photos{grid-template-columns:repeat(5,minmax(0,1fr))}
  .photo-admin-grid{grid-template-columns:repeat(4,1fr)}
}


/* ===== Public editorial redesign ===== */
.public-editorial{background:#24201d;color:#f2eae1}
.public-editorial .site-header{border-bottom-color:rgba(255,255,255,.08);background:rgba(24,20,18,.82)}
.public-editorial .site-brand,.public-editorial .site-nav a{color:#f2eae1}
.public-editorial .site-mark{background:#3a302b;color:#fff}
.public-editorial .btn,.public-editorial .menu-btn{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.05);color:#f2eae1}
.public-editorial .btn:hover{border-color:rgba(255,255,255,.45);box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.public-editorial .btn.primary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#f2eae1}
.public-editorial .btn.ghost{background:transparent}
.public-editorial .btn.soft{background:rgba(255,255,255,.06)}
.editorial-main{padding-bottom:50px}
.pf-hero{position:relative;min-height:88vh;background:#1d1917 center center/cover no-repeat;display:flex;align-items:flex-end;padding:22px 18px}
.pf-hero--album{min-height:62vh}
.pf-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,14,.18) 0%, rgba(20,16,14,.52) 35%, rgba(20,16,14,.84) 100%)}
.pf-hero__content{position:relative;z-index:2;width:min(1180px,100%);margin:0 auto;display:grid;gap:18px}
.pf-hero__topline{display:flex;justify-content:space-between;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:rgba(242,234,225,.72)}
.pf-hero__side-note{font-family:var(--font-heading);font-size:16px;line-height:1.15;color:rgba(242,234,225,.78);max-width:80px}
.pf-hero__main{max-width:620px}
.pf-hero__main h1{font-size:58px;color:#f5eee7;margin:0 0 4px}
.pf-hero__subtitle{font-family:var(--font-heading);font-style:italic;font-size:30px;color:#f1e7dd;margin:0 0 18px}
.pf-hero__text{color:rgba(242,234,225,.86);max-width:520px;line-height:1.75;margin:0 0 20px}
.pf-hero__actions{display:flex;flex-wrap:wrap;gap:10px}
.pf-section{width:min(1180px,100%);margin:0 auto;padding:28px 18px 0}
.pf-section__head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.pf-section__head h2{font-size:40px;color:#f4eee7;letter-spacing:-.03em}
.pf-section__head h2 em{font-style:italic;font-weight:500}
.pf-section__head span{flex:1;height:1px;background:rgba(255,255,255,.22)}
.pf-about{display:grid;gap:16px}
.pf-about__image{background:#1d1a18;padding:8px;border:1px solid rgba(255,255,255,.14)}
.pf-about__image img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pf-about__content{background:#201c19;padding:18px;border:1px solid rgba(255,255,255,.12)}
.pf-about__hello{font-family:var(--font-heading);font-size:20px;color:#f4eee7;margin-bottom:10px}
.pf-about__content p{color:rgba(242,234,225,.82)}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.pf-stats div{border:1px solid rgba(255,255,255,.12);padding:12px 10px;text-align:center;background:rgba(255,255,255,.02)}
.pf-stats b{display:block;font-family:var(--font-heading);font-size:28px;color:#f4eee7}
.pf-stats span{color:rgba(242,234,225,.72);font-size:12px}
.pf-services-list{display:grid;gap:8px}
.pf-service-line{border:1px solid rgba(255,255,255,.16);padding:12px 14px;background:rgba(255,255,255,.03);font-size:14px;color:#efe4d8;letter-spacing:.02em}
.pf-cards{display:grid;gap:14px}
.pf-card{background:#1f1b18;border:1px solid rgba(255,255,255,.12);overflow:hidden}
.pf-card__media img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pf-card__body{padding:14px}
.pf-card__body h3{font-size:28px;color:#f4eee7;margin-bottom:4px}
.pf-card__body p{color:rgba(242,234,225,.74);margin-bottom:14px}
.pf-card__actions{display:flex}
.pf-contacts{display:grid;gap:10px;padding-bottom:30px}
.pf-contacts .btn{justify-content:flex-start}
.public-editorial .empty{border-color:rgba(255,255,255,.16);background:#1f1b18;color:rgba(242,234,225,.72)}

.public-editorial .public-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.public-editorial .public-photo{border:0;background:transparent;box-shadow:none}
.public-editorial .public-photo img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.96)}
.public-editorial .public-photo:nth-child(6n+1){grid-row:span 1}.public-editorial .public-photo:nth-child(6n+1) img{aspect-ratio:3/4}
.public-editorial .public-photo:nth-child(6n+4){grid-column:span 1}.public-editorial .public-photo:nth-child(6n+4) img{aspect-ratio:3/4}
.pf-section--album-grid{padding-top:26px}
.public-editorial .lightbox{background:rgba(14,11,10,.96)}
.public-editorial .lightbox-inner{width:min(1200px,96vw)}
.public-editorial .lightbox-stage{background:#111}
.public-editorial .lightbox-bar{background:#1c1816;border:1px solid rgba(255,255,255,.12)}
.public-editorial .lightbox-meta{color:#f4eee7}
.public-editorial .lightbox button[data-lightbox-close]{background:#f4eee7;border:0}

@media (min-width:760px){
  .pf-hero{padding:30px 34px}
  .pf-hero__content{grid-template-columns:120px 1fr;align-items:end}
  .pf-hero__main h1{font-size:92px}
  .pf-hero__subtitle{font-size:34px}
  .pf-section{padding-left:34px;padding-right:34px}
  .pf-about{grid-template-columns:280px 1fr;align-items:start}
  .pf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pf-contacts{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1100px){
  .pf-hero__main h1{font-size:112px}
  .pf-section__head h2{font-size:50px}
  .pf-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* ===== v1.6 editorial polish: Russian-first, readable, admin in same visual system ===== */
.btn,.menu-btn{white-space:normal;text-align:center;line-height:1.22;min-width:0;overflow-wrap:break-word}
.pf-hero__main h1{font-size:clamp(46px,9vw,104px);line-height:.92;letter-spacing:-.045em;max-width:760px;overflow-wrap:normal}
.pf-hero__subtitle{font-size:clamp(24px,4vw,36px);line-height:1;margin-top:8px;margin-bottom:18px}
.pf-hero__text{font-size:clamp(15px,1.3vw,18px)}
.pf-section__head h2{font-size:clamp(34px,4.6vw,54px);line-height:.98;white-space:normal}
.pf-section__head{align-items:center}
.pf-hero__side-note{font-family:var(--font-body);font-size:13px;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;color:rgba(242,234,225,.76)}
.public-editorial .site-nav .btn{min-width:96px}
.public-editorial .site-brand span:last-child{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Возвращаем асимметрию публичного альбома */
.public-editorial .pf-section--album-grid{width:min(1180px,100%)}
.public-editorial .public-photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:8px;align-items:stretch}
.public-editorial .public-photo{min-height:0}
.public-editorial .public-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;display:block}
.public-editorial .public-photo:nth-child(6n+1){grid-row:span 2}
.public-editorial .public-photo:nth-child(6n+1) img{aspect-ratio:1/1.65}
.public-editorial .public-photo:nth-child(6n+4){grid-column:span 2}
.public-editorial .public-photo:nth-child(6n+4) img{aspect-ratio:16/9}
.public-editorial .public-photo:nth-child(6n+5) img{aspect-ratio:4/5}
.public-editorial .public-photo:nth-child(6n+6) img{aspect-ratio:3/4}

/* Админка в той же тёмной editorial-системе */
.admin-body{background:#24201d;color:#f2eae1}
.admin-body h1,.admin-body h2,.admin-body h3{color:#f4eee7}
.admin-body .muted,.admin-body .album-card p,.admin-body .stats span,.admin-body .settings-list span,.admin-body .log-row span,.admin-body .brand small,.admin-body .top-actions span{color:rgba(242,234,225,.66)}
.admin-body .sidebar{background:#1b1715;color:#f2eae1;border-right:1px solid rgba(255,255,255,.1)}
.admin-body .brand-mark{background:#3a302b;color:#f4eee7;border:1px solid rgba(255,255,255,.12)}
.admin-body .sidebar nav a{color:#f2eae1;border:1px solid transparent}
.admin-body .sidebar nav a.active,.admin-body .sidebar nav a:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10)}
.admin-body .topbar{background:rgba(27,23,21,.94);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.admin-body .hero-admin,.admin-body .panel,.admin-body .album-card,.admin-body .stats div,.admin-body .settings-list div,.admin-body .log-row{background:#201c19;border:1px solid rgba(255,255,255,.12);box-shadow:none;color:#f2eae1}
.admin-body .hero-admin p{color:rgba(242,234,225,.72)}
.admin-body .album-card .thumb,.admin-body .photo-admin-grid figure,.admin-body .photo-admin-grid img{border-color:rgba(255,255,255,.12);background:#171311}
.admin-body .empty{background:#201c19;border-color:rgba(255,255,255,.2);color:rgba(242,234,225,.66)}
.admin-body .btn,.admin-body .menu-btn{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.18);color:#f2eae1}
.admin-body .btn.primary{background:#8b6957;border-color:#8b6957;color:#fff}
.admin-body .btn.ghost,.admin-body .btn.soft{background:transparent;color:#f2eae1}
.admin-body .btn:hover,.admin-body .menu-btn:hover{border-color:rgba(255,255,255,.36);box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.admin-body .form-grid input,.admin-body .form-grid textarea,.admin-body .form-grid select,.admin-body .copy-input{background:#181411;border-color:rgba(255,255,255,.16);color:#f2eae1}
.admin-body .form-grid input::placeholder,.admin-body .form-grid textarea::placeholder{color:rgba(242,234,225,.38)}
.admin-body .form-grid label{color:#f2eae1}
.admin-body .form-grid small{color:rgba(242,234,225,.58)}
.admin-body .dropzone{background:#181411;border-color:rgba(255,255,255,.24)}
.admin-body .dropzone small{color:rgba(242,234,225,.58)}
.admin-body .notice{background:#201c19;border-color:rgba(255,255,255,.15);color:#f2eae1}
.admin-body .copy-input.copied{border-color:#8b6957}
.admin-body .eyebrow{color:#c4aa99}
.admin-body .photo-admin-grid figcaption{color:rgba(242,234,225,.62)}
.admin-body .lightbox-bar{background:#201c19;border-color:rgba(255,255,255,.12)}

@media (min-width:760px){
  .pf-hero__content{grid-template-columns:110px 1fr}
}
@media (min-width:1040px){
  .public-editorial .public-photos{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .public-editorial .public-photo:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
  .public-editorial .public-photo:nth-child(6n+1) img{aspect-ratio:1/1}
  .public-editorial .public-photo:nth-child(6n+4){grid-column:span 2}
  .public-editorial .public-photo:nth-child(6n+4) img{aspect-ratio:16/9}
}
@media (max-width:520px){
  .editorial-header{align-items:flex-start;padding:10px 12px}
  .public-editorial .site-nav{display:grid;gap:6px;min-width:114px}
  .public-editorial .site-nav .btn{min-height:34px;padding:0 8px;font-size:13px;min-width:0}
  .public-editorial .site-brand{align-items:flex-start;gap:8px}
  .public-editorial .site-brand span:last-child{max-width:105px;white-space:normal;line-height:1.15}
  .site-mark{width:28px;height:28px;font-size:17px}
  .pf-hero{min-height:80vh;padding:18px 14px}
  .pf-hero__content{gap:14px}
  .pf-hero__topline{display:grid;gap:5px;font-size:10px;max-width:220px}
  .pf-hero__side-note{font-size:12px;line-height:1.3;max-width:78px}
  .pf-hero__main h1{font-size:clamp(48px,18vw,68px);line-height:.9;max-width:260px}
  .pf-hero__subtitle{font-size:28px;margin-top:8px;margin-bottom:14px}
  .pf-hero__text{max-width:245px;font-size:16px;line-height:1.55}
  .pf-section{padding-left:14px;padding-right:14px}
  .pf-section__head{gap:8px;margin-bottom:14px}
  .pf-section__head h2{font-size:36px;line-height:.96}
  .pf-about__content{padding:16px}
  .pf-stats{gap:6px}
  .pf-stats div{padding:10px 6px}
  .pf-stats b{font-size:24px}
  .pf-cards{gap:12px}
  .pf-card__body h3{font-size:26px}
  .public-editorial .public-photos{gap:7px}
  .lightbox-bar{display:grid}
  .lightbox-actions .btn{width:100%;min-height:42px}
  .admin-body .topbar{align-items:flex-start;gap:8px;flex-wrap:wrap}
  .topbar h1{order:3;width:100%;font-size:26px}
  .top-actions .btn{min-height:34px;font-size:13px;padding:0 9px}
  .admin-body .sidebar{width:230px}
}


/* ===== v1.7: светлее админка, аккуратнее контакты и публичная ссылка ===== */
.admin-body{background:#2a2420;color:#241914}
.admin-body .content{background:#f3eee7;min-height:calc(100vh - 64px)}
.admin-body .topbar{background:#1b1715;color:#f4eee7;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-body .topbar h1{color:#f4eee7}
.admin-body .sidebar{background:#1b1715;color:#f4eee7}
.admin-body .sidebar nav a{color:#f4eee7}
.admin-body .sidebar nav a.active,.admin-body .sidebar nav a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}
.admin-body .hero-admin,.admin-body .panel,.admin-body .album-card,.admin-body .stats div,.admin-body .settings-list div,.admin-body .log-row{background:#fffaf4;border:1px solid rgba(36,25,20,.12);box-shadow:0 14px 30px rgba(36,25,20,.045);color:#241914}
.admin-body h1,.admin-body h2,.admin-body h3{color:#241914}
.admin-body .hero-admin p,.admin-body .muted,.admin-body .album-card p,.admin-body .stats span,.admin-body .settings-list span,.admin-body .log-row span,.admin-body .photo-admin-grid figcaption{color:rgba(36,25,20,.62)}
.admin-body .eyebrow{color:#8b6957}
.admin-body .btn,.admin-body .menu-btn{background:#fffaf4;border-color:rgba(36,25,20,.16);color:#241914}
.admin-body .btn.primary{background:#8b6957;border-color:#8b6957;color:#fff}
.admin-body .btn.ghost,.admin-body .btn.soft{background:#fffaf4;color:#241914}
.admin-body .btn:hover,.admin-body .menu-btn:hover{border-color:#8b6957;box-shadow:0 0 0 3px rgba(139,105,87,.10)}
.admin-body .form-grid input,.admin-body .form-grid textarea,.admin-body .form-grid select,.admin-body .copy-input{background:#ffffff;border-color:rgba(36,25,20,.16);color:#241914}
.admin-body .form-grid input::placeholder,.admin-body .form-grid textarea::placeholder{color:rgba(36,25,20,.34)}
.admin-body .form-grid label{color:#241914}
.admin-body .form-grid small{color:rgba(36,25,20,.55)}
.admin-body .dropzone{background:#ffffff;border-color:rgba(139,105,87,.28)}
.admin-body .dropzone small{color:rgba(36,25,20,.55)}
.admin-body .empty{background:#fffaf4;border-color:rgba(139,105,87,.26);color:rgba(36,25,20,.6)}
.admin-body .notice{background:#fffaf4;border-color:rgba(36,25,20,.14);color:#241914}
.admin-body .album-card .thumb,.admin-body .photo-admin-grid figure,.admin-body .photo-admin-grid img{background:#fff;border-color:rgba(36,25,20,.12)}
.admin-body .brand b,.admin-body .brand small{color:#f4eee7}
.admin-body .top-actions span{color:rgba(244,238,231,.74)}
.admin-body .copy-input.copied{border-color:#8b6957}
.admin-body .settings-list div b,.admin-body .log-row b{color:#241914}
.public-editorial .pf-contacts{border:1px solid rgba(255,255,255,.12);padding:16px;background:rgba(255,255,255,.025)}
.public-editorial .pf-contacts .btn.primary{background:#efe4d8;color:#241914;border-color:#efe4d8}
.public-editorial .pf-contacts .btn{justify-content:center;min-height:44px}
.public-editorial .pf-hero__actions .btn.primary{background:#efe4d8;color:#241914;border-color:#efe4d8}
.public-editorial .pf-hero__actions .btn.primary:hover,.public-editorial .pf-contacts .btn.primary:hover{box-shadow:0 0 0 3px rgba(239,228,216,.12)}
@media (max-width:520px){
  .admin-body .content{padding:18px 12px 52px}
  .admin-body .hero-admin,.admin-body .panel{padding:16px}
  .admin-body .btn{white-space:normal;text-align:center}
}


/* ===== v1.8: корневой домен отдельно, правка hero и кнопок ===== */
.system-home{min-height:100vh;background:#f3eee7;color:#241914;font-family:var(--font-body)}
.system-home__wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.system-home__card{width:min(860px,100%);background:#fffaf4;border:1px solid rgba(36,25,20,.12);padding:34px;box-shadow:0 18px 42px rgba(36,25,20,.055)}
.system-home__card h1{font-size:clamp(42px,7vw,76px);line-height:.95;margin-bottom:18px;color:#241914}
.system-home__card .muted{max-width:660px;color:rgba(36,25,20,.68);font-size:17px}
.system-home__actions{display:flex;gap:10px;margin:24px 0 26px;flex-wrap:wrap}
.system-home__list{display:grid;grid-template-columns:1fr;gap:10px}
.system-home__list div{border:1px solid rgba(36,25,20,.12);padding:14px;background:#fff}
.system-home__list b{display:block;font-weight:500;margin-bottom:4px}
.system-home__list span{color:rgba(36,25,20,.62)}
.public-editorial .pf-hero__content{display:block!important;width:min(960px,100%);margin:0 auto}
.public-editorial .pf-hero__topline{display:flex!important;flex-wrap:wrap;gap:8px 14px;max-width:760px;margin:0 0 22px;font-size:12px;line-height:1.45;letter-spacing:.13em;text-wrap:balance}
.public-editorial .pf-hero__topline span{display:inline;max-width:none}
.public-editorial .pf-hero__side-note{display:none!important}
.public-editorial .pf-hero__main{max-width:680px}
.public-editorial .pf-hero__main h1{font-size:clamp(58px,8.2vw,108px);line-height:.92;max-width:780px;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.public-editorial .pf-hero__subtitle{font-size:clamp(25px,3vw,34px);line-height:1.1;margin:8px 0 18px}
.public-editorial .pf-hero__text{font-size:17px;line-height:1.62;max-width:440px}
.public-editorial .pf-hero__actions{align-items:stretch}
.public-editorial .pf-hero__actions .btn{min-width:150px;white-space:normal;text-align:center;line-height:1.2;padding-top:8px;padding-bottom:8px}
.public-editorial .pf-hero--album .pf-hero__main{max-width:760px}
.public-editorial .pf-hero--album .pf-hero__actions .btn{min-width:220px}
.public-editorial .btn{overflow-wrap:normal;word-break:normal}
.public-editorial .site-nav .btn{white-space:nowrap;min-width:auto}
.admin-body .top-actions{gap:8px}
.admin-body .top-actions .btn{min-width:86px;white-space:nowrap;line-height:1}
@media (min-width:720px){
  .system-home__list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .system-home__card{padding:24px}
  .system-home__actions .btn{width:100%;white-space:normal}
  .public-editorial .pf-hero{min-height:82vh;padding:18px 16px}
  .public-editorial .pf-hero__topline{font-size:10px;line-height:1.45;margin-bottom:16px;max-width:300px}
  .public-editorial .pf-hero__main h1{font-size:clamp(54px,18vw,76px);line-height:.92;max-width:330px}
  .public-editorial .pf-hero__text{font-size:16px;line-height:1.55;max-width:300px}
  .public-editorial .pf-hero__actions .btn{min-width:128px}
  .public-editorial .pf-hero--album .pf-hero__actions .btn{width:100%;min-width:0}
  .admin-body .top-actions{width:100%;justify-content:flex-start}
  .admin-body .top-actions .btn{min-width:88px}
}

/* ===== v1.9: единая система кнопок и Font Awesome SVG icons ===== */
.btn,.menu-btn{
  min-height:46px;
  padding:0 18px;
  gap:12px;
  font-size:15px;
  line-height:1.25;
  letter-spacing:.01em;
}
.btn.small,.menu-btn.small{
  min-height:40px;
  padding:0 14px;
  font-size:14px;
  gap:10px;
}
.btn.wide{justify-content:center}
.fa-icon{
  width:18px;
  height:18px;
  display:inline-block;
  flex:0 0 18px;
  fill:currentColor;
  color:currentColor;
  vertical-align:-0.16em;
}
.btn.small .fa-icon,.menu-btn.small .fa-icon,.sidebar nav .fa-icon{
  width:16px;
  height:16px;
  flex-basis:16px;
}
.sidebar nav a{
  gap:12px;
}
.sidebar nav .nav-label{
  width:22px;
  min-width:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.hero-actions,.actions-row,.card-actions,.album-downloads,.photo-downloads,.top-actions,.system-home__actions{
  gap:12px;
}
.photo-downloads a{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.lightbox-actions .btn{
  min-height:46px;
}
.admin-body .top-actions .btn{
  min-width:96px;
  justify-content:center;
}
.public-editorial .pf-hero__actions .btn,
.public-editorial .pf-contacts .btn,
.system-home__actions .btn{
  min-height:48px;
}
.public-editorial .site-nav .btn{
  min-height:40px;
  padding:0 14px;
}
.admin-body .btn.primary .fa-icon,
.public-editorial .btn.primary .fa-icon,
.system-home .btn.primary .fa-icon{
  opacity:.96;
}
@media (max-width:640px){
  .btn,.menu-btn{min-height:44px;padding:0 14px;gap:10px}
  .btn.small{min-height:38px;padding:0 12px}
  .fa-icon{width:17px;height:17px;flex-basis:17px}
  .btn.small .fa-icon,.menu-btn.small .fa-icon,.sidebar nav .fa-icon{width:15px;height:15px;flex-basis:15px}
  .top-actions .btn{min-width:92px}
  .lightbox-actions .btn{justify-content:center}
}


/* ===== v2.0 Final Polish ===== */
.btn,.menu-btn{
  min-height:44px;
  padding:0 16px;
  gap:11px;
  font-size:15px;
  line-height:1.15;
  border-width:1px;
}
.btn.small{
  min-height:38px;
  padding:0 13px;
  font-size:14px;
}
.btn.wide{justify-content:center}
.btn svg.fa-icon,
.menu-btn svg.fa-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:inline-block;
}
.btn.small svg.fa-icon,
.sidebar nav svg.fa-icon,
.top-actions .btn svg.fa-icon{
  width:16px;
  height:16px;
  flex-basis:16px;
}
.btn.copied{border-color:var(--chocolate)}
.copy-done{display:inline-flex;align-items:center;min-height:1em}
.copy-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:stretch;
}
.copy-row .copy-input{margin:0}
.copy-row--card{margin-top:10px}

.form-section-head{display:grid;gap:8px;margin-bottom:4px}
.form-group{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid rgba(36,25,20,.10);
  background:rgba(255,255,255,.38);
}
.form-group h3{
  font-family:var(--font-heading);
  font-size:27px;
  margin:0;
}
.form-row-2{display:grid;gap:14px}

.settings-layout{
  display:grid;
  gap:18px;
  align-items:start;
}
.settings-side{display:grid;gap:18px}
.diag-list{display:grid;gap:10px;margin-top:14px}
.diag-item{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:12px;
  align-items:start;
  padding:12px;
  border:1px solid rgba(36,25,20,.10);
  background:#fff;
}
.diag-mark{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(36,25,20,.12);
}
.diag-mark .fa-icon{width:16px;height:16px}
.diag-item b{display:block;font-weight:500;margin-bottom:2px}
.diag-item span{display:block;color:rgba(36,25,20,.62)}
.diag-item small{display:block;margin-top:4px;color:rgba(36,25,20,.55)}
.diag-item.is-ok .diag-mark{background:rgba(139,105,87,.08);color:#8b6957}
.diag-item.is-bad .diag-mark{background:rgba(120,50,40,.08);color:#783228}

.album-cover-preview{
  position:relative;
  border:1px solid rgba(36,25,20,.12);
  background:#fff;
  padding:8px;
}
.album-cover-preview img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.album-cover-preview span{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:6px 9px;
  background:rgba(36,25,20,.78);
  color:#fff;
  font-size:12px;
  letter-spacing:.03em;
}
.photo-admin-grid--polished figure{position:relative}
.photo-admin-grid--polished figure.is-cover{
  border-color:#8b6957!important;
  box-shadow:0 0 0 3px rgba(139,105,87,.12);
}
.photo-admin-grid--polished figcaption{
  display:grid;
  gap:4px;
}
.photo-admin-grid--polished figcaption span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.photo-admin-grid--polished figcaption b{
  color:#8b6957;
  font-weight:500;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.album-card--manage{
  display:grid;
  gap:10px;
}
.album-card__main{display:block}
.album-card--manage form{margin:0}
.album-card--manage .card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.album-card--manage .card-actions .btn,
.album-card--manage form .btn{width:100%}

.upload-preview{
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.upload-preview.is-visible{display:grid}
.upload-preview-item{
  min-width:0;
  border:1px solid rgba(36,25,20,.12);
  background:#fff;
  padding:8px;
  display:grid;
  gap:6px;
}
.upload-preview-item img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
.upload-preview-item span{
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.upload-preview-item small{
  color:rgba(36,25,20,.55);
}
.upload-preview-item.is-more{
  display:grid;
  place-items:center;
  min-height:94px;
  color:rgba(36,25,20,.62);
}

.admin-body .form-group,
.admin-body .diag-item,
.admin-body .upload-preview-item{
  background:#fff;
  border-color:rgba(36,25,20,.12);
}
.admin-body .diag-item span,
.admin-body .diag-item small{
  color:rgba(36,25,20,.62);
}
.admin-body .copy-row .btn{white-space:nowrap}

.public-editorial .btn,
.public-editorial .menu-btn{
  min-height:44px;
  padding-left:16px;
  padding-right:16px;
}
.public-editorial .btn svg.fa-icon{
  width:18px;
  height:18px;
  flex-basis:18px;
}
.lightbox-actions .btn{
  min-height:46px;
}

@media (min-width:760px){
  .settings-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}
  .form-row-2{grid-template-columns:1fr 1fr}
  .upload-preview{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1040px){
  .edit-layout--album{grid-template-columns:380px minmax(0,1fr)}
  .upload-preview{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:640px){
  .copy-row{grid-template-columns:1fr}
  .copy-row .btn{width:100%;justify-content:center}
  .album-card--manage .card-actions{grid-template-columns:1fr}
  .form-group{padding:14px}
  .settings-layout{gap:14px}
  .upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .btn,.menu-btn{white-space:normal;text-align:center}
}


/* ===== v2.1 White public style + custom profile images ===== */
.public-editorial{
  background:#fff!important;
  color:#241914!important;
}
.public-editorial .site-header{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid rgba(36,25,20,.10)!important;
  color:#241914!important;
}
.public-editorial .site-brand,
.public-editorial .site-nav a{
  color:#241914!important;
}
.public-editorial .site-mark{
  background:#8b6957!important;
  color:#fff!important;
  border:0!important;
}
.public-editorial .btn,
.public-editorial .menu-btn{
  background:#fff!important;
  border-color:rgba(139,105,87,.28)!important;
  color:#241914!important;
}
.public-editorial .btn.primary{
  background:#8b6957!important;
  border-color:#8b6957!important;
  color:#fff!important;
}
.public-editorial .btn.ghost,
.public-editorial .btn.soft{
  background:#fff!important;
  color:#241914!important;
}
.public-editorial .btn:hover{
  border-color:#8b6957!important;
  box-shadow:0 0 0 3px rgba(139,105,87,.08)!important;
}
.public-editorial .pf-hero{
  background-color:#fff!important;
  color:#241914!important;
  border-bottom:1px solid rgba(139,105,87,.14);
}
.public-editorial .pf-hero__overlay{
  background:linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.80) 42%, rgba(255,255,255,.48) 100%)!important;
}
.public-editorial .pf-hero__main h1,
.public-editorial .pf-section__head h2,
.public-editorial .pf-card__body h3,
.public-editorial .pf-about__hello,
.public-editorial .pf-hero__subtitle{
  color:#241914!important;
}
.public-editorial .pf-hero__subtitle{
  color:#8b6957!important;
}
.public-editorial .pf-hero__topline,
.public-editorial .pf-hero__text,
.public-editorial .pf-about__content p,
.public-editorial .pf-card__body p,
.public-editorial .pf-stats span{
  color:rgba(36,25,20,.68)!important;
}
.public-editorial .pf-section__head span{
  background:rgba(139,105,87,.28)!important;
}
.public-editorial .pf-about__content,
.public-editorial .pf-about__image,
.public-editorial .pf-card,
.public-editorial .pf-service-line,
.public-editorial .pf-contacts,
.public-editorial .pf-stats div{
  background:#fff!important;
  border-color:rgba(139,105,87,.18)!important;
  color:#241914!important;
}
.public-editorial .pf-about__image.is-empty{
  min-height:320px;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(139,105,87,.06)!important;
  text-align:center;
  color:rgba(36,25,20,.56)!important;
}
.public-editorial .pf-service-line{
  color:#241914!important;
}
.public-editorial .pf-contacts{
  background:rgba(139,105,87,.045)!important;
}
.public-editorial .pf-contacts .btn.primary,
.public-editorial .pf-hero__actions .btn.primary{
  background:#8b6957!important;
  color:#fff!important;
  border-color:#8b6957!important;
}
.public-editorial .empty{
  background:#fff!important;
  border-color:rgba(139,105,87,.25)!important;
  color:rgba(36,25,20,.62)!important;
}
.public-editorial .public-photos{
  background:#fff!important;
}
.public-editorial .public-photo{
  background:#fff!important;
  border:1px solid rgba(139,105,87,.14)!important;
}
.public-editorial .lightbox{
  background:rgba(255,255,255,.96)!important;
}
.public-editorial .lightbox-stage{
  background:#fff!important;
  border:1px solid rgba(139,105,87,.16);
}
.public-editorial .lightbox-bar{
  background:#fff!important;
  border:1px solid rgba(139,105,87,.16)!important;
}
.public-editorial .lightbox-meta{
  color:#241914!important;
}
.public-editorial .lightbox button[data-lightbox-close]{
  background:#fff!important;
  color:#241914!important;
  border:1px solid rgba(139,105,87,.22)!important;
}

/* Белая рабочая область админки и настроек */
.admin-body .content{
  background:#fff!important;
}
.admin-body .hero-admin,
.admin-body .panel,
.admin-body .album-card,
.admin-body .stats div,
.admin-body .settings-list div,
.admin-body .log-row,
.admin-body .form-group,
.admin-body .diag-item,
.admin-body .upload-preview-item{
  background:#fff!important;
}
.admin-body .settings-form,
.admin-body .settings-side .panel{
  background:#fff!important;
}
.profile-media-grid{
  display:grid;
  gap:14px;
}
.profile-media-preview{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border:1px solid rgba(139,105,87,.18);
  background:#fff;
  margin:4px 0 8px;
}
.profile-media-preview--hero{
  aspect-ratio:16/9;
}
.profile-media-settings input[type="file"]{
  padding:12px;
  background:#fff;
}
@media (min-width:760px){
  .profile-media-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .public-editorial .pf-hero__overlay{
    background:linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.82) 55%, rgba(255,255,255,.94) 100%)!important;
  }
  .public-editorial .pf-hero{
    min-height:72vh;
  }
}

/* ===== v2.2 Reference palette and typography from warm photography mockup ===== */
:root{
  --bg:#f7f4ef;
  --paper:#ffffff;
  --ink:#4a392a;
  --chocolate:#735b48;
  --chocolate-strong:#654c39;
  --chocolate-soft:rgba(137,110,89,.10);
  --line:rgba(115,91,72,.20);
  --line-strong:rgba(115,91,72,.34);
  --muted:rgba(74,57,42,.68);
  --shadow:0 18px 40px rgba(74,57,42,.055);
  --shadow-soft:0 8px 22px rgba(74,57,42,.04);
  --font-body:'Wix Madefor Text','Wix Madefor Display','Montserrat','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --font-heading:'Cormorant Garamond','Cormorant','Prata','Playfair Display',Georgia,'Times New Roman',serif;
}
body{background:var(--bg);color:var(--ink)}
h1,h2,h3{font-family:var(--font-heading);color:var(--ink);font-weight:600;letter-spacing:-.035em}
.eyebrow{color:var(--chocolate);letter-spacing:.16em;font-weight:600}
.btn.primary{background:var(--chocolate);border-color:var(--chocolate);color:#fff}
.btn.primary:hover{background:var(--chocolate-strong);border-color:var(--chocolate-strong)}
.btn.ghost,.btn.soft{background:#fff;border-color:var(--line);color:var(--ink)}

/* Public photographer page: white base, warm taupe accents, editorial serif */
.public-editorial{
  background:#f7f4ef!important;
  color:#4a392a!important;
}
.public-editorial .site-header{
  background:rgba(247,244,239,.94)!important;
  border-bottom:1px solid rgba(115,91,72,.18)!important;
  color:#4a392a!important;
}
.public-editorial .site-brand,
.public-editorial .site-nav a{color:#4a392a!important}
.public-editorial .site-mark{
  background:#735b48!important;
  color:#fff!important;
  font-family:var(--font-heading)!important;
}
.public-editorial .site-brand span:last-child{
  font-family:var(--font-heading);
  font-size:22px;
  letter-spacing:.01em;
}
.public-editorial .site-nav .btn{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:600;
}
.public-editorial .pf-hero{
  background-color:#896e59!important;
  color:#fff!important;
  border-bottom:1px solid rgba(115,91,72,.18)!important;
}
.public-editorial .pf-hero__overlay{
  background:linear-gradient(90deg, rgba(115,91,72,.18) 0%, rgba(115,91,72,.06) 42%, rgba(247,244,239,.54) 100%)!important;
}
.public-editorial .pf-hero__topline{
  color:#f7f4ef!important;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:600;
  text-shadow:0 1px 10px rgba(39,35,27,.18);
}
.public-editorial .pf-hero__main h1{
  color:#fff!important;
  font-family:var(--font-heading)!important;
  font-weight:600;
  letter-spacing:-.04em;
  text-shadow:0 2px 18px rgba(39,35,27,.28);
}
.public-editorial .pf-hero__subtitle{
  color:#fff!important;
  font-family:var(--font-heading)!important;
  font-style:italic;
  font-weight:500;
  text-shadow:0 2px 12px rgba(39,35,27,.22);
}
.public-editorial .pf-hero__text{
  color:#fff!important;
  font-size:17px;
  line-height:1.7;
  text-shadow:0 2px 12px rgba(39,35,27,.22);
}
.public-editorial .pf-hero__actions .btn.primary,
.public-editorial .pf-contacts .btn.primary{
  background:#fff!important;
  border-color:#fff!important;
  color:#654c39!important;
}
.public-editorial .pf-hero__actions .btn.ghost{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.55)!important;
  color:#fff!important;
}
.public-editorial .pf-section{
  color:#4a392a!important;
}
.public-editorial .pf-section__head h2{
  color:#4a392a!important;
  font-family:var(--font-heading)!important;
  font-weight:600;
  letter-spacing:-.025em;
}
.public-editorial .pf-section__head span{background:rgba(115,91,72,.26)!important}
.public-editorial .pf-about__content,
.public-editorial .pf-about__image,
.public-editorial .pf-card,
.public-editorial .pf-service-line,
.public-editorial .pf-contacts,
.public-editorial .pf-stats div,
.public-editorial .public-photo,
.public-editorial .lightbox-stage,
.public-editorial .lightbox-bar{
  background:#fff!important;
  border-color:rgba(115,91,72,.22)!important;
  color:#4a392a!important;
}
.public-editorial .pf-about__hello,
.public-editorial .pf-card__body h3,
.public-editorial .pf-stats b{
  color:#4a392a!important;
  font-family:var(--font-heading)!important;
}
.public-editorial .pf-about__content p,
.public-editorial .pf-card__body p,
.public-editorial .pf-stats span,
.public-editorial .pf-service-line,
.public-editorial .lightbox-meta{
  color:rgba(74,57,42,.72)!important;
}
.public-editorial .pf-service-line{
  background:#f7f4ef!important;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:13px;
  font-weight:600;
}
.public-editorial .pf-card__body .btn,
.public-editorial .pf-contacts .btn.ghost,
.public-editorial .album-downloads .btn.ghost,
.public-editorial .lightbox-actions .btn.ghost{
  background:#fff!important;
  border-color:rgba(115,91,72,.34)!important;
  color:#4a392a!important;
}
.public-editorial .album-downloads .btn.primary,
.public-editorial .lightbox-actions .btn.primary{
  background:#735b48!important;
  border-color:#735b48!important;
  color:#fff!important;
}
.public-editorial .empty{
  background:#fff!important;
  border-color:rgba(115,91,72,.24)!important;
  color:rgba(74,57,42,.64)!important;
}
.public-editorial .lightbox{background:rgba(247,244,239,.96)!important}
.public-editorial .lightbox button[data-lightbox-close]{
  background:#fff!important;
  border-color:rgba(115,91,72,.3)!important;
  color:#4a392a!important;
}

/* Album hero in same reference palette */
.public-editorial .pf-hero--album .pf-hero__overlay{
  background:linear-gradient(90deg, rgba(39,35,27,.58) 0%, rgba(39,35,27,.34) 45%, rgba(137,110,89,.18) 100%)!important;
}
.public-editorial .pf-hero--album .pf-hero__main h1,
.public-editorial .pf-hero--album .pf-hero__subtitle,
.public-editorial .pf-hero--album .pf-hero__text{color:#fff!important}

/* Admin and settings: warm white with brown accents */
.admin-body .content,
.admin-body .hero-admin,
.admin-body .panel,
.admin-body .album-card,
.admin-body .stats div,
.admin-body .settings-list div,
.admin-body .log-row,
.admin-body .form-group,
.admin-body .diag-item,
.admin-body .upload-preview-item,
.admin-body .settings-form,
.admin-body .settings-side .panel{
  background:#fff!important;
  color:#4a392a!important;
}
.admin-body h1,.admin-body h2,.admin-body h3{color:#4a392a!important;font-family:var(--font-heading)!important}
.admin-body .content{background:#f7f4ef!important}
.admin-body .topbar,
.admin-body .sidebar{background:#4a392a!important;color:#fff!important}
.admin-body .sidebar nav a{color:#f7f4ef!important}
.admin-body .sidebar nav a.active,
.admin-body .sidebar nav a:hover{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.16)!important}
.admin-body .brand-mark{background:#735b48!important;color:#fff!important}
.admin-body .btn.primary{background:#735b48!important;border-color:#735b48!important;color:#fff!important}
.admin-body .btn.ghost,.admin-body .btn.soft,.admin-body .btn{border-color:rgba(115,91,72,.24)!important}
.admin-body .form-grid input,
.admin-body .form-grid textarea,
.admin-body .form-grid select,
.admin-body .copy-input{border-color:rgba(115,91,72,.24)!important;color:#4a392a!important;background:#fff!important}
.admin-body .eyebrow{color:#735b48!important}
.admin-body .muted,
.admin-body .album-card p,
.admin-body .stats span,
.admin-body .settings-list span,
.admin-body .log-row span,
.admin-body .photo-admin-grid figcaption,
.admin-body .diag-item span,
.admin-body .diag-item small{color:rgba(74,57,42,.68)!important}

@media (max-width:640px){
  .public-editorial .pf-hero__overlay{
    background:linear-gradient(180deg, rgba(115,91,72,.18) 0%, rgba(115,91,72,.10) 46%, rgba(247,244,239,.72) 100%)!important;
  }
  .public-editorial .pf-hero__main h1,
  .public-editorial .pf-hero__subtitle,
  .public-editorial .pf-hero__text{color:#fff!important}
}


/* ===== v2.3 wide public design inspired by editorial wedding reference ===== */
.public-wedding-style{
  background:#f7f3ef;
  color:#382a22;
}
.public-wedding-style .btn{
  border-color:rgba(90,66,54,.18);
}
.public-wedding-style .btn.ghost{
  background:#fff;
}
.public-wedding-style .btn.primary{
  background:#8b6957;
  border-color:#8b6957;
  color:#fff;
}
.public-wedding-style .btn.primary:hover{
  background:#755647;
  border-color:#755647;
}
.public-wedding-style .btn:hover{
  box-shadow:0 0 0 3px rgba(139,105,87,.08);
}
.public-wedding-style .folio-shell{
  width:min(1400px, calc(100% - 28px));
  margin:0 auto;
}
.public-wedding-style .folio-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(247,243,239,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(90,66,54,.10);
}
.public-wedding-style .folio-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 4px;
}
.public-wedding-style .folio-brand{
  font-family:var(--font-heading);
  font-size:34px;
  line-height:1;
  letter-spacing:.02em;
  color:#5e4437;
}
.public-wedding-style .folio-nav{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
}
.public-wedding-style .folio-nav a{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(56,42,34,.78);
}
.public-wedding-style .folio-page{
  padding:26px 0 72px;
}
.public-wedding-style .folio-hero-card,
.public-wedding-style .album-hero-card{
  overflow:hidden;
  border:1px solid rgba(90,66,54,.10);
  background:#fff;
  box-shadow:0 16px 40px rgba(56,42,34,.05);
}
.public-wedding-style .folio-hero-media,
.public-wedding-style .album-hero-media{
  position:relative;
  min-height:560px;
  background:#d6c1b4 center/cover no-repeat;
}
.public-wedding-style .folio-hero-overlay,
.public-wedding-style .album-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(40,29,23,.22), rgba(40,29,23,.42));
}
.public-wedding-style .folio-hero-content,
.public-wedding-style .album-hero-content{
  position:absolute;
  inset:auto 0 56px;
  z-index:2;
  text-align:center;
  color:#fff;
  padding:0 20px;
}
.public-wedding-style .folio-kicker,
.public-wedding-style .album-date{
  margin:0 0 10px;
  font-size:15px;
  letter-spacing:.04em;
  color:rgba(255,255,255,.92);
}
.public-wedding-style .folio-hero-content h1,
.public-wedding-style .album-hero-content h1{
  color:#fff;
  font-size:clamp(42px, 7vw, 78px);
  line-height:.95;
  font-weight:600;
  letter-spacing:-.03em;
}
.public-wedding-style .folio-hero-location,
.public-wedding-style .album-author{
  margin:12px auto 0;
  max-width:700px;
  color:rgba(255,255,255,.92);
  font-size:18px;
}
.public-wedding-style .folio-welcome{
  padding:42px 24px 34px;
  background:#fff;
  text-align:center;
}
.public-wedding-style .folio-welcome__inner{
  max-width:820px;
  margin:0 auto;
}
.public-wedding-style .folio-welcome h2{
  font-size:clamp(34px, 4.8vw, 60px);
  line-height:1.02;
  margin-bottom:14px;
  text-transform:uppercase;
}
.public-wedding-style .folio-welcome p{
  color:rgba(56,42,34,.70);
  max-width:680px;
  margin:0 auto 18px;
  line-height:1.75;
}
.public-wedding-style .folio-preview-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding:0 24px 24px;
  background:#fff;
}
.public-wedding-style .folio-preview-tile{
  aspect-ratio:0.92/1;
  overflow:hidden;
  background:#efe7e0;
}
.public-wedding-style .folio-preview-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-wedding-style .folio-section-head{
  display:flex;
  align-items:center;
  gap:18px;
  margin:40px 0 22px;
}
.public-wedding-style .folio-section-head h2{
  font-size:clamp(30px, 4vw, 52px);
  text-transform:uppercase;
}
.public-wedding-style .folio-section-head span{
  height:1px;
  flex:1;
  background:rgba(90,66,54,.16);
}
.public-wedding-style .folio-about-grid{
  display:grid;
  grid-template-columns:minmax(280px, 360px) 1fr;
  gap:28px;
  align-items:start;
}
.public-wedding-style .folio-about-photo,
.public-wedding-style .folio-about-copy,
.public-wedding-style .folio-contact-box{
  background:#fff;
  border:1px solid rgba(90,66,54,.10);
}
.public-wedding-style .folio-about-photo{
  min-height:320px;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.public-wedding-style .folio-about-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-wedding-style .folio-about-photo.is-empty{
  color:rgba(56,42,34,.55);
  padding:24px;
  text-align:center;
}
.public-wedding-style .folio-about-copy{
  padding:28px;
}
.public-wedding-style .folio-about-name{
  color:#8b6957;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  margin-bottom:10px;
}
.public-wedding-style .folio-about-intro{
  font-family:var(--font-heading);
  font-size:34px;
  line-height:1.08;
  margin-bottom:14px;
}
.public-wedding-style .folio-about-text{
  color:rgba(56,42,34,.72);
  line-height:1.75;
}
.public-wedding-style .folio-quote{
  margin:18px 0 0;
  padding-left:18px;
  border-left:2px solid rgba(139,105,87,.28);
  font-family:var(--font-heading);
  font-size:26px;
  line-height:1.2;
  color:#5e4437;
}
.public-wedding-style .folio-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:22px;
}
.public-wedding-style .folio-stats div{
  border:1px solid rgba(90,66,54,.10);
  padding:16px;
  text-align:center;
}
.public-wedding-style .folio-stats b{
  display:block;
  font-family:var(--font-heading);
  font-size:32px;
}
.public-wedding-style .folio-stats span{
  color:rgba(56,42,34,.65);
  font-size:13px;
}
.public-wedding-style .folio-service-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.public-wedding-style .folio-service-pill{
  border:1px solid rgba(90,66,54,.14);
  background:#fff;
  padding:14px 18px;
}
.public-wedding-style .folio-album-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.public-wedding-style .folio-album-card{
  background:#fff;
  border:1px solid rgba(90,66,54,.10);
  overflow:hidden;
}
.public-wedding-style .folio-album-card__media{
  display:block;
  aspect-ratio:0.92/1;
  background:#efe7e0;
}
.public-wedding-style .folio-album-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-wedding-style .folio-album-card__body{
  padding:18px;
}
.public-wedding-style .folio-album-card__body h3{
  font-size:28px;
  margin-bottom:6px;
}
.public-wedding-style .folio-album-card__body p{
  color:rgba(56,42,34,.66);
  margin:0 0 14px;
}
.public-wedding-style .folio-contact-box{
  padding:26px;
}
.public-wedding-style .folio-contact-box p{
  max-width:720px;
  margin:0 0 18px;
  color:rgba(56,42,34,.70);
}
.public-wedding-style .folio-contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.public-wedding-style .album-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 4px 6px;
  flex-wrap:wrap;
}
.public-wedding-style .album-toolbar__tabs,
.public-wedding-style .album-toolbar__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.public-wedding-style .album-tab{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(90,66,54,.12);
  background:#fff;
  font-size:14px;
  color:rgba(56,42,34,.72);
}
.public-wedding-style .album-tab.is-active{
  color:#382a22;
  font-weight:500;
}
.public-wedding-style .album-grid-section{
  padding-top:8px;
}
.public-wedding-style .wedding-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:16px;
}
.public-wedding-style .wedding-tile{
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(90,66,54,.10);
}
.public-wedding-style .wedding-tile img{
  width:100%;
  height:100%;
  aspect-ratio:1/1.15;
  object-fit:cover;
  cursor:zoom-in;
}
.public-wedding-style .wedding-tile.is-tall{
  grid-row:span 2;
}
.public-wedding-style .wedding-tile.is-tall img{
  aspect-ratio:1/1.9;
}
.public-wedding-style .wedding-tile.is-wide{
  grid-column:span 2;
}
.public-wedding-style .wedding-tile.is-wide img{
  aspect-ratio:1.9/1;
}
.public-wedding-style .lightbox{
  background:rgba(43,31,25,.92);
}
.public-wedding-style .lightbox-bar{
  background:#fff;
  border-color:rgba(90,66,54,.10);
}
.public-wedding-style .lightbox-meta{
  color:#382a22;
}
@media (max-width: 1100px){
  .public-wedding-style .folio-album-grid,
  .public-wedding-style .wedding-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .public-wedding-style .folio-about-grid{grid-template-columns:1fr;}
}
@media (max-width: 760px){
  .public-wedding-style .folio-shell{width:min(100% - 20px, 100% - 20px);}
  .public-wedding-style .folio-header__inner{padding:14px 0;}
  .public-wedding-style .folio-brand{font-size:28px;}
  .public-wedding-style .folio-nav{gap:12px;}
  .public-wedding-style .folio-nav a{font-size:11px;}
  .public-wedding-style .folio-hero-media,
  .public-wedding-style .album-hero-media{min-height:430px;}
  .public-wedding-style .folio-hero-content,
  .public-wedding-style .album-hero-content{inset:auto 0 34px;}
  .public-wedding-style .folio-welcome{padding:28px 18px 22px;}
  .public-wedding-style .folio-preview-strip,
  .public-wedding-style .folio-album-grid,
  .public-wedding-style .wedding-grid{grid-template-columns:1fr;}
  .public-wedding-style .folio-stats{grid-template-columns:1fr;}
  .public-wedding-style .album-toolbar{padding:14px 0 4px;}
  .public-wedding-style .album-toolbar__actions .btn{width:100%;}
  .public-wedding-style .wedding-tile.is-wide{grid-column:span 1;}
  .public-wedding-style .wedding-tile.is-wide img,
  .public-wedding-style .wedding-tile img{aspect-ratio:1/1.15;}
  .public-wedding-style .wedding-tile.is-tall img{aspect-ratio:1/1.4;}
}


/* ===== v2.4 Premium full-width public design 2026 ===== */
.public-wedding-style{
  --premium-bg:#ffffff;
  --premium-soft:#f7f3ef;
  --premium-ink:#30231d;
  --premium-muted:rgba(48,35,29,.66);
  --premium-line:rgba(48,35,29,.12);
  --premium-accent:#9a735f;
  --premium-accent-dark:#6f5144;
  background:var(--premium-bg);
  color:var(--premium-ink);
}
.public-wedding-style .btn{border-color:rgba(90,66,54,.18)}
.public-wedding-style .btn.ghost{background:#fff}
.public-wedding-style .btn.primary{background:var(--premium-accent);border-color:var(--premium-accent);color:#fff}
.public-wedding-style .btn.primary:hover{background:var(--premium-accent-dark);border-color:var(--premium-accent-dark)}
.public-wedding-style .btn:hover{box-shadow:0 0 0 3px rgba(154,115,95,.08)}
.public-wedding-style .folio-shell{width:100%;max-width:none;margin:0}
.public-wedding-style .folio-page{padding:0 0 90px;overflow:hidden}
.public-wedding-style .folio-header{
  position:fixed;top:0;left:0;right:0;z-index:80;
  background:linear-gradient(180deg,rgba(18,14,12,.72),rgba(18,14,12,.08));
  border:0;backdrop-filter:blur(12px)
}
.public-wedding-style .folio-header__inner{width:100%;max-width:none;margin:0;padding:22px clamp(18px,4vw,72px)}
.public-wedding-style .folio-brand{
  color:#fff;font-size:clamp(24px,2.3vw,40px);letter-spacing:.025em;text-shadow:0 2px 14px rgba(0,0,0,.22)
}
.public-wedding-style .folio-nav{gap:clamp(14px,2.2vw,34px)}
.public-wedding-style .folio-nav a{
  color:rgba(255,255,255,.88);font-size:12px;font-weight:500;letter-spacing:.12em;transition:opacity .18s ease,color .18s ease
}
.public-wedding-style .folio-nav a:hover{color:#fff}
.public-wedding-style .folio-hero-card,.public-wedding-style .album-hero-card{border:0;box-shadow:none;background:transparent;overflow:visible}
.public-wedding-style .folio-hero-media,.public-wedding-style .album-hero-media{
  min-height:92vh;width:100vw;background-color:#2c211c;background-position:center;background-size:cover
}
.public-wedding-style .folio-hero-overlay,.public-wedding-style .album-hero-overlay{
  position:absolute;inset:0;
  background:radial-gradient(circle at 70% 45%,rgba(255,255,255,.10),transparent 34%),linear-gradient(90deg,rgba(16,12,10,.72) 0%,rgba(16,12,10,.36) 48%,rgba(16,12,10,.12) 100%),linear-gradient(180deg,rgba(16,12,10,.18),rgba(16,12,10,.50))
}
.public-wedding-style .folio-hero-content,.public-wedding-style .album-hero-content{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;
  width:min(1240px,100%);margin:0 auto;padding:120px clamp(22px,6vw,96px) 72px;z-index:2;color:#fff
}
.public-wedding-style .folio-kicker,.public-wedding-style .album-date{
  margin:0 0 18px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.82)
}
.public-wedding-style .folio-hero-content h1,.public-wedding-style .album-hero-content h1{
  max-width:900px;font-size:clamp(58px,9.6vw,148px);line-height:.82;letter-spacing:-.055em;color:#fff;text-wrap:balance
}
.public-wedding-style .folio-hero-location,.public-wedding-style .album-author{
  margin:24px 0 0;max-width:560px;font-size:clamp(17px,1.45vw,24px);line-height:1.55;color:rgba(255,255,255,.86)
}
.public-wedding-style .folio-welcome{padding:clamp(58px,7vw,110px) clamp(22px,6vw,96px);background:#fff;text-align:left}
.public-wedding-style .folio-welcome__inner{max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:clamp(28px,6vw,90px);align-items:center}
.public-wedding-style .folio-welcome h2{font-size:clamp(44px,7vw,118px);line-height:.88;letter-spacing:-.055em;margin:0;text-transform:none;color:var(--premium-ink)}
.public-wedding-style .folio-welcome p{max-width:560px;margin:0 0 26px;font-size:18px;line-height:1.75;color:var(--premium-muted)}
.public-wedding-style .folio-welcome .btn{min-width:180px}
.public-wedding-style .folio-preview-strip{
  padding:0 clamp(22px,4vw,72px) clamp(56px,6vw,96px);background:#fff;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,24px)
}
.public-wedding-style .folio-preview-tile{aspect-ratio:1/1.18;background:#ece4de;overflow:hidden}
.public-wedding-style .folio-preview-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.public-wedding-style .folio-preview-tile:hover img{transform:scale(1.035)}
.public-wedding-style .folio-about-section,.public-wedding-style .folio-services,.public-wedding-style .folio-portfolio,.public-wedding-style .folio-contact{
  padding:clamp(54px,7vw,108px) clamp(22px,4vw,72px) 0
}
.public-wedding-style .folio-section-head{display:flex;align-items:center;gap:clamp(14px,2vw,32px);margin:0 0 clamp(24px,3vw,46px)}
.public-wedding-style .folio-section-head h2{font-size:clamp(42px,6.2vw,104px);line-height:.86;letter-spacing:-.055em;text-transform:none;color:var(--premium-ink)}
.public-wedding-style .folio-section-head span{height:1px;flex:1;background:var(--premium-line)}
.public-wedding-style .folio-about-grid{display:grid;grid-template-columns:minmax(320px,42vw) minmax(360px,1fr);gap:clamp(24px,5vw,82px);align-items:center}
.public-wedding-style .folio-about-photo,.public-wedding-style .folio-about-copy,.public-wedding-style .folio-contact-box{border:0;background:transparent}
.public-wedding-style .folio-about-photo{min-height:0;aspect-ratio:4/5;background:#ede5de;overflow:hidden}
.public-wedding-style .folio-about-photo img{width:100%;height:100%;object-fit:cover}
.public-wedding-style .folio-about-copy{padding:0;max-width:760px}
.public-wedding-style .folio-about-name{color:var(--premium-accent);font-size:12px;letter-spacing:.16em;margin-bottom:18px}
.public-wedding-style .folio-about-intro{font-size:clamp(34px,4.2vw,72px);line-height:.95;letter-spacing:-.04em;color:var(--premium-ink)}
.public-wedding-style .folio-about-text{max-width:660px;color:var(--premium-muted);font-size:17px;line-height:1.78}
.public-wedding-style .folio-quote{max-width:700px;margin:28px 0 0;padding-left:0;border:0;font-size:clamp(26px,3vw,46px);line-height:1.08;letter-spacing:-.035em;color:var(--premium-accent-dark)}
.public-wedding-style .folio-stats{max-width:720px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--premium-line);border-bottom:1px solid var(--premium-line);margin-top:34px}
.public-wedding-style .folio-stats div{border:0;border-right:1px solid var(--premium-line);padding:22px 16px;text-align:left}
.public-wedding-style .folio-stats div:last-child{border-right:0}
.public-wedding-style .folio-stats b{font-size:clamp(30px,3.2vw,52px);line-height:.9;color:var(--premium-ink)}
.public-wedding-style .folio-stats span{color:var(--premium-muted)}
.public-wedding-style .folio-service-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--premium-line);border-left:1px solid var(--premium-line)}
.public-wedding-style .folio-service-pill{border:0;border-right:1px solid var(--premium-line);border-bottom:1px solid var(--premium-line);background:#fff;min-height:112px;display:flex;align-items:end;padding:22px;color:var(--premium-ink);font-size:16px}
.public-wedding-style .folio-album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,22px)}
.public-wedding-style .folio-album-card{border:0;background:transparent}
.public-wedding-style .folio-album-card__media{aspect-ratio:3/4;background:#ede5de;overflow:hidden}
.public-wedding-style .folio-album-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.public-wedding-style .folio-album-card:hover .folio-album-card__media img{transform:scale(1.035)}
.public-wedding-style .folio-album-card__body{padding:18px 0 0}
.public-wedding-style .folio-album-card__body h3{font-size:clamp(26px,2.2vw,40px);line-height:1}
.public-wedding-style .folio-contact-box{padding:0 0 clamp(24px,4vw,56px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;border-bottom:1px solid var(--premium-line)}
.public-wedding-style .folio-contact-box p{max-width:760px;margin:0;font-size:20px;line-height:1.65;color:var(--premium-muted)}
.public-wedding-style .folio-contact-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.public-wedding-style .album-hero-card{width:100vw}
.public-wedding-style .album-hero-media{min-height:78vh}
.public-wedding-style .album-toolbar{width:100%;padding:18px clamp(22px,4vw,72px);background:#fff;border-bottom:1px solid var(--premium-line)}
.public-wedding-style .album-toolbar__tabs,.public-wedding-style .album-toolbar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.public-wedding-style .album-tab{display:inline-flex;align-items:center;min-height:40px;border:0;background:transparent;border-bottom:1px solid transparent;padding:0 2px;margin-right:22px;color:var(--premium-muted)}
.public-wedding-style .album-tab.is-active{border-bottom-color:var(--premium-ink);color:var(--premium-ink);font-weight:500}
.public-wedding-style .album-grid-section{width:100%;padding:clamp(16px,2vw,32px) clamp(10px,2vw,32px) 0}
.public-wedding-style .wedding-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(8px,1vw,16px)}
.public-wedding-style .wedding-tile{border:0;background:#ede5de;overflow:hidden}
.public-wedding-style .wedding-tile img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1.18;cursor:zoom-in}
.public-wedding-style .wedding-tile.is-wide{grid-column:span 2}
.public-wedding-style .wedding-tile.is-wide img{aspect-ratio:1.9/1}
.public-wedding-style .wedding-tile.is-tall{grid-row:span 2}
.public-wedding-style .wedding-tile.is-tall img{aspect-ratio:1/2.42}
.public-wedding-style .lightbox{background:rgba(21,16,13,.92)}
.public-wedding-style .lightbox-bar{background:#fff;border:0}
.public-wedding-style .lightbox-meta{color:var(--premium-ink)}
@media (max-width:1200px){
  .public-wedding-style .folio-album-grid,.public-wedding-style .wedding-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .public-wedding-style .folio-service-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .public-wedding-style .folio-header{position:sticky;background:#fff;border-bottom:1px solid var(--premium-line)}
  .public-wedding-style .folio-brand{color:var(--premium-ink);text-shadow:none}
  .public-wedding-style .folio-nav a{color:var(--premium-muted)}
  .public-wedding-style .folio-hero-media,.public-wedding-style .album-hero-media{min-height:72vh}
  .public-wedding-style .folio-welcome__inner,.public-wedding-style .folio-about-grid,.public-wedding-style .folio-contact-box{grid-template-columns:1fr}
  .public-wedding-style .folio-contact-actions{justify-content:flex-start}
  .public-wedding-style .folio-preview-strip,.public-wedding-style .folio-album-grid,.public-wedding-style .wedding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .public-wedding-style .folio-nav{display:none}
  .public-wedding-style .folio-header__inner{padding:14px 16px}
  .public-wedding-style .folio-hero-media,.public-wedding-style .album-hero-media{min-height:68vh}
  .public-wedding-style .folio-hero-content,.public-wedding-style .album-hero-content{padding:88px 18px 46px}
  .public-wedding-style .folio-hero-content h1,.public-wedding-style .album-hero-content h1{font-size:clamp(52px,18vw,86px)}
  .public-wedding-style .folio-welcome,.public-wedding-style .folio-about-section,.public-wedding-style .folio-services,.public-wedding-style .folio-portfolio,.public-wedding-style .folio-contact{padding-left:18px;padding-right:18px}
  .public-wedding-style .folio-preview-strip{padding-left:18px;padding-right:18px;grid-template-columns:1fr}
  .public-wedding-style .folio-stats,.public-wedding-style .folio-service-row,.public-wedding-style .folio-album-grid,.public-wedding-style .wedding-grid{grid-template-columns:1fr}
  .public-wedding-style .folio-stats div{border-right:0;border-bottom:1px solid var(--premium-line)}
  .public-wedding-style .folio-stats div:last-child{border-bottom:0}
  .public-wedding-style .wedding-tile.is-wide{grid-column:span 1}
  .public-wedding-style .wedding-tile.is-wide img,.public-wedding-style .wedding-tile img{aspect-ratio:1/1.2}
  .public-wedding-style .wedding-tile.is-tall img{aspect-ratio:1/1.55}
  .public-wedding-style .album-toolbar__actions .btn{width:100%}
}


/* ===== v2.5: hero actions, service cards, premium portfolio and full contacts ===== */
.public-v25 .folio-hero-content{
  max-width:1180px;
}
.public-v25 .folio-hero-location{
  max-width:620px;
  margin-top:24px;
}
.public-v25 .folio-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.public-v25 .folio-hero-actions .btn{
  min-width:168px;
  min-height:50px;
}
.public-v25 .folio-hero-actions .btn.ghost{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.36);
  color:#fff;
  backdrop-filter:blur(8px);
}
.public-v25 .folio-hero-actions .btn.primary{
  background:#fff;
  border-color:#fff;
  color:var(--premium-ink);
}
.public-v25 .folio-about-section{
  padding-top:clamp(64px,8vw,126px);
}
.public-v25 .folio-service-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.6vw,24px);
}
.public-v25 .folio-service-card{
  position:relative;
  min-height:260px;
  padding:clamp(22px,2.2vw,34px);
  background:#fff;
  border:1px solid var(--premium-line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.public-v25 .folio-service-card::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-80px;
  width:180px;
  height:180px;
  border:1px solid rgba(154,115,95,.12);
  border-radius:50%;
}
.public-v25 .folio-service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(154,115,95,.28);
  box-shadow:0 24px 60px rgba(48,35,29,.07);
}
.public-v25 .folio-service-card__icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(154,115,95,.22);
  color:var(--premium-accent-dark);
  margin-bottom:36px;
}
.public-v25 .folio-service-card__icon .fa-icon{
  width:22px;
  height:22px;
  flex-basis:22px;
}
.public-v25 .folio-service-card h3{
  font-size:clamp(28px,2.6vw,44px);
  line-height:.98;
  letter-spacing:-.04em;
  margin-bottom:14px;
}
.public-v25 .folio-service-card p{
  color:var(--premium-muted);
  line-height:1.7;
  margin:0;
}
.public-v25 .folio-album-grid--premium{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
}
.public-v25 .folio-album-card--premium{
  position:relative;
  background:#fff;
  border:1px solid rgba(48,35,29,.08);
  padding:10px;
  box-shadow:0 16px 45px rgba(48,35,29,.045);
  transition:transform .28s ease, box-shadow .28s ease;
}
.public-v25 .folio-album-card--premium:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 70px rgba(48,35,29,.09);
}
.public-v25 .folio-album-card--premium:nth-child(3n+2){
  margin-top:42px;
}
.public-v25 .folio-album-card--premium .folio-album-card__media{
  aspect-ratio:4/5;
}
.public-v25 .folio-album-card--premium .folio-album-card__body{
  padding:20px 10px 10px;
}
.public-v25 .folio-album-card__meta{
  display:block;
  margin-bottom:10px;
  color:var(--premium-accent);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.public-v25 .folio-album-card--premium .btn{
  width:auto;
  min-width:170px;
  margin-top:4px;
}
.public-v25 .folio-contact-box--full{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);
  gap:clamp(24px,4vw,72px);
  align-items:stretch;
  padding:clamp(28px,4vw,56px);
  background:#f7f3ef;
  border:1px solid rgba(48,35,29,.10);
}
.public-v25 .folio-contact-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.public-v25 .folio-contact-kicker{
  margin:0 0 12px;
  color:var(--premium-accent);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.public-v25 .folio-contact-main h3{
  font-size:clamp(42px,5vw,88px);
  line-height:.88;
  margin-bottom:20px;
}
.public-v25 .folio-contact-main p{
  max-width:600px;
  color:var(--premium-muted);
  line-height:1.75;
  margin-bottom:24px;
}
.public-v25 .folio-social-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.public-v25 .folio-social-card{
  min-height:116px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px;
  background:#fff;
  border:1px solid rgba(48,35,29,.10);
  color:var(--premium-ink);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.public-v25 a.folio-social-card:hover{
  transform:translateY(-3px);
  border-color:rgba(154,115,95,.28);
  box-shadow:0 18px 45px rgba(48,35,29,.07);
}
.public-v25 .folio-social-card__icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 46px;
  border:1px solid rgba(154,115,95,.18);
  background:#f7f3ef;
  color:var(--premium-accent-dark);
}
.public-v25 .folio-social-card__icon img{
  max-width:25px;
  max-height:25px;
  object-fit:contain;
}
.public-v25 .folio-social-card__icon .fa-icon{
  width:20px;
  height:20px;
  flex-basis:20px;
}
.public-v25 .folio-social-card__name{
  font-family:var(--font-heading);
  font-size:25px;
  line-height:1;
}

/* Admin: services and social settings */
.admin-service-grid,
.admin-social-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.admin-service-card,
.admin-social-card{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid rgba(36,25,20,.10);
  background:#fff;
}
.admin-service-card h4,
.admin-social-card h4{
  margin:0;
  font-family:var(--font-heading);
  font-size:25px;
}
.social-icon-preview{
  width:46px;
  height:46px;
  object-fit:contain;
  padding:8px;
  border:1px solid rgba(36,25,20,.12);
  background:#fff;
}
@media (max-width:1100px){
  .public-v25 .folio-service-cards,
  .public-v25 .folio-album-grid--premium{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .public-v25 .folio-contact-box--full{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .public-v25 .folio-hero-actions .btn{
    width:100%;
  }
  .public-v25 .folio-service-cards,
  .public-v25 .folio-album-grid--premium,
  .public-v25 .folio-social-grid,
  .admin-service-grid,
  .admin-social-grid{
    grid-template-columns:1fr;
  }
  .public-v25 .folio-album-card--premium:nth-child(3n+2){
    margin-top:0;
  }
  .public-v25 .folio-contact-box--full{
    padding:22px;
  }
}


/* ===== v2.6: unified elegant serif typography and chocolate buttons ===== */
.public-wedding-style{
  --premium-accent:#8b6957;
  --premium-accent-dark:#755647;
}

/* Все основные заголовки с засечками — один характер, без лишней жирности */
.public-wedding-style .folio-hero-content h1,
.public-wedding-style .album-hero-content h1,
.public-wedding-style .folio-section-head h2,
.public-wedding-style .folio-about-intro,
.public-wedding-style .folio-quote,
.public-wedding-style .folio-service-card h3,
.public-wedding-style .folio-album-card__body h3,
.public-wedding-style .folio-contact-main h3,
.public-wedding-style .folio-brand,
.public-wedding-style .folio-social-card__name{
  font-family:var(--font-heading);
  font-weight:500;
  letter-spacing:-.035em;
}

/* Имя на первом экране стало ближе к заголовку внутри блока «Обо мне» */
.public-wedding-style .folio-hero-content h1,
.public-wedding-style .album-hero-content h1{
  font-weight:500;
  line-height:.88;
  letter-spacing:-.045em;
}

/* Описание на первом экране не выглядит как тяжёлый заголовок */
.public-wedding-style .folio-hero-location{
  font-family:var(--font-heading);
  font-weight:500;
  font-size:clamp(26px,3.2vw,48px);
  line-height:1.05;
  letter-spacing:-.035em;
  max-width:760px;
}

/* Разделы: обо мне, услуги, портфолио, контакты */
.public-wedding-style .folio-section-head h2{
  font-weight:500;
  letter-spacing:-.04em;
}

/* Заголовки карточек и контактов */
.public-v25 .folio-service-card h3,
.public-v25 .folio-album-card--premium .folio-album-card__body h3,
.public-v25 .folio-contact-main h3{
  font-weight:500;
  letter-spacing:-.035em;
}

/* Все публичные кнопки — в шоколадной системе */
.public-wedding-style .btn,
.public-wedding-style .btn.ghost,
.public-wedding-style .btn.soft,
.public-wedding-style .btn.primary,
.public-v25 .folio-hero-actions .btn,
.public-v25 .folio-hero-actions .btn.ghost,
.public-v25 .folio-hero-actions .btn.primary,
.public-v25 .folio-contact-main .btn,
.public-v25 .folio-album-card--premium .btn,
.public-wedding-style .album-toolbar__actions .btn{
  background:var(--premium-accent);
  border-color:var(--premium-accent);
  color:#fff;
}

.public-wedding-style .btn:hover,
.public-wedding-style .btn.ghost:hover,
.public-wedding-style .btn.soft:hover,
.public-wedding-style .btn.primary:hover,
.public-v25 .folio-hero-actions .btn:hover,
.public-v25 .folio-contact-main .btn:hover,
.public-v25 .folio-album-card--premium .btn:hover,
.public-wedding-style .album-toolbar__actions .btn:hover{
  background:var(--premium-accent-dark);
  border-color:var(--premium-accent-dark);
  color:#fff;
  box-shadow:0 0 0 3px rgba(139,105,87,.12);
}

.public-wedding-style .btn svg,
.public-wedding-style .btn .fa-icon{
  color:currentColor;
  fill:currentColor;
}

/* Кнопки на тёмном первом экране остаются читаемыми и одинаковыми */
.public-v25 .folio-hero-actions .btn{
  backdrop-filter:none;
  min-height:52px;
}

/* Кнопки в lightbox также в единой шоколадной системе */
.public-wedding-style .lightbox-actions .btn{
  background:var(--premium-accent);
  border-color:var(--premium-accent);
  color:#fff;
}
.public-wedding-style .lightbox-actions .btn:hover{
  background:var(--premium-accent-dark);
  border-color:var(--premium-accent-dark);
}


/* ===== v2.7: services grid — 4 cards in one row on desktop ===== */
@media (min-width: 900px){
  .public-v25 .folio-service-cards,
  .public-wedding-style .folio-service-cards{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .public-v25 .folio-service-card,
  .public-wedding-style .folio-service-card{
    min-height:280px;
  }
}

@media (min-width: 761px) and (max-width: 899px){
  .public-v25 .folio-service-cards,
  .public-wedding-style .folio-service-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 760px){
  .public-v25 .folio-service-cards,
  .public-wedding-style .folio-service-cards{
    grid-template-columns:1fr !important;
  }
}


/* ===== v2.8: stable batch upload and preview status ===== */
.upload-status{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(36,25,20,.12);
  background:#fff;
}
.upload-status[hidden]{
  display:none;
}
.upload-status__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--ink);
}
.upload-status__top span{
  color:var(--muted);
}
.upload-status__top b{
  font-weight:500;
}
.upload-progress{
  width:100%;
  height:8px;
  overflow:hidden;
  background:rgba(139,105,87,.12);
}
.upload-progress span{
  display:block;
  width:0%;
  height:100%;
  background:var(--chocolate);
  transition:width .2s ease;
}
.upload-errors{
  display:grid;
  gap:6px;
}
.upload-errors:empty{
  display:none;
}
.upload-errors b{
  font-weight:500;
}
.upload-errors p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.upload-errors span{
  color:var(--ink);
}
.upload-form .btn[disabled]{
  opacity:.68;
  cursor:wait;
}
.admin-body .upload-status,
.admin-body .upload-preview-item{
  background:#fff;
}


/* ===== v2.9: admin photo sorting, manual cover and lightbox slider ===== */
.photo-sort-hint{
  margin:0 0 14px;
}
.photo-admin-grid--sortable{
  position:relative;
}
.photo-admin-grid--sortable::before{
  content:attr(data-status);
  position:sticky;
  top:12px;
  z-index:3;
  display:block;
  grid-column:1/-1;
  min-height:0;
  color:var(--chocolate);
  font-size:13px;
}
.photo-admin-grid--sortable[data-status=""]::before{
  display:none;
}
.photo-admin-grid--sortable [data-photo-item]{
  cursor:grab;
  transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}
.photo-admin-grid--sortable [data-photo-item].is-dragging{
  opacity:.52;
  transform:scale(.985);
  box-shadow:0 18px 40px rgba(36,25,20,.12);
}
.photo-drag-handle{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(36,25,20,.62);
  color:#fff;
  cursor:grab;
  backdrop-filter:blur(6px);
}
.photo-drag-handle .fa-icon{
  width:15px;
  height:15px;
}
.photo-admin-grid--polished figure{
  position:relative;
}
.photo-admin-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.photo-admin-actions form{
  display:block;
}
.photo-admin-actions .btn{
  width:100%;
}
.photo-admin-grid--polished .cover-badge:empty{
  display:none;
}
.photo-admin-grid--polished figure.is-cover::after{
  content:"Обложка";
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  padding:6px 9px;
  background:var(--chocolate);
  color:#fff;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lightbox-stage{
  overflow:hidden;
}
.lightbox-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.92);
  color:var(--ink);
  font-size:42px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.lightbox-arrow:hover{
  background:#fff;
  transform:translateY(-50%) scale(1.03);
}
.lightbox-arrow--prev{
  left:14px;
}
.lightbox-arrow--next{
  right:14px;
}
.lightbox-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:5;
}
.public-wedding-style .lightbox-arrow{
  background:rgba(255,255,255,.95);
  color:var(--premium-ink);
  border:0;
}
@media (min-width:720px){
  .photo-admin-actions{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .lightbox-arrow{
    width:42px;
    height:42px;
    font-size:34px;
  }
  .lightbox-arrow--prev{
    left:8px;
  }
  .lightbox-arrow--next{
    right:8px;
  }
}


/* ===== v3.0: custom album cover and photographer contacts in album hero ===== */
.album-custom-cover-settings{
  background:#fff;
}
.checkbox-line{
  display:flex!important;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid rgba(36,25,20,.10);
  background:rgba(139,105,87,.05);
}
.checkbox-line input{
  width:auto!important;
  margin:0;
}
.album-hero-contacts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
  max-width:760px;
}
.album-hero-contact{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(8px);
  font-size:13px;
  letter-spacing:.03em;
}
.album-hero-contact--main{
  background:#8b6957;
  border-color:#8b6957;
  color:#fff;
}
.album-hero-contact img{
  width:18px;
  height:18px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.public-wedding-style .album-hero-contact:hover{
  background:#755647;
  border-color:#755647;
  color:#fff;
}
@media (max-width:640px){
  .album-hero-contacts{
    gap:8px;
  }
  .album-hero-contact{
    width:100%;
    justify-content:center;
  }
}


/* ===== v3.1: responsive hardening for 1024/1440 and editable contacts ===== */
.admin-social-card.is-hidden{
  display:none;
}
.admin-social-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.checkbox-line--compact{
  font-size:13px;
  padding:8px 10px;
}
.social-settings .btn[data-add-social]{
  width:max-content;
}
.admin-layout,
.admin-main,
.content,
.panel,
.form-group,
.album-card,
.admin-service-card,
.admin-social-card,
.public-wedding-style *{
  min-width:0;
}
.topbar{
  flex-wrap:wrap;
}
.top-actions{
  min-width:0;
}
.top-actions .btn,
.actions-row .btn,
.card-actions .btn,
.album-toolbar__actions .btn{
  max-width:100%;
}
.form-grid input,
.form-grid textarea,
.form-grid select,
.copy-input{
  min-width:0;
}
@media (min-width:1040px) and (max-width:1320px){
  .sidebar{
    width:220px;
  }
  .admin-main{
    margin-left:220px;
  }
  .content{
    padding:22px;
  }
  .topbar{
    padding:14px 20px;
  }
  .topbar h1{
    font-size:24px;
  }
  .top-actions{
    gap:6px;
  }
  .top-actions .btn{
    min-width:0;
    padding-left:12px;
    padding-right:12px;
    font-size:14px;
  }
  .album-grid.wide{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .photo-admin-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .edit-layout{
    grid-template-columns:1fr;
  }
  .upload-layout{
    grid-template-columns:1fr;
  }
  .admin-service-grid,
  .admin-social-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:1039px){
  .topbar{
    align-items:flex-start;
  }
  .top-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .top-actions .btn{
    white-space:normal;
  }
  .album-grid.wide,
  .album-grid.admin-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .photo-admin-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:780px){
  .album-grid.wide,
  .album-grid.admin-cards,
  .photo-admin-grid,
  .admin-service-grid,
  .admin-social-grid{
    grid-template-columns:1fr;
  }
  .copy-row{
    grid-template-columns:1fr;
  }
  .copy-row .btn{
    width:100%;
  }
  .admin-social-card__head{
    display:grid;
  }
}
@media (min-width:901px) and (max-width:1180px){
  .public-wedding-style .folio-header__inner{
    padding-left:24px;
    padding-right:24px;
    gap:18px;
  }
  .public-wedding-style .folio-brand{
    font-size:clamp(24px,2.4vw,32px);
  }
  .public-wedding-style .folio-nav{
    gap:16px;
  }
  .public-wedding-style .folio-nav a{
    font-size:11px;
    letter-spacing:.09em;
  }
  .public-wedding-style .folio-hero-content,
  .public-wedding-style .album-hero-content{
    padding-left:42px;
    padding-right:42px;
  }
  .public-v25 .folio-service-card{
    padding:20px;
    min-height:248px;
  }
  .public-v25 .folio-service-card h3{
    font-size:clamp(24px,2.2vw,32px);
  }
  .public-v25 .folio-service-card p{
    font-size:14px;
    line-height:1.58;
  }
  .public-v25 .folio-service-card__icon{
    margin-bottom:24px;
  }
  .public-v25 .folio-contact-box--full{
    grid-template-columns:1fr;
  }
  .public-v25 .folio-social-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:1181px) and (max-width:1500px){
  .public-wedding-style .folio-hero-content,
  .public-wedding-style .album-hero-content{
    padding-left:64px;
    padding-right:64px;
  }
  .public-v25 .folio-service-card{
    padding:24px;
  }
  .public-v25 .folio-service-card h3{
    font-size:clamp(26px,2.1vw,38px);
  }
  .public-v25 .folio-contact-box--full{
    gap:36px;
  }
  .public-v25 .folio-social-card{
    padding:16px;
  }
}
@media (max-width:900px){
  .public-wedding-style .folio-header__inner{
    flex-wrap:wrap;
  }
  .public-wedding-style .folio-nav{
    width:100%;
    gap:12px 16px;
  }
  .public-wedding-style .folio-nav a{
    color:var(--premium-muted);
  }
  .public-wedding-style .album-toolbar{
    align-items:flex-start;
  }
  .public-wedding-style .album-toolbar__actions{
    width:100%;
  }
}
@media (max-width:560px){
  .actions-row .btn,
  .hero-actions .btn,
  .card-actions .btn,
  .top-actions .btn,
  .social-settings .btn[data-add-social]{
    width:100%;
  }
}


/* ===== v3.2: faster previews with small thumbnails ===== */
.album-card img,
.folio-album-card img,
.wedding-tile img,
.photo-admin-grid img,
.album-cover-preview img{
  background:#f3eee9;
}
.wedding-tile img,
.photo-admin-grid img,
.album-card .thumb img,
.folio-album-card__media img{
  content-visibility:auto;
}


/* ===== v3.3: cleaner contacts, fixed icons and calmer settings UI ===== */

/* Public album contacts: compact pills with real uploaded icons */
.album-hero-contacts{
  align-items:center;
}
.album-hero-contact{
  min-height:38px;
  padding:0 12px;
  gap:8px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.28);
  font-size:13px;
  line-height:1;
}
.album-hero-contact--main{
  background:var(--premium-accent);
  border-color:var(--premium-accent);
}
.album-hero-contact__icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  border-radius:999px;
  overflow:hidden;
}
.album-hero-contact__icon img{
  width:15px;
  height:15px;
  max-width:15px;
  max-height:15px;
  object-fit:contain;
  filter:none!important;
}
.album-hero-contact__icon .fa-icon{
  width:13px;
  height:13px;
  flex-basis:13px;
}

/* Public contact block: lighter, cleaner list */
.public-v25 .folio-contact-box--compact{
  grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);
  gap:clamp(22px,3vw,48px);
  padding:clamp(24px,3vw,44px);
  background:#fbf8f5;
}
.public-v25 .folio-contact-box--compact .folio-contact-main h3{
  font-size:clamp(38px,4.2vw,72px);
}
.public-v25 .folio-contact-box--compact .folio-contact-main p{
  font-size:16px;
  line-height:1.68;
  margin-bottom:20px;
}
.public-v25 .folio-social-grid--compact{
  align-content:start;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.public-v25 .folio-social-grid--compact .folio-social-card{
  min-height:62px;
  padding:12px 14px;
  gap:12px;
  border-color:rgba(48,35,29,.09);
  box-shadow:none;
}
.public-v25 .folio-social-grid--compact .folio-social-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(48,35,29,.055);
}
.public-v25 .folio-social-grid--compact .folio-social-card__icon{
  width:34px;
  height:34px;
  flex-basis:34px;
  background:#f2ebe5;
  border-color:rgba(154,115,95,.14);
}
.public-v25 .folio-social-grid--compact .folio-social-card__icon img{
  max-width:18px;
  max-height:18px;
  object-fit:contain;
  filter:none!important;
}
.public-v25 .folio-social-grid--compact .folio-social-card__icon .fa-icon{
  width:16px;
  height:16px;
  flex-basis:16px;
}
.public-v25 .folio-social-grid--compact .folio-social-card__name{
  font-family:var(--font-body);
  font-size:15px;
  font-weight:500;
  letter-spacing:0;
}

/* Settings: diagnostics at bottom, hint at top, tighter controls */
.settings-diagnostics-panel{
  grid-column:1/-1;
}
.settings-help-panel{
  position:sticky;
  top:18px;
}
.settings-list{
  display:grid;
  gap:10px;
}
.settings-list div{
  padding:12px;
  border:1px solid rgba(36,25,20,.09);
  background:#fff;
}
.settings-list b{
  display:block;
  font-weight:500;
  margin-bottom:3px;
}
.settings-list span{
  display:block;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.settings-form{
  gap:16px;
}
.settings-form .form-group{
  padding:16px;
  gap:12px;
}
.settings-form .form-group h3{
  font-size:25px;
  line-height:1.05;
}
.settings-form .muted,
.settings-form small{
  font-size:13px;
}
.settings-form .btn,
.settings-side .btn{
  min-height:40px;
  padding:0 13px;
  font-size:14px;
}
.settings-form input[type="file"]{
  padding:8px;
  font-size:13px;
  background:#fff;
}
.settings-form input[type="file"]::file-selector-button{
  min-height:34px;
  margin-right:10px;
  padding:0 12px;
  border:1px solid rgba(36,25,20,.12);
  background:#f7f3ef;
  color:var(--ink);
  font:inherit;
  font-size:13px;
  cursor:pointer;
}
.profile-media-grid{
  gap:12px;
}
.profile-media-grid label,
.admin-social-card label,
.admin-service-card label{
  gap:6px;
}
.profile-media-preview{
  max-height:180px;
  object-fit:cover;
}
.profile-media-preview--hero{
  max-height:150px;
}
.admin-service-card,
.admin-social-card{
  padding:14px;
  gap:10px;
}
.admin-social-card__head{
  gap:10px;
}
.admin-service-card h4,
.admin-social-card h4{
  font-size:23px;
}
.social-icon-preview{
  width:38px;
  height:38px;
  padding:7px;
}
.checkbox-line{
  padding:9px 10px;
  line-height:1.35;
}
.checkbox-line--compact{
  padding:7px 9px;
  font-size:12px;
}
.social-settings .btn[data-add-social]{
  min-height:40px;
  width:auto;
}
.diag-list--compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.diag-list--compact .diag-item{
  padding:10px;
  grid-template-columns:28px 1fr;
}
.diag-list--compact .diag-mark{
  width:28px;
  height:28px;
}
.diag-list--compact .diag-item b{
  font-size:13px;
}
.diag-list--compact .diag-item span,
.diag-list--compact .diag-item small{
  font-size:12px;
  line-height:1.35;
}
@media (max-width:1180px){
  .public-v25 .folio-contact-box--compact{
    grid-template-columns:1fr;
  }
  .diag-list--compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:780px){
  .settings-help-panel{
    position:static;
  }
  .public-v25 .folio-social-grid--compact,
  .diag-list--compact{
    grid-template-columns:1fr;
  }
  .public-v25 .folio-social-grid--compact .folio-social-card{
    min-height:58px;
  }
  .settings-form .form-group{
    padding:14px;
  }
}


/* ===== v3.4: premium editorial contact block on public homepage ===== */
.public-wedding-style .folio-contact--editorial{
  padding-top:clamp(52px,7vw,108px);
}
.public-wedding-style .folio-contact--editorial .folio-section-head{
  display:none;
}
.public-wedding-style .folio-contact-panel{
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);
  gap:clamp(22px,4vw,72px);
  align-items:stretch;
  padding:clamp(26px,4.6vw,72px);
  background:
    radial-gradient(circle at 15% 10%, rgba(154,115,95,.16), transparent 34%),
    linear-gradient(135deg,#fbf8f5 0%,#f3ebe4 100%);
  border:1px solid rgba(48,35,29,.10);
  position:relative;
  overflow:hidden;
}
.public-wedding-style .folio-contact-panel::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(154,115,95,.12);
  pointer-events:none;
}
.public-wedding-style .folio-contact-panel__main,
.public-wedding-style .folio-contact-panel__aside{
  position:relative;
  z-index:1;
}
.public-wedding-style .folio-contact-panel__main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:430px;
}
.public-wedding-style .folio-contact--editorial .folio-contact-kicker{
  margin:0 0 18px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--premium-accent);
}
.public-wedding-style .folio-contact-panel__main h2{
  max-width:650px;
  margin:0 0 22px;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:clamp(52px,6.2vw,112px);
  line-height:.84;
  letter-spacing:-.055em;
  color:var(--premium-ink);
}
.public-wedding-style .folio-contact-panel__main p{
  max-width:560px;
  margin:0 0 28px;
  color:var(--premium-muted);
  font-size:17px;
  line-height:1.76;
}
.public-wedding-style .folio-contact-primary{
  width:max-content;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:0 18px 0 22px;
  background:var(--premium-accent);
  border:1px solid var(--premium-accent);
  color:#fff;
  font-weight:500;
  letter-spacing:.01em;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.public-wedding-style .folio-contact-primary:hover{
  background:var(--premium-accent-dark);
  border-color:var(--premium-accent-dark);
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(48,35,29,.10);
}
.public-wedding-style .folio-contact-primary .fa-icon{
  width:17px;
  height:17px;
  flex-basis:17px;
}
.public-wedding-style .folio-contact-panel__aside{
  align-self:center;
  display:grid;
  gap:16px;
}
.public-wedding-style .folio-contact-minihead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(48,35,29,.10);
}
.public-wedding-style .folio-contact-minihead span{
  font-family:var(--font-heading);
  font-weight:500;
  font-size:clamp(28px,2.6vw,42px);
  line-height:.94;
  letter-spacing:-.035em;
  color:var(--premium-ink);
}
.public-wedding-style .folio-contact-minihead small{
  color:var(--premium-muted);
  font-size:13px;
  white-space:nowrap;
}
.public-wedding-style .folio-contact-links{
  display:grid;
  gap:10px;
}
.public-wedding-style .folio-contact-link{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 32px;
  align-items:center;
  gap:14px;
  min-height:72px;
  padding:12px 12px 12px 14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(48,35,29,.09);
  color:var(--premium-ink);
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.public-wedding-style a.folio-contact-link:hover{
  background:#fff;
  border-color:rgba(154,115,95,.24);
  transform:translateY(-2px);
  box-shadow:0 14px 36px rgba(48,35,29,.065);
}
.public-wedding-style .folio-contact-link__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  background:#f2ebe5;
  border:1px solid rgba(154,115,95,.15);
  overflow:hidden;
}
.public-wedding-style .folio-contact-link__icon img{
  width:21px;
  height:21px;
  max-width:21px;
  max-height:21px;
  object-fit:contain;
  filter:none!important;
}
.public-wedding-style .folio-contact-link__icon .fa-icon{
  width:17px;
  height:17px;
  flex-basis:17px;
  color:var(--premium-accent-dark);
}
.public-wedding-style .folio-contact-link__text{
  display:grid;
  gap:2px;
  min-width:0;
}
.public-wedding-style .folio-contact-link__text b{
  display:block;
  font-weight:500;
  font-size:16px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.public-wedding-style .folio-contact-link__text small{
  display:block;
  color:var(--premium-muted);
  font-size:12px;
}
.public-wedding-style .folio-contact-link__arrow{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:var(--premium-accent-dark);
}
.public-wedding-style .folio-contact-link__arrow .fa-icon{
  width:14px;
  height:14px;
  flex-basis:14px;
}
.public-wedding-style .folio-contact-empty{
  padding:18px;
  background:rgba(255,255,255,.7);
  border:1px dashed rgba(154,115,95,.25);
  color:var(--premium-muted);
}
@media (max-width:1180px){
  .public-wedding-style .folio-contact-panel{
    grid-template-columns:1fr;
  }
  .public-wedding-style .folio-contact-panel__main{
    min-height:0;
  }
  .public-wedding-style .folio-contact-panel__main h2{
    max-width:720px;
  }
}
@media (max-width:700px){
  .public-wedding-style .folio-contact-panel{
    padding:24px;
  }
  .public-wedding-style .folio-contact-panel::before{
    inset:10px;
  }
  .public-wedding-style .folio-contact-primary{
    width:100%;
  }
  .public-wedding-style .folio-contact-minihead{
    display:grid;
    gap:6px;
  }
  .public-wedding-style .folio-contact-minihead small{
    white-space:normal;
  }
  .public-wedding-style .folio-contact-link{
    grid-template-columns:38px minmax(0,1fr) 28px;
    min-height:66px;
    gap:11px;
  }
  .public-wedding-style .folio-contact-link__icon{
    width:38px;
    height:38px;
  }
}


/* ===== v3.5: fixed clean contact block on public homepage ===== */
.public-wedding-style .folio-contact--clean{
  padding-top:clamp(54px,7vw,110px);
  padding-bottom:clamp(24px,4vw,60px);
}
.public-wedding-style .folio-contact--clean .folio-section-head{
  display:none!important;
}
.public-wedding-style .folio-contact-card{
  display:grid!important;
  grid-template-columns:minmax(360px,.95fr) minmax(360px,1.05fr)!important;
  gap:clamp(28px,5vw,86px)!important;
  align-items:center!important;
  padding:clamp(34px,5vw,76px)!important;
  min-height:480px!important;
  background:#f7f1eb!important;
  border:1px solid rgba(48,35,29,.10)!important;
  box-shadow:none!important;
  position:relative!important;
  overflow:hidden!important;
}
.public-wedding-style .folio-contact-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:38%;
  height:100%;
  background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(139,105,87,.10));
  pointer-events:none;
}
.public-wedding-style .folio-contact-card::after{
  content:"";
  position:absolute;
  left:clamp(18px,2vw,28px);
  right:clamp(18px,2vw,28px);
  top:clamp(18px,2vw,28px);
  bottom:clamp(18px,2vw,28px);
  border:1px solid rgba(139,105,87,.13);
  pointer-events:none;
}
.public-wedding-style .folio-contact-card__content,
.public-wedding-style .folio-contact-card__links{
  position:relative;
  z-index:1;
  min-width:0;
}
.public-wedding-style .folio-contact-card__content{
  max-width:650px;
}
.public-wedding-style .folio-contact--clean .folio-contact-kicker{
  margin:0 0 18px!important;
  font-size:12px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--premium-accent)!important;
}
.public-wedding-style .folio-contact-card__content h2{
  margin:0 0 20px!important;
  max-width:720px!important;
  font-family:var(--font-heading)!important;
  font-weight:500!important;
  font-size:clamp(50px,6vw,104px)!important;
  line-height:.86!important;
  letter-spacing:-.055em!important;
  color:var(--premium-ink)!important;
  text-transform:none!important;
}
.public-wedding-style .folio-contact-card__content p{
  max-width:560px!important;
  margin:0 0 28px!important;
  color:var(--premium-muted)!important;
  font-size:17px!important;
  line-height:1.72!important;
}
.public-wedding-style .folio-contact-button{
  width:max-content!important;
  min-height:54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  padding:0 18px 0 22px!important;
  background:var(--premium-accent)!important;
  border:1px solid var(--premium-accent)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.public-wedding-style .folio-contact-button:hover{
  background:var(--premium-accent-dark)!important;
  border-color:var(--premium-accent-dark)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 16px 36px rgba(48,35,29,.10)!important;
}
.public-wedding-style .folio-contact-button .fa-icon{
  width:16px!important;
  height:16px!important;
  flex-basis:16px!important;
}
.public-wedding-style .folio-contact-card__links{
  display:grid!important;
  gap:18px!important;
  align-content:center!important;
}
.public-wedding-style .folio-contact-card__title{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(48,35,29,.12)!important;
}
.public-wedding-style .folio-contact-card__title span{
  font-family:var(--font-heading)!important;
  font-size:clamp(30px,2.8vw,44px)!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
  font-weight:500!important;
  color:var(--premium-ink)!important;
}
.public-wedding-style .folio-contact-card__title small{
  font-size:13px!important;
  line-height:1.3!important;
  color:var(--premium-muted)!important;
  white-space:nowrap!important;
}
.public-wedding-style .folio-contact-list{
  display:grid!important;
  gap:10px!important;
}
.public-wedding-style .folio-contact-item{
  min-height:70px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 28px!important;
  align-items:center!important;
  gap:14px!important;
  padding:12px 12px 12px 14px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(48,35,29,.10)!important;
  color:var(--premium-ink)!important;
  box-shadow:none!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.public-wedding-style a.folio-contact-item:hover{
  background:#fff!important;
  border-color:rgba(139,105,87,.25)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 14px 32px rgba(48,35,29,.06)!important;
}
.public-wedding-style .folio-contact-item__icon{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  background:#f2ebe5!important;
  border:1px solid rgba(139,105,87,.16)!important;
  overflow:hidden!important;
}
.public-wedding-style .folio-contact-item__icon img{
  width:22px!important;
  height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  object-fit:contain!important;
  filter:none!important;
}
.public-wedding-style .folio-contact-item__icon .fa-icon{
  width:16px!important;
  height:16px!important;
  flex-basis:16px!important;
  color:var(--premium-accent-dark)!important;
}
.public-wedding-style .folio-contact-item__body{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
.public-wedding-style .folio-contact-item__body b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-family:var(--font-body)!important;
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:500!important;
  letter-spacing:0!important;
  color:var(--premium-ink)!important;
}
.public-wedding-style .folio-contact-item__body small{
  display:block!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:var(--premium-muted)!important;
}
.public-wedding-style .folio-contact-item__arrow{
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--premium-accent-dark)!important;
}
.public-wedding-style .folio-contact-item__arrow .fa-icon{
  width:13px!important;
  height:13px!important;
  flex-basis:13px!important;
}
.public-wedding-style .folio-contact-empty{
  padding:18px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px dashed rgba(139,105,87,.28)!important;
  color:var(--premium-muted)!important;
}
@media (max-width:1180px){
  .public-wedding-style .folio-contact-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .public-wedding-style .folio-contact-card::before{
    width:100%!important;
    height:34%!important;
    top:auto!important;
    bottom:0!important;
  }
}
@media (max-width:700px){
  .public-wedding-style .folio-contact-card{
    padding:24px!important;
  }
  .public-wedding-style .folio-contact-card::after{
    inset:10px!important;
  }
  .public-wedding-style .folio-contact-button{
    width:100%!important;
  }
  .public-wedding-style .folio-contact-card__title{
    display:grid!important;
    gap:5px!important;
  }
  .public-wedding-style .folio-contact-card__title small{
    white-space:normal!important;
  }
  .public-wedding-style .folio-contact-item{
    grid-template-columns:38px minmax(0,1fr) 24px!important;
    min-height:64px!important;
    gap:11px!important;
    padding:10px!important;
  }
  .public-wedding-style .folio-contact-item__icon{
    width:38px!important;
    height:38px!important;
  }
  .public-wedding-style .folio-contact-item__icon img{
    width:20px!important;
    height:20px!important;
  }
}


/* ===== v3.6: Узел footer and public service landing ===== */
.system-home--uzel{
  background:#f7f3ef;
  color:var(--ink);
}
.system-home--uzel .system-home__wrap{
  min-height:auto;
  display:grid;
  gap:24px;
  place-items:stretch;
  width:min(1180px,100%);
  margin:0 auto;
  padding:clamp(22px,4vw,56px) 18px 24px;
}
.system-home__card--landing{
  width:100%;
  padding:clamp(26px,5vw,60px);
  border:1px solid rgba(36,25,20,.10);
  background:#fff;
}
.system-home__card--landing h1{
  max-width:900px;
  font-size:clamp(42px,6vw,86px);
  line-height:.92;
  font-weight:500;
  letter-spacing:-.055em;
}
.system-home__card--landing .muted{
  max-width:760px;
  font-size:17px;
}
.uzel-start-panel{
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(320px,.72fr);
  gap:clamp(22px,4vw,52px);
  align-items:stretch;
  padding:clamp(24px,4vw,46px);
  border:1px solid rgba(36,25,20,.10);
  background:
    radial-gradient(circle at 10% 10%,rgba(139,105,87,.12),transparent 32%),
    #fff;
}
.uzel-start-panel__main h2{
  max-width:720px;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:clamp(36px,4.8vw,68px);
  line-height:.95;
  letter-spacing:-.045em;
  margin:0 0 18px;
}
.uzel-start-panel__main p{
  max-width:760px;
  margin:0 0 12px;
  color:var(--muted);
  line-height:1.72;
}
.uzel-start-panel__contacts{
  display:grid;
  gap:10px;
  align-content:center;
}
.uzel-start-panel__contacts a{
  display:grid;
  gap:3px;
  padding:14px 16px;
  border:1px solid rgba(36,25,20,.10);
  background:#f7f3ef;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.uzel-start-panel__contacts a:hover{
  background:#fff;
  border-color:rgba(139,105,87,.26);
  transform:translateY(-2px);
}
.uzel-start-panel__contacts b{
  font-weight:500;
}
.uzel-start-panel__contacts span{
  color:var(--muted);
  font-size:14px;
}
.uzel-footer{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 16px;
  padding:14px 18px;
  border-top:1px solid rgba(36,25,20,.08);
  background:#fff;
  color:rgba(36,25,20,.58);
  font-size:12px;
  line-height:1.35;
}
.uzel-footer--public{
  margin-top:clamp(34px,5vw,72px);
  background:#f7f3ef;
}
.uzel-footer a{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border:1px solid rgba(139,105,87,.20);
  color:#755647;
  background:rgba(139,105,87,.06);
  font-weight:500;
}
.uzel-footer a:hover{
  background:#8b6957;
  border-color:#8b6957;
  color:#fff;
}
@media (max-width:820px){
  .uzel-start-panel{
    grid-template-columns:1fr;
  }
  .uzel-footer{
    justify-content:flex-start;
  }
  .uzel-footer a{
    width:100%;
    justify-content:center;
  }
}


/* ===== v3.7: footer second CTA and mobile asymmetric album grid ===== */
.uzel-footer{
  gap:8px 12px;
}
.uzel-footer a{
  white-space:nowrap;
}
.uzel-footer a + a{
  background:#fff;
  color:#241914;
  border-color:rgba(36,25,20,.12);
}
.uzel-footer a + a:hover{
  background:#241914;
  border-color:#241914;
  color:#fff;
}

/* Публичный альбом: на мобильной оставляем живую асимметрию в 2 колонки */
@media (max-width:760px){
  .public-wedding-style .album-grid-section{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .public-wedding-style .wedding-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:dense!important;
    gap:8px!important;
  }
  .public-wedding-style .wedding-tile{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .public-wedding-style .wedding-tile img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    aspect-ratio:1/1.22!important;
  }
  .public-wedding-style .wedding-tile.is-tall{
    grid-row:span 2!important;
  }
  .public-wedding-style .wedding-tile.is-tall img{
    aspect-ratio:1/2.52!important;
  }
  .public-wedding-style .wedding-tile.is-wide{
    grid-column:span 2!important;
  }
  .public-wedding-style .wedding-tile.is-wide img{
    aspect-ratio:1.95/1!important;
  }
  .public-wedding-style .wedding-tile:nth-child(6n+2) img{
    aspect-ratio:1/1.45!important;
  }
  .public-wedding-style .wedding-tile:nth-child(6n+4){
    grid-row:span 2!important;
  }
  .public-wedding-style .wedding-tile:nth-child(6n+4) img{
    aspect-ratio:1/2.2!important;
  }
}

/* Очень узкие экраны: две колонки сохраняются, но элементы становятся спокойнее */
@media (max-width:420px){
  .public-wedding-style .wedding-grid{
    gap:7px!important;
  }
  .public-wedding-style .wedding-tile.is-wide img{
    aspect-ratio:1.65/1!important;
  }
  .uzel-footer a{
    width:100%;
    justify-content:center;
  }
}


/* ===== v3.8: higher-quality previews ===== */
.wedding-tile img,
.photo-admin-grid img,
.album-card .thumb img,
.folio-album-card__media img{
  image-rendering:auto;
}
