/*
 * Tothiq Service — layout and details theme.json cannot express.
 * Colours, type and spacing come from theme.json tokens; this file only
 * arranges the pattern sections. Every rule is keyed to a class the
 * patterns set, so owner-built pages are not affected.
 */

/* ---------- Base ---------- */

body .wp-site-blocks > *,
.tothiq-home > * {
	margin-block-start: 0;
}

.tothiq-ltr-number {
	font-family: var(--wp--preset--font-family--numeric);
	direction: ltr;
	unicode-bidi: isolate;
	white-space: nowrap;
}

/* A range such as 9:00 – 13:00 follows the reading direction: on Arabic
   pages it starts on the right. Kept whole, never split across lines. */
.tothiq-range {
	unicode-bidi: isolate;
	white-space: nowrap;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.skip-link:focus {
	position: fixed;
	inset-inline-start: 1rem;
	top: 1rem;
	z-index: 100;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--base);
	box-shadow: var(--wp--preset--shadow--raised);
}

.is-arabic,
.tothiq-lang-ar {
	line-height: 1.9;
}

.is-arabic :is(h1, h2, h3),
.tothiq-lang-ar :is(h1, h2, h3) {
	line-height: 1.35;
	letter-spacing: 0;
}

/* ---------- Shared pieces ---------- */

.tothiq-section {
	padding-block: clamp(3.5rem, 8vw, 6rem);
}

.tothiq-section-head {
	max-width: 42rem;
	margin-block-end: clamp(2rem, 4vw, 2.75rem);
}

.tothiq-section-head.is-centered {
	margin-inline: auto !important;
	text-align: center;
}

.tothiq-section-head:not(.is-centered) h2 {
	max-width: 42rem;
}

.tothiq-section-head > * + * {
	margin-block-start: 0.75rem;
}

.tothiq-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tothiq-lang-ar .tothiq-eyebrow,
.is-arabic .tothiq-eyebrow {
	letter-spacing: 0;
	font-size: 0.9375rem;
}

.tothiq-eyebrow::before {
	content: "";
	width: 1.25rem;
	height: 2px;
	background: currentColor;
	opacity: 0.6;
}

.tothiq-lead {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--large);
}

.tothiq-muted {
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
}

.tothiq-item-title {
	margin: 0;
	font-weight: 600;
	line-height: 1.35;
}

.tothiq-item-text {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
	line-height: 1.45;
}

.tothiq-stars {
	color: #f5b301;
	letter-spacing: 0.12em;
}

/* Icons are image blocks, so the owner can swap them from the editor. */
.tothiq-icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0 !important;
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
}

.tothiq-icon img {
	width: 1.375rem !important;
	height: 1.375rem !important;
	object-fit: contain;
}

.tothiq-icon.is-large {
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--wp--preset--color--surface), var(--wp--preset--color--primary-soft));
}

.tothiq-icon.is-large img {
	width: 1.625rem !important;
	height: 1.625rem !important;
}

.tothiq-icon.is-success {
	background: #e7f7ee;
}

.tothiq-grid-3 {
	gap: 1.25rem !important;
}

.tothiq-checks {
	display: grid;
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
}

.tothiq-checks li {
	position: relative;
	padding-inline-start: 1.75rem;
}

.tothiq-checks li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.3em;
	width: 1.1rem;
	height: 1.1rem;
	background: var(--wp--preset--color--success);
	-webkit-mask: url(icons/check.svg) center / contain no-repeat;
	mask: url(icons/check.svg) center / contain no-repeat;
}

.tothiq-photo img,
.tothiq-hero-photo img {
	display: block;
	width: 100%;
	border-radius: 24px;
	object-fit: cover;
}

.tothiq-float {
	gap: 0.75rem !important;
	padding: 0.85rem 1.1rem;
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	box-shadow: 0 18px 40px -12px rgb(10 37 64 / 0.3);
}

.tothiq-float > * {
	margin: 0;
}

.tothiq-float-title {
	margin: 0;
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.3;
}

