/*
 Theme Name:   Thanaya Dental Child
 Theme URI:    https://thnaya.com
 Description:  Child theme of Divi (built for Divi 5) carrying the Thanaya Dental design system: Arabic RTL typography (self-hosted Cairo), brand tokens, and reusable component classes (folder service cards, buttons, booking form, FAQ, blog, article, contact).
 Author:       Mostafa Abdelazim
 Template:     Divi
 Version:      1.0.0
 Text Domain:  thanaya-child
*/
:root {
  --navy-950: #01244F;
  --navy-900: #02336F;
  --navy-700: #034393;
  --navy-500: #1E6FBF;
  --sky-500: #5BB8E8;
  --sky-300: #9DD8F7;
  --sky-100: #D6EFFC;
  --sky-50: #EEF8FE;
  --white: #FFFFFF;
  --gray-50: #F5F8FB;
  --gray-200: #E1E8EF;
  --gray-600: #56657A;
  --gray-700: #4A5B73;
  --ink-900: #0B1B33;
  --error: #B42318;
  --success: #0F7A3E;

  --font-heading: "Cairo", system-ui, sans-serif;
  --font-body: "Cairo", "Segoe UI", Tahoma, sans-serif;

  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 28px;
  --r-pill: 999px;
  --shadow-sm: 0 2px 6px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .05);
  --shadow-md: 0 12px 28px rgba(0, 0, 0, .09), 0 2px 6px rgba(0, 0, 0, .04);
  --shadow-lg: 0 24px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .06);
  --ease: cubic-bezier(.22, 1, .36, 1);

  --gutter: 16px;
  --container: 1240px;
  --header-h: 72px;
  --sec: 72px;
}

/* ---------- Headings: mobile-first sizes, desktop from 768px / 1024px ---------- */
:root {
  --h1: 2rem;     /* 32px */
  --h2: 1.625rem; /* 26px */
  --h3: 1.375rem; /* 22px */
  --h4: 1.1875rem;/* 19px */
  --h5: 1.0625rem;/* 17px */
  --h6: 1rem;     /* 16px */
}
@media (min-width: 768px)  { :root { --h1: 2.5rem;  --h2: 2rem;    --h3: 1.5rem;   --h4: 1.25rem;  --h5: 1.125rem; --h6: 1rem; } }
@media (min-width: 1024px) { :root { --h1: 3.25rem; --h2: 2.5rem;  --h3: 1.75rem;  --h4: 1.375rem; --h5: 1.1875rem; --h6: 1.0625rem; } }


.footer-bottom,
.footer-bottom p,
body #page-container .footer-bottom p {
  color: rgba(255, 255, 255, .78);   /* أبيض هادي، مقروء على الكحلي */
}

.footer-bottom {
  position: relative; display: flex; flex-wrap: wrap; justify-content: space-between;
  gap: 8px 24px; margin-top: 48px; padding-block: 20px 24px; font-size: .875rem;
}
.footer-bottom::before {
  content: ""; position: absolute; top: 0; inset-inline: var(--gutter);
  height: 1px; background: rgba(255, 255, 255, .14);
}
.footer-bottom p { margin: 0; }

/* اسم المطوّر + الرابط */
body #page-container .footer-credit a {
  color: var(--sky-300); font-weight: 600; text-decoration: none;
  border-bottom: 1px solid transparent; transition: color .18s, border-color .18s;
}
body #page-container .footer-credit a:hover { color: var(--white); border-bottom-color: currentColor; }

@media (max-width: 767px) {
  .footer-bottom { flex-direction: column; text-align: center; align-items: center; }
}

  .utm-booking-card {
	background: #ffffff;
	border-radius: 22px;
	padding: 40px;
	max-width: 620px;
	margin: 0 auto;
	direction: rtl;
	text-align: right;
	font-family: "Cairo", Arial, sans-serif;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15);
}

.utm-booking-title {
	color: #0b2a63;
	font-weight: 800;
	font-size: 28px;
	margin: 0 0 28px;
	text-align: right;
}

.utm-booking-row {
	display: flex;
	flex-direction: row-reverse;
	gap: 20px;
	margin-bottom: 20px;
}

.utm-booking-field {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.utm-booking-field.utm-booking-full {
	width: 100%;
	margin-bottom: 24px;
}

.utm-booking-field label {
	font-size: 14px;
	font-weight: 600;
	color: #0b2a63;
	margin-bottom: 8px;
}

.utm-booking-card input[type="text"],
.utm-booking-card input[type="tel"],
.utm-booking-card input[type="email"],
.utm-booking-card select,
.utm-booking-card textarea {
	width: 100%;
	background: #f2f4f8;
	border: 1px solid #e3e6ec;
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 15px;
	font-family: inherit;
	color: #0b2a63;
	text-align: right;
	box-sizing: border-box;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.utm-booking-card input::placeholder,
.utm-booking-card textarea::placeholder {
	color: #9aa3b2;
}

.utm-booking-card input:focus,
.utm-booking-card select:focus,
.utm-booking-card textarea:focus {
	border-color: #0b2a63;
	box-shadow: 0 0 0 3px rgba(11, 42, 99, 0.12);
}

.utm-booking-card textarea {
	min-height: 110px;
	resize: vertical;
}

.utm-booking-card select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'><path d='M1 1L7 7L13 1' stroke='%230B2A63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: left 16px center;
	padding-left: 40px;
}

.utm-booking-submit {
	margin-top: 6px;
}
.utm-booking-card input[type="submit"],
.utm-booking-card button[type="submit"],
.utm-booking-card .wpcf7-submit,
.utm-booking-card .wpcf7-submit.et_pb_button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	background: #0b2a63 !important;
	background-image: none !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 14px !important;
	padding: 16px !important;
	margin: 0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	font-family: inherit !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-align: center !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background .2s ease;
}

.utm-booking-card input[type="submit"]:hover,
.utm-booking-card button[type="submit"]:hover,
.utm-booking-card .wpcf7-submit:hover,
.utm-booking-card .wpcf7-submit.et_pb_button:hover {
	background: #082050 !important;
	color: #ffffff !important;
}

.utm-booking-card .wpcf7-submit.et_pb_button::before,
.utm-booking-card .wpcf7-submit.et_pb_button::after {
	content: none !important;
	display: none !important;
}

.utm-booking-submit .wpcf7-spinner {
	margin: 8px auto 0;
	display: block;
}

.utm-booking-note {
	text-align: center;
	font-size: 12px;
	color: #6b7280;
	margin: 16px 0 0;
}

.utm-booking-card .wpcf7-not-valid-tip {
	font-size: 12px;
	color: #d9534f;
	margin-top: 4px;
}

.utm-booking-card .wpcf7-response-output {
	border-radius: 12px;
	text-align: center;
	font-size: 14px;
}
  .utm-booking-card textarea {
	height: 70px !important;
	min-height: 70px;
	resize: vertical;
}

@media (max-width: 600px) {
	.utm-booking-card {
		padding: 28px 20px;
		border-radius: 18px;
	}

	.utm-booking-row {
		flex-direction: column;
		gap: 16px;
	}
}
  .utm-booking-card textarea {
	min-height: 70px;
	resize: vertical;
}
       

