/*
Theme Name: Precision Home
Theme URI: https://manzeleldeka.com/
Author: Precision Home
Author URI: https://manzeleldeka.com/
Description: قالب ووردبريس مخصص وآمن وسريع لمؤسسة منزل الدقة للمقاولات العامة وصيانة المباني في المملكة العربية السعودية.
Version: 9.75.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: precision-home
Domain Path: /languages
License: Proprietary
*/

/* =========================================================
   1. Design Tokens
   ========================================================= */

:root {
	/* Brand colors */
	--ph-primary: #8e3b43;
	--ph-primary-dark: #742f36;
	--ph-primary-soft: #f6ecee;
	--ph-gold: #d4af37;
	--ph-gold-dark: #b99120;

	/* Neutral colors */
	--ph-dark: #15171b;
	--ph-dark-soft: #202329;
	--ph-heading: #1b1e23;
	--ph-text: #4b4f56;
	--ph-muted: #70757d;
	--ph-background: #f6f6f7;
	--ph-surface: #ffffff;
	--ph-border: #e7e7e7;
	--ph-white: #ffffff;
	--ph-success: #198754;
	--ph-error: #b42318;

	/* Typography */
	--ph-font-family: "Tajawal", Arial, sans-serif;
	--ph-font-size-xs: 0.75rem;
	--ph-font-size-sm: 0.875rem;
	--ph-font-size-base: 1rem;
	--ph-font-size-md: 1.125rem;
	--ph-font-size-lg: 1.25rem;
	--ph-font-size-xl: 1.5rem;
	--ph-font-size-2xl: clamp(1.75rem, 3vw, 2.5rem);
	--ph-font-size-3xl: clamp(2.125rem, 4.5vw, 3.75rem);

	/* Layout */
	--ph-container: 1240px;
	--ph-container-wide: 1440px;
	--ph-content: 820px;
	--ph-section-space: clamp(4.5rem, 8vw, 7.5rem);
	--ph-gutter: clamp(1rem, 3vw, 2rem);

	/* Spacing */
	--ph-space-1: 0.25rem;
	--ph-space-2: 0.5rem;
	--ph-space-3: 0.75rem;
	--ph-space-4: 1rem;
	--ph-space-5: 1.25rem;
	--ph-space-6: 1.5rem;
	--ph-space-8: 2rem;
	--ph-space-10: 2.5rem;
	--ph-space-12: 3rem;
	--ph-space-16: 4rem;

	/* Radius */
	--ph-radius-sm: 8px;
	--ph-radius-md: 14px;
	--ph-radius-lg: 22px;
	--ph-radius-xl: 32px;
	--ph-radius-pill: 999px;

	/* Shadows */
	--ph-shadow-sm: 0 8px 24px rgba(21, 23, 27, 0.07);
	--ph-shadow-md: 0 16px 40px rgba(21, 23, 27, 0.11);
	--ph-shadow-lg: 0 24px 70px rgba(21, 23, 27, 0.15);

	/* Motion */
	--ph-transition-fast: 160ms ease;
	--ph-transition: 280ms ease;
}

/* =========================================================
   2. Reset and Base
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	direction: rtl;
	overflow-x: hidden;
	background: var(--ph-surface);
	color: var(--ph-text);
	font-family: var(--ph-font-family);
	font-size: var(--ph-font-size-base);
	font-weight: 400;
	line-height: 1.8;
	text-align: right;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.admin-bar {
	--ph-admin-offset: 32px;
}

main {
	display: block;
}

img,
picture,
svg,
video,
canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

iframe {
	max-width: 100%;
	border: 0;
}

figure {
	margin: 0;
}

a {
	color: var(--ph-primary);
	text-decoration: none;
	transition:
		color var(--ph-transition-fast),
		background-color var(--ph-transition-fast),
		border-color var(--ph-transition-fast),
		transform var(--ph-transition-fast);
}

a:hover {
	color: var(--ph-primary-dark);
}

button,
input,
textarea,
select {
	font: inherit;
}

button {
	cursor: pointer;
}

input,
textarea,
select {
	max-width: 100%;
}

textarea {
	resize: vertical;
}

table {
	width: 100%;
	border-collapse: collapse;
}

ul,
ol {
	margin-block: 0 1.5rem;
	padding-inline-start: 1.25rem;
}

p {
	margin-block: 0 1.25rem;
}

p:last-child {
	margin-bottom: 0;
}

/* =========================================================
   3. Typography
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block: 0 1rem;
	color: var(--ph-heading);
	font-family: var(--ph-font-family);
	font-weight: 800;
	line-height: 1.3;
	text-wrap: balance;
}

h1 {
	font-size: var(--ph-font-size-3xl);
}

h2 {
	font-size: var(--ph-font-size-2xl);
}

h3 {
	font-size: var(--ph-font-size-xl);
}

h4 {
	font-size: var(--ph-font-size-lg);
}

small {
	font-size: var(--ph-font-size-sm);
}

strong,
b {
	font-weight: 700;
}

::selection {
	background: var(--ph-primary);
	color: var(--ph-white);
}

/* =========================================================
   4. Accessibility
   ========================================================= */

