/*
Theme Name: Пик Скорости
Text Domain: peakspeed
Version: 1.0.0
Description: Уникальная блок-тема для симрейсинг-клуба «Пик Скорости». Ночная неоновая эстетика: глубокий тёмно-синий фон, электрик-циановые акценты, скоростная типографика и контент-паттерны для главной, тарифов и магазина.
Tags: blog, portfolio, e-commerce, grid-layout, one-column, two-columns, three-columns, four-columns, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks, full-site-editing
Author: Emelyanenko A.A.
Author URI: https://andersnoren.se
Theme URI: https://peakspeed.ru
License: GNU General Public License version 2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Requires PHP: 5.6
Tested up to: 6.5

All files, unless otherwise stated, are released under the GNU General Public License
version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)
*/

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/* Input styles */

input, textarea, select, button {
	background-color: inherit;
	border-radius: 0;
	font-family: inherit;
	font-size: inherit;
	letter-spacing: inherit;
	margin: 0;
}

input, textarea, select {
	background-color: var( --wp--preset--color--background );
	border: .1rem solid var( --wp--preset--color--tertiary );
	box-sizing: border-box;
	color: var( --wp--preset--color--foreground );
	max-width: 100%;
	padding: .5em;
}

label {
	font-size: var( --wp--preset--font-size--small );
	font-weight: 500;
}

/* Editor Post Title */

.editor-post-title__input {
	text-align: center;
}

/* Background Padding */

p.has-background,
h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background,
:where(.wp-block-group.has-background) {
	padding: 1.5em;
}

/* ------------------------------------------- */
/*	Typography
/* ------------------------------------------- */

.has-huge-font-size,
.has-heading-1-font-size,
.has-heading-2-font-size,
.has-heading-3-font-size,
.has-heading-4-font-size,
.has-heading-5-font-size {
	letter-spacing: var( --wp--custom--typography--letter-spacing--heading );
	line-height: var( --wp--custom--typography--line-height--headings--large );
}

.has-gigantic-font-size {
	letter-spacing: var( --wp--custom--typography--letter-spacing--gigantic );
	line-height: var( --wp--custom--typography--line-height--headings--gigantic );
}

.has-medium-font-size {
	line-height: var( --wp--custom--typography--line-height--body );
}

/* ------------------------------------------- */
/*	PeakSpeed: speed / neon helpers
/* ------------------------------------------- */

/* Neon glow for cyan headlines */
.is-style-peakspeed-glow {
	text-shadow: 0 0 18px rgba( 0, 229, 255, .35 ), 0 0 40px rgba( 0, 229, 255, .15 );
}

