/* ДомСервис — современный визуальный рефреш поверх темы ambitio */

:root{
	--ds-primary:#477a8b;
	--ds-secondary:#1F5263;
	--ds-dark:#003344;
	--ds-light-bg:#eafcff;
	--ds-accent:#ff9900;
	--ds-radius:14px;
	--ds-radius-sm:8px;
	--ds-shadow:0 6px 24px rgba(0,51,68,.10);
	--ds-shadow-hover:0 12px 32px rgba(0,51,68,.18);
}

/* --- Типографика и общие отступы --- */
body{ letter-spacing:.1px; }
h1,h2,h3,h4{ letter-spacing:-.02em; }
.wp-block-post-title{ font-weight:800 !important; }
.elementor-section{ padding-top:clamp(2.5rem,6vw,5rem); padding-bottom:clamp(2.5rem,6vw,5rem); }
.entry-content > .wp-block-heading{ margin-top:2.2em; }
.entry-content > .wp-block-heading:first-child{ margin-top:0; }

/* --- Кнопки: во всплывающих формах, Elementor, Gutenberg, CF7 --- */
a.wp-block-button__link,
.elementor-button,
.wpcf7-form input[type="submit"]{
	border-radius:999px !important;
	font-weight:700 !important;
	padding:.9em 2em !important;
	transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
	box-shadow:0 4px 14px rgba(0,51,68,.18);
	border:none !important;
}
a.wp-block-button__link:hover,
.elementor-button:hover,
.wpcf7-form input[type="submit"]:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 26px rgba(0,51,68,.28);
	filter:brightness(1.06);
}
.wpcf7-form input[type="submit"]{
	background:var(--ds-primary);
	color:#fff;
	cursor:pointer;
}

/* Кнопки-телефоны в шапке */
.wp-block-buttons a.wp-block-button__link{
	background:rgba(255,255,255,.12);
}
.wp-block-buttons a.wp-block-button__link:hover{
	background:var(--ds-accent);
}

/* --- Изображения: скругление и мягкая тень везде --- */
.wp-block-image img,
.elementor-widget-image img,
figure.wp-block-image{
	border-radius:var(--ds-radius);
}
.wp-block-image img,
.elementor-widget-image img{
	box-shadow:var(--ds-shadow);
}

/* --- Нумерованные списки в тексте — превращаем в карточки-шаги --- */
.elementor-widget-text-editor .elementor-widget-container > ol,
.elementor-text-editor > ol,
.entry-content > ol{
	list-style:none;
	counter-reset:ds-step;
	padding-left:0;
	display:grid;
	gap:1rem;
	margin:1.5em 0;
}
.elementor-widget-text-editor .elementor-widget-container > ol > li,
.elementor-text-editor > ol > li,
.entry-content > ol > li{
	counter-increment:ds-step;
	position:relative;
	padding:1.1rem 1.3rem 1.1rem 3.6rem;
	background:#fff;
	border-radius:var(--ds-radius-sm);
	box-shadow:var(--ds-shadow);
	transition:transform .18s ease, box-shadow .18s ease;
}
.elementor-widget-text-editor .elementor-widget-container > ol > li:hover,
.elementor-text-editor > ol > li:hover,
.entry-content > ol > li:hover{
	transform:translateY(-3px);
	box-shadow:var(--ds-shadow-hover);
}
.elementor-widget-text-editor .elementor-widget-container > ol > li::before,
.elementor-text-editor > ol > li::before,
.entry-content > ol > li::before{
	content:counter(ds-step);
	position:absolute;
	left:1rem;
	top:50%;
	transform:translateY(-50%);
	width:1.9rem;
	height:1.9rem;
	border-radius:50%;
	background:var(--ds-primary);
	color:#fff;
	font-weight:800;
	font-size:.95rem;
	display:flex;
	align-items:center;
	justify-content:center;
}

/* Обычные маркированные списки — аккуратные точки в фирменном цвете */
.elementor-widget-text-editor ul li::marker,
.elementor-text-editor ul li::marker,
.entry-content ul li::marker{
	color:var(--ds-primary);
	font-size:1.1em;
}

