/* Dolphin Training Centre – site styles (loaded by the DTC Site Core plugin) */
:root {
	--dtc-navy: #0F2942;
	--dtc-navy-dark: #0A1E31;
	--dtc-teal: #007791;
	--dtc-amber: #E09F3E;
	--dtc-amber-dark: #C7862A;
	--dtc-text: #1E2B37;
	--dtc-muted: #5A6B7B;
	--dtc-light: #F3F6F8;
	--dtc-border: #DCE3E9;
	--dtc-radius: 6px;
	--dtc-shadow: 0 1px 2px rgba(15, 41, 66, .06), 0 8px 24px rgba(15, 41, 66, .08);
}

body { color: var(--dtc-text); -webkit-font-smoothing: antialiased; }
::selection { background: var(--dtc-amber); color: var(--dtc-navy); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--dtc-amber); outline-offset: 2px; }

/* ---------- Theme footer is replaced by the Elementor footer template ---------- */
#site-footer.site-footer { display: none; }

/* ---------- Header (Hello Elementor dynamic header) ---------- */
#site-header.site-header {
	position: sticky; top: 0; z-index: 990;
	background: #fff;
	border-bottom: 1px solid var(--dtc-border);
	padding: 0;
	transition: box-shadow .2s ease;
}
.admin-bar #site-header.site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #site-header.site-header { top: 0; } }
#site-header.is-scrolled { box-shadow: 0 6px 20px rgba(15, 41, 66, .10); }
#site-header .header-inner {
	max-width: 1240px; width: 100%; margin: 0 auto;
	padding: 14px 20px; min-height: 78px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
#site-header .site-branding { padding: 0; }
#site-header .site-logo img { width: 250px; max-width: 100%; height: auto; display: block; }
#site-header .site-navigation ul.menu { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; }
#site-header .site-navigation ul.menu > li > a {
	font-family: "Barlow", sans-serif; font-weight: 600; font-size: 15.5px; letter-spacing: .1px;
	color: var(--dtc-navy); padding: 10px 12px; position: relative;
}
#site-header .site-navigation ul.menu > li > a::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px;
	background: var(--dtc-amber); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
#site-header .site-navigation ul.menu > li:hover > a::after,
#site-header .site-navigation ul.menu > li.current-menu-item > a::after,
#site-header .site-navigation ul.menu > li.current-menu-ancestor > a::after,
#site-header .site-navigation ul.menu > li.current_page_parent > a::after { transform: scaleX(1); }
#site-header .site-navigation ul.menu > li.menu-item-has-children > a { padding-right: 4px; }
#site-header .site-navigation ul.menu > li.menu-item-has-children > a::after { right: 4px; }
#site-header .site-navigation ul.menu > li.menu-item-has-children::after { color: var(--dtc-navy); margin: 0 10px 0 2px; font-size: 14px; align-self: center; }
@media (max-width: 1199px) {
	#site-header.menu-dropdown-tablet .site-navigation { display: none !important; }
	#site-header.menu-dropdown-tablet .site-navigation-toggle-holder { display: flex !important; padding: 0; }
}
#site-header .site-navigation ul.menu li ul.sub-menu {
	background: #fff; border: 1px solid var(--dtc-border); border-top: 3px solid var(--dtc-amber);
	border-radius: 0 0 var(--dtc-radius) var(--dtc-radius); box-shadow: var(--dtc-shadow); min-width: 280px; padding: 6px 0;
}
#site-header .site-navigation ul.menu li ul.sub-menu li a {
	font-family: "Barlow", sans-serif; font-weight: 500; font-size: 15px; color: var(--dtc-navy); padding: 9px 18px;
}
#site-header .site-navigation ul.menu li ul.sub-menu li a:hover { background: var(--dtc-light); color: var(--dtc-teal); }
#site-header .site-navigation ul.menu li.dtc-menu-cta > a {
	background: var(--dtc-navy); color: #fff; border-radius: 4px; padding: 10px 16px; margin-left: 8px;
}
#site-header .site-navigation ul.menu li.dtc-menu-cta > a::after { display: none; }
#site-header .site-navigation ul.menu li.dtc-menu-cta > a:hover { background: var(--dtc-teal); }
#site-header .site-navigation-toggle { background: var(--dtc-navy) !important; border-color: var(--dtc-navy); border-radius: 4px; color: #fff !important; padding: 12px 11px !important; }
#site-header .site-navigation-toggle-icon { background: transparent !important; }
#site-header .site-navigation-dropdown ul.menu { background: #fff; border-top: 3px solid var(--dtc-amber); box-shadow: var(--dtc-shadow); }
#site-header .site-navigation-dropdown ul.menu li a {
	font-family: "Barlow", sans-serif; font-weight: 600; color: var(--dtc-navy); background: #fff;
	border-bottom: 1px solid var(--dtc-border); padding: 14px 20px;
}
#site-header .site-navigation-dropdown ul.menu li.current-menu-item > a { background: var(--dtc-light); color: var(--dtc-teal); }
#site-header .site-navigation-dropdown ul.menu li ul.sub-menu li a { padding-left: 36px; font-weight: 500; }
@media (max-width: 1180px) {
	#site-header .site-logo img { width: 210px; }
	#site-header .site-navigation ul.menu > li > a { padding: 10px 8px; font-size: 15px; }
}
@media (max-width: 767px) {
	#site-header .header-inner { min-height: 66px; padding: 10px 16px; }
	#site-header .site-logo img { width: 190px; }
}

