@charset "UTF-8";

/*
Theme Name: Tytula
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@400;500;600&display=swap');

:root {
  --amber-50: #fffbeb;
  --amber-100: #fef3c7;
  --amber-200: #fde68a;
  --amber-600: #d97706;
  --amber-700: #b45309;
  --amber-800: #92400e;
  --amber-900: #78350f;
  --amber-950: #431407;
  --orange-50: #fff7ed;
  --orange-100: #ffedd5;
  --orange-200: #fed7aa;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --white: #fff;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Inter', system-ui, sans-serif;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.25rem;
  --radius-3xl: 1.5rem;
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);
  --shadow-xl: 0 20px 40px rgba(0, 0, 0, .12);
  --transition: all 0.2s ease;
}

#wpadminbar {height:3px !important; overflow:hidden; z-index:9999;}
#wpadminbar:hover {height:32px !important;}
@media(max-width:1199px) {
	#wpadminbar {display:none !important;}
}
@media (min-width:1200px) {
	.logged-in .editCurrentPage {position:fixed; bottom:0; left:0; z-index:200; display:block;}
	.logged-in .editCurrentPage a {background:rgba(0,0,0,0.5); height:40px; padding:0 14px 0 11px; color:#fff !important; font-size:20px; font-family:serif; line-height:40px; display:block; position:relative; top:0; right:0; transition:.4s ease;}
	.logged-in .editCurrentPage a:hover {background:rgba(0,0,0,1);}
}

* {border:medium none; margin:0; padding:0;}
*:hover, *:active, *:focus {outline:none !important;}
a {color:#53939c; outline:medium none; text-decoration:none;}
a:hover, a:active, a:focus {text-decoration:none;}
html, body {height:100%;}
body {background:#fff; color:#374151; font:normal 16px 'Inter',Arial,Helvetica,sans-serif; line-height:1.33; display:flex; flex-direction:column;}

* {-moz-box-sizing:border-box; box-sizing:border-box; float:none;}
table {border-spacing:0; padding:0;}

.clr {clear:both;}
.container {max-width:750px; padding:0 15px; margin:0 auto;}
@media(min-width:992px) {
	.container {max-width:970px;}
}
@media(min-width:1200px) {
	.container {max-width:1170px;}
}

@media(max-width:1199px) { .row-md {margin:0 -15px;} }
@media(max-width:991px) { .row-sm {margin:0 -15px;} }
@media(max-width:767px) { .row-xs {margin:0 -15px;} }
@media(max-width:1199px) { .xp {padding-bottom:16px;} }
@media(max-width:991px) { .tp {padding-bottom:16px;} }
@media(max-width:767px) { .mp {padding-bottom:16px;} }

.hFlex {width:100%; display:flex; flex-flow:row nowrap; justify-content:space-between; align-items:center;}
.logoTx {padding:1rem 0; position:relative; z-index:15;}
.logoTx a {color:#78350f; font-size:20px; font-family:'Playfair Display',sans-serif; font-weight:700;}
@media(min-width:768px){
}

#header {background:#fff; width:100%; min-height:60px; border-bottom:1px solid var(--amber-100); flex:0 0 auto; position:fixed; left:0; top:0; z-index:10;}
@media(max-width:767px) {
	#header.open:before {content:''; background:#fff; width:100%; height:60px; position:fixed; left:0; top:0; z-index:8;}
}

main {padding:60px 0 0; flex:1 0 auto;}
#footer {flex:0 0 auto;}

.menuBtn {width:30px; height:30px; display:inline-block; position:absolute; right:20px; top:15px; z-index:15;}
.menuBtn span {background:#78350f; width:26px; height:2px; margin-left:2px; position:relative; display:block; border-radius:1px; transition:ease .3s;}
.menuBtn span {margin-top:6px;}
#header.open .menuBtn span {background:#78350f;}
#header.open .menuBtn span:nth-child(1) {transform:rotate(45deg) translateZ(0px); width:26px; height:2px; top:5px; left:0;}
#header.open .menuBtn span:nth-child(2) {display:none;}
#header.open .menuBtn span:nth-child(3) {transform:rotate(-45deg) translateZ(0px); width:26px; height:2px; top:-3px; left:0;}
@media (min-width:768px) { 
  .menuBtn {display:none;}
}

.menuBox, .menuBox ul {margin:0; list-style:none;}
.menuBox li > a {width:100%; font-size:16px; color:#4b5563; padding:7px 15px; text-decoration:none !important; text-align:center; display:block; transition:color ease .2s;}
.menuBox li > a span {border-bottom:2px solid #ffffff00; transition:border-color ease .5s;}
.menuBox li > a:hover {color:#b45309;}
.menuBox li > a:hover span {border-bottom:2px solid #b45309;}
.menuBox li.current-menu-item > a {color:#b45309;}
.menuBox li.current-menu-item > a span {border-bottom:2px solid #b45309;}
@media (max-width:767px) {
  .menuBox {background:#fff; width:100%; height:100%; text-align:center; overflow:scroll; position:fixed; left:0; top:0; z-index:4; display:none;}
  .menuBox ul {display:block !important; height:auto !important;}
  .menuBox .container {height:100%;}
  .menuInner {min-height:100vh; min-height:-webkit-fill-available; padding:60px 15px 50px; display:flex; flex-flow:column nowrap; justify-content:center;}
}
@media (min-width:768px) {
  .menuBox {background:#fff; height:auto !important; display:block !important;}
  .menuBox li {display:inline-block;}
  .menuBox li > a {padding:10px 12px; font-size:14px;}
}

.page404 {min-height:100%; padding:50px 0; display:flex; flex-flow:column nowrap; justify-content:center; align-items:center;}


.nav {position:fixed; top:0; left:0; right:0; background:rgba(255, 255, 255, .95); backdrop-filter:blur(12px); border-bottom:1px solid var(--amber-100); z-index:100;}
.nav-inner {max-width:72rem; margin:0 auto; padding:1rem 1.5rem; display:flex; justify-content:space-between; align-items:center;}
.nav-logo {font-family:var(--font-serif); font-size:1.2rem; font-weight:700; color:var(--amber-900);}

.nav-links {display:flex; gap:1.75rem; align-items:center;}
.nav-links a {font-size:.875rem; font-weight:500; color:var(--gray-600); transition:var(--transition); padding-bottom:2px; border-bottom:2px solid transparent;}
.nav-links a:hover, .nav-links a.active {color:var(--amber-700); border-bottom-color:var(--amber-700);}

.nav-burger {display:none; background:none; border:none; cursor:pointer; color:var(--amber-900); padding:4px;}
.nav-burger svg {width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round;}

@media (max-width:768px) {
  .nav-burger {display:block;}
  .nav-links {display:none; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--white); padding:1.5rem; border-bottom:1px solid var(--amber-100); gap:1rem; box-shadow:0 8px 20px rgba(0, 0, 0, .07);}
  .nav-links.open {display:flex;}
}

.btn {display:inline-flex; align-items:center; gap:.5rem; padding:.75rem 2rem; border-radius:var(--radius-lg); font-weight:500; font-size:.95rem; cursor:pointer; transition:var(--transition); border:none;}
.btn-primary {background:var(--amber-700); color:var(--white);}
.btn-primary:hover {background:var(--amber-800);}
.btn-outline {background:transparent; border:2px solid var(--amber-700); color:var(--amber-700);}
.btn-outline:hover {background:var(--amber-50);}
.btn-full {width:100%; justify-content:center;}
.btn-lg {padding:1rem 2rem; font-size:1.05rem;}

.hero {min-height:100vh; background:linear-gradient(135deg, var(--amber-50) 0%, var(--white) 50%, var(--orange-50) 100%); display:flex; align-items:center;}
.hero-grid {display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; padding:5rem 0;}
@media (max-width:768px) {
  .hero-grid {grid-template-columns:1fr;}
}

.hero-title {font-family:var(--font-serif); font-size:clamp(2.5rem, 5vw, 3.75rem); color:var(--amber-900); line-height:1.15; margin-bottom:1.25rem;}
.hero-title span {color:var(--amber-600);}
.hero-desc {color:var(--gray-600); line-height:1.7; font-size:1.05rem; margin-bottom:2rem;}
.hero-btns {display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem;}

.hero-features {padding-top:2rem; border-top:1px solid var(--amber-200); display:flex; flex-direction:column; gap:1rem;}
.hero-feature {display:flex; align-items:flex-start; gap:1rem;}
.hero-feature-icon {font-size:1.5rem;}
.hero-feature h3 {font-size:.95rem; font-weight:600; color:var(--gray-800); margin-bottom:.15rem;}
.hero-feature p {font-size:.85rem; color:var(--gray-600);}

.hero-card {position:relative;}
.hero-card-glow {position:absolute; inset:-1rem; background:linear-gradient(135deg, var(--amber-200), var(--orange-200)); border-radius:var(--radius-3xl); opacity:.2; filter:blur(3rem);}
.hero-card-inner {position:relative; background:linear-gradient(135deg, var(--amber-100), var(--orange-100)); border-radius:var(--radius-3xl); padding:3rem; text-align:center;}
.hero-card-icon {font-size:3.5rem; margin-bottom:1.25rem;}
.hero-card-title {font-family:var(--font-serif); font-size:1.5rem; color:var(--amber-900); margin-bottom:1rem;}
.hero-card-desc {font-size:.875rem; color:var(--gray-700); line-height:1.65; margin-bottom:1.5rem;}
.hero-card-badge {background:rgba(255, 255, 255, .6); border-radius:var(--radius-lg); padding:1rem; font-size:.875rem; color:var(--gray-800);}
.hero-card-badge p:first-child {font-weight:600; margin-bottom:.25rem;}

.section {padding:5rem 0;}
.section-bg {background:var(--white);}
.section-bg-light {background:var(--amber-50);}
.section-title {font-family:var(--font-serif); font-size:clamp(1.75rem, 3vw, 2.5rem); color:var(--amber-900); margin-bottom:3rem;}
.section-title-center {text-align:center;}
.section-lead {text-align:center; max-width:720px; margin:0 auto 2.5rem; color:var(--amber-700); font-size:1.05rem; line-height:1.7;}

.container-narrow {max-width:760px; margin-left:auto; margin-right:auto;}
.about-lead {font-size:1.15rem; line-height:1.85; color:var(--amber-900); text-align:center;}
.about-role {color:var(--amber-600); font-size:1rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.25rem;}
.about-quote {font-family:var(--font-serif); font-size:1.2rem; font-style:italic; color:var(--amber-800); text-align:center; border-left:4px solid var(--amber-400); padding-left:1.25rem; margin:0 auto;}
.about-split {display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start;}
.about-split-text p {color:var(--amber-800); line-height:1.75; margin-bottom:1rem;}
.about-split-creds {display:flex; flex-direction:column; gap:1rem;}
.cred-item {display:flex; gap:1rem; align-items:flex-start; background:var(--amber-50); border:1px solid var(--amber-200); border-radius:.75rem; padding:1rem 1.25rem;}
.cred-icon {font-size:1.5rem; flex-shrink:0;}
.cred-item strong {display:block; color:var(--amber-900); font-size:.95rem; margin-bottom:.25rem;}
.cred-item span {color:var(--amber-700); font-size:.88rem; line-height:1.5;}

.gallery-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:.75rem;}
.gallery-item {aspect-ratio:1 / 1; overflow:hidden; border-radius:.75rem; background:var(--amber-100);}
.gallery-item img {width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.gallery-item:hover img {transform:scale(1.05);}

/* placeholder shown when image is missing */
.gallery-placeholder {background:var(--amber-100); border:2px dashed var(--amber-300); border-radius:.75rem; position:relative;}
.gallery-placeholder::after {content:'фото незабаром'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:.78rem; color:var(--amber-400); letter-spacing:.05em;}
.gallery-placeholder img { display:none;}
@media (max-width:640px) {
  .gallery-grid { grid-template-columns:repeat(2, 1fr); gap:.5rem;}
}