/* --- Elementor icon-list: аккуратные карточки-плитки --- */
.elementor-icon-list-items{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:1rem;
}
.elementor-icon-list-item{
	background:#fff;
	border-radius:var(--ds-radius-sm);
	box-shadow:var(--ds-shadow);
	padding:1rem 1.2rem !important;
	transition:transform .18s ease, box-shadow .18s ease;
}
.elementor-icon-list-item:hover{
	transform:translateY(-3px);
	box-shadow:var(--ds-shadow-hover);
}
.elementor-icon-list-icon i,
.elementor-icon-list-icon svg{
	color:var(--ds-primary) !important;
	fill:var(--ds-primary) !important;
}

/* --- Таблицы прайс-листа --- */
.wp-block-table table{
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	border-radius:var(--ds-radius-sm);
	box-shadow:var(--ds-shadow);
	width:100%;
}
.wp-block-table table tr:first-child td{
	background:var(--ds-secondary);
	color:#fff;
	font-weight:700;
}
.wp-block-table table td{
	padding:.6rem .9rem;
	border-bottom:1px solid #eef4f6;
}
.wp-block-table table tr:nth-child(even):not(:first-child){
	background:var(--ds-light-bg);
}
.wp-block-table table tr:hover:not(:first-child){
	background:#f2fbfd;
}

/* --- Форма заявки: карточка вместо простой чёрной рамки ---
   Elementor рисует чёрную рамку через ID-селектор на .elementor-widget-container
   самого виджета формы — перебиваем именно там, а не на fields-wrapper. */
.elementor-widget-form > .elementor-widget-container{
	background:#fff !important;
	border:none !important;
	border-style:none !important;
	border-radius:var(--ds-radius) !important;
	box-shadow:var(--ds-shadow-hover) !important;
	margin:1.5rem auto !important;
	padding:1.8rem !important;
	max-width:640px;
}
.wp-block-contact-form-7-contact-form-selector{
	background:#fff !important;
	border-radius:var(--ds-radius) !important;
	box-shadow:var(--ds-shadow-hover) !important;
	padding:1.6rem !important;
}
.elementor-field-group,
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea{
	border-radius:var(--ds-radius-sm) !important;
}
.elementor-field-group input,
.elementor-field-group textarea,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea{
	border:1.5px solid #dde8ea !important;
	padding:.75em 1em !important;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus{
	border-color:var(--ds-primary) !important;
	box-shadow:0 0 0 3px rgba(71,122,139,.18);
	outline:none;
}
.elementor-widget-form .elementor-button{
	border-radius:999px !important;
}

/* --- Отзывы: карточка с мягкой тенью --- */
.elementor-widget-testimonial-carousel .elementor-testimonial{
	background:#fff;
	border-radius:var(--ds-radius);
	box-shadow:var(--ds-shadow);
	padding:1.5rem !important;
}

/* --- Блог: архив в виде карточной сетки --- */
.wp-block-query .wp-block-post,
ul.wp-block-post-template > li{
	background:#fff;
	border-radius:var(--ds-radius);
	box-shadow:var(--ds-shadow);
	padding:1.4rem;
	transition:transform .18s ease, box-shadow .18s ease;
}
.wp-block-query .wp-block-post:hover,
ul.wp-block-post-template > li:hover{
	transform:translateY(-4px);
	box-shadow:var(--ds-shadow-hover);
}
ul.wp-block-post-template{
	list-style:none;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
	gap:1.5rem;
	padding-left:0;
}

/* --- CTA-кнопка в hero-блоке --- */
a.wp-block-button__link.hero-cta{
	background:var(--ds-accent) !important;
	color:var(--ds-dark) !important;
	font-size:1.05rem;
	padding:1em 2.2em !important;
}

/* --- Переключатель языка в шапке --- */
.pll-switcher a{
	transition:opacity .15s ease;
}
.pll-switcher a:hover{ opacity:.75; }

/* --- Хлебные крошки — приглушить, чтобы не спорили с заголовком --- */
nav[aria-label="Breadcrumb"], .breadcrumbs, .rank-math-breadcrumb{
	opacity:.75;
	font-size:.9rem;
}

@media (max-width:600px){
	.elementor-icon-list-items{ grid-template-columns:1fr; }
}