.tothiq-float-text {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.tothiq-arrow-link {
	font-weight: 600;
	text-decoration: none;
}

.tothiq-arrow-link::after {
	content: " →";
}

.tothiq-lang-ar .tothiq-arrow-link::after,
.rtl .tothiq-arrow-link::after {
	content: " ←";
}

/* ---------- Top bar and header ---------- */

.tothiq-topbar-end {
	gap: 1.25rem !important;
}

.tothiq-lang-switch:empty {
	display: none;
}

.tothiq-lang-switch a {
	display: inline-block;
	padding: 0.15rem 0.7rem;
	border: 1px solid rgb(255 255 255 / 0.35);
	border-radius: 999px;
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
}

.tothiq-lang-switch a:hover {
	background: rgb(255 255 255 / 0.12);
}

@media (max-width: 480px) {
	.tothiq-topbar:has(.tothiq-lang-switch a) .tothiq-topbar-areas {
		display: none;
	}

	.tothiq-topbar:has(.tothiq-lang-switch a) > .alignwide {
		justify-content: flex-end !important;
	}
}

.tothiq-topbar {
	padding-block: 0.55rem;
	font-size: 0.875rem;
}

.tothiq-topbar p {
	margin: 0;
	color: var(--tothiq-on-dark, #c9d6e6);
}

.tothiq-topbar-hours,
.tothiq-topbar-areas {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.tothiq-topbar-hours::before,
.tothiq-topbar-areas::before {
	content: "";
	flex: none;
	width: 1rem;
	height: 1rem;
	background: var(--tothiq-bright, #17a2d8);
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}

.tothiq-topbar-hours::before {
	-webkit-mask-image: url(icons/clock.svg);
	mask-image: url(icons/clock.svg);
}

.tothiq-topbar-areas::before {
	-webkit-mask-image: url(icons/pin.svg);
	mask-image: url(icons/pin.svg);
}

.tothiq-header {
	padding-block: 0.9rem;
	border-bottom: 1px solid var(--wp--preset--color--divider);
}

.tothiq-header > .alignwide {
	gap: 1.5rem;
}

.tothiq-brand {
	gap: 0.6rem !important;
}

.tothiq-brand .wp-block-site-title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
}

.tothiq-brand .wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}

.tothiq-nav {
	font-weight: 500;
	gap: 1.75rem;
}

.tothiq-nav a {
	color: #33445a;
}

.tothiq-header-actions {
	gap: 1rem !important;
}

.tothiq-header-phone {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	font-weight: 600;
	white-space: nowrap;
}

.tothiq-header-phone::before {
	content: "";
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	background: var(--wp--preset--color--surface) url(icons/phone.svg) center / 1.1rem no-repeat;
}

.tothiq-header-phone a {
	color: inherit;
	text-decoration: none;
}

/* Phone menu: a full navy panel with large, left-aligned links, and the
   call / WhatsApp bar kept visible at the bottom so the panel always ends
   in an action. */
.tothiq-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem 1.5rem 6rem;
}

.tothiq-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 3.5rem !important;
}

.tothiq-nav .is-menu-open .wp-block-navigation__container {
	width: 100%;
	gap: 0 !important;
	align-items: stretch !important;
}

.tothiq-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid rgb(255 255 255 / 0.12);
}

.tothiq-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding-block: 1rem !important;
	color: #fff !important;
	font-size: 1.375rem;
	font-weight: 600;
	text-align: start;
}

.tothiq-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1.25rem;
	inset-inline-end: 1.25rem;
	width: 2.75rem;
	height: 2.75rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgb(255 255 255 / 0.1);
	color: #fff;
}

@media (max-width: 599px) {
	.tothiq-nav .wp-block-navigation__responsive-container-open {
		width: 2.5rem;
		height: 2.5rem;
		display: grid;
		place-items: center;
		border-radius: 10px;
		background: var(--wp--preset--color--surface);
	}
}

html.has-modal-open .tothiq-actions {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 100001;
	border-top-color: rgb(255 255 255 / 0.12);
	background: var(--wp--preset--color--contrast);
}

/* ---------- Hero ---------- */

