/* Elementor widget restyling — applies whenever Elementor renders a page,
   so any About / Contact / Blog page the owner builds inherits the brand. */

.elementor-section {
	font-family: var(--pc-font-body);
}

/* Headings */
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--pc-font-display);
	font-weight: 500;
	color: var(--pc-ink);
	letter-spacing: -0.01em;
	line-height: var(--pc-lh-display);
}

/* Buttons */
.elementor-button-wrapper .elementor-button,
.elementor-widget-button .elementor-button {
	font-family: var(--pc-font-body);
	font-weight: 600;
	border-radius: var(--pc-r-pill);
	padding: 0.85rem 1.55rem;
	background: var(--pc-ink);
	color: var(--pc-cream);
	border: 1px solid transparent;
	box-shadow: var(--pc-shadow-1);
	transition: transform var(--pc-dur-1) var(--pc-ease), box-shadow var(--pc-dur-1) var(--pc-ease), background var(--pc-dur-1) var(--pc-ease);
}
.elementor-button-wrapper .elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: var(--pc-shadow-2);
	background: var(--pc-pink-deep);
	color: var(--pc-cream);
}

/* Image-box */
.elementor-widget-image-box .elementor-image-box-wrapper {
	background: #fff;
	border-radius: var(--pc-r-lg);
	padding: var(--pc-s5);
	box-shadow: var(--pc-shadow-1);
	transition: transform var(--pc-dur-2) var(--pc-ease), box-shadow var(--pc-dur-2) var(--pc-ease);
}
.elementor-widget-image-box .elementor-image-box-wrapper:hover {
	transform: translateY(-3px);
	box-shadow: var(--pc-shadow-2);
}
.elementor-widget-image-box .elementor-image-box-img img {
	border-radius: var(--pc-r-md);
}
.elementor-widget-image-box .elementor-image-box-title {
	font-family: var(--pc-font-display);
	font-weight: 500;
}

/* Icon-box */
.elementor-widget-icon-box .elementor-icon {
	color: var(--pc-pink-deep);
}
.elementor-widget-icon-box .elementor-icon-box-title {
	font-family: var(--pc-font-display);
	font-weight: 500;
	color: var(--pc-ink);
}

/* Forms */
.elementor-widget-form .elementor-field-group input[type='text'],
.elementor-widget-form .elementor-field-group input[type='email'],
.elementor-widget-form .elementor-field-group input[type='tel'],
.elementor-widget-form .elementor-field-group textarea {
	font-family: var(--pc-font-body);
	border-radius: var(--pc-r-md);
	border: 1px solid var(--pc-line);
	padding: 0.85rem 1rem;
}
.elementor-widget-form .elementor-button {
	border-radius: var(--pc-r-pill);
}

/* Image */
.elementor-widget-image img {
	border-radius: var(--pc-r-md);
}

/* Divider */
.elementor-widget-divider .elementor-divider-separator {
	border-color: var(--pc-line) !important;
}

/* Posts / blog grid (if used) */
.elementor-post {
	background: #fff;
	border-radius: var(--pc-r-lg);
	overflow: hidden;
	box-shadow: var(--pc-shadow-1);
	transition: transform var(--pc-dur-2) var(--pc-ease), box-shadow var(--pc-dur-2) var(--pc-ease);
}
.elementor-post:hover {
	transform: translateY(-3px);
	box-shadow: var(--pc-shadow-2);
}
.elementor-post__title a {
	font-family: var(--pc-font-display);
	color: var(--pc-ink);
	font-weight: 500;
}