/* ---------- Home hero ---------- */
.dtc-hero .dtc-pill--amber { background: var(--dtc-amber); border-color: var(--dtc-amber); color: var(--dtc-navy); font-weight: 700; padding: 8px 12px; }
.dtc-hero-photo { position: relative; }
.dtc-hero-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--dtc-navy) 0%, rgba(15, 41, 66, 0) 30%); }
@media (max-width: 1024px) { .dtc-hero-photo::after { background: linear-gradient(0deg, var(--dtc-navy) 0%, rgba(15, 41, 66, 0) 35%); } }
.dtc-hero .dtc-hero-title .elementor-heading-title { text-wrap: balance; }
.dtc-factbar-wrap { position: relative; z-index: 2; }

/* ---------- Generic building blocks used in Elementor pages ---------- */
.dtc-eyebrow .elementor-heading-title {
	font-family: "Barlow", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase;
}
.dtc-card { background: #fff; border: 1px solid var(--dtc-border); border-radius: var(--dtc-radius); transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.dtc-card:hover { box-shadow: var(--dtc-shadow); border-color: #c9d4de; }
.dtc-card--lift:hover { transform: translateY(-3px); }
.dtc-card .elementor-image-box-img img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: var(--dtc-radius) var(--dtc-radius) 0 0; }
.dtc-card .elementor-image-box-content { padding: 18px 20px 22px; }
.dtc-card .elementor-image-box-title a { color: inherit; }
.dtc-accent-top { border-top: 4px solid var(--dtc-amber) !important; }