.tothiq-hero {
	padding-block: clamp(2.5rem, 7vw, 5rem) clamp(4rem, 8vw, 6rem);
	background:
		radial-gradient(1100px 480px at 85% 0%, var(--tothiq-hero-glow, #d5e9f8) 0, transparent 60%),
		linear-gradient(180deg, var(--wp--preset--color--surface), var(--wp--preset--color--base));
}

.tothiq-hero-cols {
	gap: clamp(2rem, 5vw, 3.5rem) !important;
}

.tothiq-hero-title {
	margin-block: 1rem !important;
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.tothiq-hero-title mark {
	background: none;
	color: var(--wp--preset--color--primary);
}

.tothiq-hero .tothiq-lead {
	max-width: 34rem;
}

.tothiq-hero-actions {
	gap: 0.75rem !important;
	margin-block: 2rem 1.5rem !important;
}

.tothiq-btn-phone .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--divider);
}

.tothiq-rating {
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
}

.tothiq-rating strong {
	color: var(--wp--preset--color--ink);
}

.tothiq-hero-media,
.tothiq-media-card {
	position: relative;
}

.tothiq-hero-photo {
	margin: 0 !important;
}

.tothiq-hero-photo img {
	aspect-ratio: 1 / 1;
	box-shadow: var(--wp--preset--shadow--raised);
}

.tothiq-hero-media .tothiq-float {
	position: absolute;
	margin: 0 !important;
}

.tothiq-float--top {
	top: 2rem;
	inset-inline-end: -1.25rem;
}

.tothiq-float--bottom {
	bottom: 2.5rem;
	inset-inline-start: -1.75rem;
}

/* ---------- Promise strip ---------- */

.tothiq-trust {
	position: relative;
	margin-top: -3rem !important;
	padding-bottom: 1rem;
}

.tothiq-trust-grid {
	gap: 0 !important;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--divider);
	border-radius: 18px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 20px 40px -24px rgb(10 37 64 / 0.25);
}

.tothiq-trust-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.tothiq-trust-item {
	gap: 1rem !important;
	padding: 1.75rem 1.75rem;
	border-inline-start: 1px solid var(--wp--preset--color--divider);
	margin: 0 !important;
}

.tothiq-trust-item:first-child {
	border-inline-start: 0;
}

/* ---------- Cards, steps, plans ---------- */

.tothiq-card,
.tothiq-step,
.tothiq-review,
.tothiq-plan {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.75rem;
	border-radius: 18px;
	margin: 0 !important;
}

.tothiq-card > *,
.tothiq-step > *,
.tothiq-review > *,
.tothiq-plan > * {
	margin: 0 !important;
}

.tothiq-card,
.tothiq-review {
	border: 1px solid var(--wp--preset--color--divider);
	background: var(--wp--preset--color--base);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.tothiq-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--wp--preset--shadow--card);
}

.tothiq-card h3,
.tothiq-step h3 {
	font-size: 1.3rem;
	font-weight: 600;
}

.tothiq-card-foot {
	margin-top: auto !important;
	padding-top: 0.9rem;
	border-top: 1px dashed var(--wp--preset--color--divider);
	font-size: 0.9375rem;
}

.tothiq-card-foot p {
	margin: 0;
}

.tothiq-step {
	background: var(--wp--preset--color--base);
}

.tothiq-step-number {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-weight: 700;
}

.tothiq-plan-grid {
	align-items: stretch;
}

.tothiq-plan {
	gap: 1.1rem;
	padding: 2rem;
	border: 1px solid var(--wp--preset--color--divider);
	background: var(--wp--preset--color--base);
}

.tothiq-plan h3 {
	font-size: 1.25rem;
}

.tothiq-plan.is-featured {
	position: relative;
	border-color: var(--wp--preset--color--contrast);
	box-shadow: 0 30px 50px -24px rgb(10 37 64 / 0.6);
}

.tothiq-plan.is-featured h3 {
	color: inherit;
}