.cards-grid-2 {display:grid; grid-template-columns:repeat(2, 1fr); gap:1.5rem;}
@media (max-width:640px) {.about-split { grid-template-columns:1fr; gap:2rem;}
  .cards-grid-2 { grid-template-columns:1fr;}
}

.page-hero {padding:4rem 0 3rem;}
.page-tag {font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--amber-600); margin-bottom:.5rem;}
.page-subtitle {color:var(--amber-600); font-size:1rem; letter-spacing:.05em; text-transform:uppercase; margin-bottom:1rem;}
.page-desc {font-family:var(--font-serif); font-size:1.15rem; font-style:italic; color:var(--amber-800); max-width:600px;}

.cards-grid-3 {display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem;}
@media (max-width:900px) {
  .cards-grid-3 {grid-template-columns:1fr 1fr;}
}
@media (max-width:580px) {
  .cards-grid-3 {grid-template-columns:1fr;}
}

.card-feature {padding:2rem; border:1px solid var(--amber-200); border-radius:var(--radius-2xl); transition:var(--transition);}
.card-feature:hover {box-shadow:var(--shadow-lg);}
.card-feature-icon {font-size:2.5rem; margin-bottom:1rem;}
.card-feature h3 {font-size:1.15rem; font-weight:600; color:var(--amber-900); margin-bottom:.75rem;}
.card-feature p {color:var(--gray-600); line-height:1.65;}


