/* =====================================================================
   Mi cuenta: rediseño (nov 2026)
   Capa de estilos sobre studentportal.css. Solo se carga en Mi cuenta.
   ===================================================================== */

body.woocommerce-account {
	--cml-blue: #3c5ddf;
	--cml-blue-dark: #2b47c4;
	--cml-blue-soft: #e6ebff;
	--cml-ink: #1b2140;
	--cml-muted: #4a5170;
	--cml-faint: #5b6280;
	--cml-panel: #f6f8fc;
	--cml-orange: #d9480f;
	--cml-orange-soft: #fde8dd;
	--cml-radius: 20px;
}

/* Fondo de página blanco solo en Mi cuenta */
body.woocommerce-account,
body.woocommerce-account .wrapper,
body.woocommerce-account .content,
body.woocommerce-account .content .container {
	background-color: #fff !important;
}

/* ---------- Estructura: menú + contenido ---------- */
body.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
	padding-bottom: 80px;
}

@media (max-width: 768px) {
	body.woocommerce-account .woocommerce { padding-bottom: 48px; }
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: auto !important;
	flex: 1 1 240px;
	max-width: 280px;
	background: #fff;
	border: 1px solid #e4e8f2;
	border-radius: 16px;
	padding: 14px 12px;
	box-sizing: border-box;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex !important;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 10px 12px !important;
	border-radius: 10px;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	color: var(--cml-muted) !important;
	text-decoration: none;
	box-sizing: border-box;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--cml-panel);
	color: var(--cml-ink) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--cml-blue);
	color: #fff !important;
	font-weight: 600 !important;
}

/* Iconos del menú */
body.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: var(--cml-ico) center / contain no-repeat;
	mask: var(--cml-ico) center / contain no-repeat;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--student-portal { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10L12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--student-documents { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--student-data { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4 4.5-6 8-6s7 2 8 6'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--referrals { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v9H4v-9'/%3E%3Cpath d='M2 7h20v5H2z'/%3E%3Cpath d='M12 21V7'/%3E%3Cpath d='M12 7c-2-4-6-4-6-1.5S10 7 12 7zM12 7c2-4 6-4 6-1.5S14 7 12 7z'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4'/%3E%3Cpath d='M10 17l-5-5 5-5M5 12h11'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--user-switching-switch-back { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 2l4 4-4 4'/%3E%3Cpath d='M3 11V9a3 3 0 0 1 3-3h15M7 22l-4-4 4-4'/%3E%3Cpath d='M21 13v2a3 3 0 0 1-3 3H3'/%3E%3C/svg%3E"); }

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px !important;
	padding-top: 8px !important;
	border-top: 1px solid #e4e8f2 !important;
}

/* Insignia de pendiente (ya existía): la llevamos al extremo derecho */
body.woocommerce-account .woocommerce-MyAccount-navigation-link.ml-pending a::after {
	margin-left: auto;
	background: var(--cml-orange);
}

/* Contenido */
body.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	flex: 999 1 560px;
	min-width: 0;
	background: transparent !important;
	padding: 0 !important;
	color: var(--cml-ink);
	font-size: 15px;
	line-height: 1.55;
}

body.woocommerce-account .woocommerce-MyAccount-content p { color: var(--cml-ink) !important; }

/* Botones y campos comunes */
body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="number"],
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account .woocommerce-MyAccount-content textarea {
	font-family: inherit;
	font-size: 15px !important;
	color: var(--cml-ink) !important;
	background: #fff !important;
	border: 1px solid #dce1ef !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	min-height: 48px;
	box-sizing: border-box;
	width: 100%;
	box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content input:focus,
body.woocommerce-account .woocommerce-MyAccount-content select:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
	outline: 2px solid var(--cml-blue);
	outline-offset: 1px;
	border-color: var(--cml-blue) !important;
}

/* Aviso de admin (cuenta inactiva) */
body.woocommerce-account .ml-admin-note {
	margin: 0 0 20px;
	padding: 12px 16px;
	border-radius: 12px;
	background: #fff4e5;
	color: #7a3e00;
	font-size: 14px;
}

/* ---------- Home (dashboard) ---------- */
body.woocommerce-account .ml-dash-hello {
	margin: 0 0 24px !important;
	font-size: 20px;
	color: var(--cml-muted) !important;
}

body.woocommerce-account .ml-dash-hello strong {
	font-weight: 700;
	color: var(--cml-ink);
	text-transform: capitalize;
}

body.woocommerce-account .ml-dash-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

body.woocommerce-account .youcan,
body.woocommerce-account .emergency {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
	box-sizing: border-box;
	width: auto !important;
	margin: 0 !important;
	padding: 28px !important;
	background: var(--cml-panel) !important;
	border: 0 !important;
	border-radius: var(--cml-radius);
	float: none !important;
}

body.woocommerce-account .youcan .title,
body.woocommerce-account .emergency .title {
	font-size: 19px;
	font-weight: 700;
	text-transform: none;
	color: var(--cml-ink);
	margin: 0;
}

body.woocommerce-account .youcan ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