.tothiq-plan.is-featured .tothiq-muted,
.tothiq-plan.is-featured .tothiq-price {
	color: var(--tothiq-on-dark, #afc1d6);
}

.tothiq-plan.is-featured .tothiq-checks li::before {
	background: var(--tothiq-bright, #17a2d8);
}

.tothiq-price {
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
}

.tothiq-price strong {
	color: var(--wp--preset--color--ink);
	font-size: clamp(2.25rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1;
}

.tothiq-plan.is-featured .tothiq-price strong {
	color: var(--wp--preset--color--base);
}

.tothiq-badge {
	position: absolute;
	top: -0.8rem;
	inset-inline-start: 2rem;
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tothiq-plan-action {
	margin-top: auto !important;
}

.tothiq-plan .is-style-outline .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--divider);
	background: transparent;
	color: var(--wp--preset--color--ink);
}

@media (min-width: 900px) {
	.tothiq-plan.is-featured {
		transform: translateY(-0.75rem);
	}
}

/* ---------- Split sections ---------- */

.tothiq-split {
	gap: clamp(2rem, 6vw, 4rem) !important;
}

.tothiq-why .tothiq-photo img {
	aspect-ratio: 4 / 3.4;
}

.tothiq-why h2 {
	margin-block: 0.75rem 1.75rem !important;
}

.tothiq-stats {
	gap: 1rem !important;
	margin-block-end: 1.75rem !important;
}

.tothiq-stat {
	padding: 1.1rem 1.25rem;
	border-radius: 14px;
	background: var(--wp--preset--color--surface);
}

.tothiq-stat > * {
	margin: 0;
}

.tothiq-stat-number {
	color: var(--wp--preset--color--primary);
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 700;
	line-height: 1.15;
}

.tothiq-stat-label {
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
}

/* ---------- Reviews ---------- */

.tothiq-reviews {
	background: linear-gradient(180deg, var(--wp--preset--color--base), var(--wp--preset--color--surface));
}

.tothiq-reviews-head {
	gap: 1.5rem;
	margin-block-end: clamp(2rem, 4vw, 2.75rem);
}

.tothiq-reviews-head .tothiq-section-head {
	margin: 0;
}

.tothiq-score {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	padding: 0.85rem 1.25rem;
	border: 1px solid var(--wp--preset--color--divider);
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
}

.tothiq-score strong {
	color: var(--wp--preset--color--ink);
	font-size: 2rem;
	line-height: 1;
}

.tothiq-review-text {
	font-size: 1.0625rem;
}

.tothiq-who {
	gap: 0.75rem !important;
	margin-top: auto !important;
}

.tothiq-avatar {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.6rem;
	height: 2.6rem;
	margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-weight: 700;
}

.tothiq-review:nth-child(2) .tothiq-avatar {
	background: var(--wp--preset--color--success);
}

.tothiq-review:nth-child(3) .tothiq-avatar {
	background: var(--wp--preset--color--accent);
}

/* ---------- Areas ---------- */

.tothiq-areas h2 {
	margin-block: 0.75rem 1.5rem !important;
}

.tothiq-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.tothiq-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 1rem;
	border: 1px solid var(--wp--preset--color--divider);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	font-weight: 500;
}

.tothiq-chip::before {
	content: "";
	width: 0.95rem;
	height: 0.95rem;
	background: var(--wp--preset--color--primary);
	-webkit-mask: url(icons/pin.svg) center / contain no-repeat;
	mask: url(icons/pin.svg) center / contain no-repeat;
}

.tothiq-hours {
	gap: 0.9rem !important;
	margin-top: 1.75rem !important;
	padding: 1.1rem 1.25rem;
	border-radius: 14px;
	background: var(--wp--preset--color--surface);
}

.tothiq-hours .tothiq-icon {
	background: var(--wp--preset--color--base);
}

.tothiq-media-card .tothiq-photo {
	margin: 0;
}

.tothiq-media-card .tothiq-photo img {
	aspect-ratio: 4 / 3;
}

.tothiq-float--card {
	position: absolute;
	inset-inline-start: 1.5rem;
	bottom: 1.5rem;
	max-width: 18rem;
	margin: 0 !important;
}

/* ---------- FAQ ---------- */

.tothiq-faq h2 {
	margin-block: 0.75rem 1rem !important;
}

.tothiq-faq-item {
	margin: 0 !important;
	padding-block: 1.2rem;
	border-bottom: 1px solid var(--wp--preset--color--divider);
}

.tothiq-faq-item summary {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: 1.125rem;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.tothiq-faq-item summary::-webkit-details-marker {
	display: none;
}

.tothiq-faq-item summary::after {
	content: "+";
	color: var(--wp--preset--color--primary);
	font-size: 1.5rem;
	line-height: 1;
}

.tothiq-faq-item[open] summary::after {
	content: "–";
}

.tothiq-faq-item p {
	margin-block-start: 0.6rem;
	color: var(--wp--preset--color--muted);
}

/* ---------- Closing panel ---------- */

.tothiq-cta {
	padding-block: clamp(3rem, 7vw, 5rem);
	background: var(--wp--preset--color--surface);
}

.tothiq-cta-box {
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: 28px;
	background:
		radial-gradient(600px 300px at 90% 10%, var(--tothiq-cta-glow, rgb(23 162 216 / 0.45)), transparent 60%),
		linear-gradient(135deg, var(--tothiq-cta-from, #0b3b75), var(--wp--preset--color--contrast)) !important;
}

.tothiq-cta-box h2 {
	font-size: clamp(1.9rem, 3.5vw, 2.6rem);
}

.tothiq-cta-text {
	color: var(--tothiq-on-dark, #bfd0e3);
	font-size: var(--wp--preset--font-size--large);
}

.tothiq-cta-actions {
	gap: 0.75rem !important;
}

.tothiq-cta-actions .wp-block-button__link {
	padding-block: 1.05em;
	font-size: 1.0625rem;
}

.tothiq-cta-note {
	margin-top: 0.75rem !important;
	color: var(--tothiq-on-dark-muted, #9fb4cc);
	font-size: 0.875rem;
	text-align: center;
}

/* ---------- Footer ---------- */

.tothiq-footer {
	padding-block: 4rem 1.5rem;
	font-size: 0.9375rem;
}

.tothiq-footer a:where(:not(.wp-element-button)) {
	color: inherit;
	text-decoration: none;
}

.tothiq-footer-text,
.tothiq-footer-nav,
.tothiq-footer-bottom {
	color: var(--tothiq-on-dark, #c9d6e6);
}

.tothiq-footer-cols {
	gap: 2rem !important;
}

.tothiq-footer-title {
	font-size: 0.9375rem;
	font-weight: 600;
}

.tothiq-footer-bottom {
	margin-top: 3rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgb(255 255 255 / 0.1);
	color: var(--tothiq-on-dark-muted, #8fa3bb);
	font-size: 0.875rem;
}

.tothiq-footer-bottom p {
	margin: 0;
}

.tothiq-footer-bottom a {
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.tothiq-btn-whatsapp.is-small .wp-block-button__link {
	padding: 0.6em 1.1em;
	font-size: 0.875rem;
}

/* ---------- Phone bar ---------- */

.wp-block-template-part:has(> .tothiq-actions) {
	display: contents;
}

.tothiq-actions {
	position: sticky;
	bottom: 0;
	z-index: 20;
	gap: 0.6rem !important;
	padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom));
	border-top: 1px solid var(--wp--preset--color--divider);
	background: var(--wp--preset--color--base);
}

.tothiq-actions .wp-block-buttons {
	margin: 0;
}

@media (min-width: 782px) {
	body .tothiq-actions {
		display: none;
	}
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: reduce) {
	.tothiq-card,
	.tothiq-card:hover {
		transition: none;
		transform: none;
	}
}

/* ---------- Small screens ---------- */

@media (max-width: 1100px) {
	.tothiq-header-phone {
		display: none;
	}
}

@media (max-width: 781px) {
	.tothiq-topbar-hours {
		display: none;
	}

	.tothiq-topbar > .alignwide {
		justify-content: center !important;
	}

	.tothiq-header .tothiq-brand .wp-block-site-title {
		font-size: 1rem;
		line-height: 1.3;
	}

	.tothiq-header .wp-block-button__link {
		padding: 0.6em 0.9em;
		font-size: 0.875rem;
		white-space: nowrap;
	}

	.tothiq-hero-actions .wp-block-button {
		width: 100%;
	}

	.tothiq-hero-actions .wp-block-button__link {
		width: 100%;
	}

	.tothiq-float--top {
		top: 0.75rem;
		inset-inline-end: 0.75rem;
	}

	.tothiq-float--bottom {
		bottom: -1.25rem;
		inset-inline-start: 0.75rem;
	}

	.tothiq-trust {
		margin-top: 0 !important;
		padding-top: 2.5rem;
	}

	.tothiq-trust-grid {
		grid-template-columns: 1fr !important;
	}

	.tothiq-trust-item {
		border-inline-start: 0;
		border-top: 1px solid var(--wp--preset--color--divider);
	}

	.tothiq-trust-item:first-child {
		border-top: 0;
	}

	.tothiq-float--card {
		position: static;
		max-width: none;
		margin-top: 1rem !important;
		box-shadow: none;
		border: 1px solid var(--wp--preset--color--divider);
	}

	.tothiq-footer-bottom {
		flex-direction: column;
		align-items: flex-start !important;
		padding-bottom: 4.5rem;
	}
}

/* Promise strip: a real sentence under each title. */
.tothiq-trust-item .tothiq-item-title {
	font-size: 1.0625rem;
}

.tothiq-trust-item .tothiq-item-text {
	margin-top: 0.3rem;
	font-size: 0.9375rem;
	line-height: 1.55;
}

/* ==========================================================================
   Bold home page layout (Customizer › Home page layout › Bold)
   A dark header and full-width hero, a problem picker over the hero's edge,
   a large price list, a guarantee band and steps on a line.
   ========================================================================== */

.tothiq-layout-bold .tothiq-header.has-background {
	background-color: var(--wp--preset--color--contrast) !important;
	border-bottom-color: rgb(255 255 255 / 0.08);
	color: var(--wp--preset--color--base);
}

.tothiq-layout-bold .tothiq-header a:where(:not(.wp-element-button)),
.tothiq-layout-bold .tothiq-header .wp-block-site-title a {
	color: inherit;
}

.tothiq-layout-bold .tothiq-header .tothiq-nav a {
	color: var(--tothiq-on-dark, #c9d6e6);
}

.tothiq-layout-bold .tothiq-header .tothiq-nav a:hover {
	color: var(--wp--preset--color--base);
}

.tothiq-layout-bold .tothiq-header-phone {
	position: relative;
	color: var(--wp--preset--color--base);
}

.tothiq-layout-bold .tothiq-header-phone::before {
	background: rgb(255 255 255 / 0.1);
}

.tothiq-layout-bold .tothiq-header-phone::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 50%;
	width: 2.4rem;
	height: 2.4rem;
	transform: translateY(-50%);
	background: var(--wp--preset--color--accent);
	-webkit-mask: url(icons/phone.svg) center / 1.1rem no-repeat;
	mask: url(icons/phone.svg) center / 1.1rem no-repeat;
}

.tothiq-layout-bold .tothiq-header .wp-block-navigation__responsive-container-open {
	background: rgb(255 255 255 / 0.1);
	color: var(--wp--preset--color--base);
}

/* Hero: the photo runs to the screen edge and fades into the dark ground. */
.tothiq-hero-bold {
	position: relative;
	overflow: hidden;
	min-height: 560px;
	padding-block: clamp(3rem, 7vw, 5rem) clamp(6rem, 10vw, 7.5rem);
}

.tothiq-hero-bold__photo {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: 48%;
	max-width: none !important;
	margin: 0 !important;
}

.tothiq-hero-bold__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
}

.tothiq-hero-bold__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, var(--wp--preset--color--contrast) 0%, color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent) 22%, transparent 55%);
}

.tothiq-lang-ar .tothiq-hero-bold__photo::after,
[dir="rtl"] .tothiq-hero-bold__photo::after {
	background: linear-gradient(to left, var(--wp--preset--color--contrast) 0%, color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent) 22%, transparent 55%);
}

.tothiq-hero-bold__copy {
	position: relative;
}

.tothiq-hero-bold__copy > * {
	max-width: 35rem;
}

.tothiq-hero-bold .tothiq-eyebrow,
.tothiq-hero-bold .tothiq-hero-title mark {
	color: var(--wp--preset--color--accent) !important;
}

.tothiq-hero-bold .tothiq-hero-title {
	color: var(--wp--preset--color--base);
	font-size: clamp(2.3rem, 5vw, 3.4rem);
}

.tothiq-hero-bold .tothiq-lead,
.tothiq-hero-bold .tothiq-rating {
	color: var(--tothiq-on-dark, #c9d6e6);
}

.tothiq-hero-bold .tothiq-lead {
	font-size: 1.1875rem;
}

.tothiq-hero-bold .tothiq-rating strong {
	color: var(--wp--preset--color--base);
}

/* Problem picker: a white card over the hero's bottom edge. */
.tothiq-picker {
	position: relative;
	z-index: 1;
	margin-block-start: -70px !important;
}

.tothiq-picker__box {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 1.5rem;
	align-items: center;
	padding: 1.6rem 1.75rem;
	border-radius: 20px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 24px 60px -24px color-mix(in srgb, var(--wp--preset--color--contrast) 35%, transparent);
}

.tothiq-picker__box > *,
.tothiq-picker__head > *,
.tothiq-picker__tiles > * {
	margin: 0 !important;
}

.tothiq-picker__title {
	font-size: 1.375rem;
	line-height: 1.3;
}

.tothiq-picker__head .tothiq-muted {
	margin-block-start: 0.25rem !important;
	font-size: 0.875rem;
}

.tothiq-picker__tiles {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 0.625rem;
}

.tothiq-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 0.5rem;
	border: 1.5px solid var(--wp--preset--color--divider);
	border-radius: 14px;
	text-align: center;
	transition: border-color 0.15s, background-color 0.15s;
}

.tothiq-tile:first-child,
.tothiq-tile:hover,
.tothiq-tile:focus-within {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary-soft);
}

.tothiq-tile > * {
	margin: 0 !important;
}

.tothiq-tile .tothiq-icon {
	background: none;
	width: auto;
	height: auto;
}

.tothiq-tile .tothiq-icon img {
	width: 1.875rem !important;
	height: 1.875rem !important;
}

.tothiq-tile .wp-block-buttons {
	position: static;
	justify-content: center;
}

.tothiq-tile .wp-block-button {
	position: static;
}

.tothiq-tile__link .wp-block-button__link {
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
}

/* The whole tile is the link. */
.tothiq-tile__link .wp-block-button__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 14px;
}