.dtc-pill { display: inline-block; font-family: "Barlow", sans-serif; font-weight: 600; font-size: 13px; line-height: 1; padding: 6px 10px; border-radius: 999px; background: var(--dtc-light); color: var(--dtc-navy); border: 1px solid var(--dtc-border); margin: 0 6px 6px 0; }
.dtc-pill--amber { background: rgba(224, 159, 62, .16); border-color: rgba(224, 159, 62, .45); color: #7a4e0d; }
.dtc-pill--dark { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.28); color: #fff; }

.dtc-btn-outline-light .elementor-button { background: transparent !important; border: 2px solid rgba(255,255,255,.85) !important; color: #fff !important; }
.dtc-btn-outline-light .elementor-button:hover { background: #fff !important; color: var(--dtc-navy) !important; }
.dtc-btn-navy .elementor-button { background: var(--dtc-navy) !important; color: #fff !important; }
.dtc-btn-navy .elementor-button:hover { background: var(--dtc-teal) !important; }
.elementor-button { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }

/* Text blocks */
.dtc-prose p:last-child { margin-bottom: 0; }
.dtc-prose a { text-decoration: underline; text-underline-offset: 2px; }
.dtc-prose h3 { margin: 28px 0 10px; font-size: 22px; }
.dtc-prose h3:first-child { margin-top: 0; }
.dtc-prose ul { padding-left: 1.2em; }
.dtc-prose li { margin-bottom: 6px; }

/* Tables (accreditation register, qualification list) */
.dtc-table table { width: 100%; border-collapse: collapse; font-size: 15.5px; background: #fff; }
.dtc-table th, .dtc-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--dtc-border); vertical-align: top; }
.dtc-table thead th { background: var(--dtc-navy); color: #fff; font-family: "Barlow", sans-serif; font-weight: 600; letter-spacing: .2px; border-bottom: 0; }
.dtc-table tbody tr:nth-child(even) td { background: #F8FAFB; }
.dtc-table td:first-child { font-weight: 600; color: var(--dtc-navy); }
.dtc-table .dtc-code { font-family: "Barlow", sans-serif; font-weight: 600; color: var(--dtc-teal); white-space: nowrap; }
@media (max-width: 767px) {
	.dtc-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.dtc-table table { min-width: 560px; font-size: 14.5px; }
	.dtc-table--stack table { min-width: 0; }
	.dtc-table--stack th, .dtc-table--stack td { display: block; width: 100%; }
	.dtc-table--stack td:first-child { border-bottom: 0; padding-bottom: 2px; }
}

/* Units of competency list */
.dtc-units ul { list-style: none; margin: 0; padding: 0; }
.dtc-units li { display: grid; grid-template-columns: 150px 1fr; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--dtc-border); margin: 0; }
.dtc-units li:last-child { border-bottom: 0; }
.dtc-units .dtc-code { font-family: "Barlow", sans-serif; font-weight: 600; font-size: 14px; color: var(--dtc-teal); letter-spacing: .3px; }
.dtc-units .dtc-type { display: inline-block; font-size: 12px; font-weight: 600; color: var(--dtc-muted); text-transform: uppercase; letter-spacing: .8px; margin-left: 8px; }
@media (max-width: 600px) { .dtc-units li { grid-template-columns: 1fr; gap: 2px; } }

/* Fact list (key/value) */
.dtc-facts ul { list-style: none; margin: 0; padding: 0; }
.dtc-facts li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--dtc-border); margin: 0; }
.dtc-facts li:last-child { border-bottom: 0; }
.dtc-facts li span:first-child { color: var(--dtc-muted); }
.dtc-facts li strong { color: var(--dtc-navy); text-align: right; font-weight: 600; }

/* Nested tabs */
.dtc-tabs .e-n-tab-title { font-family: "Barlow", sans-serif; font-weight: 600; }

/* Step numbers */
.dtc-step .elementor-icon-box-icon .elementor-icon { font-family: "Barlow", sans-serif; }
.dtc-stepnum .elementor-heading-title { font-family: "Barlow", sans-serif; font-weight: 800; font-size: 15px; letter-spacing: 1px; color: var(--dtc-amber); }

/* Breadcrumb line on page heroes */
.dtc-crumb .elementor-heading-title { font-size: 14px; color: rgba(255,255,255,.75); font-weight: 500; letter-spacing: .3px; }
.dtc-crumb a { color: rgba(255,255,255,.9); }

/* ---------- Top bar & footer templates ---------- */
.dtc-topbar-wrap .elementor-icon-list-item a,
.dtc-footer-wrap .elementor-icon-list-item a { transition: color .15s ease; }
.dtc-topbar .elementor-icon-list-text { white-space: nowrap; }
.dtc-badge-bteb { display: inline-flex; align-items: center; gap: 8px; }
.dtc-footer-wrap .dtc-footer-links .elementor-icon-list-item:hover .elementor-icon-list-text { color: var(--dtc-amber) !important; }
.dtc-footer-legal p { margin: 0; }
.dtc-footer-legal a { color: rgba(255,255,255,.8); margin: 0 6px; }
.dtc-footer-legal a:hover { color: var(--dtc-amber); }
@media (max-width: 767px) {
	.dtc-topbar { justify-content: center !important; }
	.dtc-topbar .elementor-widget-icon-list:last-child { display: none; }
	.dtc-topbar .elementor-icon-list-text { font-size: 13px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.dtc-topbar .elementor-widget-icon-list:last-child .elementor-icon-list-item:nth-child(2) { display: none; }
}

/* ---------- Verification tool ---------- */
.dtc-verify { background: #fff; border-radius: 8px; padding: 26px; box-shadow: 0 10px 30px rgba(10, 30, 49, .18); color: var(--dtc-text); }
.dtc-verify__types { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.dtc-verify__type { position: relative; cursor: pointer; margin: 0; }
.dtc-verify__type input { position: absolute; opacity: 0; pointer-events: none; }
.dtc-verify__type span { display: inline-block; font-family: "Barlow", sans-serif; font-weight: 600; font-size: 14.5px; padding: 9px 14px; border-radius: 4px; border: 1.5px solid var(--dtc-border); color: var(--dtc-navy); background: var(--dtc-light); transition: all .15s ease; }
.dtc-verify__type input:checked + span { background: var(--dtc-navy); border-color: var(--dtc-navy); color: #fff; }
.dtc-verify__type input:focus-visible + span { outline: 3px solid var(--dtc-amber); outline-offset: 2px; }
.dtc-verify__form { display: flex; gap: 10px; }
.dtc-verify__input { flex: 1; min-width: 0; height: 54px; border: 1.5px solid #b9c6d2 !important; border-radius: 4px !important; padding: 0 16px !important; font-size: 17px; color: var(--dtc-navy); background: #fff; }
.dtc-verify__input:focus { border-color: var(--dtc-teal) !important; outline: none; box-shadow: 0 0 0 3px rgba(0, 119, 145, .18); }
.dtc-verify.is-error .dtc-verify__input { border-color: #b3261e !important; }
.dtc-verify__btn { height: 54px; padding: 0 24px; border: 0 !important; border-radius: 4px !important; background: var(--dtc-amber) !important; color: var(--dtc-navy) !important; font-family: "Barlow", sans-serif; font-weight: 700; font-size: 16px; cursor: pointer; white-space: nowrap; }
.dtc-verify__btn:hover { background: var(--dtc-amber-dark) !important; }
.dtc-verify__msg { min-height: 0; margin: 10px 0 0; font-size: 14.5px; color: var(--dtc-teal); }
.dtc-verify.is-error .dtc-verify__msg { color: #b3261e; }
.dtc-verify__msg:empty { display: none; }
.dtc-verify__note { margin: 12px 0 0; font-size: 14px; color: var(--dtc-muted); }
@media (max-width: 600px) {
	.dtc-verify { padding: 20px; }
	.dtc-verify__form { flex-direction: column; }
	.dtc-verify__btn { width: 100%; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.dtc-card, .dtc-card--lift:hover, .elementor-button, #site-header { transition: none !important; transform: none !important; }
}

/* Mobile menu: always show course sub-items */
#site-header .site-navigation-dropdown ul.menu > li li { max-height: none; transform: none; }
#site-header .site-navigation-dropdown ul.menu li ul.sub-menu li a { font-size: 15px; padding-top: 11px; padding-bottom: 11px; color: var(--dtc-muted); }
#site-header .site-navigation-dropdown { max-height: calc(100vh - 80px); overflow-y: auto; }
