/* =========================================================
   ROSTOCHEK — base.css
   Сброс + типографика + header/footer + акварельная декоративная система.
   ========================================================= */

:root {
	--rst-paper: #F7F0E6;
	--rst-ink: #5B4A42;
	--rst-blush: #E8B4B8;
	--rst-sage: #A8C7A0;
	--rst-honey: #F0C987;
	--rst-sky: #AFC8D8;
	--rst-lavender: #C7AFDA;
	--rst-white: #FFFFFF;
	--rst-font-heading: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--rst-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
body {
	margin: 0;
	background: var(--rst-paper) url("../img/paper-texture.jpg") repeat top left;
	background-size: 1600px 1600px;
	color: var(--rst-ink);
	font-family: var(--rst-font-body);
	line-height: 1.55;
}
h1, h2, h3, h4 {
	font-family: var(--rst-font-heading);
	font-weight: 600;
	line-height: 1.2;
}
/* Заголовки уровня секции (типа «Для кого эта программа») — стандартный размер
   для всех такиx заголовков на сайте, не только на странице английского. */
.rst-section h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); }
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }

/* --- Кнопки --- */
.wp-block-button__link {
	display: inline-block;
	background: var(--rst-blush);
	color: #fff;
	padding: 0.8em 2em;
	border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
	text-decoration: none;
	font-family: var(--rst-font-body);
	font-weight: 700;
	font-size: 1.05rem;
	border: none;
	cursor: pointer;
}
.wp-block-button__link:hover { opacity: 0.85; }

/* --- Header --- */
.rst-header { background: var(--rst-white); position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 8px rgba(91,74,66,0.06); }
.rst-header__inner {
	max-width: 1200px; margin: 0 auto; padding: 1rem 1.5rem;
	display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.rst-header__logo { font-family: var(--rst-font-heading); font-size: 1.6rem; font-weight: 700; text-decoration: none; }
.rst-menu { list-style: none; display: flex; gap: 1.75rem; margin: 0; padding: 0; }
.rst-menu a { text-decoration: none; font-weight: 500; }
.rst-header__cta { font-size: 0.95rem; padding: 0.6em 1.4em; white-space: nowrap; }
.rst-header__burger { display: none; background: none; border: none; cursor: pointer; padding: 0.5rem; }
.rst-header__burger span { display: block; width: 22px; height: 2px; background: var(--rst-ink); margin: 5px 0; }

@media (max-width: 860px) {
	.rst-header__burger { display: block; }
	.rst-header__nav {
		position: absolute; top: 100%; left: 0; right: 0; background: var(--rst-white);
		display: none; flex-direction: column; padding: 1rem 1.5rem; box-shadow: 0 8px 16px rgba(91,74,66,0.08);
	}
	.rst-header__nav.is-open { display: flex; }
	.rst-menu { flex-direction: column; gap: 1rem; }
}

/* --- Footer --- */
.rst-footer { background: var(--rst-ink); color: var(--rst-paper); padding: 3rem 1.5rem 1.5rem; margin-top: 4rem; }
.rst-footer__inner { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 2.5rem; justify-content: space-between; }
.rst-footer a { color: var(--rst-honey); text-decoration: none; }
.rst-footer__menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.rst-footer__logo { font-family: var(--rst-font-heading); font-size: 1.4rem; margin: 0 0 0.5rem; }
.rst-footer__copy { text-align: center; opacity: 0.6; margin-top: 2.5rem; font-size: 0.85rem; }

/* --- Секции / акварельные декоративные элементы (перенесено из предыдущего этапа) --- */
.rst-section { position: relative; overflow: hidden; padding: 5rem 1.5rem; max-width: 1200px; margin: 0 auto; }
.rst-section--sage { background: var(--rst-sage); border-radius: 24px; }
.rst-section--honey { background: var(--rst-honey); border-radius: 24px; }
.rst-section--sky { background: var(--rst-sky); border-radius: 24px; }
.rst-section--blush { background: var(--rst-blush); border-radius: 24px; }

.rst-brush-underline { position: relative; display: inline-block; }
.rst-brush-underline::after {
	content: ""; position: absolute; left: -4%; right: -4%; bottom: -0.15em; height: 0.35em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M2 12 C 40 4, 80 18, 120 10 S 180 4, 198 12' stroke='%23E8B4B8' stroke-width='10' fill='none' stroke-linecap='round' opacity='0.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-size: 100% 100%; z-index: -1;
}

.rst-torn-edge { position: relative; }
.rst-torn-edge::before {
	content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 28px; background-color: inherit;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40 L0 12 Q 40 30 80 10 T 160 14 T 240 6 T 320 16 T 400 8 T 480 18 T 560 6 T 640 16 T 720 10 T 800 20 T 880 8 T 960 16 T 1040 10 T 1120 18 T 1200 12 L1200 40 Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40 L0 12 Q 40 30 80 10 T 160 14 T 240 6 T 320 16 T 400 8 T 480 18 T 560 6 T 640 16 T 720 10 T 800 20 T 880 8 T 960 16 T 1040 10 T 1120 18 T 1200 12 L1200 40 Z'/%3E%3C/svg%3E");
	-webkit-mask-size: 100% 100%; mask-size: 100% 100%; transform: translateY(-100%);
}

.rst-card {
	background: var(--rst-white);
	border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
	padding: 2rem 1.75rem;
	box-shadow: 0 6px 18px rgba(91, 74, 66, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: block;
	text-decoration: none;
	color: inherit;
}
.rst-card:hover { transform: translateY(-4px) rotate(-0.4deg); box-shadow: 0 10px 24px rgba(91, 74, 66, 0.14); }
.rst-card--accent { border: 2px dashed var(--rst-honey); }

.rst-placeholder {
	color: #b5473f;
	background: rgba(232, 180, 184, 0.18);
	padding: 0.05em 0.4em;
	border-radius: 4px;
	font-style: italic;
	display: inline-block;
}

/* --- CF7 форма ---
   CF7 сам оборачивает каждое поле тега в <p> с браузерными отступами по умолчанию (~1em сверху
   и снизу) — вместе с margin-bottom на самих полях это давало двойные, очень большие промежутки. */
.wpcf7-form p { margin: 0 0 0.75rem; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="tel"], .wpcf7-form select {
	border: 2px solid var(--rst-sky); border-radius: 14px; padding: 0.7em 1em; background: var(--rst-white); width: 100%;
}
.wpcf7-form input[type="submit"] {
	border-radius: 255px 15px 225px 15px/15px 225px 15px 255px !important;
	background: var(--rst-blush) !important; color: #fff !important; border: none !important;
	padding: 0.8em 2em !important; font-family: var(--rst-font-body); font-weight: 700; font-size: 1.05rem;
}