.tothiq-tile__link .wp-block-button__link:focus-visible {
	outline: none;
}

.tothiq-tile__link .wp-block-button__link:focus-visible::after {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* Price list: one large row per service. */
.tothiq-price-rows {
	display: grid;
	gap: 0.875rem;
}

.tothiq-price-rows > * {
	margin: 0 !important;
}

.tothiq-price-row {
	display: grid;
	grid-template-columns: 64px 1fr 170px 210px;
	gap: 1.5rem;
	align-items: center;
	padding: 1.625rem 1.5rem;
	border: 1px solid var(--wp--preset--color--divider);
	border-radius: 18px;
	background: var(--wp--preset--color--base);
}

.tothiq-price-row > *,
.tothiq-price-row__text > * {
	margin: 0 !important;
}

.tothiq-price-row .tothiq-icon.is-large {
	width: 64px;
	height: 64px;
	background: var(--wp--preset--color--primary-soft);
}

.tothiq-price-row .tothiq-icon.is-large img {
	width: 2rem !important;
	height: 2rem !important;
}

.tothiq-price-row h3 {
	font-size: 1.375rem;
	font-weight: 700;
}

.tothiq-price-row__text .tothiq-muted {
	margin-block-start: 0.25rem !important;
	font-size: 1.0625rem;
}

.tothiq-price-row__price small {
	display: block;
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
}

.tothiq-price-row__price strong {
	display: inline-block;
	color: var(--wp--preset--color--primary);
	font-size: 1.875rem;
	line-height: 1.1;
}

.tothiq-price-row__book .wp-block-button,
.tothiq-price-row__book .wp-block-button__link {
	width: 100%;
}

/* Guarantee band. */
.tothiq-guarantee {
	padding-block: 3.375rem;
}

.tothiq-guarantee__inner {
	display: grid;
	grid-template-columns: 1.1fr 1.4fr;
	gap: 2.5rem;
	align-items: center;
}

.tothiq-guarantee__inner > *,
.tothiq-guarantee__points > *,
.tothiq-guarantee__point > *,
.tothiq-guarantee__main > * {
	margin: 0 !important;
}

.tothiq-guarantee__main {
	display: flex;
	gap: 1.375rem;
	align-items: center;
}

.tothiq-guarantee__icon {
	flex: none;
	width: 56px;
	height: 56px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: url(icons/shield.svg) center / contain no-repeat;
	mask: url(icons/shield.svg) center / contain no-repeat;
}

.tothiq-guarantee__icon img {
	opacity: 0;
}

.tothiq-guarantee h2 {
	margin: 0 0 0.375rem;
	color: inherit;
	font-size: clamp(1.75rem, 3.5vw, 2.25rem);
}

.tothiq-guarantee__main p {
	margin: 0;
	color: var(--tothiq-on-dark, #c9d6e6);
	font-size: 1.125rem;
}

.tothiq-guarantee__points {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.875rem;
}

.tothiq-guarantee__point {
	padding: 1rem;
	border-radius: 14px;
	background: rgb(255 255 255 / 0.08);
}

.tothiq-guarantee__point-title {
	font-size: 1.0625rem;
	font-weight: 700;
}

.tothiq-guarantee__point p:not(.tothiq-guarantee__point-title) {
	color: var(--tothiq-on-dark, #c9d6e6);
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* Steps on a dashed line. */
.tothiq-steps-line .tothiq-grid-3 {
	position: relative;
	isolation: isolate;
}

.tothiq-steps-line .tothiq-grid-3::before {
	content: "";
	position: absolute;
	top: 26px;
	inset-inline: 16%;
	z-index: -1;
	border-top: 2px dashed var(--wp--preset--color--divider);
}

.tothiq-steps-line .tothiq-step {
	align-items: center;
	padding-block: 0;
	border: 0;
	background: none;
	box-shadow: none;
	text-align: center;
}

.tothiq-steps-line .tothiq-step-number {
	width: 52px;
	height: 52px;
	background: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 8px var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--ink);
	font-size: 1.25rem;
}

@media (max-width: 781px) {
	.tothiq-hero-bold {
		min-height: 0;
		padding-block-start: 0;
		padding-block-end: 6.25rem;
	}

	.tothiq-hero-bold__photo {
		position: relative;
		width: auto;
		height: 320px;
		margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1.25rem)) !important;
	}

	.tothiq-hero-bold__photo::after,
	.tothiq-lang-ar .tothiq-hero-bold__photo::after,
	[dir="rtl"] .tothiq-hero-bold__photo::after {
		background: linear-gradient(to top, var(--wp--preset--color--contrast) 0%, transparent 45%);
	}

	.tothiq-picker__box {
		grid-template-columns: 1fr;
		padding: 1.25rem;
	}

	.tothiq-picker__tiles {
		grid-template-columns: repeat(3, 1fr);
	}

	.tothiq-price-row {
		grid-template-columns: 52px 1fr;
		gap: 0.875rem;
		padding: 1.25rem;
	}

	.tothiq-price-row .tothiq-icon.is-large {
		width: 52px;
		height: 52px;
	}

	.tothiq-price-row__price {
		grid-column: 2;
	}

	.tothiq-price-row__book {
		grid-column: 1 / -1;
	}

	.tothiq-guarantee__inner,
	.tothiq-guarantee__points {
		grid-template-columns: 1fr;
	}

	.tothiq-steps-line .tothiq-grid-3::before {
		display: none;
	}
}