.services-grid {display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-bottom:4rem;}
@media (max-width:700px) {
  .services-grid {grid-template-columns:1fr;}
}

.service-card {border:2px solid var(--amber-700); border-radius:var(--radius-2xl); padding:2rem; transition:var(--transition); position:relative;}
.service-card:hover {box-shadow:var(--shadow-xl);}
.service-card-badge {position:absolute; top:-1rem; right:-1rem; background:var(--amber-600); color:var(--white); padding:.25rem 1rem; border-radius:99px; font-size:.8rem; font-weight:500;}
.service-card-icon {font-size:2.5rem; margin-bottom:1rem;}
.service-card h2 {font-family:var(--font-serif); font-size:1.4rem; color:var(--amber-900); margin-bottom:.5rem;}
.service-price {display:flex; align-items:baseline; gap:.5rem; margin-bottom:1rem;}
.service-price-num {font-size:1.75rem; font-weight:700; color:var(--amber-700);}
.service-price-label {color:var(--gray-600);}
.service-duration {font-size:.875rem; color:var(--gray-500); margin-bottom:1.5rem;}
.service-list {display:flex; flex-direction:column; gap:.75rem; margin-bottom:2rem;}
.service-list li {display:flex; gap:.5rem; color:var(--gray-700);}
.service-list li span:first-child {color:var(--amber-600); font-weight:700;}

.faq-section {background:var(--amber-50); border-radius:var(--radius-2xl); padding:3rem; margin-bottom:60px;}
.faq-title {font-family:var(--font-serif); font-size:1.75rem; color:var(--amber-900); margin-bottom:2.5rem;}
.faq-list {display:flex; flex-direction:column; gap:1.5rem;}
.faq-item {border-bottom:1px solid var(--amber-200); padding-bottom:1.5rem;}
.faq-item:last-child {border-bottom:none; padding-bottom:0;}
.faq-q {font-weight:600; color:var(--amber-900); margin-bottom:.5rem;}
.faq-a {color:var(--gray-700); line-height:1.7;}