:focus-visible {
	outline: 3px solid var(--ph-gold);
	outline-offset: 4px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: 8px;
	right: 8px;
	width: auto;
	height: auto;
	padding: 12px 18px;
	overflow: visible;
	clip: auto;
	background: var(--ph-dark);
	color: var(--ph-white);
	border-radius: var(--ph-radius-sm);
	white-space: normal;
}

/* =========================================================
   5. Layout Utilities
   ========================================================= */

.ph-container {
	width: min(
		calc(100% - (var(--ph-gutter) * 2)),
		var(--ph-container)
	);
	margin-inline: auto;
}

.ph-container--wide {
	width: min(
		calc(100% - (var(--ph-gutter) * 2)),
		var(--ph-container-wide)
	);
	margin-inline: auto;
}

.ph-content-width {
	width: min(100%, var(--ph-content));
	margin-inline: auto;
}

.ph-section {
	position: relative;
	padding-block: var(--ph-section-space);
}

.ph-section--light {
	background: var(--ph-background);
}

.ph-section--dark {
	background: var(--ph-dark);
	color: rgba(255, 255, 255, 0.82);
}

.ph-section--dark h1,
.ph-section--dark h2,
.ph-section--dark h3,
.ph-section--dark h4 {
	color: var(--ph-white);
}

.ph-grid {
	display: grid;
	gap: clamp(1rem, 2.5vw, 2rem);
}

.ph-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ph-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ph-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* =========================================================
   6. Buttons
   ========================================================= */

.ph-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-height: 52px;
	padding: 0.85rem 1.5rem;
	border: 1px solid transparent;
	border-radius: var(--ph-radius-md);
	background: var(--ph-primary);
	color: var(--ph-white);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	box-shadow: 0 10px 24px rgba(142, 59, 67, 0.22);
	transition:
		transform var(--ph-transition),
		box-shadow var(--ph-transition),
		background-color var(--ph-transition),
		color var(--ph-transition),
		border-color var(--ph-transition);
}

.ph-button:hover {
	transform: translateY(-2px);
	background: var(--ph-primary-dark);
	color: var(--ph-white);
	box-shadow: 0 16px 34px rgba(142, 59, 67, 0.3);
}

.ph-button:active {
	transform: translateY(0);
}

.ph-button--gold {
	background: var(--ph-gold);
	color: var(--ph-dark);
	box-shadow: 0 10px 24px rgba(212, 175, 55, 0.22);
}

.ph-button--gold:hover {
	background: var(--ph-gold-dark);
	color: var(--ph-white);
}

.ph-button--outline {
	background: transparent;
	color: var(--ph-primary);
	border-color: var(--ph-primary);
	box-shadow: none;
}

.ph-button--outline:hover {
	background: var(--ph-primary);
	color: var(--ph-white);
}

/* =========================================================
   7. Cards
   ========================================================= */

.ph-card {
	height: 100%;
	overflow: hidden;
	background: var(--ph-surface);
	border: 1px solid var(--ph-border);
	border-radius: var(--ph-radius-lg);
	box-shadow: var(--ph-shadow-sm);
	transition:
		transform var(--ph-transition),
		box-shadow var(--ph-transition),
		border-color var(--ph-transition);
}

.ph-card:hover {
	transform: translateY(-6px);
	border-color: rgba(142, 59, 67, 0.35);
	box-shadow: var(--ph-shadow-md);
}

/* =========================================================
   8. Responsive Rules
   ========================================================= */

