/*
 Theme Name:   Astra Child
 Template:     astra
 Version:      1.0.0
*/

/* =========================================================
   DESIGN TOKENS
========================================================= */

:root{

/* =========================================================
   COLORS
========================================================= */

--color-primary-900:hsl(210,50%,40%);
--color-primary-700:hsl(210,50%,47%);
--color-primary-500:hsl(210,50%,54%);

--color-accent-900:hsl(40,90%,40%);
--color-accent-700:hsl(40,90%,50%);
--color-accent-500:hsl(40,90%,60%);

--color-background:hsl(35,25%,95%);

--color-surface:#FFFFFF;

--color-border:#E4EAF2;

--color-text:hsl(215,45%,25%);
--color-text-soft:hsl(215,20%,40%);

--color-success:#4FA66A;
--color-danger:#D96464;

/* =========================================================
   SEMANTIC TOKENS
========================================================= */

--bg-page:var(--color-background);
--bg-soft:
linear-gradient(145deg,rgba(242,181,68,.15),rgba(53,92,140,.1));


--button-primary-bg:var(--color-accent-500);
--button-primary-hover:var(--color-accent-700);

--button-secondary-bg:#FFFFFF;
--button-secondary-border:var(--color-border);

/* --input-border:#DCE4ED; */

/* --tag-bg:#FFF2DB; */
/* --tag-text:var(--color-primary-900); */

/* =========================================================
   TYPOGRAPHY
========================================================= */

/* --font-heading:'Manrope',sans-serif;
--font-body:'Inter',sans-serif; */

--text-xs:12px;
--text-sm:14px;
--text-md:16px;
--text-lg:18px;
--text-xl:22px;

--heading-xs:24px;
--heading-sm:32px;
--heading-md:48px;
--heading-lg:64px;

/* --line-tight:1.1;
--line-normal:1.7;
--line-loose:1.9; */


/* =========================================================
   SPACING SCALE
========================================================= */

/* --space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:20px;
--space-6:24px;
--space-7:32px;
--space-8:40px;
--space-9:48px;
--space-10:64px;
--space-11:80px;
--space-12:120px; */

--space-1:4px;
--space-2:8px;
--space-3:16px;
--space-4:28px;
--space-5:44px;
--space-6:64px;
--space-7:88px;
--space-8:116px;


/* =========================================================
   RADIUS
========================================================= */

/* --radius-xs:10px;
--radius-sm:14px;
--radius-md:18px;
--radius-lg:28px;
--radius-xl:36px;
--radius-2xl:48px;
--radius-round:999px; */

--radius-xs:4px;
--radius-sm:8px;
--radius-md:12px;
--radius-lg:16px;
--radius-xl:24px;
--radius-2xl:32px;
--radius-round:999px;

/* =========================================================
   SHADOWS
========================================================= */
--shadow-xs:
0 2px 6px rgba(20,30,50,.06);
--shadow-sm:
0 4px 12px rgba(20,30,50,.06);

--shadow-md:
0 10px 30px rgba(20,30,50,.08);

--shadow-lg:
0 20px 60px rgba(20,30,50,.14);

--shadow-xl:
0 30px 80px rgba(15,25,45,.18);

/* =========================================================
   LAYOUT
========================================================= */

/*--content-width:1440px;*/
/* --content-width:clamp(640px, 90vw, 1440px); */

/* --section-gap:var(--space-12); */

--card-padding:var(--space-4);
--button-height:58px;

/* --input-height:62px; */

--icon-color-alt: var(--color-accent-900);

}

h1, h2, h3, h4 {
	/* font-family: var(--font-heading); */
	line-height: var(--line-tight);
	color: var(--color-text);
}

#page.hfeed .ph-duotone::before{
	color:var(--icon-color-alt);
	opacity: 0.33;
}
#page.hfeed{
    display: flex;
    flex-direction: column;
    min-height: 98vh;
}
#page.hfeed .elementor-location-footer,
#page.hfeed div[data-elementor-type="footer"]{
    margin-top:auto;
}

.hidden{
    display:none;
}
.surface{
    background:var(--color-surface);
	border:1px solid rgba(255,255,255,.7);
	border-radius:var(--radius-lg);
	box-shadow:var(--shadow-xs);
}