.calc-page {min-height:100vh; background:linear-gradient(135deg, var(--amber-50), var(--orange-50)); padding:5rem 0;}
.calc-wrap {max-width:40rem; margin:0 auto; padding:0 1.5rem;}
.calc-headline {text-align:center; margin-bottom:3rem;}
.calc-headline h1 {font-family:var(--font-serif); font-size:2.25rem; color:var(--amber-900); margin-bottom:.75rem;}
.calc-headline p {color:var(--gray-600);}
.calc-box {background:var(--white); border-radius:var(--radius-2xl); padding:2rem; box-shadow:var(--shadow-lg);}
.calc-section {margin-bottom:2rem;}
.calc-label {font-size:.875rem; font-weight:600; color:var(--amber-900); margin-bottom:1rem; display:block;}
.calc-label span {color:var(--amber-700); font-size:1.1rem;}
.calc-types {display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.calc-type-btn {padding:1rem; border:2px solid var(--gray-200); border-radius:var(--radius-lg); background:var(--white); cursor:pointer; transition:var(--transition); text-align:center;}
.calc-type-btn.selected {border-color:var(--amber-700); background:var(--amber-50);}
.calc-type-btn:hover {border-color:var(--amber-200);}
.calc-type-icon {font-size:1.75rem; margin-bottom:.5rem;}
.calc-type-name {font-size:.875rem; font-weight:500; color:var(--gray-800);}
.calc-type-price {font-size:1.1rem; font-weight:700; color:var(--amber-700); margin-top:.25rem;}
.calc-range {-webkit-appearance:none; appearance:none; width:100%; height:8px; background:var(--amber-200); border-radius:99px; outline:none; cursor:pointer; accent-color:var(--amber-700);}
.calc-range::-webkit-slider-thumb {-webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:var(--amber-700); cursor:pointer; box-shadow:0 2px 6px rgba(0, 0, 0, .2);}
.calc-range-labels {display:flex; justify-content:space-between; font-size:.75rem; color:var(--gray-500); margin-top:.5rem;}
.calc-detail {background:var(--amber-50); border-radius:var(--radius-lg); padding:1rem; font-size:.875rem; color:var(--gray-600);}
.calc-breakdown {display:flex; justify-content:space-between; align-items:center; padding:1.25rem 0; border-top:2px solid var(--amber-200);}
.calc-breakdown span:last-child {font-weight:600; color:var(--gray-800); font-size:1.05rem;}
.calc-total {background:linear-gradient(135deg, var(--amber-700), var(--amber-600)); border-radius:var(--radius-xl); padding:1.5rem; text-align:center; color:var(--white); margin-bottom:1.5rem;}
.calc-total-label {font-size:.875rem; opacity:.9; margin-bottom:.5rem;}
.calc-total-amount {font-size:2.5rem; font-weight:700;}
.calc-tip {background:#eff6ff; border:1px solid #bfdbfe; border-radius:var(--radius-lg); padding:1rem; font-size:.875rem; color:#1e3a5f; margin-bottom:1.5rem;}
.calc-tip strong {display:block; margin-bottom:.35rem;}

/* ---- CONTACTS ---- */
.contacts-grid {display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-bottom:4rem;}
@media (max-width:768px) {
  .contacts-grid {grid-template-columns:1fr;}
}

.contact-info-title {font-family:var(--font-serif); font-size:1.5rem; color:var(--amber-900); margin-bottom:1.5rem;}
.contact-item {display:flex; gap:1rem; margin-bottom:1.5rem;}
.contact-icon {flex-shrink:0; width:40px; height:40px; border-radius:50%; background:var(--amber-100); display:flex; align-items:center; justify-content:center; font-size:1.1rem;}
.contact-item h3 {font-weight:600; color:var(--gray-800); margin-bottom:.25rem; font-size:.95rem;}
.contact-item p,
.contact-item a {font-size:.9rem; color:var(--gray-600); line-height:1.6;}
.contact-item a {color:var(--amber-700); font-weight:500;}
.contact-item a:hover {color:var(--amber-800);}
.contact-form-box {background:var(--amber-50); border:1px solid var(--amber-200); border-radius:var(--radius-2xl); padding:2rem;}
.contact-form-title {font-family:var(--font-serif); font-size:1.25rem; color:var(--amber-900); margin-bottom:1.5rem;}

.form-field {margin-bottom:1rem;}
.form-field input,
.form-field textarea {width:100%; padding:.75rem 1rem; border:1px solid var(--amber-200); border-radius:var(--radius-lg); font-family:var(--font-sans); font-size:.95rem; outline:none; transition:var(--transition); background:var(--white);}
.form-field input:focus,
.form-field textarea:focus {border-color:var(--amber-700); box-shadow:0 0 0 3px rgba(180, 83, 9, .1);}
.form-field textarea {resize:vertical; height:110px; min-height:110px;}

.map-placeholder {background:var(--amber-100); border-radius:var(--radius-2xl); height:320px; display:flex; align-items:center; justify-content:center; text-align:center; margin-bottom:1.5rem;}
.map-placeholder .map-icon {font-size:3.5rem; margin-bottom:1rem;}
.map-placeholder p {color:var(--amber-900); font-weight:500; margin-bottom:.25rem;}
.map-placeholder small {color:var(--amber-700); font-size:.875rem;}

.info-badge {border-radius:var(--radius-lg); padding:1rem; font-size:.875rem; margin-bottom:.75rem;}
.info-badge-blue {background:#eff6ff; border:1px solid #bfdbfe; color:#1e3a5f;}
.info-badge-green {background:#f0fdf4; border:1px solid #bbf7d0; color:#14532d;}
.info-badge strong {font-weight:600;}

.blog-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem; margin-bottom:4rem;}
@media (max-width:900px) {
  .blog-grid {grid-template-columns:1fr 1fr;}
}
@media (max-width:580px) {
  .blog-grid {grid-template-columns:1fr;}
}

.blog-card {background:var(--white); border:1px solid var(--amber-100); border-radius:var(--radius-xl); overflow:hidden; transition:var(--transition);}
.blog-card:hover {box-shadow:var(--shadow-lg);}
.blog-card-img {background:linear-gradient(135deg, var(--amber-100), var(--orange-100)); height:12rem; display:flex; align-items:center; justify-content:center; font-size:3.5rem;}
.blog-card-body {padding:1.5rem;}
.blog-meta {display:flex; align-items:center; gap:.5rem; margin-bottom:.75rem;}
.blog-category {font-size:.75rem; font-weight:500; color:var(--amber-700); background:var(--amber-50); padding:.2rem .75rem; border-radius:99px;}
.blog-date {font-size:.75rem; color:var(--gray-500);}
.blog-card h3 {font-family:var(--font-serif); font-size:1rem; color:var(--amber-900); margin-bottom:.75rem; line-height:1.4;}
.blog-card p {font-size:.875rem; color:var(--gray-600); line-height:1.65; margin-bottom:1rem;}
.blog-read-more {font-size:.875rem; font-weight:500; color:var(--amber-700); display:inline-flex; align-items:center; gap:.25rem; background:none; border:none; cursor:pointer; padding:0; transition:var(--transition);}
.blog-read-more:hover {color:var(--amber-800); gap:.5rem;}
.blog-read-more::after {content:'→';}

.methods-box {background:var(--amber-50); border:1px solid var(--amber-200); border-radius:var(--radius-2xl); padding:3rem;}
.methods-grid {display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-bottom:2rem;}
@media (max-width:680px) {
  .methods-grid {grid-template-columns:1fr;}
}

.methods-col h3 {font-size:1.1rem; font-weight:600; color:var(--amber-900); margin-bottom:1rem;}
.methods-col p {color:var(--gray-700); line-height:1.7; margin-bottom:.75rem; font-size:.95rem;}

.record-badge {background:var(--white); border-radius:var(--radius-lg); padding:1.5rem; text-align:center;}
.record-badge small {font-size:.8rem; color:var(--gray-500); margin-bottom:.5rem; display:block;}
.record-badge strong {display:block; color:var(--amber-900); font-size:1.1rem; margin-bottom:.35rem;}
.record-badge p {color:var(--gray-600); font-size:.9rem;}

footer {background:var(--amber-950); color:var(--white); padding:3rem 0 2rem;}

.footer-grid {display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255, 255, 255, .1);}
@media (max-width:700px) {
  .footer-grid {grid-template-columns:1fr;}
}

.footer-brand h3 {font-family:var(--font-serif); font-size:1.2rem; margin-bottom:1rem;}
.footer-brand p {font-size:.875rem; color:rgba(255, 255, 255, .7); line-height:1.65;}
.footer-col h4 {font-weight:600; font-size:.9rem; margin-bottom:1rem;}
.footer-col ul {display:flex; flex-direction:column; gap:.5rem; list-style:none;}
.footer-col ul li a {font-size:.875rem; color:rgba(255, 255, 255, .7); transition:var(--transition);}
.footer-col ul li a:hover {color:var(--white);}
.footer-col p {font-size:.875rem; color:rgba(255, 255, 255, .7); line-height:1.7;}
.footer-copy {text-align:center; font-size:.8rem; color:rgba(255, 255, 255, .5);}

.page-header {padding:4rem 0 0;}
.page-header h1 {font-family:var(--font-serif); font-size:clamp(2rem, 4vw, 2.75rem); color:var(--amber-900); margin-bottom:.75rem;}
.page-header p {font-size:1.05rem; color:var(--gray-600); margin-bottom:3rem;}

.mb-4 {margin-bottom:1rem;}
.mb-8 {margin-bottom:2rem;}
.mb-12 {margin-bottom:3rem;}
.mt-8 {margin-top:2rem;}
.text-center {text-align:center;}

/* calc.html */
.calc-hero {background:linear-gradient(135deg,#3d1f00 0%,#7c3d00 60%,#c87000 100%); color:#fff; padding:3.5rem 1.5rem 2.8rem; text-align:center;}
.calc-hero-label {font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,204,0,.8); margin-bottom:.75rem;}
.calc-hero h1 {font-size:clamp(1.6rem,4vw,2.4rem); margin-bottom:.6rem; font-weight:700;}
.calc-hero p {opacity:.82; font-size:1rem; max-width:560px; margin:0 auto; line-height:1.6;}
.calc-wrap {max-width:960px; margin:0 auto; padding:0 1rem 5rem;}
.calc-card {background:#fff; border-radius:14px; box-shadow:0 2px 16px rgba(0,0,0,.08); border:1px solid #e8d5b0; padding:2rem; margin-top:-2rem;}
.calc-row {display:flex; gap:1.5rem; flex-wrap:wrap; align-items:flex-end;}
.calc-field {display:flex; flex-direction:column; flex:1; min-width:160px;}
.calc-field label {font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#7c3d00; margin-bottom:.4rem;}
.calc-field input,.calc-field select {border:1.5px solid #e8d5b0; border-radius:8px; padding:.65rem .9rem; font-size:1rem; color:#3d1f00; outline:none; background:#fff; transition:border .2s;}
.calc-field input:focus,.calc-field select:focus {border-color:#c87000;}
.btn-calc {background:linear-gradient(135deg,#c87000,#7c3d00); color:#fff; border:none; border-radius:8px; padding:.7rem 2rem; font-size:1rem; font-weight:700; cursor:pointer; transition:opacity .2s; white-space:nowrap;}
.btn-calc:hover {opacity:.88;}

.results-grid {display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2rem;}
@media(max-width:660px) {.results-grid {grid-template-columns:1fr;}}

.svg-card {grid-row:1/3; background:#fff; border:1px solid #e8d5b0; border-radius:14px; padding:1.5rem; display:flex; flex-direction:column; align-items:center; box-shadow:0 2px 16px rgba(0,0,0,.08);}
@media(max-width:660px) {.svg-card {grid-row:auto;}}
.svg-card h3 {color:#7c3d00; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:1rem;}
#svg-mandala {width:100%; max-width:400px; pointer-events:none; user-select:none; -webkit-user-select:none;}
#svg-mandala svg {width:100%; height:auto; display:block;}
.svg-meta {font-size:.78rem; color:#aaa; margin-top:.75rem; text-align:center;}

.info-block {background:#fff; border:1px solid #e8d5b0; border-radius:14px; padding:1.25rem 1.5rem; box-shadow:0 2px 16px rgba(0,0,0,.08);}
.info-block h3 {color:#7c3d00; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:1rem; border-bottom:1px solid #e8d5b0; padding-bottom:.5rem;}

.digit-row {display:flex; flex-wrap:wrap; gap:.5rem;}
.digit-chip {display:flex; align-items:center; gap:.4rem; background:#fdf8f2; border:1px solid #e8d5b0; border-radius:8px; padding:.3rem .7rem; font-size:.95rem; font-weight:700;}
.swatch {width:14px; height:14px; border-radius:50%; border:1px solid rgba(0,0,0,.15); flex-shrink:0;}

.color-list {display:flex; flex-direction:column; gap:.5rem;}
.color-item {display:flex; align-items:center; gap:.6rem; font-size:.88rem;}
.sw {width:20px; height:20px; border-radius:50%; border:1px solid rgba(0,0,0,.12); flex-shrink:0;}
.cnt {background:#f0e6d0; border-radius:4px; padding:.05rem .4rem; font-size:.75rem; color:#7c3d00; font-weight:700; margin-left:auto;}

.cbc-list {display:flex; flex-direction:column; gap:.5rem;}
.cbc-row {display:flex; align-items:center; gap:.6rem; font-size:.88rem;}
.cbc-num {width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.78rem; border:1px solid rgba(0,0,0,.12); flex-shrink:0;}
.cbc-pos {font-size:.75rem; color:#bbb; margin-left:auto;}

.cp-item {display:flex; align-items:center; gap:.3rem; font-size:.78rem; color:#7c3d00;}
.cp-item input[type=color] {width:28px; height:28px; border:1.5px solid #e8d5b0; border-radius:6px; padding:0; cursor:pointer; background:none; -webkit-appearance:none; appearance:none;}
.cp-item input[type=color]::-webkit-color-swatch-wrapper {padding:2px;}
.cp-item input[type=color]::-webkit-color-swatch {border-radius:4px; border:none;}
.btn-reset-colors {background:none; border:1px solid #e8d5b0; border-radius:6px; padding:.3rem .7rem; font-size:.72rem; color:#7c3d00; cursor:pointer; margin-left:.5rem;}
.btn-reset-colors:hover {background:#fdf8f2;}

.pdf-upsell {grid-column:1/-1; background:linear-gradient(135deg,#3d1f00 0%,#7c3d00 100%); border-radius:14px; padding:2rem; color:#fff; display:flex; align-items:center; gap:2rem; flex-wrap:wrap;}
.pdf-text h3 {font-size:1.2rem; margin-bottom:.4rem;}
.pdf-text p {opacity:.82; font-size:.9rem; line-height:1.6;}
.pdf-text ul {opacity:.82; font-size:.87rem; padding-left:1.2rem; margin:.6rem 0 0;}
.pdf-text li {margin-bottom:.25rem;}
.pdf-price {font-size:2.2rem; font-weight:800; color:#FFCC00; white-space:nowrap; text-align:center;}
.pdf-price span {font-size:.9rem; font-weight:400; opacity:.7; display:block;}
.btn-pay {background:#FFCC00; color:#3d1f00; border:none; border-radius:10px; padding:.85rem 2rem; font-size:1.05rem; font-weight:700; cursor:pointer; transition:transform .15s,box-shadow .15s; white-space:nowrap;}
.btn-pay:hover {transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.2);}
.btn-pay:disabled {opacity:.6; cursor:not-allowed; transform:none;}
#payment-status {margin-top:.75rem; display:none;}
.status-msg {border-radius:8px; padding:.65rem .9rem; font-size:.88rem;}
.status-msg.loading {background:rgba(255,204,0,.15); color:#FFCC00; border:1px solid rgba(255,204,0,.3);}
.status-msg.success {background:rgba(100,220,100,.15); color:#90ff90; border:1px solid rgba(100,220,100,.3);}
.status-msg.error {background:rgba(255,100,100,.15); color:#ffaaaa; border:1px solid rgba(255,100,100,.3);}

.painting-upsell {margin-top:2rem; background:#fff; border:1px solid #e8d5b0; border-radius:14px; padding:2rem; box-shadow:0 2px 16px rgba(0,0,0,.08);}
.painting-upsell h2 {color:#3d1f00; font-size:1.25rem; margin-bottom:.3rem;}
.painting-upsell>p {color:#777; font-size:.9rem; margin-bottom:1.5rem;}
.painting-grid {display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:1rem;}
.painting-opt {border:1.5px solid #e8d5b0; border-radius:12px; padding:1rem; text-align:center; cursor:pointer; transition:border-color .2s,transform .15s,box-shadow .15s;}
.painting-opt:hover {border-color:#c87000; transform:translateY(-2px); box-shadow:0 4px 14px rgba(200,112,0,.15);}
.painting-opt.selected {border-color:#c87000; background:#fffbf4;}
.painting-opt .icon {font-size:2rem; margin-bottom:.4rem;}
.painting-opt .name {font-size:.88rem; font-weight:700; color:#3d1f00;}
.painting-opt .size {font-size:.75rem; color:#aaa; margin:.15rem 0;}
.painting-opt .price {font-size:1rem; font-weight:700; color:#c87000;}
.order-form {margin-top:1.5rem; display:none;}
.order-form.show {display:block;}
.order-row {width:100%; display:grid; grid-template-columns:1fr; gap:.75rem; margin-bottom:.75rem; position:relative;}
.order-row input {width:100%; border:1.5px solid #e8d5b0; border-radius:8px; padding:.6rem .9rem; font-size:.95rem; outline:none; color:#3d1f00;}
.order-row input:focus {border-color:#c87000;}
.btn-order {background:#c87000; color:#fff; border:none; border-radius:8px; padding:.7rem 2rem; font-size:.95rem; font-weight:700; cursor:pointer;}
.submitBtn .wpcf7-submit {background:#c87000; width:auto; color:#fff; border:none; border-radius:8px; padding:.7rem 2rem; font-size:.95rem; font-weight:700; cursor:pointer;}
.hiddenInp {display:none; position:absolute; left:0; top:-40px;}
@media(min-width:768px){
  .order-row {grid-template-columns:1fr 1fr 1fr;}
}

#calc-results {display:none;}
#calc-results.show {display:block;}

/* ── ЗАХИСТ ВІД КОПІЮВАННЯ ── */
body {-webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;}
input, textarea, select {-webkit-user-select:text; -moz-user-select:text; user-select:text; }
svg {-webkit-user-drag:none; pointer-events:none; }

.page-template-mandala .section-label {font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#c87000; margin-bottom:.5rem;}
.page-template-mandala .section-title {font-size:clamp(1.75rem, 3vw, 2.5rem); color:#78350f; font-weight:700;}
.page-template-mandala .section-sub {margin:-2rem 0 2.5rem; color:#888; font-size:.95rem; max-width:560px; line-height:1.6;}

.gallery-section {background:#fdf8f2; padding:4rem 1.5rem;}
.gallery-wrap {max-width:960px; margin:0 auto;}
.gallery-grid {display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:2rem;}
@media(max-width:600px) {.gallery-grid {grid-template-columns:repeat(2,1fr);}}
.gallery-item {position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:10px; cursor:pointer; background:#e8d5b0; }
.gallery-item img {width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
.gallery-item:hover img {transform:scale(1.06);}
.gallery-overlay {position:absolute; inset:0; background:rgba(61,31,0,.45); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s;}
.gallery-item:hover .gallery-overlay {opacity:1;}
.gallery-overlay span {color:#fff; font-size:.85rem; font-weight:600; letter-spacing:.04em;}

.img-placeholder {background:linear-gradient(135deg,#f0e6d0,#e8d5b0);}
.img-placeholder img {display:none;}
.img-placeholder::after {content:'🎨'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:2.5rem; opacity:.4;}

/* ── LIGHTBOX ── */
.lightbox {
  display:none; position:fixed; inset:0; z-index:9999; 
  background:rgba(0,0,0,.88); 
  align-items:center; justify-content:center; 
}
.lightbox.open {display:flex;}
.lb-inner {position:relative; max-width:88vw; max-height:88vh; text-align:center;}
.lb-inner img {max-width:100%; max-height:82vh; border-radius:10px; display:block; margin:0 auto;}
.lb-caption {color:rgba(255,255,255,.6); font-size:.82rem; margin-top:.75rem;}
.lb-close,.lb-prev,.lb-next {
  position:fixed; background:rgba(255,255,255,.12); border:none; color:#fff; 
  border-radius:50%; width:42px; height:42px; font-size:1.3rem; 
  cursor:pointer; display:flex; align-items:center; justify-content:center; 
  transition:background .2s; 
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover {background:rgba(255,255,255,.25);}
.lb-close {top:1.2rem; right:1.2rem;}
.lb-prev {left:1rem; top:50%; transform:translateY(-50%);}
.lb-next {right:1rem; top:50%; transform:translateY(-50%);}

/* ── FAQ ── */
.page-template-mandala .faq-section {background:#fff; padding:4.5rem 1.5rem;}
.page-template-mandala .faq-wrap {max-width:800px; margin:0 auto;}

.page-template-mandala .faq-group {margin-top:2.5rem;}
.page-template-mandala .faq-group-title {font-size:1rem; font-weight:700; color:#3d1f00; display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; padding-bottom:.6rem; border-bottom:2px solid #e8d5b0;}
.page-template-mandala .faq-group-icon {font-size:1.1rem; color:#c87000;}

.page-template-mandala .faq-item {padding-bottom:0; border:1px solid #e8d5b0; border-radius:10px; margin-bottom:.6rem; overflow:hidden; transition:box-shadow .2s;}
.page-template-mandala .faq-item:hover {box-shadow:0 2px 12px rgba(200,112,0,.1);}
.page-template-mandala .faq-item[open] {box-shadow:0 2px 16px rgba(200,112,0,.12);}

.page-template-mandala .faq-item summary {list-style:none; padding:1rem 1.25rem; font-weight:600; font-size:.95rem; color:#3d1f00; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; user-select:none; -webkit-user-select:none;}
.page-template-mandala .faq-item summary::-webkit-details-marker {display:none;}
.page-template-mandala .faq-item summary::after {content:'＋'; font-size:1.1rem; color:#c87000; flex-shrink:0; transition:transform .25s; font-weight:400;}
.page-template-mandala .faq-item[open] summary::after {content:'－';}
.page-template-mandala .faq-item[open] summary {color:#7c3d00; border-bottom:1px solid #e8d5b0;}

.faq-body {padding:1rem 1.25rem 1.25rem; font-size:.9rem; color:#444; line-height:1.7;}
.faq-body p {margin-bottom:.65rem;}
.faq-body p:last-child {margin-bottom:0;}
.faq-body ul {padding-left:1.2rem; margin:.4rem 0;}
.faq-body li {margin-bottom:.35rem;}
.faq-body .colorUl li {list-style:none;}
.faq-body strong {color:#3d1f00;}

/* ── REVIEWS ── */
.reviews-section {background:#3d1f00; padding:4.5rem 1.5rem 5rem;}
.reviews-wrap {max-width:980px; margin:0 auto;}
.reviews-section .section-label {color:rgba(255,204,0,.8);}
.reviews-section .section-title {color:#fff;}
.reviews-section .section-sub {color:rgba(255,255,255,.6);}

.reviews-grid {display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:2.5rem;}
@media(max-width:780px) {.reviews-grid {grid-template-columns:1fr 1fr;}}
@media(max-width:500px) {.reviews-grid {grid-template-columns:1fr;}}

.review-card {background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:1.5rem; display:flex; flex-direction:column; gap:1rem; transition:background .2s,transform .2s;}
.review-card:hover {background:rgba(255,255,255,.1); transform:translateY(-3px);}
.review-stars {color:#FFCC00; font-size:1rem; letter-spacing:.1em;}
blockquote {color:rgba(255,255,255,.82); font-size:.88rem; line-height:1.7; font-style:italic; margin:0; flex:1;}
.review-author {display:flex; align-items:center; gap:.75rem; margin-top:auto;}
.review-avatar {width:38px; height:38px; border-radius:50%; background:#c87000; display:flex; align-items:center; justify-content:center; font-weight:700; color:#fff; font-size:.95rem; flex-shrink:0;}
.review-name {font-weight:600; color:#fff; font-size:.88rem;}
.review-tag {font-size:.72rem; color:rgba(255,204,0,.75); margin-top:.1rem;}

/* CTA card */
.review-cta {background:linear-gradient(135deg,rgba(200,112,0,.3),rgba(255,204,0,.12)); border-color:rgba(255,204,0,.3); align-items:center; text-align:center; justify-content:center;}
.review-cta-icon {font-size:2rem; color:#FFCC00;}
.review-cta-text {color:rgba(255,255,255,.9); font-size:1rem; font-weight:600; line-height:1.5;}
.btn-review-cta {display:inline-block; background:#FFCC00; color:#3d1f00; border-radius:8px; padding:.65rem 1.5rem; font-weight:700; font-size:.92rem; text-decoration:none; transition:transform .15s,box-shadow .15s;}
.btn-review-cta:hover {transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.2);}

.spinner {display:inline-block; width:16px; height:16px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:spin .7s linear infinite; vertical-align:middle; margin-right:.35rem;}
@keyframes spin {to {transform:rotate(360deg);}}

#pdf-email::placeholder {color:rgba(255,255,255,0.7); transition:ease .3s;}
#pdf-email:focus::placeholder {color:rgba(255,255,255,0.7);}

.submitBtn {position:relative;}
.wpcf7-submit {background:#b45309; width:100%; padding:.75rem 2rem; color:#fff; font-size:.95rem; font-weight:500; border-radius:14px; 	transition:var(--transition); border:0; position:relative; z-index:1;}
.wpcf7-submit:hover {background:#92400e;}
.wpcf7-not-valid-tip {padding:12px 0 0; font-size:12px !important;}
.order-row .wpcf7-not-valid-tip {padding:6px 0 0; font-size:11px !important;}
.wpcf7 form .wpcf7-response-output {margin:24px 0 0 !important;}
.wpcf7-spinner {position:absolute !important; left:15px; top:10px; z-index:2;}

.breadcrumbs {padding:24px 0 0; font-size:12px;}
.breadcrumbs a {color:#78350f; text-decoration:underline;}
.breadcrumbs a:hover {text-decoration:none;}
.page-template-mandala .breadcrumbs {padding:0; margin:0 0 -16px; color:#fff; position:relative; top:12px;}
.page-template-mandala .breadcrumbs a {color:#fff;}