/* DRP pages – cards, FAQ accordion and fee tables in the site's Divi style
   (white cards, soft blue shadow, Cantata One headings, Open Sans text, #52a8ff accents). */

.drp-section-title {
	font-family: 'Cantata One', Georgia, serif;
	font-size: 34px;
	line-height: 1.3em;
	color: #333;
	text-align: center;
	padding-bottom: 8px;
}
.drp-section-intro { text-align: center; max-width: 720px; margin: 0 auto 32px; }

/* Cards grid */
.drp-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.et_pb_text ul.drp-cards, ul.drp-cards { padding: 0 !important; margin: 0; list-style: none !important; }
ul.drp-cards li { list-style: none !important; margin: 0; }
ul.drp-cards li::marker { content: ''; }
.drp-card {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 40px 60px rgba(0, 64, 135, 0.06);
	padding: 30px 28px;
}
.drp-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #eef6ff;
	color: #52a8ff;
	margin-bottom: 14px;
}
.drp-card__icon svg { width: 26px; height: 26px; }
.drp-card h3 {
	font-family: 'Cantata One', Georgia, serif;
	font-size: 20px;
	line-height: 1.4em;
	color: #333;
	padding-bottom: 8px;
}
.drp-card p { font-size: 15px; line-height: 1.8em; padding: 0; color: #666; }
.drp-card a { color: #0081ff; }

/* FAQ accordion */
.drp-faq { max-width: 860px; margin: 0 auto; }
.drp-faq details {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 20px 40px rgba(0, 64, 135, 0.06);
	margin-bottom: 14px;
}
.drp-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 20px 56px 20px 26px;
	position: relative;
	font-family: 'Cantata One', Georgia, serif;
	font-size: 18px;
	line-height: 1.5em;
	color: #333;
}
.drp-faq summary::-webkit-details-marker { display: none; }
.drp-faq summary::after {
	content: '+';
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 26px;
	color: #52a8ff;
}
.drp-faq details[open] summary::after { content: '–'; }
.drp-faq summary:focus-visible { outline: 3px solid #52a8ff; outline-offset: 2px; border-radius: 10px; }
.drp-faq details p { padding: 0 26px 22px; margin: 0; font-size: 15px; line-height: 1.8em; color: #666; }
.drp-faq details a { color: #0081ff; }

/* Fee page */
.drp-highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 26px 0 40px;
}
.drp-highlight {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 20px 40px rgba(0, 64, 135, 0.06);
	padding: 18px 20px;
	font-size: 15px;
	line-height: 1.5em;
	color: #333;
}
.drp-highlight strong { display: block; font-family: 'Cantata One', Georgia, serif; font-weight: 400; font-size: 17px; }
.drp-highlight .drp-card__icon { margin: 0; flex: none; }

.drp-panel {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 40px 60px rgba(0, 64, 135, 0.06);
	padding: 34px 36px;
	margin-bottom: 34px;
}
.drp-panel h2 {
	font-family: 'Cantata One', Georgia, serif;
	font-size: 26px;
	line-height: 1.4em;
	color: #333;
	padding-bottom: 10px;
}
.drp-panel > p { font-size: 15px; line-height: 1.8em; color: #666; }

.drp-table-wrap { border-radius: 8px; overflow: hidden; border: 1px solid #e6eef8; margin-top: 18px; }
.drp-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: 15px; }
.drp-table thead th {
	background: #52a8ff;
	color: #fff;
	font-weight: 700;
	text-align: left;
	padding: 14px 18px;
	border: 0;
}
.drp-table td { padding: 14px 18px; border: 0; border-top: 1px solid #eef3f9; color: #444; }
.drp-table tbody tr:nth-child(even) td { background: #f7faff; }
.drp-table th.num, .drp-table td.num { text-align: right; white-space: nowrap; }
.drp-badge {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 100px;
	background: #eef6ff;
	color: #0059c3;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.drp-checklist { list-style: none; padding: 0; margin: 14px 0 0; }
.drp-checklist li {
	position: relative;
	padding: 0 0 10px 30px;
	font-size: 15px;
	line-height: 1.7em;
	color: #555;
}
.drp-checklist li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #52a8ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.drp-panel--soft { background: #f4f8fd; box-shadow: none; }
.drp-note { font-size: 13px; color: #888; font-style: italic; }

@media (max-width: 980px) {
	.drp-cards, .drp-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.drp-cards, .drp-highlights { grid-template-columns: 1fr; }
	.drp-panel { padding: 24px 18px; }
	.drp-table thead { display: none; }
	.drp-table, .drp-table tbody, .drp-table tr, .drp-table td { display: block; width: 100%; }
	.drp-table tr { border-top: 1px solid #eef3f9; padding: 10px 0; }
	.drp-table td { border: 0; padding: 4px 16px; background: transparent !important; text-align: left !important; }
	.drp-table td[data-label]::before { content: attr(data-label) " : "; font-weight: 700; color: #333; }
	.drp-section-title { font-size: 28px; }
}

/* Divi overrides */
.et_pb_text ul.drp-checklist, ul.drp-checklist { list-style: none !important; padding-left: 0 !important; }
ul.drp-checklist li { list-style: none !important; }
ul.drp-checklist li::marker { content: ''; }
.et_pb_text .drp-table thead th, .drp-table thead th { color: #fff !important; }

/* Homepage: the three service cards share the same height on desktop */
@media (min-width: 981px) {
	.et_pb_row.drp-equal-cards { display: flex; align-items: stretch; }
	.et_pb_row.drp-equal-cards > .et_pb_column { display: flex; flex-direction: column; }
	.et_pb_row.drp-equal-cards > .et_pb_column > .et_pb_module:last-child { flex: 1 1 auto; }
}

/* Legal pages */
.drp-legal { margin-top: 18px; }

/* Map: cabinet card in the Google Maps info window */
.drp-map-card { margin: 0; padding: 0; font-size: 14px; line-height: 1.6em; color: #555; }
.drp-map-card a { color: #0081ff; font-weight: 600; }
.et_pb_map_pin h3 { font-size: 15px; padding-bottom: 4px; }

/* Homepage hero on phones: no photo (it sat behind the text), heading and button on the light background */
@media (max-width: 767px) {
	html body div.et_pb_section.drp-hero {
		background-image: none !important;
		background-color: #f4f6f9 !important;
		padding-top: 12vw !important;
		padding-bottom: 12vw !important;
	}
	html body div.et_pb_section.drp-hero .et_pb_row { padding-bottom: 0 !important; }
	html body div.et_pb_section.drp-hero .et_pb_column_1 { display: none !important; }
}