body.woocommerce-account .youcan li { margin: 0; padding: 0; list-style: none; }
body.woocommerce-account .youcan li::before { display: none; }

body.woocommerce-account .youcan li a {
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
	box-sizing: border-box;
	padding: 16px;
	border-radius: 14px;
	background: #fff;
	color: var(--cml-ink) !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	border: 1px solid transparent;
}

body.woocommerce-account .youcan li a:hover { border-color: #c9d1ea; }

body.woocommerce-account .youcan li a::before {
	content: "";
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--cml-blue-soft) var(--cml-ico) center / 20px no-repeat;
}

body.woocommerce-account .youcan li:nth-child(1) { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
body.woocommerce-account .youcan li:nth-child(2) { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E"); }
body.woocommerce-account .youcan li:nth-child(3) { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10L12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
body.woocommerce-account .youcan li:nth-child(4) { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16M7 15l3-8 3 8M8 12.5h4M16 9v6M14 12h4'/%3E%3C/svg%3E"); }
body.woocommerce-account .youcan li:nth-child(5) { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5M12 7v5l3 2'/%3E%3C/svg%3E"); }
body.woocommerce-account .youcan li:nth-child(6) { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E"); }

body.woocommerce-account .emergency .title {
	display: flex;
	align-items: center;
	gap: 12px;
}

body.woocommerce-account .emergency .title::before {
	content: "";
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--cml-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / 22px no-repeat;
}

body.woocommerce-account .emergency p {
	margin: 0 !important;
	padding: 16px !important;
	border-radius: 16px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
}

body.woocommerce-account .emergency p:last-child {
	margin-top: auto !important;
	background: #fff4e5;
	font-weight: 500;
}

/* ---------- Student Portal ---------- */
body.woocommerce-account .studentportal .home-section-boxes {
	float: none;
	display: flex;
	flex-direction: column;
	gap: 24px;
	color: var(--cml-ink);
}

body.woocommerce-account .studentportal .home-section-boxes > * {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

/* Cabecera: nombre y email */
body.woocommerce-account .studentportal .profile_images {
	background: var(--cml-blue);
	color: #fff;
	border-radius: var(--cml-radius);
	padding: 32px 36px;
	position: relative;
	overflow: hidden;
}

body.woocommerce-account .studentportal .profile_images::after {
	content: "";
	position: absolute;
	right: -90px;
	top: -90px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	pointer-events: none;
}

body.woocommerce-account .studentportal .profile_images h3 {
	margin: 0 0 6px;
	font-size: 14px !important;
	font-weight: 500;
	text-transform: none;
	color: #d6deff !important;
}

body.woocommerce-account .studentportal .profile_images .elnombre {
	display: block;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: capitalize;
	color: #fff !important;
}

body.woocommerce-account .studentportal .profile_images br { display: none; }
body.woocommerce-account .studentportal .profile_images .elcorreo { color: #e3e8ff; font-size: 16px; }

/* Before you arrive */
body.woocommerce-account .studentportal .ml-onboarding {
	background: var(--cml-panel);
	border-radius: var(--cml-radius);
	box-shadow: none;
	padding: 24px 28px;
}

body.woocommerce-account .studentportal .ml-onboarding__head strong { font-size: 18px; }
body.woocommerce-account .studentportal .ml-onboarding__bar { background: #e4e8f2; }
body.woocommerce-account .studentportal .ml-onboarding__bar span { background: var(--cml-blue); }

body.woocommerce-account .studentportal .ml-onboarding__steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}

body.woocommerce-account .studentportal .ml-onboarding__steps li {
	padding: 0;
	background: #fff;
	border-radius: 12px;
}

body.woocommerce-account .studentportal .ml-onboarding__steps li::before { display: none; }

body.woocommerce-account .studentportal .ml-onboarding__steps li a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 14px;
	font-size: 15px;
	text-decoration: none;
}

body.woocommerce-account .studentportal .ml-onboarding__steps li a::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid currentColor;
	box-sizing: border-box;
}

body.woocommerce-account .studentportal .ml-onboarding__steps li.is-done a::before {
	border-color: #15803d;
	background: #15803d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* Prueba de nivel */
body.woocommerce-account .studentportal .ml-quiz-hero {
	background: var(--cml-panel);
	color: var(--cml-ink);
	border-radius: var(--cml-radius);
	padding: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

body.woocommerce-account .studentportal .ml-quiz-hero__intro { flex: 1 1 280px; }
body.woocommerce-account .studentportal .ml-quiz-hero__quiz { flex: 1 1 320px; background: #fff; border-radius: 16px; padding: 24px; }

body.woocommerce-account .studentportal .ml-quiz-hero__badge {
	background: #fff1de;
	color: #8a4600;
	border-radius: 999px;
	padding: 5px 12px;
}

body.woocommerce-account .studentportal .ml-quiz-hero h2 { color: var(--cml-ink) !important; font-size: 24px; text-transform: none; }
body.woocommerce-account .studentportal .ml-quiz-hero p { color: var(--cml-muted) !important; }

body.woocommerce-account .studentportal .ml-quiz-hero__quiz input[type="text"] { width: 100% !important; }

body.woocommerce-account .studentportal .ml-quiz-hero__quiz button,
body.woocommerce-account .studentportal .ml-quiz-hero__quiz input[type="submit"],
body.woocommerce-account .studentportal .ml-quiz-hero__quiz input[type="button"] {
	background: var(--cml-blue) !important;
	border-radius: 10px !important;
	min-height: 48px;
	margin: 16px 0 0 !important;
	font-family: inherit;
	font-size: 15px !important;
}

/* Bloques con título (Trip details, Payment summary, Accommodation, Quiz, Invoices) */
body.woocommerce-account .studentportal .trip-details,
body.woocommerce-account .studentportal .payment-summary,
body.woocommerce-account .studentportal .your-accomodations,
body.woocommerce-account .studentportal .your-quizz,
body.woocommerce-account .studentportal .your-application {
	background: var(--cml-panel);
	border-radius: var(--cml-radius);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

body.woocommerce-account .studentportal .information-title {
	float: none;
	width: auto;
	padding: 0;
	background: transparent;
	border-radius: 0;
	font-size: 22px;
	font-weight: 700;
	text-transform: none;
	color: var(--cml-ink);
}

body.woocommerce-account .studentportal .information-title::before { display: none; }

body.woocommerce-account .studentportal .line {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	background: transparent;
}

/* Datos del viaje */
body.woocommerce-account .studentportal .selected_program {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
}

/* Ficha de dato: icono + etiqueta + valor */
body.woocommerce-account .studentportal .selected_program .deets {
	float: none;
	width: auto;
	margin: 0;
	padding: 16px;
	background: #fff;
	border-radius: 14px;
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	column-gap: 12px;
	row-gap: 2px;
	align-content: start;
}

body.woocommerce-account .studentportal .selected_program .deets::before {
	content: "";
	grid-row: 1 / span 2;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--cml-blue-soft) var(--cml-ico) center / 20px no-repeat;
}

body.woocommerce-account .studentportal .selected_program .deets .nombre {
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: var(--cml-faint);
}

body.woocommerce-account .studentportal .selected_program .deets .deets-value {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--cml-ink);
}

/* Programa: ficha ancha, sin icono, con el enlace a la derecha */
body.woocommerce-account .studentportal .selected_program .deets--program {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	padding: 20px;
	background: #fff;
}

body.woocommerce-account .studentportal .selected_program .deets--program::before { display: none; }
body.woocommerce-account .studentportal .selected_program .deets--program .nombre { grid-column: 1; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
body.woocommerce-account .studentportal .selected_program .deets--program .deets-value { grid-column: 1; font-size: 18px; font-weight: 700; }
body.woocommerce-account .studentportal .selected_program .deets--program .moreinfo { grid-column: 2; grid-row: 1 / span 2; }

body.woocommerce-account .studentportal .moreinfo {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	margin: 0;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--cml-blue-soft);
	color: var(--cml-blue-dark) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

body.woocommerce-account .studentportal .moreinfo:hover { background: #d6deff; }

/* Iconos de cada dato */
body.woocommerce-account .studentportal .deets--date { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
body.woocommerce-account .studentportal .deets--level { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10M10 20V4M16 20v-7M22 20H2'/%3E%3C/svg%3E"); }
body.woocommerce-account .studentportal .deets--transfer,
body.woocommerce-account .studentportal .deets--route { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 16l20-6-2-3-7 2-5-5-2 1 3 6-5 1-2-2-1 1z'/%3E%3Cpath d='M3 21h18'/%3E%3C/svg%3E"); }
body.woocommerce-account .studentportal .deets--insurance { --cml-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c5ddf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M12 9v6M9 12h6'/%3E%3C/svg%3E"); }

@media (max-width: 900px) {
	body.woocommerce-account .studentportal .selected_program { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	body.woocommerce-account .studentportal .selected_program { grid-template-columns: 1fr; }
	body.woocommerce-account .studentportal .selected_program .deets--program { grid-template-columns: 1fr; }
	body.woocommerce-account .studentportal .selected_program .deets--program .moreinfo { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 10px; }
}

/* Resumen de pagos */
body.woocommerce-account .studentportal .orders_menu {
	float: none;
	width: auto;
	border: 0;
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-bottom: 16px;
}

body.woocommerce-account .studentportal .orders_tabs {
	float: none;
	width: auto;
	border: 0 !important;
	border-radius: 999px;
	padding: 6px 14px;
	background: #fff;
	font-weight: 700;
	font-size: 14px;
}

body.woocommerce-account .studentportal .orders_tabs.active { background: var(--cml-blue); color: #fff; }

body.woocommerce-account .studentportal .orders { display: flex; flex-direction: column; gap: 16px; }
body.woocommerce-account .studentportal .orders[style*="none"] { display: none !important; }

body.woocommerce-account .studentportal .ml-order {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
}

/* Separación entre pedidos (el JS pone display:block en .orders, así que el gap no sirve) */
body.woocommerce-account .studentportal .ml-order + .ml-order { margin-top: 24px; }

/* Pedido sin datos de programa: no mostrar el bloque vacío */
body.woocommerce-account .studentportal details.ml-admin-box:has(.ml-meta-grid:empty) { display: none; }

body.woocommerce-account .studentportal .ml-order .title {
	float: none;
	width: auto;
	margin: 0;
	padding: 14px 20px;
	background: #f8f9fd;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	text-align: left;
	font-size: 13px;
	color: var(--cml-muted);
}

body.woocommerce-account .studentportal .ml-order__id { display: flex; flex-direction: column; gap: 2px; }
body.woocommerce-account .studentportal .ml-order__id strong { font-size: 15px; font-weight: 700; color: var(--cml-ink); }
body.woocommerce-account .studentportal .ml-order__meta { font-size: 13px; font-weight: 500; color: var(--cml-muted); }

body.woocommerce-account .studentportal .ml-order__controls {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

body.woocommerce-account .studentportal .ml-order .title .status {
	border-radius: 6px;
	font-weight: 700;
	font-size: 13px;
	padding: 4px 10px !important;
	margin: 0;
}

body.woocommerce-account .studentportal .orders .title .status.on-hold { background: #fff1de; color: #8a4600; }
body.woocommerce-account .studentportal .orders .title .status.scheduled-payment,
body.woocommerce-account .studentportal .orders .title .status.pending { background: var(--cml-blue-soft); color: #1e36a8; }
body.woocommerce-account .studentportal .orders .title .status.completed,
body.woocommerce-account .studentportal .orders .title .status.processing,
body.woocommerce-account .studentportal .orders .title .status.partial-payment { background: #e5f5ec; color: #1e7b4a; }

/* ---------- Vista admin del resumen de pagos ---------- */
body.woocommerce-account .ml-admin-tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 6px;
	background: #fff1de;
	color: #8a4600;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.4;
}

/* Selects de moneda y estado: compactos */
body.woocommerce-account .studentportal .ml-order__controls select {
	width: auto !important;
	max-width: none !important;
	min-height: 0;
	height: 36px;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid #dce1ef !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 600;
	display: inline-block;
}

body.woocommerce-account .studentportal .ml-order__controls .ml-admin-tag { order: -2; }
body.woocommerce-account .studentportal .ml-order__controls .chg_order_status { order: -1; }

body.woocommerce-account .studentportal .chg_order_status.ml-status--processing,
body.woocommerce-account .studentportal .chg_order_status.ml-status--completed,
body.woocommerce-account .studentportal .chg_order_status.ml-status--partial-payment { background: #e5f5ec !important; border-color: #bfe5cf !important; color: #1e7b4a !important; }
body.woocommerce-account .studentportal .chg_order_status.ml-status--on-hold { background: #fff1de !important; border-color: #f3d8b0 !important; color: #8a4600 !important; }
body.woocommerce-account .studentportal .chg_order_status.ml-status--scheduled-payment,
body.woocommerce-account .studentportal .chg_order_status.ml-status--pending { background: var(--cml-blue-soft) !important; border-color: #c9d3ff !important; color: #1e36a8 !important; }
body.woocommerce-account .studentportal .chg_order_status.ml-status--cancelled,
body.woocommerce-account .studentportal .chg_order_status.ml-status--failed,
body.woocommerce-account .studentportal .chg_order_status.ml-status--refunded { background: #eef0f6 !important; color: var(--cml-muted) !important; }

/* Añadir pedido asociado: botón discreto */
body.woocommerce-account .studentportal .orders .add_associate_order {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0 12px;
	min-height: 36px;
	border: 1px solid #dce1ef;
	border-radius: 8px;
	background: #fff;
	color: var(--cml-ink);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	cursor: pointer;
}

body.woocommerce-account .studentportal .orders .add_associate_order:hover { border-color: var(--cml-blue); color: var(--cml-blue); }

/* Bloques solo-admin en amarillo crema */
body.woocommerce-account .studentportal .ml-admin-box {
	display: block;
	width: auto !important;
	margin: 12px 20px 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 12px;
	background: #fff4e5 !important;
	float: none !important;
}

body.woocommerce-account .studentportal details.ml-admin-box > summary {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 14px 16px;
	cursor: pointer;
	list-style: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--cml-ink);
}

body.woocommerce-account .studentportal details.ml-admin-box > summary::-webkit-details-marker { display: none; }

body.woocommerce-account .studentportal details.ml-admin-box > summary::before {
	content: "";
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2140' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .15s;
}

body.woocommerce-account .studentportal details.ml-admin-box[open] > summary::before { transform: rotate(90deg); }

/* studentportal.css pone .meta_orders span a ancho completo: aquí no */
body.woocommerce-account .studentportal details.ml-admin-box > summary span {
	float: none;
	width: auto;
	display: inline-flex;
}

body.woocommerce-account .studentportal .ml-admin-hint { margin-left: auto; font-size: 13px; font-weight: 500; color: #7a3e00; }

body.woocommerce-account .studentportal .ml-meta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
	padding: 0 16px 16px;
}

/* Cada dato: etiqueta arriba, campo + guardar en la misma fila.
   El JS busca el input dentro del mismo .metakey: no tocar la estructura */
body.woocommerce-account .studentportal .meta_orders .metakey {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 40px;
	gap: 6px 8px;
	align-items: center;
}

body.woocommerce-account .studentportal .meta_orders .metakey > span {
	grid-column: 1 / -1;
	float: none;
	width: auto;
	display: block;
	font-size: 12px;
	font-weight: 600 !important;
	color: var(--cml-faint) !important;
}

body.woocommerce-account .studentportal .meta_orders .metakey input,
body.woocommerce-account .studentportal .meta_orders .metakey select,
body.woocommerce-account .studentportal .order-item .manageoption input {
	width: 100% !important;
	max-width: none !important;
	min-height: 0;
	height: 40px;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 1px solid #dce1ef !important;
	border-radius: 8px !important;
	font-size: 14px !important;
}

/* Iconos de guardar / borrar como botones cuadrados */
body.woocommerce-account .studentportal .meta_orders img.savemeta,
body.woocommerce-account .studentportal .order-item img.save,
body.woocommerce-account .studentportal .order-item img.lineitem_delete {
	float: none;
	width: 40px !important;
	height: 40px;
	max-width: none !important;
	margin: 0 !important;
	padding: 11px;
	box-sizing: border-box;
	object-fit: contain;
	border: 1px solid #dce1ef;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	flex: none;
}

body.woocommerce-account .studentportal .meta_orders img.savemeta:hover,
body.woocommerce-account .studentportal .order-item img.save:hover { border-color: var(--cml-blue); }
body.woocommerce-account .studentportal .order-item img.lineitem_delete:hover { border-color: #b4232a; }

/* Líneas del pedido */
body.woocommerce-account .studentportal .ml-items { padding: 4px 0 0; }

body.woocommerce-account .studentportal .ml-items__head {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto;
	gap: 14px;
	padding: 12px 20px 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--cml-faint);
}

body.woocommerce-account .studentportal .order-item .manageoption {
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 0;
	background: transparent;
}

body.woocommerce-account .studentportal .order-item .delete_content {
	float: none;
	width: 100%;
	box-sizing: border-box;
	margin: 4px 0 0;
	padding: 10px 14px;
	border-radius: 10px;
	background: #fdecec;
	color: #8a1c22;
	font-size: 14px;
}

body.woocommerce-account .studentportal .order-item .delete_content span {
	width: auto;
	margin: 0 0 0 8px;
	padding: 6px 14px;
	border-radius: 8px;
	background: #b4232a;
	color: #fff;
	font-weight: 600;
}

body.woocommerce-account .studentportal .order-item .delete_content span.no { background: #fff; color: var(--cml-ink); border: 1px solid #dce1ef; }

/* Añadir línea */
body.woocommerce-account .studentportal .apply_nrecalc.ml-admin-box { padding: 14px 16px !important; }
body.woocommerce-account .studentportal .ml-admin-box__head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 14px; }

body.woocommerce-account .studentportal .ml-addline {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.woocommerce-account .studentportal .ml-addline input[type="text"] {
	flex: 1 1 240px;
	width: auto !important;
	min-height: 0;
	height: 40px;
	margin: 0 !important;
	padding: 0 12px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
}

body.woocommerce-account .studentportal .ml-addline input.newtotal { flex: 0 1 140px; }

body.woocommerce-account .studentportal .ml-addline button {
	height: 40px;
	padding: 0 18px;
	border: 0;
	border-radius: 10px;
	background: var(--cml-blue);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

body.woocommerce-account .studentportal .ml-addline button:hover { background: var(--cml-blue-dark); }

/* Aviso de pedidos mal asociados */
body.woocommerce-account .studentportal .ml-admin-alert {
	display: block;
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: 12px;
	background: #fff4e5;
	color: #7a3e00;
	font-size: 14px;
}

body.woocommerce-account .studentportal .ml-admin-alert p { margin: 0 0 4px; color: #7a3e00 !important; }

@media (max-width: 640px) {
	body.woocommerce-account .studentportal .ml-meta-grid { grid-template-columns: 1fr; }
	body.woocommerce-account .studentportal .ml-items__head { display: none; }
}

body.woocommerce-account .studentportal .ml-order .order-item {
	float: none;
	width: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding: 16px 20px;
	border: 0;
	box-sizing: border-box;
}

body.woocommerce-account .studentportal .ml-order .order-item .type {
	float: none;
	width: 110px;
	flex: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--cml-muted);
}

body.woocommerce-account .studentportal .ml-order .order-item .col-description { float: none; width: auto; flex: 1 1 200px; }
body.woocommerce-account .studentportal .ml-order .order-item .col-price { float: none; width: auto; font-weight: 600; }

body.woocommerce-account .studentportal .ml-order .order-totals {
	float: none;
	width: auto;
	border: 0;
	padding: 14px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 20px;
	font-weight: 700;
}

body.woocommerce-account .studentportal .ml-order .order-totals span { float: none; font-size: 15px; font-weight: 600; }

body.woocommerce-account .studentportal .ml-order .order-actions {
	float: none;
	width: auto;
	margin: 0;
	padding: 0 20px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body.woocommerce-account .studentportal .order-actions .see-order {
	margin: 0;
	padding: 0;
	background: transparent;
	min-width: 0;
}

body.woocommerce-account .studentportal .order-actions .see-order a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #dce1ef;
	color: var(--cml-ink) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	text-transform: capitalize;
}

body.woocommerce-account .studentportal .order-actions .see-order a.pay-order {
	background: var(--cml-blue);
	border-color: var(--cml-blue);
	color: #fff !important;
}

body.woocommerce-account .studentportal .order-actions .see-order a:hover { border-color: var(--cml-blue); }
body.woocommerce-account .studentportal .order-actions .see-order a.pay-order:hover { background: var(--cml-blue-dark); }

/* Facturas */
body.woocommerce-account .studentportal a.doc {
	float: none;
	width: auto;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	margin: 0 0 8px;
	background: #fff;
	border-radius: 12px;
}

/* ---------- Student Documents ---------- */
body.woocommerce-account #accountimg {
	margin: 24px 0 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

body.woocommerce-account #accountimg .editprofile-img {
	background: var(--cml-panel);
	box-shadow: none;
	border-radius: 16px;
	padding: 20px;
	gap: 28px;
	justify-content: flex-start;
	flex-wrap: wrap;
}

body.woocommerce-account #accountimg img {
	float: none;
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: 14px;
	background: #fff;
	flex: none;
}

/* Imagen por defecto "upload photo" (y icono de documento): entera, sin recortar */
body.woocommerce-account #accountimg img[src*="upload-photo"],
body.woocommerce-account #accountimg img[src*="folder-directory-files-icon"] {
	height: auto;
	object-fit: contain;
	border-radius: 0;
	background: transparent;
}

body.woocommerce-account #accountimg .uploader {
	float: none;
	width: auto;
	flex: 1 1 220px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
}

body.woocommerce-account #accountimg h4 {
	float: none;
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	text-transform: none;
	color: var(--cml-ink);
}

body.woocommerce-account #accountimg .uploader > div:not(.status) {
	width: 100%;
	font-size: 14px;
	color: var(--cml-faint);
	margin-bottom: 8px;
}

body.woocommerce-account #accountimg .image-upload,
body.woocommerce-account #accountimg .btn-upload {
	float: none !important;
	width: auto;
	margin: 0 !important;
}

body.woocommerce-account #accountimg .image-upload { width: 120px; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }

body.woocommerce-account #accountimg .image-upload::before {
	content: 'Select';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 22px;
	margin: 0;
	border-radius: 10px;
	background: #fff !important;
	border: 1px solid #dce1ef;
	color: var(--cml-ink) !important;
	font-size: 15px;
}

body.woocommerce-account #accountimg .btn-upload {
	min-height: 44px;
	padding: 0 22px;
	border-radius: 10px;
	background-color: var(--cml-blue) !important;
	font-size: 15px;
}

body.woocommerce-account #accountimg .btn-upload:hover { background-color: var(--cml-blue-dark) !important; }

/* ---------- Application form (ACF) ---------- */
body.woocommerce-account .student-data-page > h3,
body.woocommerce-account .woocommerce-MyAccount-content > h3 {
	font-size: 30px !important;
	font-weight: 700;
	text-transform: none;
	letter-spacing: -.01em;
	color: var(--cml-ink);
	margin: 0 0 16px;
}

body.woocommerce-account .student-tabs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 8px;
	padding: 8px;
	margin-bottom: 24px;
	background: var(--cml-panel);
	border-radius: 16px;
	counter-reset: cmlstep;
}

body.woocommerce-account .student-tabs a {
	counter-increment: cmlstep;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 12px 14px;
	border-radius: 12px;
	background: transparent;
	color: var(--cml-ink) !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	border: 0;
}

body.woocommerce-account .student-tabs a::before {
	content: counter(cmlstep);
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
	color: var(--cml-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
}

body.woocommerce-account .student-tabs a.active { background: var(--cml-blue); color: #fff !important; }
body.woocommerce-account .student-tabs a.active::before { background: rgba(255, 255, 255, .2); color: #fff; }

body.woocommerce-account .student-tab-content .acf-form {
	background: var(--cml-panel);
	border-radius: var(--cml-radius);
	padding: 32px;
}

body.woocommerce-account .student-tab-content .acf-fields {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	border: 0 !important;
	background: transparent !important;
}

body.woocommerce-account .student-tab-content .acf-fields::after { display: none; }

body.woocommerce-account .student-tab-content .acf-fields > .acf-field {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	min-height: 0 !important;
}

body.woocommerce-account .student-tab-content .acf-fields > .acf-field.acf-hidden { display: none !important; }

body.woocommerce-account .student-tab-content .acf-fields > .acf-field-textarea,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-message,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-radio,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-checkbox,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-true-false,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-wysiwyg,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-repeater,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-group,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-signature,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-accordion,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-tab,
body.woocommerce-account .student-tab-content .acf-fields > .acf-field-flexible-content {
	grid-column: 1 / -1;
}

/* Acordeón (p. ej. Parent / Legal guardian): ancho completo y sus campos también a 2 columnas */
body.woocommerce-account .student-tab-content .acf-field-accordion .acf-accordion-content > .acf-fields {
	padding: 20px 0 0 !important;
}

body.woocommerce-account .student-tab-content .acf-field-accordion .acf-accordion-title {
	border-radius: 10px;
}

body.woocommerce-account .student-tab-content .acf-field .acf-label label {
	font-size: 14px;
	font-weight: 600;
	color: var(--cml-ink);
}

body.woocommerce-account .student-tab-content .acf-field .acf-label .description { color: var(--cml-faint); font-size: 13px; }

body.woocommerce-account .student-tab-content .acf-form-submit {
	margin-top: 24px;
	padding-top: 0;
	display: flex;
	justify-content: flex-end;
}

body.woocommerce-account .acf-form-submit .button-primary {
	background: var(--cml-blue) !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 0 24px !important;
	min-height: 48px;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 600;
	color: #fff !important;
	text-transform: none;
}

body.woocommerce-account .acf-form-submit .button-primary:hover { background: var(--cml-blue-dark) !important; }

/* ---------- Edit account ---------- */
body.woocommerce-account .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	background: var(--cml-panel);
	border-radius: var(--cml-radius);
	padding: 32px;
}

body.woocommerce-account .woocommerce-EditAccountForm > * { grid-column: 1 / -1; margin: 0 !important; }

body.woocommerce-account .woocommerce-EditAccountForm > .form-row-first,
body.woocommerce-account .woocommerce-EditAccountForm > .form-row-last {
	grid-column: auto;
	float: none !important;
	width: auto !important;
}

body.woocommerce-account .woocommerce-EditAccountForm > .clear { display: none; }

body.woocommerce-account .woocommerce-EditAccountForm label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--cml-ink);
}

body.woocommerce-account .woocommerce-EditAccountForm em { font-size: 13px; color: var(--cml-faint); }

body.woocommerce-account .woocommerce-MyAccount-content fieldset {
	margin: 0;
	padding: 24px;
	border: 0;
	border-radius: 16px;
	background: #fff;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset > *:not(legend) { margin: 0 !important; float: none !important; width: auto !important; }
body.woocommerce-account .woocommerce-MyAccount-content fieldset > p:first-of-type { grid-column: 1 / -1; max-width: 420px; }

/* float:left hace que el legend deje de pintarse sobre el borde y quede dentro del bloque */
body.woocommerce-account .woocommerce-MyAccount-content legend {
	grid-column: 1 / -1;
	float: left;
	width: 100%;
	margin: 0 0 4px;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--cml-ink);
}

body.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
	justify-self: end;
	background: var(--cml-blue) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 0 24px !important;
	min-height: 48px;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 600;
	text-transform: none;
}

body.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:hover { background: var(--cml-blue-dark) !important; }

/* ---------- Móvil ---------- */
@media (max-width: 768px) {
	body.woocommerce-account .woocommerce-MyAccount-navigation { max-width: none; flex-basis: 100%; }
	body.woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; }

	body.woocommerce-account .ml-dash-grid { grid-template-columns: 1fr; }

	body.woocommerce-account .student-tab-content .acf-fields,
	body.woocommerce-account .woocommerce-EditAccountForm,
	body.woocommerce-account .woocommerce-MyAccount-content fieldset {
		grid-template-columns: 1fr;
	}

	body.woocommerce-account .studentportal .trip-details,
	body.woocommerce-account .studentportal .payment-summary,
	body.woocommerce-account .studentportal .ml-quiz-hero,
	body.woocommerce-account .student-tab-content .acf-form,
	body.woocommerce-account .woocommerce-EditAccountForm {
		padding: 20px;
	}
}

@media (max-width: 480px) {
	body.woocommerce-account .youcan ul { grid-template-columns: 1fr; }
}

/* ---------- Cabecera unificada: nombre + Before you arrive ---------- */
body.woocommerce-account .studentportal .ml-portal-head {
	display: flex;
	flex-direction: column;
	border-radius: var(--cml-radius);
	overflow: hidden;
}

body.woocommerce-account .studentportal .ml-portal-head > .profile_images,
body.woocommerce-account .studentportal .ml-portal-head > .ml-onboarding {
	border-radius: 0;
	margin: 0 !important;
}

/* Destino de los anclajes: que no quede bajo la cabecera fija */
body.woocommerce-account .studentportal #before-you-arrive,
body.woocommerce-account .studentportal #quizz,
body.woocommerce-account .studentportal #program,
body.woocommerce-account .studentportal #payment-history,
body.woocommerce-account .studentportal #accommodation,
body.woocommerce-account .studentportal #invoices,
body.woocommerce-account .studentportal #admin-settings {
	scroll-margin-top: 130px;
}

/* ---------- Alojamiento ---------- */
body.woocommerce-account .studentportal .ml-host {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	grid-template-areas: "gallery card" "about about";
	gap: 24px;
	align-items: start;
}

body.woocommerce-account .studentportal .ml-host.no-gallery {
	grid-template-areas: "about card";
}

body.woocommerce-account .studentportal .ml-host + .ml-host {
	padding-top: 24px;
	border-top: 1px solid #e4e8f2;
}

body.woocommerce-account .studentportal .ml-host__gallery { grid-area: gallery; min-width: 0; }
body.woocommerce-account .studentportal .ml-host__about { grid-area: about; min-width: 0; }

body.woocommerce-account .studentportal .ml-host__card {
	grid-area: card;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px;
	background: #fff;
	border-radius: 16px;
}

/* Galería: todas las fotos con el mismo formato */
body.woocommerce-account .studentportal .ml-gallery__stage {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: #e4e8f2;
}

body.woocommerce-account .studentportal .ml-gallery__track {
	display: flex;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	aspect-ratio: 16 / 10;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

body.woocommerce-account .studentportal .ml-gallery__track::-webkit-scrollbar { display: none; }

body.woocommerce-account .studentportal .ml-gallery__slide {
	flex: 0 0 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	scroll-snap-align: start;
}

body.woocommerce-account .studentportal .ml-gallery__slide::before { display: none; }
body.woocommerce-account .studentportal .ml-gallery__slide a { display: block; height: 100%; }

body.woocommerce-account .studentportal .ml-gallery__slide img,
body.woocommerce-account .studentportal .ml-gallery__thumb img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

body.woocommerce-account .studentportal .ml-gallery__nav {
	position: absolute;
	top: 50%;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2140' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat;
	cursor: pointer;
}

body.woocommerce-account .studentportal .ml-gallery__nav--prev { left: 12px; }
body.woocommerce-account .studentportal .ml-gallery__nav--next { right: 12px; transform: translateY(-50%) rotate(180deg); }

body.woocommerce-account .studentportal .ml-gallery__count {
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: 3px 10px;
	border-radius: 10px;
	background: rgba(27, 33, 64, .75);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}

body.woocommerce-account .studentportal .ml-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
	gap: 8px;
	margin-top: 10px;
}

body.woocommerce-account .studentportal .ml-gallery__thumb {
	aspect-ratio: 1;
	padding: 0;
	border: 3px solid transparent;
	border-radius: 10px;
	overflow: hidden;
	background: #e4e8f2;
	opacity: .7;
	cursor: pointer;
}

body.woocommerce-account .studentportal .ml-gallery__thumb.is-active {
	border-color: var(--cml-blue);
	opacity: 1;
}

/* Ficha de contacto (reutiliza el marcado de if_the_field) */
body.woocommerce-account .studentportal .ml-host__card br { display: none; }

body.woocommerce-account .studentportal .ml-host__card .deets {
	display: flex;
	flex-direction: column;
	gap: 2px;
	float: none;
	width: auto;
	margin: 0;
}

body.woocommerce-account .studentportal .ml-host__card .deets .nombre {
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	border: 0;
	color: var(--cml-faint);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	text-transform: none;
}

body.woocommerce-account .studentportal .ml-host__card .deets .nombre::before { display: none !important; }

body.woocommerce-account .studentportal .ml-host__card .deets .descripcion {
	float: none;
	color: var(--cml-ink);
	font-weight: 600;
	overflow-wrap: anywhere;
}

body.woocommerce-account .studentportal .ml-host__actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	gap: 8px;
}

body.woocommerce-account .studentportal .ml-host__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border-radius: 12px;
	background: var(--cml-blue);
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

body.woocommerce-account .studentportal .ml-host__btn--wa { background: #e3f5ea; color: #155c33 !important; }
body.woocommerce-account .studentportal .ml-host__btn--mail { background: var(--cml-blue-soft); color: var(--cml-blue-dark) !important; }

body.woocommerce-account .studentportal .ml-host__card .smaps {
	float: none;
	width: auto;
	margin: 0;
	font-size: 15px;
}

body.woocommerce-account .studentportal .ml-host__card .smaps iframe {
	width: 100%;
	height: 200px;
	border: 0;
	border-radius: 12px;
}

body.woocommerce-account .studentportal .ml-host__maps { font-size: 14px; font-weight: 600; }

body.woocommerce-account .studentportal .ml-host__about .svideo {
	float: none;
	width: auto;
	margin: 0 0 20px;
}

body.woocommerce-account .studentportal .ml-host__about .svideo iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 12px;
}

body.woocommerce-account .studentportal .ml-host__about hr {
	margin: 20px 0;
	border: 0;
	border-top: 1px solid #e4e8f2;
}

@media (max-width: 900px) {
	body.woocommerce-account .studentportal .ml-host {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "gallery" "card" "about";
	}

	body.woocommerce-account .studentportal .ml-host.no-gallery {
		grid-template-areas: "card" "about";
	}
}

@media (max-width: 768px) {
	body.woocommerce-account .studentportal .your-accomodations { padding: 20px; }
	body.woocommerce-account .studentportal .ml-gallery__nav { display: none; }
}