.dialog-widget.elementor-popup-modal .dialog-widget-content{
	border-radius:var(--radius-xl);
	border:1px solid rgba(255,255,255,.7);
	box-shadow:var(--shadow-xl);
	overflow: hidden;
}
.dialog-widget.elementor-popup-modal .dialog-widget-content>.dialog-message{
	padding: var(--space-5)
}

.dialog-widget.elementor-popup-modal .dialog-widget-content .dialog-close-button{
	font-size: 24px;
	color:var(--color-text-soft);
	opacity: 0.7;
}
.dialog-widget.elementor-popup-modal .dialog-widget-content .dialog-close-button:hover{
	color:var(--color-primary-900);
	opacity: 1.0;
}

.card{
	display: flex;
	flex-direction: column;
	transition:.3s ease;
	overflow:hidden;
	color:var(--color-text-soft);
}

.card>div{
	padding: var(--space-3) var(--card-padding);
}
.card>div:first-child{
	padding-top: var(--card-padding);
}
.card>div:last-child{
	padding-bottom: var(--card-padding);
}
.card-footer {
	margin-top: auto;
}
.surface.hover{
    box-shadow:var(--shadow-sm);
}

.hover:hover{
transform:translateY(-6px);
box-shadow:var(--shadow-md);
}


.elementor-widget-container .eael-pricing.style-2 .eael-pricing-item.featured{
    box-shadow: none;
}

.elementor-section .elementor-container{
    justify-content: center
}

.meta-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin: 0 auto;
	width: fit-content;
}


.meta-list li{
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-text-soft);
}

.meta-list li i{
	width: 48px;
	height: 48px;
	font-size: 1.3em;
	border-radius: var(--radius-md);
	background: var(--bg-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.meta-list li i.ph-duotone {
	font-size: 1.6em;
}
.elementor-element.button-row:where(.e-con-full,.elementor-widget),
.button-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	justify-content: center;
}


.elementor-widget-button.btn a{
	width:100%;
}

.elementor-popup-modal .form .elementor-field-group.elementor-column button,
.elementor-widget-button.btn a,
button.btn {
	height: var(--button-height);
	padding: 0 var(--space-5);
	border: none;
	border-radius: var(--radius-md);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	cursor: pointer;
	transition: .25s ease;
}

.elementor-popup-modal .form .elementor-field-group.elementor-column button:hover,
.elementor-widget-button.btn:hover a,
button.btn:hover {
	transform: translateY(-2px);
}

.elementor-popup-modal .form .elementor-field-group.elementor-column.elementor-field-type-submit button,
.elementor-widget-button.btn-primary a,
button.btn-primary {
	background: var(--button-primary-bg);
	color: #fff;
	box-shadow: 0 12px 26px rgba(242, 181, 68, .22);
}

.elementor-popup-modal .form .elementor-field-group.elementor-column.elementor-field-type-submit button:hover,
.elementor-widget-button.btn-primary:hover a,
button.btn-primary:hover {
	color: #fff;
	background: var(--button-primary-hover);
}

.elementor-widget-button.btn-secondary a,
button.btn-secondary {
	background: var(--button-secondary-bg);
	border: 1.5px solid var(--button-secondary-border);
	color: var(--color-text);
}

.elementor-widget-button.btn-ghost a,
button.btn-ghost {
	background: rgba(53, 92, 140, .06);
	color: var(--color-text);
}




.elementor-popup-modal .elementor-form-fields-wrapper{
	gap:var(--space-3)
}
.elementor-popup-modal .form .elementor-field-group.elementor-column.elementor-field-type-submit{
	margin-top:var(--space-3)
}

/* Скрываем поля когда появилось сообщение об успехе */
.elementor-popup-modal:has(.elementor-message-success) .elementor-widget-heading,
.elementor-popup-modal:has(.elementor-message-success) .elementor-widget-text-editor,
.elementor-popup-modal .elementor-form:has(.elementor-message-success) .elementor-form-fields-wrapper {
	display: none;
}

/* Делаем сообщение крупным и на всё окно */
.elementor-popup-modal .elementor-form:has(.elementor-message-success) .elementor-message.elementor-message-success {
	font-size: 1.5em;
	text-align: center;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	min-height: 300px;
}
.elementor-popup-modal .elementor-form:has(.elementor-message-success) .elementor-message.elementor-message-success:before{
	font-size: 2.0em;
	color: var(--color-success);
}