@media (max-width: 1024px) {
	.ph-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ph-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.admin-bar {
		--ph-admin-offset: 46px;
	}

	.ph-grid--2,
	.ph-grid--3,
	.ph-grid--4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.ph-button {
		min-height: 50px;
		padding-inline: 1.2rem;
	}
}

/* =========================================================
   9. Reduced Motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
/* v9.50.0 unified action icons: single handset + WhatsApp brand mark */
a[href^="tel:"] svg, a[href*="wa.me"] svg, a[href*="whatsapp"] svg { width: 1.15em; height: 1.15em; flex: 0 0 auto; display: inline-block; vertical-align: middle; }


/* =========================================================
   v9.65.0 — Global floating WhatsApp + phone actions
   ========================================================= */
.ph-floating-contact{
 position:fixed;z-index:9996;left:max(14px,env(safe-area-inset-left));bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px));
 display:flex;flex-direction:column;align-items:flex-start;gap:10px;direction:rtl;pointer-events:none
}
.ph-floating-contact__item{
 pointer-events:auto;display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:48px;padding:7px 13px 7px 8px;
 border:1px solid rgba(255,255,255,.82);border-radius:999px;color:#fff!important;text-decoration:none!important;font-family:var(--ph-font-family,"Tajawal",Arial,sans-serif);
 font-size:13px;font-weight:800;line-height:1;box-shadow:0 10px 28px rgba(21,23,27,.22);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
 transform:translateZ(0);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease
}
.ph-floating-contact__item:hover,.ph-floating-contact__item:focus-visible{transform:translateY(-2px);color:#fff!important;box-shadow:0 14px 34px rgba(21,23,27,.28)}
.ph-floating-contact__item--whatsapp{background:#20a943}
.ph-floating-contact__item--phone{background:linear-gradient(135deg,#9c2f3d,#742f36)}
.ph-floating-contact__icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.13)}
.ph-floating-contact__icon svg{width:23px;height:23px;display:block}
.ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{width:24px;height:24px}
.ph-floating-contact__item strong{white-space:nowrap;font:inherit;color:inherit}
@media (prefers-reduced-motion:no-preference){
 .ph-floating-contact__item--whatsapp .ph-floating-contact__icon{animation:ph-contact-nudge 7s ease-in-out infinite}
 .ph-floating-contact__item--phone .ph-floating-contact__icon{animation:ph-contact-nudge 7s ease-in-out 1.15s infinite}
 @keyframes ph-contact-nudge{0%,7%,100%{transform:rotate(0)}2%{transform:rotate(-8deg)}4%{transform:rotate(8deg)}6%{transform:rotate(-4deg)}}
}
@media (max-width:767px){
 .ph-floating-contact{left:max(8px,env(safe-area-inset-left));bottom:max(12px,calc(env(safe-area-inset-bottom) + 12px));gap:7px}
 .ph-floating-contact__item{min-height:43px;padding:5px 10px 5px 6px;gap:7px;font-size:11.5px;box-shadow:0 8px 22px rgba(21,23,27,.2)}
 .ph-floating-contact__icon{width:31px;height:31px;flex-basis:31px}
 .ph-floating-contact__icon svg{width:20px;height:20px}
 .ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{width:21px;height:21px}
}
@media (max-width:360px){
 .ph-floating-contact__item{padding-inline:7px 5px;font-size:10.5px}
 .ph-floating-contact__icon{width:29px;height:29px;flex-basis:29px}
}


/* =========================================================
   v9.67.0 — collision-free global contact rail + branding
   ========================================================= */
.ph-floating-contact{
  position:fixed!important;z-index:10019!important;
  right:max(16px,env(safe-area-inset-right))!important;left:auto!important;
  bottom:max(104px,calc(env(safe-area-inset-bottom) + 104px))!important;
  display:flex!important;flex-direction:column!important;align-items:flex-end!important;
  gap:9px!important;direction:rtl!important;pointer-events:none!important;
}
.ph-floating-contact__item{
  pointer-events:auto!important;position:relative!important;overflow:visible!important;
  transform-origin:right center!important;will-change:transform,filter!important;
  border:2px solid rgba(255,255,255,.94)!important;
  box-shadow:0 10px 26px rgba(20,23,27,.22),0 0 0 3px rgba(255,255,255,.12)!important;
}
.ph-floating-contact__item::after{
  content:"";position:absolute;inset:-5px;border-radius:999px;border:2px solid currentColor;
  opacity:0;pointer-events:none;animation:ph-contact-ring 3.2s ease-out infinite;
}
.ph-floating-contact__item--whatsapp{animation:ph-contact-shake 4.2s ease-in-out infinite!important}
.ph-floating-contact__item--phone{animation:ph-contact-shake 4.2s ease-in-out 1.4s infinite!important}
.ph-floating-contact__item--phone::after{animation-delay:1.4s}
@keyframes ph-contact-shake{0%,72%,100%{transform:translate3d(0,0,0) rotate(0)}76%{transform:translate3d(0,-2px,0) rotate(-3deg)}80%{transform:translate3d(0,0,0) rotate(3deg)}84%{transform:translate3d(0,-1px,0) rotate(-2deg)}88%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes ph-contact-ring{0%,70%{transform:scale(.94);opacity:0}76%{opacity:.28}92%{transform:scale(1.12);opacity:0}100%{opacity:0}}
.ph-floating-contact__item:hover,.ph-floating-contact__item:focus-visible{animation-play-state:paused!important;transform:translateY(-2px)!important}
body:has(.ph-ai01[data-state="open"]) .ph-floating-contact{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:767px){
 .ph-floating-contact{right:max(10px,env(safe-area-inset-right))!important;bottom:max(164px,calc(env(safe-area-inset-bottom) + 164px))!important;gap:7px!important}
 .ph-floating-contact__item{min-height:40px!important;padding:4px 9px 4px 5px!important;font-size:11px!important;max-width:145px!important}
 .ph-floating-contact__icon{width:30px!important;height:30px!important;flex-basis:30px!important}
}
@media(max-width:390px){
 .ph-floating-contact{right:max(8px,env(safe-area-inset-right))!important;bottom:max(158px,calc(env(safe-area-inset-bottom) + 158px))!important}
 .ph-floating-contact__item{font-size:10.5px!important;max-width:132px!important}
}
@media(prefers-reduced-motion:reduce){
 .ph-floating-contact__item,.ph-floating-contact__item::after{animation:none!important}
}
.ph-local-brand-watermark,.ph-image-watermark--logo,.ph-city-hero-watermark{position:absolute;z-index:4;display:grid;place-items:center;pointer-events:none}
.ph-local-brand-watermark{left:14px!important;right:auto!important;bottom:14px!important;width:58px!important;height:58px!important;padding:7px!important;border-radius:14px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 5px 18px rgba(0,0,0,.12)!important}
.ph-local-brand-watermark img,.ph-image-watermark--logo img,.ph-city-hero-watermark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;opacity:.72!important}
.ph-city-hub__service-media,.ph-city-project-card__media,.ph-city-premium-hero{position:relative!important}
.ph-image-watermark--logo{left:10px;bottom:10px;width:46px;height:46px;padding:5px;border-radius:11px;background:rgba(255,255,255,.70);box-shadow:0 4px 14px rgba(0,0,0,.11)}
.ph-city-hero-watermark{left:clamp(14px,3vw,42px);bottom:clamp(14px,3vw,34px);width:clamp(46px,5vw,74px);height:clamp(46px,5vw,74px);padding:7px;border-radius:14px;background:rgba(255,255,255,.58);box-shadow:0 6px 20px rgba(0,0,0,.12)}
@media(max-width:767px){.ph-local-brand-watermark{width:46px!important;height:46px!important;left:9px!important;bottom:9px!important}.ph-image-watermark--logo{width:39px;height:39px}.ph-city-hero-watermark{width:44px;height:44px;left:10px;bottom:10px}}


/* =========================================================
   v9.69.0 — final local-image cleanup + contact order
   ========================================================= */
.ph-floating-contact{display:flex!important;flex-direction:column!important;align-items:flex-end!important}
.ph-floating-contact__item--phone{order:1!important}
.ph-floating-contact__item--whatsapp{order:2!important}
.ph-local-brand-watermark{
  left:12px!important;bottom:12px!important;width:84px!important;height:auto!important;
  min-height:0!important;padding:5px 7px!important;border:0!important;border-radius:9px!important;
  background:rgba(255,255,255,.50)!important;box-shadow:0 3px 10px rgba(0,0,0,.08)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important
}
.ph-local-brand-watermark img{width:100%!important;height:auto!important;max-height:32px!important;opacity:.52!important;object-fit:contain!important}
.ph-local-story-card__media img{width:100%!important;height:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important}
@media(max-width:767px){
 .ph-local-brand-watermark{left:8px!important;bottom:8px!important;width:68px!important;padding:4px 6px!important}
 .ph-local-brand-watermark img{max-height:26px!important}
 .ph-local-story-card__media img{aspect-ratio:16/9!important;object-position:center!important}
}


/* =========================================================
   v9.70.0 — FINAL icon-only floating contact rail
   Phone above WhatsApp, directly above AI assistant, all pages
   ========================================================= */
.ph-floating-contact{
  position:fixed!important;
  z-index:10020!important;
  right:max(12px,env(safe-area-inset-right))!important;
  left:auto!important;
  bottom:max(82px,calc(env(safe-area-inset-bottom) + 82px))!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:9px!important;
  width:56px!important;
  pointer-events:none!important;
  direction:rtl!important;
}
.ph-floating-contact__item{
  order:initial!important;
  pointer-events:auto!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  max-width:54px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:2px solid rgba(255,255,255,.96)!important;
  text-indent:0!important;
  font-size:0!important;
  line-height:1!important;
  overflow:visible!important;
  box-shadow:0 8px 24px rgba(21,23,27,.22),0 0 0 4px rgba(255,255,255,.16)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:translateZ(0)!important;
  transform-origin:center!important;
}
.ph-floating-contact__item--phone{order:1!important;background:linear-gradient(135deg,#a93443,#742f36)!important;color:#fff!important}
.ph-floating-contact__item--whatsapp{order:2!important;background:#1fbf58!important;color:#fff!important}
.ph-floating-contact__icon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:0!important;
  background:transparent!important;
}
.ph-floating-contact__icon svg,
.ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{
  width:28px!important;
  height:28px!important;
  display:block!important;
}
.ph-floating-contact__item::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  box-shadow:0 0 0 0 currentColor;
  opacity:.22;
  pointer-events:none;
  animation:ph-final-contact-glow 2.8s ease-out infinite;
}
.ph-floating-contact__item::after{
  content:""!important;
  position:absolute!important;
  inset:-3px!important;
  border-radius:50%!important;
  border:1px solid currentColor!important;
  opacity:0!important;
  pointer-events:none!important;
  animation:ph-final-contact-ring 2.8s ease-out infinite!important;
}
.ph-floating-contact__item--whatsapp::before,
.ph-floating-contact__item--whatsapp::after{animation-delay:.9s!important}
@keyframes ph-final-contact-glow{
  0%,58%,100%{box-shadow:0 0 0 0 currentColor;opacity:.18}
  72%{box-shadow:0 0 0 10px currentColor;opacity:.08}
  86%{box-shadow:0 0 0 16px currentColor;opacity:0}
}
@keyframes ph-final-contact-ring{
  0%,58%,100%{transform:scale(.96);opacity:0}
  68%{opacity:.30}
  88%{transform:scale(1.24);opacity:0}
}
@media (prefers-reduced-motion:no-preference){
  .ph-floating-contact__item--phone{animation:ph-final-contact-nudge 4.8s ease-in-out infinite!important}
  .ph-floating-contact__item--whatsapp{animation:ph-final-contact-nudge 4.8s ease-in-out 1.2s infinite!important}
}
@keyframes ph-final-contact-nudge{
  0%,76%,100%{transform:translate3d(0,0,0) rotate(0)}
  80%{transform:translate3d(0,-2px,0) rotate(-4deg)}
  84%{transform:translate3d(0,0,0) rotate(4deg)}
  88%{transform:translate3d(0,-1px,0) rotate(-2deg)}
  92%{transform:translate3d(0,0,0) rotate(0)}
}
.ph-floating-contact__item:hover,.ph-floating-contact__item:focus-visible{
  transform:translateY(-2px)!important;
  filter:brightness(1.05)!important;
}
body:has(.ph-ai01[data-state="open"]) .ph-floating-contact{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:767px){
  .ph-floating-contact{
    right:max(9px,env(safe-area-inset-right))!important;
    bottom:max(76px,calc(env(safe-area-inset-bottom) + 76px))!important;
    width:50px!important;
    gap:8px!important;
  }
  .ph-floating-contact__item{
    width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;
  }
  .ph-floating-contact__icon,.ph-floating-contact__icon svg,.ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{
    width:25px!important;height:25px!important;flex-basis:25px!important;
  }
}
@media(max-width:380px){
  .ph-floating-contact{right:max(7px,env(safe-area-inset-right))!important;bottom:max(72px,calc(env(safe-area-inset-bottom) + 72px))!important}
  .ph-floating-contact__item{width:45px!important;height:45px!important;min-width:45px!important;min-height:45px!important;max-width:45px!important}
  .ph-floating-contact__icon,.ph-floating-contact__icon svg,.ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{width:23px!important;height:23px!important;flex-basis:23px!important}
}
@media(prefers-reduced-motion:reduce){
  .ph-floating-contact__item,.ph-floating-contact__item::before,.ph-floating-contact__item::after{animation:none!important}
}


/* =========================================================
   v9.71.0 — floating contact icon alignment + visible motion
   Final override: centered icons, phone above WhatsApp
   ========================================================= */
.ph-floating-contact{
  width:58px!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.ph-floating-contact__item{
  position:relative!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:0!important;
  isolation:isolate!important;
  transform-origin:50% 50%!important;
  will-change:transform,filter!important;
}
.ph-floating-contact__icon{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
}
.ph-floating-contact__icon svg,
.ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{
  position:static!important;
  display:block!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  flex:none!important;
  transform:none!important;
  transform-origin:center!important;
}
.ph-floating-contact__item--phone .ph-floating-contact__icon svg{
  width:27px!important;
  height:27px!important;
  stroke-width:2!important;
}
/* Always animate unless the page is printing. This intentionally overrides
   OS reduced-motion for these two small contact cues per site design. */
.ph-floating-contact__item--phone{
  animation:ph-contact-visible-shake 3.2s ease-in-out infinite!important;
}
.ph-floating-contact__item--whatsapp{
  animation:ph-contact-visible-shake 3.2s ease-in-out .75s infinite!important;
}
.ph-floating-contact__item::before{
  animation:ph-contact-visible-glow 2.4s ease-out infinite!important;
}
.ph-floating-contact__item::after{
  animation:ph-contact-visible-ring 2.4s ease-out infinite!important;
}
.ph-floating-contact__item--whatsapp::before,
.ph-floating-contact__item--whatsapp::after{
  animation-delay:.7s!important;
}
@keyframes ph-contact-visible-shake{
  0%,60%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  64%{transform:translate3d(-2px,0,0) rotate(-7deg)}
  68%{transform:translate3d(2px,0,0) rotate(7deg)}
  72%{transform:translate3d(-1px,0,0) rotate(-5deg)}
  76%{transform:translate3d(1px,0,0) rotate(4deg)}
  80%{transform:translate3d(0,0,0) rotate(0deg)}
}
@keyframes ph-contact-visible-glow{
  0%,45%,100%{box-shadow:0 0 0 0 currentColor;opacity:.20}
  68%{box-shadow:0 0 14px 7px currentColor;opacity:.14}
  88%{box-shadow:0 0 22px 12px currentColor;opacity:0}
}
@keyframes ph-contact-visible-ring{
  0%,48%,100%{transform:scale(.94);opacity:0}
  62%{opacity:.38}
  88%{transform:scale(1.32);opacity:0}
}
/* Keep the rail immediately above the AI assistant; phone remains above WA. */
.ph-floating-contact__item--phone{order:1!important}
.ph-floating-contact__item--whatsapp{order:2!important}
@media(max-width:767px){
  .ph-floating-contact{width:50px!important}
  .ph-floating-contact__icon svg,
  .ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{width:25px!important;height:25px!important}
  .ph-floating-contact__item--phone .ph-floating-contact__icon svg{width:24px!important;height:24px!important}
}
@media(max-width:380px){
  .ph-floating-contact{width:47px!important}
  .ph-floating-contact__icon svg,
  .ph-floating-contact__item--whatsapp .ph-floating-contact__icon svg{width:23px!important;height:23px!important}
  .ph-floating-contact__item--phone .ph-floating-contact__icon svg{width:22px!important;height:22px!important}
}
@media print{
  .ph-floating-contact{display:none!important}
}