/* Gradient "heat" text (Vice / GTA VI vibe) */
.is-style-peakspeed-heat-text {
	background: linear-gradient( 100deg, var( --wp--preset--color--primary ) 0%, #ff2e88 100% );
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Uppercase overline / section eyebrow */
.is-style-peakspeed-overline {
	font-family: var( --wp--preset--font-family--racing );
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
}

/* Racing separator: thin line with a bright notch */
.is-style-peakspeed-trace {
	border: 0;
	height: 2px;
	background: linear-gradient( 90deg, var( --wp--preset--color--primary ) 0%, var( --wp--preset--color--primary ) 64px, var( --wp--preset--color--tertiary ) 64px, var( --wp--preset--color--tertiary ) 100% );
}

/* ------------------------------------------- */
/*	PeakSpeed: hero entrance + neon animation
/* ------------------------------------------- */

@keyframes peakspeed-fade-up {
	from {
		opacity: 0;
		transform: translateY( 24px );
	}
	to {
		opacity: 1;
		transform: translateY( 0 );
	}
}

@keyframes peakspeed-neon-pulse {
	0%, 100% {
		text-shadow: 0 0 14px rgba( 0, 229, 255, .28 ), 0 0 32px rgba( 0, 229, 255, .12 );
	}
	50% {
		text-shadow: 0 0 24px rgba( 0, 229, 255, .55 ), 0 0 64px rgba( 0, 229, 255, .28 );
	}
}

@keyframes peakspeed-heat-shimmer {
	0% {
		background-position: 0% 50%;
	}
	100% {
		background-position: 200% 50%;
	}
}

.peakspeed-hero-anim {
	opacity: 0;
	animation: peakspeed-fade-up .8s ease forwards;
}

.peakspeed-hero-anim.is--1 { animation-delay: .05s; }
.peakspeed-hero-anim.is--2 { animation-delay: .15s; }
.peakspeed-hero-anim.is--3 { animation-delay: .3s; }
.peakspeed-hero-anim.is--4 { animation-delay: .45s; }
.peakspeed-hero-anim.is--5 { animation-delay: .6s; }

/* Combined entrance + continuous effect (a single `animation` shorthand,
   otherwise the later rule would override the entrance animation). */
.peakspeed-neon-pulse {
	opacity: 0;
	animation: peakspeed-fade-up .8s ease .15s forwards,
	           peakspeed-neon-pulse 3s ease-in-out 1.1s infinite;
}

.peakspeed-heat-shimmer {
	background-size: 200% auto;
	opacity: 0;
	animation: peakspeed-fade-up .8s ease .3s forwards,
	           peakspeed-heat-shimmer 4s linear 1.3s infinite;
}

@media ( prefers-reduced-motion: reduce ) {
	.peakspeed-hero-anim,
	.peakspeed-neon-pulse,
	.peakspeed-heat-shimmer {
		animation: none;
	}

	.peakspeed-hero-anim,
	.peakspeed-neon-pulse,
	.peakspeed-heat-shimmer {
		opacity: 1;
	}
}

/* ------------------------------------------- */
/* Blocks
/* ------------------------------------------- */

/* Block: Avatar ----------------------------- */

.wp-block-avatar img {
	display: block;
}

/* Block: Button ----------------------------- */

/* STYLE: ARROW */

.is-style-peakspeed-arrow > .wp-block-button__link,
.wp-block-button__link.is-style-peakspeed-arrow {
	background-color: transparent;
	color: var( --wp--preset--color--primary );
	font-weight: inherit;
	padding: 0;
}

.is-style-peakspeed-arrow > .wp-block-button__link:after,
.wp-block-button__link.is-style-peakspeed-arrow:after {
	content: "⟶";
	display: inline-block;
	font-weight: 300;
	margin-left: 0.5em;
	text-decoration: none;
}

.is-style-peakspeed-arrow > .wp-block-button__link:hover, .wp-block-button__link.is-style-peakspeed-arrow:hover,
.is-style-peakspeed-arrow > .wp-block-button__link:focus, .wp-block-button__link.is-style-peakspeed-arrow:focus {
	text-decoration: underline;
}

/* STYLE: HEAT (magenta action button, GTA VI Vice nod) */

.is-style-peakspeed-heat > .wp-block-button__link,
.wp-block-button__link.is-style-peakspeed-heat {
	background: linear-gradient( 100deg, #ff2e88 0%, #b9005f 100% );
	color: #fff;
}

.is-style-peakspeed-heat > .wp-block-button__link:hover,
.wp-block-button__link.is-style-peakspeed-heat:hover {
	filter: brightness( 1.12 );
}

/* STYLE: booking / pricing colour markers (auto-applied by render_block filter) */

.wp-block-button.js-peakspeed-open-booking > .wp-block-button__link,
.wp-block-button.js-peakspeed-open-booking .wp-block-button__link {
	background: #FF2E88 !important;
	color: var( --wp--preset--color--background ) !important;
	border: 0;
}

.wp-block-button.js-peakspeed-open-booking > .wp-block-button__link:hover,
.wp-block-button.js-peakspeed-open-booking .wp-block-button__link:hover {
	filter: brightness( 1.12 );
}

.wp-block-button.peakspeed-btn-orange > .wp-block-button__link,
.wp-block-button.peakspeed-btn-orange .wp-block-button__link {
	background: #FF7A00 !important;
	color: var( --wp--preset--color--background ) !important;
	border: 0;
}

.wp-block-button.peakspeed-btn-orange > .wp-block-button__link:hover,
.wp-block-button.peakspeed-btn-orange .wp-block-button__link:hover {
	filter: brightness( 1.1 );
}

/* Block: File ------------------------------- */

.wp-block-file {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

:root .wp-block-file__button:not(:only-child) {
	margin-left: var( --wp--custom--spacing--baseline );
}

/* Block: Heading ---------------------------- */

.wp-block-post-content h1:not([style*="margin-top"]):not(:first-child),
.wp-block-post-content h2:not([style*="margin-top"]):not(:first-child),
.wp-block-post-content h3:not([style*="margin-top"]):not(:first-child),
.wp-block-post-content h4:not([style*="margin-top"]):not(:first-child),
.wp-block-post-content h5:not([style*="margin-top"]):not(:first-child),
.wp-block-post-content h6:not([style*="margin-top"]):not(:first-child) {
	margin-top: 1em !important;
}

.wp-block-post-content h1:not([style*="margin-bottom"]):not(:last-child),
.wp-block-post-content h2:not([style*="margin-bottom"]):not(:last-child),
.wp-block-post-content h3:not([style*="margin-bottom"]):not(:last-child),
.wp-block-post-content h4:not([style*="margin-bottom"]):not(:last-child),
.wp-block-post-content h5:not([style*="margin-bottom"]):not(:last-child),
.wp-block-post-content h6:not([style*="margin-bottom"]):not(:last-child) {
	margin-bottom: .75em !important;
}

/* Block: Navigation ------------------------- */

.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	font-size: var( --wp--preset--font-size--small );
}

/* Mobile menu toggle button (hamburger) */
.wp-block-navigation__responsive-container-open {
	color: var( --wp--preset--color--foreground );
	font-size: 24px;
}

.wp-block-navigation__responsive-container-open:hover,
.wp-block-navigation__responsive-container-open:focus {
	color: var( --wp--preset--color--primary );
}

/* Full-screen overlay drawer in brand style */
.wp-block-navigation__responsive-container.is-menu-open {
	background: rgba( 10, 15, 30, .98 );
	color: var( --wp--preset--color--foreground );
	padding: var( --wp--custom--spacing--outer );
}

/* Override core's default white overlay (higher specificity + !important) */
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	background-color: var( --wp--preset--color--background ) !important;
	color: var( --wp--preset--color--foreground ) !important;
}

.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation-item__content {
	color: var( --wp--preset--color--foreground );
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	padding-top: 32px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
	position: relative;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 0;
	right: 0;
	color: var( --wp--preset--color--foreground );
	font-size: 28px;
	padding: 8px;
	z-index: 2;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus {
	color: var( --wp--preset--color--primary );
}

/* Each menu item as a "tile" with separators and cyan hover */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-top: 1px solid var( --wp--preset--color--tertiary );
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
	border-bottom: 1px solid var( --wp--preset--color--tertiary );
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	color: var( --wp--preset--color--foreground );
	font-family: var( --wp--preset--font-family--racing );
	font-size: var( --wp--preset--font-size--heading-4 );
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: var( --wp--custom--typography--line-height--headings--large );
	padding: .55em .75em;
	text-decoration: none;
	transition: color .15s ease, background-color .15s ease, padding-left .15s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus {
	color: var( --wp--preset--color--primary );
	background: var( --wp--preset--color--quaternary );
	border-left: 3px solid var( --wp--preset--color--primary );
	padding-left: 1em;
	outline: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0;
	padding-left: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
	display: none;
}

/* Hide header CTA button on very small screens (menu is in the overlay) */
@media ( max-width: 599px ) {
	.is-style-peakspeed-header-cta {
		display: none;
	}
}

/* Block: Paragraph -------------------------- */

.has-drop-cap:not(:focus):first-letter {
	border: .2rem solid currentColor;
	font-size: 2.725em;
	font-weight: var( --wp--custom--typography--font-weight--bold );
	margin: .09em 1rem .5rem 0;
	min-width: .6875em;
	padding: 0.3em;
	text-align: center;
}

/* Block: Post Comments Form ----------------- */

ol.wp-block-comment-template {
	margin: 0;
}

.wp-block-post-comments-form input:not([type=submit]),
.wp-block-post-comments-form textarea {
	border-color: var( --wp--preset--color--tertiary );
}

.required-field-message,
.comment-notes {
	display: none;
}

.logged-in-as {
	color: var( --wp--preset--color--secondary );
}

.comment-reply-title {
	margin: 0;
}

/* Block: Post Navigation -------------------- */

.post-navigation-link-previous a:before { content: "← "; }
.post-navigation-link-next a:after { content: " →"; }

/* Block: Pull Quote ------------------------- */

:root .wp-block-pullquote blockquote,
:root .wp-block-pullquote blockquote p {
	line-height: inherit;
}

:root .wp-block-pullquote blockquote p {
	hanging-punctuation: first;
	font-size: inherit;
}

:root .wp-block-pullquote.has-text-align-left,
:root .wp-block-pullquote.has-text-align-right {
	max-width: 100%;
}

/* Block: Query Pagination ------------------- */

.wp-block-query-pagination > .wp-block-query-pagination-next,
.wp-block-query-pagination > .wp-block-query-pagination-numbers,
.wp-block-query-pagination > .wp-block-query-pagination-previous {
	margin-bottom: 0;
}

.wp-block-query-pagination-next:only-child {
	margin-left: auto;
}

/* Block: Quote ------------------------------ */

blockquote p:first-child { margin-top: 0; }
blockquote p:last-child { margin-bottom: 0; }

/* Block: Search Form ------------------------ */

.wp-block-search .wp-block-search__label {
	font-weight: inherit;
}

.wp-block-search__input,
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	border-color: var(--wp--preset--color--secondary) !important;
}

.wp-block-search__input {
	margin: 0;
	padding: .75em;
}

.wp-block-search__button-inside .wp-block-search__inside-wrapper,
.wp-block-search__button-inside .wp-block-search__input {
	margin: 0;
	padding: .375em .5em !important;
}

.wp-block-search__button {
	margin: 0 0 0 .75em;
}

/* ------------------------------------------- */
/*	PeakSpeed: price tables
/* ------------------------------------------- */

.is-style-peakspeed-price-table {
	border: 1px solid var( --wp--preset--color--tertiary );
}

.is-style-peakspeed-price-table thead th,
.is-style-peakspeed-price-table tfoot td {
	font-family: var( --wp--preset--font-family--racing );
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.is-style-peakspeed-price-table td {
	border-color: var( --wp--preset--color--tertiary );
}

.is-style-peakspeed-price-table tbody tr:last-child td {
	border-bottom: 0;
}

/* Highlight the price column in cyan */
.is-style-peakspeed-price-table td:last-child {
	color: var( --wp--preset--color--primary );
	font-family: var( --wp--preset--font-family--racing );
	font-weight: 500;
}

/* ------------------------------------------- */
/*	PeakSpeed: racing cards hover
/* ------------------------------------------- */

.wp-block-columns.is-style-peakspeed-cards > .wp-block-column {
	border: 1px solid var( --wp--preset--color--tertiary );
	background: var( --wp--preset--color--quaternary );
	transition: border-color .2s ease, transform .2s ease;
}

.wp-block-columns.is-style-peakspeed-cards > .wp-block-column:hover {
	border-color: var( --wp--preset--color--primary );
	transform: translateY( -4px );
}

/* ------------------------------------------- */
/*	PeakSpeed: hero
/* ------------------------------------------- */

.peakspeed-hero {
	background-image: linear-gradient( 180deg, rgba( 6, 9, 20, .62 ) 0%, rgba( 6, 9, 20, .82 ) 100% ), url( 'assets/images/brand/peakspeed-fon.png' );
	background-size: cover;
	background-position: center;
	min-height: 92vh;
	display: flex;
	align-items: center;
}

.editor-styles-wrapper .peakspeed-hero {
	min-height: 70vh;
}

/* ------------------------------------------- */
/*	PeakSpeed: discipline card media
/* ------------------------------------------- */

.peakspeed-card-media {
	min-height: 220px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.peakspeed-card-media.is--ring {
	background-image: linear-gradient( 160deg, rgba( 6, 9, 20, .15 ), rgba( 6, 9, 20, .75 ) ), url( 'assets/images/disciplines/ring.jpg' );
}

.peakspeed-card-media.is--drift {
	background-image: linear-gradient( 160deg, rgba( 6, 9, 20, .15 ), rgba( 6, 9, 20, .75 ) ), url( 'assets/images/disciplines/drift.jpg' );
}

.peakspeed-card-media.is--rally {
	background-image: linear-gradient( 160deg, rgba( 6, 9, 20, .15 ), rgba( 6, 9, 20, .75 ) ), url( 'assets/images/disciplines/rally.jpg' );
}

.peakspeed-card-media.is--street {
	background-image: linear-gradient( 160deg, rgba( 6, 9, 20, .15 ), rgba( 6, 9, 20, .75 ) ), url( 'assets/images/disciplines/street.jpg' );
}

/* ------------------------------------------- */
/*	PeakSpeed: map (Yandex)
/* ------------------------------------------- */

.peakspeed-map {
	border: 1px solid var( --wp--preset--color--tertiary );
	overflow: hidden;
	min-height: 360px;
}

.peakspeed-map iframe,
.peakspeed-map .ymaps,
.peakspeed-map > div {
	width: 100% !important;
}

.peakspeed-map iframe {
	display: block;
	border: 0;
}

/* ------------------------------------------- */
/*	PeakSpeed: layout gutters guard
/* ------------------------------------------- */

.wp-site-blocks {
	padding-left: 0;
	padding-right: 0;
}

.wp-site-blocks > .wp-block-group:not(.alignfull) {
	padding-left: var( --wp--preset--spacing--60 );
	padding-right: var( --wp--preset--spacing--60 );
}

/* ------------------------------------------- */
/*	PeakSpeed: equipment section
/* ------------------------------------------- */

/* Card rows: text left, image right */
.wp-block-columns.is-style-peakspeed-equipment {
	align-items: center;
}

.is-style-peakspeed-equipment > .wp-block-column {
	border: 1px solid var( --wp--preset--color--tertiary );
	background: var( --wp--preset--color--quaternary );
}

.is-style-peakspeed-equipment .wp-block-column:first-child {
	padding: 32px;
}

.is-style-peakspeed-equipment .wp-block-column:last-child {
	padding: 0;
	overflow: hidden;
}

/* Empty image slot (MediaPlaceholder) — shows a hint until an image is inserted */
.wp-block-column .peakspeed-img-slot {
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var( --wp--preset--color--background );
	border: 1px dashed var( --wp--preset--color--tertiary );
	color: var( --wp--preset--color--secondary );
	font-family: var( --wp--preset--font-family--racing );
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wp-block-column .peakspeed-img-slot::before {
	content: "+ Изображение";
	font-size: var( --wp--preset--font-size--small );
}

/* Hide the slot hint when an image block with an actual image is present */
.wp-block-column .peakspeed-img-slot:has(.wp-block-image) {
	border: 0;
	min-height: 0;
	background: transparent;
	color: transparent;
}

.wp-block-column .peakspeed-img-slot:has(.wp-block-image)::before {
	content: none;
}

/* Keep the image inside the slot flush */
.peakspeed-img-slot .wp-block-image {
	margin: 0;
}

.peakspeed-img-slot .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media ( max-width: 781px ) {
	.is-style-peakspeed-equipment {
		flex-direction: column;
	}

	.is-style-peakspeed-equipment > .wp-block-column {
		width: 100%;
	}
}

/* ------------------------------------------- */
/*	PeakSpeed: booking modal (Contact Form 7)
/* ------------------------------------------- */

.peakspeed-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var( --wp--preset--spacing--60 );
	visibility: hidden;
	opacity: 0;
	transition: opacity .25s ease, visibility .25s ease;
}

.peakspeed-modal.is-open {
	visibility: visible;
	opacity: 1;
}

.peakspeed-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba( 6, 9, 20, .82 );
	backdrop-filter: blur( 4px );
}

.peakspeed-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 560px;
	max-height: 90vh;
	overflow-y: auto;
	background: var( --wp--preset--color--background );
	border: 1px solid var( --wp--preset--color--tertiary );
	padding: 40px;
	box-shadow: 0 0 60px rgba( 0, 229, 255, .12 );
}

.peakspeed-modal__close {
	position: absolute;
	top: 12px;
	right: 16px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var( --wp--preset--color--foreground );
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
}

.peakspeed-modal__close:hover,
.peakspeed-modal__close:focus {
	color: var( --wp--preset--color--primary );
}

.peakspeed-modal__title {
	margin-top: .25em;
	margin-bottom: 1em;
}

.peakspeed-modal__fallback {
	font-size: var( --wp--preset--font-size--large );
}

.peakspeed-modal__fallback a {
	color: var( --wp--preset--color--primary );
	text-decoration: none;
}

body.peakspeed-modal-open {
	overflow: hidden;
}

/* ------------------------------------------- */
/*	PeakSpeed: Contact Form 7 styling
/* ------------------------------------------- */

.peakspeed-modal .wpcf7,
.peakspeed-cf7 .wpcf7 {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.peakspeed-modal .wpcf7 form > p,
.peakspeed-cf7 .wpcf7 form > p {
	margin: 0;
}

.peakspeed-modal .wpcf7 label,
.peakspeed-cf7 .wpcf7 label {
	display: block;
	margin-bottom: .4em;
	font-family: var( --wp--preset--font-family--racing );
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.peakspeed-modal .wpcf7 input[type="text"],
.peakspeed-modal .wpcf7 input[type="email"],
.peakspeed-modal .wpcf7 input[type="tel"],
.peakspeed-modal .wpcf7 textarea,
.peakspeed-cf7 .wpcf7 input[type="text"],
.peakspeed-cf7 .wpcf7 input[type="email"],
.peakspeed-cf7 .wpcf7 input[type="tel"],
.peakspeed-cf7 .wpcf7 textarea {
	width: 100%;
	background-color: var( --wp--preset--color--background );
	border: 1px solid var( --wp--preset--color--tertiary );
	color: var( --wp--preset--color--foreground );
	padding: .75em .9em;
}

.peakspeed-modal .wpcf7 input:focus,
.peakspeed-modal .wpcf7 textarea:focus,
.peakspeed-cf7 .wpcf7 input:focus,
.peakspeed-cf7 .wpcf7 textarea:focus {
	border-color: var( --wp--preset--color--primary );
	outline: none;
	box-shadow: 0 0 0 2px rgba( 0, 229, 255, .25 );
}

.peakspeed-modal .wpcf7 input[type="submit"],
.peakspeed-cf7 .wpcf7 input[type="submit"] {
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--background );
	border: 0;
	border-radius: 0;
	padding: 1em 1.33em;
	font-family: var( --wp--preset--font-family--racing );
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}

.peakspeed-modal .wpcf7 input[type="submit"]:hover,
.peakspeed-cf7 .wpcf7 input[type="submit"]:hover {
	opacity: .9;
}

.peakspeed-modal .wpcf7-not-valid-tip,
.peakspeed-cf7 .wpcf7-not-valid-tip {
	color: #ff5b7f;
	font-size: var( --wp--preset--font-size--small );
	margin-top: .3em;
}

.peakspeed-modal .wpcf7 form .wpcf7-response-output,
.peakspeed-cf7 .wpcf7 form .wpcf7-response-output {
	margin: 1em 0 0;
	padding: .75em 1em;
	border: 1px solid var( --wp--preset--color--tertiary );
	font-size: var( --wp--preset--font-size--small );
}

.peakspeed-modal .wpcf7 form.sent .wpcf7-response-output,
.peakspeed-cf7 .wpcf7 form.sent .wpcf7-response-output {
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--primary );
}
